36 lines
771 B
C#
36 lines
771 B
C#
using SharpGL;
|
|
using System;
|
|
using System.Numerics;
|
|
|
|
namespace Graphics {
|
|
class camera2D {
|
|
protected Matrix mat;
|
|
|
|
public Vector2 translation {
|
|
get {
|
|
return new Vector2((float)mat[0, 3], (float)mat[1, 3]);
|
|
}
|
|
set {
|
|
mat[0, 3] = value.X;
|
|
mat[1, 3] = value.Y;
|
|
}
|
|
}
|
|
|
|
const double maxScale = 18.0;
|
|
|
|
public double scale {
|
|
get {
|
|
return mat[0, 0];
|
|
}
|
|
set {
|
|
mat[0, 0] = Math.Min(value, maxScale);
|
|
mat[1, 1] = Math.Min(value, maxScale);
|
|
}
|
|
}
|
|
|
|
public camera2D() {
|
|
mat = new Matrix(Matrix.Identity(4));
|
|
}
|
|
}
|
|
}
|