public InputState(IntPtr windowPtr, SKMatrix viewTransform) { _invViewTransform = viewTransform.Invert(); Glfw.SetCursorPosCallback(windowPtr, OnCursorPosChanged); Glfw.SetMouseButtonCallback(windowPtr, OnMouseButtonChanged); Glfw.SetKeyCallback(windowPtr, OnKeyChanged); }
public virtual void Render(SKCanvas canvas) { SKMatrix visual = VisualTransform; SKMatrix invert = visual.Invert(); canvas.Concat(ref visual); Draw(canvas); canvas.Concat(ref invert); }
public override void Render(SKCanvas canvas) { base.Render(canvas); SKMatrix visual = _childrenVisualTransform; SKMatrix invert = visual.Invert(); canvas.Concat(ref visual); RenderChildren(canvas); canvas.Concat(ref invert); }
public void InverseOfMatrixIsCorrect() { var rowMajor = new float[] { 1, 2, 3, 0, 1, 4, 5, 6, 1, }; var expectedRowMajor = new float[] { -11.5f, 8, 2.5f, 10, -7, -2, -2.5f, 2, 0.5f, }; var matrix = new SKMatrix(rowMajor); var inverse = matrix.Invert(); Assert.Equal(expectedRowMajor, inverse.Values); }