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);
var oPrintRectangle = new PrintRectangle(oPoints[0].X, oPoints[0].Y, oPoints[1].X, oPoints[1].Y);
var oRangeToFormat = new RangeToFormat();
oRangeToFormat.hdc = oRangeToFormat.hdcTarget = oGraphics.GetHdc();
oRangeToFormat.rc = oRangeToFormat.rcPage = oPrintRectangle;
oRangeToFormat.chrg.cpMin = this._iPosition;
oRangeToFormat.chrg.cpMax = this._iPrintEnd;
this._iPosition = this._oScintillaControl.NativeInterface.FormatRange(true, ref oRangeToFormat);
}