private void DrawCurrentPage(Graphics oGraphics, Rectangle oBounds) { Point[] oPoints = { new Point(oBounds.Left, oBounds.Top), new Point(oBounds.Right, oBounds.Bottom) }; oGraphics.TransformPoints(CoordinateSpace.Device, CoordinateSpace.Page, oPoints); PrintRectangle oPrintRectangle = new PrintRectangle(oPoints[0].X, oPoints[0].Y, oPoints[1].X, oPoints[1].Y); RangeToFormat oRangeToFormat = new RangeToFormat(); oRangeToFormat.hdc = oRangeToFormat.hdcTarget = oGraphics.GetHdc(); oRangeToFormat.rc = oRangeToFormat.rcPage = oPrintRectangle; oRangeToFormat.chrg.cpMin = _iPosition; oRangeToFormat.chrg.cpMax = _iPrintEnd; _iPosition = _oScintillaControl.NativeInterface.FormatRange(true, ref oRangeToFormat); }
unsafe int INativeScintilla.FormatRange(bool bDraw, ref RangeToFormat pfr) { fixed (RangeToFormat* rtfp = &pfr) return (int)_ns.SendMessageDirect(Constants.SCI_FORMATRANGE, (IntPtr)(bDraw ? 1 : 0), (IntPtr)rtfp); }
public unsafe int FormatRange(bool bDraw, ref RangeToFormat pfr) { fixed (RangeToFormat* rtfp = &pfr) return (int)this.SendMessageDirect(Constants.SCI_FORMATRANGE, (IntPtr)(bDraw ? 1 : 0), (IntPtr)rtfp); }