improve mat44 implementation
this will make it easier to create matrices of different sizes
Change-Id: I2c1771ba0823c42d737762e2dfc2cd47eb302767
diff --git a/include/ui/vec4.h b/include/ui/vec4.h
index 798382d..e03d331 100644
--- a/include/ui/vec4.h
+++ b/include/ui/vec4.h
@@ -26,7 +26,8 @@
// -------------------------------------------------------------------------------------
template <typename T>
-class tvec4 : public TVecArithmeticOperators<tvec4, T>,
+class tvec4 : public TVecProductOperators<tvec4, T>,
+ public TVecAddOperators<tvec4, T>,
public TVecUnaryOperators<tvec4, T>,
public TVecComparisonOperators<tvec4, T>,
public TVecFunctions<tvec4, T>
@@ -85,6 +86,13 @@
template<typename A>
explicit tvec4(const tvec4<A>& v) : x(v.x), y(v.y), z(v.z), w(v.w) { }
+ template<typename A>
+ tvec4(const Impersonator< tvec4<A> >& v)
+ : x(((const tvec4<A>&)v).x),
+ y(((const tvec4<A>&)v).y),
+ z(((const tvec4<A>&)v).z),
+ w(((const tvec4<A>&)v).w) { }
+
template<typename A, typename B>
tvec4(const Impersonator< tvec3<A> >& v, B w)
: x(((const tvec3<A>&)v).x),