private void InitBoundingBox() { float num = 0f; float num2 = 0f; float num3 = 0f; float num4 = 0f; bool flag = true; foreach (VisualObject current in this.selectedObjects) { VisualObject visualObject = current; PointF boundingSize = visualObject.GetBoundingSize(); Rectangle rect = new Rectangle(0, 0, (int)boundingSize.X, (int)boundingSize.Y); CSRect cSRect = this.CSCom.RectApplyTransform(rect, visualObject.GetCSVisual().ConvertToNodeMatrix(this.canvasObject.GetCSVisual())); if (flag) { num = cSRect.MinX(); num2 = cSRect.MinY(); num3 = cSRect.MaxX(); num4 = cSRect.MaxY(); flag = false; } else { num = Math.Min(num, cSRect.MinX()); num2 = Math.Min(num2, cSRect.MinY()); num3 = Math.Max(num3, cSRect.MaxX()); num4 = Math.Max(num4, cSRect.MaxY()); } } this.InitMatrix(num, num2, num3, num4); }
private void InitTest() { var device = dcRenderView.GetDevice(); if (canvasview == null) { canvasview = new CSRect(device, 512, 512); canvasview.SetPixelShader(dcRenderView.DefaultResource.default2DPixelShader); canvasview.SetVertexShader(dcRenderView.DefaultResource.default2DVertexShader); } }
public void SetCanvasCase(CanvasCase canvasCase) { CanvasCase = canvasCase; CanvasRect = new CSRect(CanvasCase.DeviceResources, CanvasCase.Width, CanvasCase.Height); CanvasRect.SetVertexShader(AppController.CurrentController.default2DVertexShader); CanvasRect.SetPixelShader(AppController.CurrentController.PS2DTex1); CanvasRect.Position = new Vector2( ((float)swapChainPanel.ActualWidth * logicScale - CanvasCase.Width) * 0.5f, ((float)swapChainPanel.ActualHeight * logicScale - CanvasCase.Height) * 0.5f); paintAgent = CanvasCase.PaintAgent; canvasCase.ViewRenderer.RenderAll(); PresentContent(); }