public Vector Transform(Vector v) { return new Vector( v.X * M11 + v.Y * M21 + M31, v.Y * M12 + v.Y * M22 + M32); }
public static void Translate(this IDrawingTransform _, Vector delta) { _.Translate(delta.X, delta.Y); }
public Vector Transform(Vector vector) { return _current.Transform(vector); }
void transformChanged() { var m = _transform.Current; _hasTransformationThatCanPixelAligned = canPixelAlign(m); _scaleCache = new Vector(m.M11, m.M22); _translationCache = new Vector(m.M31, m.M32); }
Vector toPixel(Vector logical) { return logical*_scaleCache + _translationCache; }
Vector toLogical(Vector pixel) { return (pixel - _translationCache) / _scaleCache; }
public bool Equals(Vector other) { return X.Equals(other.X) && Y.Equals(other.Y); }