private void InternalDraw(ChartDrawMode drawMode, BackgroundMode background) { // drawing relative offset of tree on graphics int spx = 0; int spy = 0; if (drawMode == ChartDrawMode.dmInteractive) { var imageViewport = base.ImageViewport; spx = imageViewport.Left; spy = imageViewport.Top; fModel.VisibleArea = UIHelper.Rt2Rt(base.Viewport); } else { if (drawMode == ChartDrawMode.dmStaticCentered) { Size clientSize = CanvasRectangle.Size; if (fModel.ImageWidth < clientSize.Width) { spx += (clientSize.Width - fModel.ImageWidth) / 2; } if (fModel.ImageHeight < clientSize.Height) { spy += (clientSize.Height - fModel.ImageHeight) / 2; } } fModel.VisibleArea = ExtRect.CreateBounds(0, 0, fModel.ImageWidth, fModel.ImageHeight); } fModel.SetOffsets(spx, spy); DrawBackground(background); #if DEBUG_IMAGE using (Pen pen = new Pen(Color.Red)) { fRenderer.DrawRectangle(pen, Color.Transparent, fSPX, fSPY, fImageWidth, fImageHeight); } #endif bool hasDeep = (fSelected != null && fSelected != fModel.Root && fSelected.Rec != null); if (hasDeep && fOptions.DeepMode == DeepMode.Background) { DrawDeep(fOptions.DeepMode, spx, spy); } fRenderer.SetTranslucent(0.0f); fModel.Draw(drawMode); if (hasDeep && fOptions.DeepMode == DeepMode.Foreground) { DrawDeep(fOptions.DeepMode, spx, spy); } }
public override void DrawImage(IImage image, ExtRect destinationRect, ExtRect sourceRect) { var sdImage = ((ImageHandler)image).Handle; Rectangle destRect = UIHelper.Rt2Rt(destinationRect); Rectangle sourRect = UIHelper.Rt2Rt(sourceRect); fCanvas.DrawImage(sdImage, destRect, sourRect, GraphicsUnit.Pixel); }
public void Test_Other() { Rectangle rect1 = UIHelper.Rt2Rt(ExtRect.Empty); Assert.AreEqual(0, rect1.Left); Assert.AreEqual(0, rect1.Top); Assert.AreEqual(0, rect1.Right); Assert.AreEqual(0, rect1.Bottom); RectangleF rect2 = UIHelper.Rt2Rt(ExtRectF.Empty); Assert.AreEqual(0, rect2.Left); Assert.AreEqual(0, rect2.Top); Assert.AreEqual(0, rect2.Right); Assert.AreEqual(0, rect2.Bottom); }
/*private ExtRect GetImageViewport() * { * ExtRect viewport; * * var imageSize = GetImageSize(); * if (!imageSize.IsEmpty) { * Rectangle scrollableViewport = this.Viewport; * viewport = ExtRect.CreateBounds( * scrollableViewport.Left, scrollableViewport.Top, * scrollableViewport.Width, scrollableViewport.Height); * } else { * viewport = ExtRect.Empty; * } * * return viewport; * }*/ public ExtRect GetClientRect() { return(UIHelper.Rt2Rt(base.Viewport)); }
private RectangleF GetOffsetRectangle(ExtRect source) { return(GetOffsetRectangle(UIHelper.Rt2Rt(source))); }