summaryrefslogtreecommitdiff
path: root/engine/matrix.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engine/matrix.cpp')
-rw-r--r--engine/matrix.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/engine/matrix.cpp b/engine/matrix.cpp
index 96c539c..5970123 100644
--- a/engine/matrix.cpp
+++ b/engine/matrix.cpp
@@ -14,6 +14,22 @@ Matrix2::Matrix2(float m00, float m01, float m10, float m11) {
m[1][1] = m11;
}
+Matrix2 Matrix2::operator*(const Matrix2& mat) {
+ return Matrix2(
+ m[0][0] * mat.m[0][0] + m[0][1] * mat.m[1][0],
+ m[0][0] * mat.m[0][1] + m[0][1] * mat.m[1][1],
+ m[1][0] * mat.m[0][0] + m[1][1] * mat.m[1][0],
+ m[1][0] * mat.m[0][1] + m[1][1] * mat.m[1][1]);
+}
+
+Matrix2 Matrix2::operator*(float f) {
+ return Matrix2(
+ m[0][0] * f,
+ m[0][1] * f,
+ m[1][0] * f,
+ m[1][1] * f);
+}
+
Vector2 Matrix2::operator*(const Vector2& v) {
return Vector2(
m[0][0] * v.x + m[0][1] * v.y,