//------------------------------------------------------------------------------------------07.02.2006 /// <summary>Writes the RepObj to the buffer.</summary> /// <param name="e">Environment data</param> public void Write(PdfIndirectObject_PageContents.Environment e) { PdfIndirectObject_PageContents p = e.pdfIndirectObject_PageContents; RepLine repLine = (RepLine)e.repObj; Double rOfsX = repLine.rWidth * repLine.rAlignH; Double rOfsY = repLine.rHeight * repLine.rAlignV; e.matrixD.Multiply(1, 0, 0, 1, -rOfsX, -rOfsY); if (repLine.penProp.rWidth > 0f) { p.Write_Pen(repLine.penProp); p.Write_Point(e.matrixD.rDX, e.matrixD.rDY); p.Command("m"); p.Write_Point(e.matrixD, repLine.rWidth, repLine.rHeight); p.Command("l"); p.Command("S"); } }
//------------------------------------------------------------------------------------------07.02.2006 /// <summary>Writes the RepObj to the buffer.</summary> /// <param name="e">Environment data</param> public void Write(PdfIndirectObject_PageContents.Environment e) { PdfIndirectObject_PageContents p = e.pdfIndirectObject_PageContents; RepRect repRect = (RepRect)e.repObj; Double rOfsX = repRect.rWidth * repRect.rAlignH; Double rOfsY = repRect.rHeight * (1 - repRect.rAlignV); e.matrixD.Multiply(1, 0, 0, 1, -rOfsX, rOfsY); if (repRect.penProp != null) { if (repRect.penProp.rWidth > 0f) { p.Write_Pen(repRect.penProp); } else { repRect.penProp = null; } } if (repRect.brushProp != null) { p.Write_Brush(repRect.brushProp); } if (e.bComplex) { p.Command("q"); p.Write_Matrix(e.matrixD); p.Command("cm"); p.Write_Point(0, 0); p.Space(); p.Number(repRect.rWidth); p.Space(); p.Number(repRect.rHeight); p.Space(); p.Command("re"); p.Command(repRect.penProp == null ? "f" : (repRect.brushProp == null ? "S" : "B")); p.Command("Q"); } else { p.Write_Point(e.matrixD.rDX, e.matrixD.rDY); p.Space(); p.Number(repRect.rWidth); p.Space(); p.Number(repRect.rHeight); p.Command("re"); p.Command(repRect.penProp == null ? "f" : (repRect.brushProp == null ? "S" : "B")); } }
//------------------------------------------------------------------------------------------07.02.2006 /// <summary>Writes the RepObj to the buffer.</summary> /// <param name="e">Environment data</param> public void Write(PdfIndirectObject_PageContents.Environment e) { PdfIndirectObject_PageContents p = e.pdfIndirectObject_PageContents; RepString repString = (RepString)e.repObj; Double rWidth = repString.fontProp.rWidth(repString.sText); Double rOfsX = rWidth * repString.rAlignH; Double rOfsY = repString.fontProp.rHeight() * (1 - repString.rAlignV); e.matrixD.Multiply(new MatrixD(1, 0, 0, 1, -rOfsX, rOfsY)); p.Command("BT"); p.Write_Font(repString.fontProp); if (e.bComplex) { p.Write_Matrix(e.matrixD); p.Command("Tm"); } else { p.Write_Point(e.matrixD.rDX, e.matrixD.rDY); p.Command("Td"); } p.String(repString.sText); p.Command("Tj"); p.Command("ET"); if (repString.fontProp.bUnderline) { Type1FontData type1FontData = (Type1FontData)repString.fontProp.fontPropData.fontData; PdfFontPropData pdfFontPropData = (PdfFontPropData)repString.fontProp.fontPropData; Double rSizeFactor = type1FontData.rSizeFactor(repString.fontProp); PenProp pp = new PenProp(e.report, rSizeFactor * type1FontData.fUnderlineThickness / 1000, repString.fontProp.color); p.Write_Pen(pp); Double rD = rSizeFactor * type1FontData.fUnderlinePosition / 1000; p.Write_Point(e.matrixD, 0, -rD); p.Command("m"); p.Write_Point(e.matrixD, rWidth, -rD); p.Command("l"); p.Command("S"); } }