LibreOffice Module vcl (master) 1
Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
vcl::PDFWriterImpl Class Referencefinal

#include <pdfwriter_impl.hxx>

Inheritance diagram for vcl::PDFWriterImpl:
[legend]
Collaboration diagram for vcl::PDFWriterImpl:
[legend]

Public Member Functions

const char * getStructureTag (PDFWriter::StructElement)
 
 PDFWriterImpl (const PDFWriter::PDFWriterContext &rContext, const css::uno::Reference< css::beans::XMaterialHolder > &, PDFWriter &)
 
 ~PDFWriterImpl () override
 
void dispose () override
 
void newPage (double nPageWidth, double nPageHeight, PDFWriter::Orientation eOrientation)
 
bool emit ()
 
const std::set< PDFWriter::ErrorCode > & getErrors () const
 
void insertError (PDFWriter::ErrorCode eErr)
 
void playMetafile (const GDIMetaFile &, vcl::PDFExtOutDevData *, const vcl::PDFWriter::PlayMetafileContext &, VirtualDevice *pDummyDev=nullptr)
 
Size getCurPageSize () const
 
void setDocumentLocale (const css::lang::Locale &rLoc)
 
void push (PushFlags nFlags)
 
void pop ()
 
void setFont (const Font &rFont)
 
void setMapMode (const MapMode &rMapMode)
 
const MapModegetMapMode ()
 
void setLineColor (const Color &rColor)
 
void setFillColor (const Color &rColor)
 
void setTextLineColor ()
 
void setTextLineColor (const Color &rColor)
 
void setOverlineColor ()
 
void setOverlineColor (const Color &rColor)
 
void setTextFillColor (const Color &rColor)
 
void setTextFillColor ()
 
void setTextColor (const Color &rColor)
 
void clearClipRegion ()
 
void setClipRegion (const basegfx::B2DPolyPolygon &rRegion)
 
void moveClipRegion (sal_Int32 nX, sal_Int32 nY)
 
void intersectClipRegion (const tools::Rectangle &rRect)
 
void intersectClipRegion (const basegfx::B2DPolyPolygon &rRegion)
 
void setLayoutMode (vcl::text::ComplexTextLayoutFlags nLayoutMode)
 
void setDigitLanguage (LanguageType eLang)
 
void setTextAlign (TextAlign eAlign)
 
void drawText (const Point &rPos, const OUString &rText, sal_Int32 nIndex, sal_Int32 nLen, bool bTextLines=true)
 
void drawTextArray (const Point &rPos, const OUString &rText, KernArraySpan pDXArray, o3tl::span< const sal_Bool > pKashidaArray, sal_Int32 nIndex, sal_Int32 nLen)
 
void drawStretchText (const Point &rPos, sal_Int32 nWidth, const OUString &rText, sal_Int32 nIndex, sal_Int32 nLen)
 
void drawText (const tools::Rectangle &rRect, const OUString &rOrigStr, DrawTextFlags nStyle)
 
void drawTextLine (const Point &rPos, tools::Long nWidth, FontStrikeout eStrikeout, FontLineStyle eUnderline, FontLineStyle eOverline, bool bUnderlineAbove)
 
void drawWaveTextLine (OStringBuffer &aLine, tools::Long nWidth, FontLineStyle eTextLine, Color aColor, bool bIsAbove)
 
void drawStraightTextLine (OStringBuffer &aLine, tools::Long nWidth, FontLineStyle eTextLine, Color aColor, bool bIsAbove)
 
void drawStrikeoutLine (OStringBuffer &aLine, tools::Long nWidth, FontStrikeout eStrikeout, Color aColor)
 
void drawStrikeoutChar (const Point &rPos, tools::Long nWidth, FontStrikeout eStrikeout)
 
void drawLine (const Point &rStart, const Point &rStop)
 
void drawLine (const Point &rStart, const Point &rStop, const LineInfo &rInfo)
 
void drawPolygon (const tools::Polygon &rPoly)
 
void drawPolyPolygon (const tools::PolyPolygon &rPolyPoly)
 
void drawPolyLine (const tools::Polygon &rPoly)
 
void drawPolyLine (const tools::Polygon &rPoly, const LineInfo &rInfo)
 
void drawPolyLine (const tools::Polygon &rPoly, const PDFWriter::ExtLineInfo &rInfo)
 
void drawPixel (const Point &rPt, const Color &rColor)
 
void drawRectangle (const tools::Rectangle &rRect)
 
void drawRectangle (const tools::Rectangle &rRect, sal_uInt32 nHorzRound, sal_uInt32 nVertRound)
 
void drawEllipse (const tools::Rectangle &rRect)
 
void drawArc (const tools::Rectangle &rRect, const Point &rStart, const Point &rStop, bool bWithPie, bool bWidthChord)
 
void drawBitmap (const Point &rDestPoint, const Size &rDestSize, const Bitmap &rBitmap, const Graphic &rGraphic)
 
void drawBitmap (const Point &rDestPoint, const Size &rDestSize, const BitmapEx &rBitmap)
 
void drawJPGBitmap (SvStream &rDCTData, bool bIsTrueColor, const Size &rSizePixel, const tools::Rectangle &rTargetArea, const AlphaMask &rAlphaMask, const Graphic &rGraphic)
 
void createEmbeddedFile (const Graphic &rGraphic, ReferenceXObjectEmit &rEmit, sal_Int32 nBitmapObject)
 Stores the original PDF data from rGraphic as an embedded file. More...
 
void drawGradient (const tools::Rectangle &rRect, const Gradient &rGradient)
 
void drawHatch (const tools::PolyPolygon &rPolyPoly, const Hatch &rHatch)
 
void drawWallpaper (const tools::Rectangle &rRect, const Wallpaper &rWall)
 
void drawTransparent (const tools::PolyPolygon &rPolyPoly, sal_uInt32 nTransparentPercent)
 
void beginTransparencyGroup ()
 
void endTransparencyGroup (const tools::Rectangle &rBoundingBox, sal_uInt32 nTransparentPercent)
 
void emitComment (const char *pComment)
 
sal_Int32 createNamedDest (const OUString &sDestName, const tools::Rectangle &rRect, sal_Int32 nPageNr, PDFWriter::DestAreaType eType)
 
sal_Int32 emitOutputIntent ()
 
sal_Int32 emitDocumentMetadata ()
 
sal_Int32 createLink (const tools::Rectangle &rRect, sal_Int32 nPageNr, OUString const &rAltText)
 
sal_Int32 createDest (const tools::Rectangle &rRect, sal_Int32 nPageNr, PDFWriter::DestAreaType eType)
 
sal_Int32 registerDestReference (sal_Int32 nDestId, const tools::Rectangle &rRect, sal_Int32 nPageNr, PDFWriter::DestAreaType eType)
 
void setLinkDest (sal_Int32 nLinkId, sal_Int32 nDestId)
 
void setLinkURL (sal_Int32 nLinkId, const OUString &rURL)
 
void setLinkPropertyId (sal_Int32 nLinkId, sal_Int32 nPropertyId)
 
sal_Int32 createScreen (const tools::Rectangle &rRect, sal_Int32 nPageNr, OUString const &rAltText, OUString const &rMimeType)
 
void setScreenURL (sal_Int32 nScreenId, const OUString &rURL)
 
void setScreenStream (sal_Int32 nScreenId, const OUString &rURL)
 
sal_Int32 createOutlineItem (sal_Int32 nParent, std::u16string_view rText, sal_Int32 nDestID)
 
void setOutlineItemParent (sal_Int32 nItem, sal_Int32 nNewParent)
 
void setOutlineItemText (sal_Int32 nItem, std::u16string_view rText)
 
void setOutlineItemDest (sal_Int32 nItem, sal_Int32 nDestID)
 
void createNote (const tools::Rectangle &rRect, const PDFNote &rNote, sal_Int32 nPageNr)
 
sal_Int32 ensureStructureElement ()
 
void initStructureElement (sal_Int32 id, PDFWriter::StructElement eType, std::u16string_view rAlias)
 
void beginStructureElement (sal_Int32 id)
 
void endStructureElement ()
 
bool setCurrentStructureElement (sal_Int32 nElement)
 
bool setStructureAttribute (enum PDFWriter::StructAttribute eAttr, enum PDFWriter::StructAttributeValue eVal)
 
bool setStructureAttributeNumerical (enum PDFWriter::StructAttribute eAttr, sal_Int32 nValue)
 
void setStructureBoundingBox (const tools::Rectangle &rRect)
 
void setStructureAnnotIds (::std::vector< sal_Int32 > const &rAnnotIds)
 
void setActualText (const OUString &rText)
 
void setAlternateText (const OUString &rText)
 
void setPageTransition (PDFWriter::PageTransition eType, sal_uInt32 nMilliSec, sal_Int32 nPageNr)
 
sal_Int32 createControl (const PDFWriter::AnyWidget &rControl, sal_Int32 nPageNr=-1)
 
void addDocumentAttachedFile (OUString const &rFileName, OUString const &rMimeType, OUString const &rDescription, std::unique_ptr< PDFOutputStream > rStream)
 
sal_Int32 addEmbeddedFile (BinaryDataContainer const &rDataContainer)
 
sal_Int32 addEmbeddedFile (std::unique_ptr< PDFOutputStream > rStream, OUString const &rMimeType)
 
void MARK (const char *pString)
 
- Public Member Functions inherited from VirtualDevice
 VirtualDevice (DeviceFormat eFormat=DeviceFormat::WITHOUT_ALPHA)
 Create a virtual device of size 1x1. More...
 
 VirtualDevice (const OutputDevice &rCompDev, DeviceFormat eFormat=DeviceFormat::WITHOUT_ALPHA)
 Create a virtual device of size 1x1. More...
 
 VirtualDevice (const SystemGraphicsData &rData, const Size &rSize, DeviceFormat eFormat)
 Create a virtual device using an existing system dependent device or graphics context Any rendering will happen directly on the context and not on any intermediate bitmap. More...
 
virtual ~VirtualDevice () override
 
virtual void dispose () override
 
bool CanEnableNativeWidget () const override
 Determine if native widgets can be enabled. More...
 
virtual void EnableRTL (bool bEnable=true) override
 
bool SetOutputSizePixel (const Size &rNewSize, bool bErase=true, bool bAlphaMaskTransparent=false)
 
bool SetOutputSizePixelScaleOffsetAndLOKBuffer (const Size &rNewSize, const Fraction &rScale, const Point &rNewOffset, sal_uInt8 *pBuffer)
 
bool SetOutputSize (const Size &rNewSize)
 
void SetReferenceDevice (RefDevMode)
 
void Compat_ZeroExtleadBug ()
 
void SetReferenceDevice (sal_Int32 i_nDPIX, sal_Int32 i_nDPIY)
 
virtual sal_uInt16 GetBitCount () const override
 
bool IsVirtual () const override
 
bool IsScreenComp () const override
 
- Public Member Functions inherited from OutputDevice
virtual Size GetButtonBorderSize ()
 
virtual Color GetMonochromeButtonColor ()
 
virtual void DrawBorder (tools::Rectangle aBorderRect)
 
virtual css::awt::DeviceInfo GetDeviceInfo () const
 
virtual vcl::WindowGetOwnerWindow () const
 Get the vcl::Window that this OutputDevice belongs to, if any. More...
 
SAL_DLLPRIVATE sal_Int32 GetDPIX () const
 Get the output device's DPI x-axis value. More...
 
SAL_DLLPRIVATE sal_Int32 GetDPIY () const
 Get the output device's DPI y-axis value. More...
 
SAL_DLLPRIVATE void SetDPIX (sal_Int32 nDPIX)
 
SAL_DLLPRIVATE void SetDPIY (sal_Int32 nDPIY)
 
float GetDPIScaleFactor () const
 
sal_Int32 GetDPIScalePercentage () const
 
OutDevType GetOutDevType () const
 
bool SupportsOperation (OutDevSupportType) const
 Query an OutputDevice to see whether it supports a specific operation. More...
 
void SetExtOutDevData (vcl::ExtOutDevData *pExtOutDevData)
 
vcl::ExtOutDevDataGetExtOutDevData () const
 
void DrawPixel (const Point &rPt)
 
void DrawPixel (const Point &rPt, const Color &rColor)
 
Color GetPixel (const Point &rPt) const
 
void DrawRect (const tools::Rectangle &rRect)
 
void DrawRect (const tools::Rectangle &rRect, sal_uLong nHorzRount, sal_uLong nVertRound)
 
void DrawCheckered (const Point &rPos, const Size &rSize, sal_uInt32 nLen=8, Color aStart=COL_WHITE, Color aEnd=COL_BLACK)
 Fill the given rectangle with checkered rectangles of size nLen x nLen using the colors aStart and aEnd. More...
 
void DrawGrid (const tools::Rectangle &rRect, const Size &rDist, DrawGridFlags nFlags)
 
void Invert (const tools::Rectangle &rRect, InvertFlags nFlags=InvertFlags::NONE)
 
void Invert (const tools::Polygon &rPoly, InvertFlags nFlags=InvertFlags::NONE)
 
void DrawEllipse (const tools::Rectangle &rRect)
 
void DrawArc (const tools::Rectangle &rRect, const Point &rStartPt, const Point &rEndPt)
 
void DrawPie (const tools::Rectangle &rRect, const Point &rStartPt, const Point &rEndPt)
 
void DrawChord (const tools::Rectangle &rRect, const Point &rStartPt, const Point &rEndPt)
 
bool IsNativeControlSupported (ControlType nType, ControlPart nPart) const
 Query the platform layer for control support. More...
 
bool HitTestNativeScrollbar (ControlPart nPart, const tools::Rectangle &rControlRegion, const Point &aPos, bool &rIsInside) const
 Query the native control to determine if it was acted upon. More...
 
bool DrawNativeControl (ControlType nType, ControlPart nPart, const tools::Rectangle &rControlRegion, ControlState nState, const ImplControlValue &aValue, const OUString &aCaption, const Color &rBackgroundColor=COL_AUTO)
 Request rendering of a particular control and/or part. More...
 
bool GetNativeControlRegion (ControlType nType, ControlPart nPart, const tools::Rectangle &rControlRegion, ControlState nState, const ImplControlValue &aValue, tools::Rectangle &rNativeBoundingRegion, tools::Rectangle &rNativeContentRegion) const
 Query the native control's actual drawing region (including adornment) More...
 
bool DrawEPS (const Point &rPt, const Size &rSz, const GfxLink &rGfxLink, GDIMetaFile *pSubst=nullptr)
 
FontMetric GetFontMetricFromCollection (int nDevFontIndex) const
 
int GetFontFaceCollectionCount () const
 
bool IsFontAvailable (std::u16string_view rFontName) const
 
bool AddTempDevFont (const OUString &rFileURL, const OUString &rFontName)
 
void RefreshFontData (const bool bNewFontLists)
 
FontMetric GetFontMetric () const
 
FontMetric GetFontMetric (const vcl::Font &rFont) const
 
bool GetFontCharMap (FontCharMapRef &rxFontCharMap) const
 
bool GetFontCapabilities (vcl::FontCapabilities &rFontCapabilities) const
 
bool GetFontFeatures (std::vector< vcl::font::Feature > &rFontFeatures) const
 
bool GetGlyphBoundRects (const Point &rOrigin, const OUString &rStr, int nIndex, int nLen, std::vector< tools::Rectangle > &rVector) const
 
sal_Int32 HasGlyphs (const vcl::Font &rFont, std::u16string_view rStr, sal_Int32 nIndex=0, sal_Int32 nLen=-1) const
 
tools::Long GetMinKashida () const
 
sal_Int32 ValidateKashidas (const OUString &rTxt, sal_Int32 nIdx, sal_Int32 nLen, sal_Int32 nKashCount, const sal_Int32 *pKashidaPos, sal_Int32 *pKashidaPosDropped) const
 
SAL_DLLPRIVATE void ImplInitFontList () const
 
SAL_DLLPRIVATE void ImplUpdateFontData ()
 
LogicalFontInstance const * GetFontInstance () const
 
SAL_DLLPRIVATE bool ImplIsAntiparallel () const
 
SAL_DLLPRIVATE void ReMirror (Point &rPoint) const
 
SAL_DLLPRIVATE void ReMirror (tools::Rectangle &rRect) const
 
SAL_DLLPRIVATE void ReMirror (vcl::Region &rRegion) const
 
SAL_DLLPRIVATE bool ImplIsRecordLayout () const
 
virtual bool HasMirroredGraphics () const
 
std::unique_ptr< SalLayoutImplLayout (const OUString &, sal_Int32 nIndex, sal_Int32 nLen, const Point &rLogicPos=Point(0, 0), tools::Long nLogicWidth=0, KernArraySpan aKernArray=KernArraySpan(), o3tl::span< const sal_Bool > pKashidaArray={}, SalLayoutFlags flags=SalLayoutFlags::NONE, vcl::text::TextLayoutCache const *=nullptr, const SalLayoutGlyphs *pGlyphs=nullptr) const
 
SAL_DLLPRIVATE vcl::text::ImplLayoutArgs ImplPrepareLayoutArgs (OUString &, const sal_Int32 nIndex, const sal_Int32 nLen, double nPixelWidth, SalLayoutFlags flags=SalLayoutFlags::NONE, vcl::text::TextLayoutCache const *=nullptr) const
 
SAL_DLLPRIVATE std::unique_ptr< SalLayoutImplGlyphFallbackLayout (std::unique_ptr< SalLayout >, vcl::text::ImplLayoutArgs &, const SalLayoutGlyphs *) const
 
SAL_DLLPRIVATE std::unique_ptr< SalLayoutgetFallbackLayout (LogicalFontInstance *pLogicalFont, int nFallbackLevel, vcl::text::ImplLayoutArgs &rLayoutArgs, const SalLayoutGlyphs *) const
 
bool IsRTLEnabled () const
 
bool GetTextIsRTL (const OUString &, sal_Int32 nIndex, sal_Int32 nLen) const
 
virtual void Flush ()
 
virtual void DrawOutDev (const Point &rDestPt, const Size &rDestSize, const Point &rSrcPt, const Size &rSrcSize)
 
virtual void DrawOutDev (const Point &rDestPt, const Size &rDestSize, const Point &rSrcPt, const Size &rSrcSize, const OutputDevice &rOutDev)
 
virtual void CopyArea (const Point &rDestPt, const Point &rSrcPt, const Size &rSrcSize, bool bWindowInvalidate=false)
 
void Push (vcl::PushFlags nFlags=vcl::PushFlags::ALL)
 
void Pop ()
 
void ClearStack ()
 
void EnableOutput (bool bEnable=true)
 
bool IsOutputEnabled () const
 
bool IsDeviceOutputNecessary () const
 
void SetAntialiasing (AntialiasingFlags nMode)
 
AntialiasingFlags GetAntialiasing () const
 
void SetDrawMode (DrawModeFlags nDrawMode)
 
DrawModeFlags GetDrawMode () const
 
void SetLayoutMode (vcl::text::ComplexTextLayoutFlags nTextLayoutMode)
 
vcl::text::ComplexTextLayoutFlags GetLayoutMode () const
 
void SetDigitLanguage (LanguageType)
 
LanguageType GetDigitLanguage () const
 
void SetRasterOp (RasterOp eRasterOp)
 
RasterOp GetRasterOp () const
 
void SetOutDevViewType (OutDevViewType eOutDevViewType)
 If this OutputDevice is used for displaying a Print Preview the OutDevViewType should be set to 'OutDevViewType::PrintPreview'. More...
 
OutDevViewType GetOutDevViewType () const
 
void SetLineColor ()
 
void SetLineColor (const Color &rColor)
 
const ColorGetLineColor () const
 
bool IsLineColor () const
 
void SetFillColor ()
 
void SetFillColor (const Color &rColor)
 
const ColorGetFillColor () const
 
bool IsFillColor () const
 
void SetBackground ()
 
void SetBackground (const Wallpaper &rBackground)
 
virtual void SaveBackground (VirtualDevice &rSaveDevice, const Point &rPos, const Size &rSize, const Size &rBackgroundSize) const
 
const WallpaperGetBackground () const
 
virtual Color GetBackgroundColor () const
 
virtual Color GetReadableFontColor (const Color &rFontColor, const Color &rBgColor) const
 
bool IsBackground () const
 
void SetFont (const vcl::Font &rNewFont)
 
const vcl::FontGetFont () const
 
vcl::Region GetClipRegion () const
 
void SetClipRegion ()
 
void SetClipRegion (const vcl::Region &rRegion)
 
bool SelectClipRegion (const vcl::Region &, SalGraphics *pGraphics=nullptr)
 
bool IsClipRegion () const
 
void MoveClipRegion (tools::Long nHorzMove, tools::Long nVertMove)
 
void IntersectClipRegion (const tools::Rectangle &rRect)
 
void IntersectClipRegion (const vcl::Region &rRegion)
 
virtual vcl::Region GetActiveClipRegion () const
 
virtual vcl::Region GetOutputBoundsClipRegion () const
 
void DrawLine (const Point &rStartPt, const Point &rEndPt)
 
void DrawLine (const Point &rStartPt, const Point &rEndPt, const LineInfo &rLineInfo)
 
void DrawPolyLine (const tools::Polygon &rPoly)
 Render the given polygon as a line stroke. More...
 
void DrawPolyLine (const basegfx::B2DPolygon &, double fLineWidth=0.0, basegfx::B2DLineJoin eLineJoin=basegfx::B2DLineJoin::Round, css::drawing::LineCap eLineCap=css::drawing::LineCap_BUTT, double fMiterMinimumAngle=basegfx::deg2rad(15.0))
 
void DrawPolyLine (const tools::Polygon &rPoly, const LineInfo &rLineInfo)
 Render the given polygon as a line stroke. More...
 
bool DrawPolyLineDirect (const basegfx::B2DHomMatrix &rObjectTransform, const basegfx::B2DPolygon &rB2DPolygon, double fLineWidth=0.0, double fTransparency=0.0, const std::vector< double > *=nullptr, basegfx::B2DLineJoin eLineJoin=basegfx::B2DLineJoin::NONE, css::drawing::LineCap eLineCap=css::drawing::LineCap_BUTT, double fMiterMinimumAngle=basegfx::deg2rad(15.0))
 
void DrawPolygon (const tools::Polygon &rPoly)
 Render the given polygon. More...
 
void DrawPolygon (const basegfx::B2DPolygon &)
 
void DrawPolyPolygon (const tools::PolyPolygon &rPolyPoly)
 Render the given poly-polygon. More...
 
void DrawPolyPolygon (const basegfx::B2DPolyPolygon &)
 
void DrawGradient (const tools::Rectangle &rRect, const Gradient &rGradient)
 
void DrawGradient (const tools::PolyPolygon &rPolyPoly, const Gradient &rGradient)
 
void DrawHatch (const tools::PolyPolygon &rPolyPoly, const Hatch &rHatch)
 
void AddHatchActions (const tools::PolyPolygon &rPolyPoly, const Hatch &rHatch, GDIMetaFile &rMtf)
 
void DrawHatch (const tools::PolyPolygon &rPolyPoly, const Hatch &rHatch, bool bMtf)
 
void DrawWallpaper (const tools::Rectangle &rRect, const Wallpaper &rWallpaper)
 
void Erase ()
 
void Erase (const tools::Rectangle &rRect)
 
void DrawText (const Point &rStartPt, const OUString &rStr, sal_Int32 nIndex=0, sal_Int32 nLen=-1, std::vector< tools::Rectangle > *pVector=nullptr, OUString *pDisplayText=nullptr, const SalLayoutGlyphs *pLayoutCache=nullptr)
 
void DrawText (const tools::Rectangle &rRect, const OUString &rStr, DrawTextFlags nStyle=DrawTextFlags::NONE, std::vector< tools::Rectangle > *pVector=nullptr, OUString *pDisplayText=nullptr, vcl::ITextLayout *_pTextLayout=nullptr)
 
void ImplDrawText (SalLayout &)
 
void ImplDrawTextBackground (const SalLayout &)
 
void DrawCtrlText (const Point &rPos, const OUString &rStr, sal_Int32 nIndex=0, sal_Int32 nLen=-1, DrawTextFlags nStyle=DrawTextFlags::Mnemonic, std::vector< tools::Rectangle > *pVector=nullptr, OUString *pDisplayText=nullptr, const SalLayoutGlyphs *pGlyphs=nullptr)
 
void DrawTextLine (const Point &rPos, tools::Long nWidth, FontStrikeout eStrikeout, FontLineStyle eUnderline, FontLineStyle eOverline, bool bUnderlineAbove=false)
 
void ImplDrawTextLine (tools::Long nBaseX, tools::Long nX, tools::Long nY, double nWidth, FontStrikeout eStrikeout, FontLineStyle eUnderline, FontLineStyle eOverline, bool bUnderlineAbove)
 
void ImplDrawTextLines (SalLayout &, FontStrikeout eStrikeout, FontLineStyle eUnderline, FontLineStyle eOverline, bool bWordLine, bool bUnderlineAbove)
 
void DrawWaveLine (const Point &rStartPos, const Point &rEndPos, tools::Long nLineWidth=1, tools::Long nWaveHeight=3)
 
bool ImplDrawRotateText (SalLayout &)
 
tools::Rectangle GetTextRect (const tools::Rectangle &rRect, const OUString &rStr, DrawTextFlags nStyle=DrawTextFlags::WordBreak, TextRectInfo *pInfo=nullptr, const vcl::ITextLayout *_pTextLayout=nullptr) const
 
bool GetTextBoundRect (tools::Rectangle &rRect, const OUString &rStr, sal_Int32 nBase=0, sal_Int32 nIndex=0, sal_Int32 nLen=-1, sal_uLong nLayoutWidth=0, KernArraySpan aDXArray=KernArraySpan(), o3tl::span< const sal_Bool > pKashidaArray={}, const SalLayoutGlyphs *pGlyphs=nullptr) const
 Return the exact bounding rectangle of rStr. More...
 
tools::Rectangle ImplGetTextBoundRect (const SalLayout &) const
 
bool GetTextOutline (tools::PolyPolygon &, const OUString &rStr) const
 
bool GetTextOutlines (PolyPolyVector &, const OUString &rStr, sal_Int32 nBase=0, sal_Int32 nIndex=0, sal_Int32 nLen=-1, sal_uLong nLayoutWidth=0, KernArraySpan aDXArray=KernArraySpan(), o3tl::span< const sal_Bool > pKashidaArray={}) const
 
bool GetTextOutlines (basegfx::B2DPolyPolygonVector &rVector, const OUString &rStr, sal_Int32 nBase, sal_Int32 nIndex=0, sal_Int32 nLen=-1, sal_uLong nLayoutWidth=0, KernArraySpan aDXArray=KernArraySpan(), o3tl::span< const sal_Bool > pKashidaArray={}) const
 
OUString GetEllipsisString (const OUString &rStr, tools::Long nMaxWidth, DrawTextFlags nStyle=DrawTextFlags::EndEllipsis) const
 
tools::Long GetCtrlTextWidth (const OUString &rStr, const SalLayoutGlyphs *pLayoutCache=nullptr) const
 
void AddTextRectActions (const tools::Rectangle &rRect, const OUString &rOrigStr, DrawTextFlags nStyle, GDIMetaFile &rMtf)
 Generate MetaTextActions for the text rect. More...
 
void SetTextColor (const Color &rColor)
 
virtual void SetSystemTextColor (SystemTextColorFlags nFlags, bool bEnabled)
 
const ColorGetTextColor () const
 
void SetTextFillColor ()
 
void SetTextFillColor (const Color &rColor)
 
Color GetTextFillColor () const
 
bool IsTextFillColor () const
 
void SetTextLineColor ()
 
void SetTextLineColor (const Color &rColor)
 
const ColorGetTextLineColor () const
 
bool IsTextLineColor () const
 
void SetOverlineColor ()
 
void SetOverlineColor (const Color &rColor)
 
const ColorGetOverlineColor () const
 
bool IsOverlineColor () const
 
void SetTextAlign (TextAlign eAlign)
 
TextAlign GetTextAlign () const
 
tools::Long GetTextWidth (const OUString &rStr, sal_Int32 nIndex=0, sal_Int32 nLen=-1, vcl::text::TextLayoutCache const *=nullptr, SalLayoutGlyphs const *const pLayoutCache=nullptr) const
 Width of the text. More...
 
tools::Long GetTextHeight () const
 Height where any character of the current font fits; in logic coordinates. More...
 
float approximate_digit_width () const
 
void DrawTextArray (const Point &rStartPt, const OUString &rStr, KernArraySpan aKernArray, o3tl::span< const sal_Bool > pKashidaAry, sal_Int32 nIndex, sal_Int32 nLen, SalLayoutFlags flags=SalLayoutFlags::NONE, const SalLayoutGlyphs *pLayoutCache=nullptr)
 
tools::Long GetTextArray (const OUString &rStr, KernArray *pDXAry, sal_Int32 nIndex=0, sal_Int32 nLen=-1, bool bCaret=false, vcl::text::TextLayoutCache const *=nullptr, SalLayoutGlyphs const *const pLayoutCache=nullptr) const
 
void GetCaretPositions (const OUString &, KernArray &rCaretXArray, sal_Int32 nIndex, sal_Int32 nLen, const SalLayoutGlyphs *pGlyphs=nullptr) const
 
void DrawStretchText (const Point &rStartPt, sal_Int32 nWidth, const OUString &rStr, sal_Int32 nIndex=0, sal_Int32 nLen=-1)
 
sal_Int32 GetTextBreak (const OUString &rStr, tools::Long nTextWidth, sal_Int32 nIndex, sal_Int32 nLen=-1, tools::Long nCharExtra=0, vcl::text::TextLayoutCache const *=nullptr, const SalLayoutGlyphs *pGlyphs=nullptr) const
 
sal_Int32 GetTextBreak (const OUString &rStr, tools::Long nTextWidth, sal_Unicode nExtraChar, sal_Int32 &rExtraCharPos, sal_Int32 nIndex, sal_Int32 nLen, tools::Long nCharExtra, vcl::text::TextLayoutCache const *=nullptr, const SalLayoutGlyphs *pGlyphs=nullptr) const
 
SAL_DLLPRIVATE SalLayoutFlags GetBiDiLayoutFlags (std::u16string_view rStr, const sal_Int32 nMinIndex, const sal_Int32 nEndIndex) const
 
void DrawBitmap (const Point &rDestPt, const Bitmap &rBitmap)
 
void DrawBitmap (const Point &rDestPt, const Size &rDestSize, const Bitmap &rBitmap)
 
void DrawBitmap (const Point &rDestPt, const Size &rDestSize, const Point &rSrcPtPixel, const Size &rSrcSizePixel, const Bitmap &rBitmap)
 
void DrawBitmap (const Point &rDestPt, const Size &rDestSize, const Point &rSrcPtPixel, const Size &rSrcSizePixel, const Bitmap &rBitmap, MetaActionType nAction)
 
void DrawBitmapEx (const Point &rDestPt, const BitmapEx &rBitmapEx)
 
void DrawBitmapEx (const Point &rDestPt, const Size &rDestSize, const BitmapEx &rBitmapEx)
 
void DrawBitmapEx (const Point &rDestPt, const Size &rDestSize, const Point &rSrcPtPixel, const Size &rSrcSizePixel, const BitmapEx &rBitmapEx)
 
void DrawBitmapEx (const Point &rDestPt, const Size &rDestSize, const Point &rSrcPtPixel, const Size &rSrcSizePixel, const BitmapEx &rBitmapEx, MetaActionType nAction)
 
void DrawImage (const Point &rPos, const Image &rImage, DrawImageFlags nStyle=DrawImageFlags::NONE)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. virtual void DrawImage( const Point& rPos, const Size& rSize, const Image& rImage, sal_uInt16 nStyle = 0) More...
 
void DrawImage (const Point &rPos, const Size &rSize, const Image &rImage, DrawImageFlags nStyle=DrawImageFlags::NONE)
 
virtual Bitmap GetBitmap (const Point &rSrcPt, const Size &rSize) const
 
BitmapEx GetBitmapEx (const Point &rSrcPt, const Size &rSize) const
 Query extended bitmap (with alpha channel, if available). More...
 
void DrawTransformedBitmapEx (const basegfx::B2DHomMatrix &rTransformation, const BitmapEx &rBitmapEx, double fAlpha=1.0)
 Draw BitmapEx transformed. More...
 
bool HasFastDrawTransformedBitmap () const
 Return true if DrawTransformedBitmapEx() is fast. More...
 
bool RemoveTransparenciesFromMetaFile (const GDIMetaFile &rInMtf, GDIMetaFile &rOutMtf, tools::Long nMaxBmpDPIX, tools::Long nMaxBmpDPIY, bool bReduceTransparency, bool bTransparencyAutoMode, bool bDownsampleBitmaps, const Color &rBackground=COL_TRANSPARENT)
 helper method removing transparencies from a metafile (e.g. More...
 
void DrawTransparent (const tools::PolyPolygon &rPolyPoly, sal_uInt16 nTransparencePercent)
 
void DrawTransparent (const basegfx::B2DHomMatrix &rObjectTransform, const basegfx::B2DPolyPolygon &rB2DPolyPoly, double fTransparency)
 
void DrawTransparent (const GDIMetaFile &rMtf, const Point &rPos, const Size &rSize, const Gradient &rTransparenceGradient)
 
void EnableMapMode (bool bEnable=true)
 
bool IsMapModeEnabled () const
 
void SetMapMode ()
 
void SetMapMode (const MapMode &rNewMapMode)
 
void SetRelativeMapMode (const MapMode &rNewMapMode)
 
virtual void SetMetafileMapMode (const MapMode &rNewMapMode, bool bIsRecord)
 
const MapModeGetMapMode () const
 
basegfx::B2DHomMatrix GetViewTransformation () const
 
basegfx::B2DHomMatrix GetInverseViewTransformation () const
 
basegfx::B2DHomMatrix GetViewTransformation (const MapMode &rMapMode) const
 
basegfx::B2DHomMatrix GetInverseViewTransformation (const MapMode &rMapMode) const
 
void SetPixelOffset (const Size &rOffset)
 Set an offset in pixel. More...
 
SAL_WARN_UNUSED_RESULT Size GetPixelOffset () const
 Get the offset in pixel. More...
 
SAL_WARN_UNUSED_RESULT Point LogicToPixel (const Point &rLogicPt) const
 
SAL_WARN_UNUSED_RESULT Size LogicToPixel (const Size &rLogicSize) const
 
SAL_WARN_UNUSED_RESULT tools::Rectangle LogicToPixel (const tools::Rectangle &rLogicRect) const
 
SAL_WARN_UNUSED_RESULT tools::Polygon LogicToPixel (const tools::Polygon &rLogicPoly) const
 
SAL_WARN_UNUSED_RESULT tools::PolyPolygon LogicToPixel (const tools::PolyPolygon &rLogicPolyPoly) const
 
SAL_WARN_UNUSED_RESULT basegfx::B2DPolyPolygon LogicToPixel (const basegfx::B2DPolyPolygon &rLogicPolyPoly) const
 
SAL_WARN_UNUSED_RESULT vcl::Region LogicToPixel (const vcl::Region &rLogicRegion) const
 
SAL_WARN_UNUSED_RESULT Point LogicToPixel (const Point &rLogicPt, const MapMode &rMapMode) const
 
SAL_WARN_UNUSED_RESULT Size LogicToPixel (const Size &rLogicSize, const MapMode &rMapMode) const
 
SAL_WARN_UNUSED_RESULT tools::Rectangle LogicToPixel (const tools::Rectangle &rLogicRect, const MapMode &rMapMode) const
 
SAL_WARN_UNUSED_RESULT tools::Polygon LogicToPixel (const tools::Polygon &rLogicPoly, const MapMode &rMapMode) const
 
SAL_WARN_UNUSED_RESULT basegfx::B2DPolyPolygon LogicToPixel (const basegfx::B2DPolyPolygon &rLogicPolyPoly, const MapMode &rMapMode) const
 
SAL_WARN_UNUSED_RESULT Point PixelToLogic (const Point &rDevicePt) const
 
SAL_WARN_UNUSED_RESULT Size PixelToLogic (const Size &rDeviceSize) const
 
SAL_WARN_UNUSED_RESULT tools::Rectangle PixelToLogic (const tools::Rectangle &rDeviceRect) const
 
SAL_WARN_UNUSED_RESULT tools::Polygon PixelToLogic (const tools::Polygon &rDevicePoly) const
 
SAL_WARN_UNUSED_RESULT tools::PolyPolygon PixelToLogic (const tools::PolyPolygon &rDevicePolyPoly) const
 
SAL_WARN_UNUSED_RESULT basegfx::B2DPolyPolygon PixelToLogic (const basegfx::B2DPolyPolygon &rDevicePolyPoly) const
 
SAL_WARN_UNUSED_RESULT vcl::Region PixelToLogic (const vcl::Region &rDeviceRegion) const
 
SAL_WARN_UNUSED_RESULT Point PixelToLogic (const Point &rDevicePt, const MapMode &rMapMode) const
 
SAL_WARN_UNUSED_RESULT Size PixelToLogic (const Size &rDeviceSize, const MapMode &rMapMode) const
 
SAL_WARN_UNUSED_RESULT tools::Rectangle PixelToLogic (const tools::Rectangle &rDeviceRect, const MapMode &rMapMode) const
 
SAL_WARN_UNUSED_RESULT tools::Polygon PixelToLogic (const tools::Polygon &rDevicePoly, const MapMode &rMapMode) const
 
SAL_WARN_UNUSED_RESULT basegfx::B2DPolygon PixelToLogic (const basegfx::B2DPolygon &rDevicePoly, const MapMode &rMapMode) const
 
SAL_WARN_UNUSED_RESULT basegfx::B2DPolyPolygon PixelToLogic (const basegfx::B2DPolyPolygon &rDevicePolyPoly, const MapMode &rMapMode) const
 
SAL_WARN_UNUSED_RESULT Point LogicToLogic (const Point &rPtSource, const MapMode *pMapModeSource, const MapMode *pMapModeDest) const
 
SAL_WARN_UNUSED_RESULT Size LogicToLogic (const Size &rSzSource, const MapMode *pMapModeSource, const MapMode *pMapModeDest) const
 
SAL_WARN_UNUSED_RESULT tools::Rectangle LogicToLogic (const tools::Rectangle &rRectSource, const MapMode *pMapModeSource, const MapMode *pMapModeDest) const
 
SAL_DLLPRIVATE tools::Rectangle ImplLogicToDevicePixel (const tools::Rectangle &rLogicRect) const
 Convert a logical rectangle to a rectangle in physical device pixel units. More...
 
SAL_DLLPRIVATE Point ImplLogicToDevicePixel (const Point &rLogicPt) const
 Convert a logical point to a physical point on the device. More...
 
SAL_DLLPRIVATE basegfx::B2DPoint ImplLogicToDeviceSubPixel (const Point &rLogicPt) const
 
SAL_DLLPRIVATE tools::Long ImplLogicWidthToDevicePixel (tools::Long nWidth) const
 Convert a logical width to a width in units of device pixels. More...
 
SAL_DLLPRIVATE double ImplLogicWidthToDeviceSubPixel (tools::Long nWidth) const
 
SAL_DLLPRIVATE tools::Long ImplLogicHeightToDevicePixel (tools::Long nHeight) const
 Convert a logical height to a height in units of device pixels. More...
 
SAL_DLLPRIVATE double ImplLogicHeightToDeviceSubPixel (tools::Long nHeight) const
 
SAL_DLLPRIVATE Point SubPixelToLogic (const basegfx::B2DPoint &rDevicePt) const
 
SAL_DLLPRIVATE tools::Long ImplDevicePixelToLogicWidth (tools::Long nWidth) const
 Convert device pixels to a width in logical units. More...
 
SAL_DLLPRIVATE tools::Long ImplDevicePixelToLogicHeight (tools::Long nHeight) const
 Convert device pixels to a height in logical units. More...
 
SAL_DLLPRIVATE Size ImplLogicToDevicePixel (const Size &rLogicSize) const
 Convert a logical size to the size on the physical device. More...
 
SAL_DLLPRIVATE tools::Rectangle ImplDevicePixelToLogic (const tools::Rectangle &rPixelRect) const
 Convert a rectangle in physical pixel units to a rectangle in physical pixel units and coords. More...
 
SAL_DLLPRIVATE tools::Polygon ImplLogicToDevicePixel (const tools::Polygon &rLogicPoly) const
 Convert a logical polygon to a polygon in physical device pixel units. More...
 
SAL_DLLPRIVATE::basegfx::B2DPolygon ImplLogicToDevicePixel (const ::basegfx::B2DPolygon &rLogicPoly) const
 Convert a logical B2DPolygon to a B2DPolygon in physical device pixel units. More...
 
SAL_DLLPRIVATE tools::PolyPolygon ImplLogicToDevicePixel (const tools::PolyPolygon &rLogicPolyPoly) const
 Convert a logical polypolygon to a polypolygon in physical device pixel units. More...
 
SAL_DLLPRIVATE LineInfo ImplLogicToDevicePixel (const LineInfo &rLineInfo) const
 Convert a line in logical units to a line in physical device pixel units. More...
 
SAL_DLLPRIVATE vcl::Region ImplPixelToDevicePixel (const vcl::Region &rRegion) const
 Convert a region in pixel units to a region in device pixel units and coords. More...
 
SAL_DLLPRIVATE void ImplInvalidateViewTransform ()
 Invalidate the view transformation. More...
 
SAL_DLLPRIVATE basegfx::B2DHomMatrix ImplGetDeviceTransformation () const
 Get device transformation. More...
 
SalGraphics const * GetGraphics () const
 Get the graphic context that the output device uses to draw on. More...
 
SalGraphicsGetGraphics ()
 
void SetConnectMetaFile (GDIMetaFile *pMtf)
 
GDIMetaFileGetConnectMetaFile () const
 
virtual void SetSettings (const AllSettings &rSettings)
 
const AllSettingsGetSettings () const
 
SystemGraphicsData GetSystemGfxData () const
 
OUString GetRenderBackendName () const
 
bool SupportsCairo () const
 
cairo::SurfaceSharedPtr CreateSurface (const cairo::CairoSurfaceSharedPtr &rSurface) const
 Create Surface from given cairo surface. More...
 
cairo::SurfaceSharedPtr CreateSurface (int x, int y, int width, int height) const
 Create surface with given dimensions. More...
 
cairo::SurfaceSharedPtr CreateBitmapSurface (const BitmapSystemData &rData, const Size &rSize) const
 Create Surface for given bitmap data. More...
 
css::uno::Any GetNativeSurfaceHandle (cairo::SurfaceSharedPtr &rSurface, const basegfx::B2ISize &rSize) const
 Return native handle for underlying surface. More...
 
css::uno::Any GetSystemGfxDataAny () const
 
void SetRefPoint ()
 
void SetRefPoint (const Point &rRefPoint)
 
const PointGetRefPoint () const
 
bool IsRefPoint () const
 
Size GetOutputSizePixel () const
 
tools::Long GetOutputWidthPixel () const
 
tools::Long GetOutputHeightPixel () const
 
tools::Long GetOutOffXPixel () const
 
tools::Long GetOutOffYPixel () const
 
void SetOutOffXPixel (tools::Long nOutOffX)
 
void SetOutOffYPixel (tools::Long nOutOffY)
 
Point GetOutputOffPixel () const
 
tools::Rectangle GetOutputRectPixel () const
 
Size GetOutputSize () const
 
css::uno::Reference< css::awt::XGraphics > CreateUnoGraphics ()
 
std::vector< VCLXGraphics * > * GetUnoGraphicsList () const
 
std::vector< VCLXGraphics * > * CreateUnoGraphicsList ()
 
virtual size_t GetSyncCount () const
 
css::uno::Reference< css::rendering::XCanvas > GetCanvas () const
 request XCanvas render interface More...
 
css::uno::Reference< css::rendering::XSpriteCanvas > GetSpriteCanvas () const
 request XSpriteCanvas render interface More...
 
void DrawMask (const Point &rDestPt, const Bitmap &rBitmap, const Color &rMaskColor)
 
void DrawMask (const Point &rDestPt, const Size &rDestSize, const Bitmap &rBitmap, const Color &rMaskColor)
 
void DrawMask (const Point &rDestPt, const Size &rDestSize, const Point &rSrcPtPixel, const Size &rSrcSizePixel, const Bitmap &rBitmap, const Color &rMaskColor)
 
void DrawMask (const Point &rDestPt, const Size &rDestSize, const Point &rSrcPtPixel, const Size &rSrcSizePixel, const Bitmap &rBitmap, const Color &rMaskColor, MetaActionType nAction)
 
- Public Member Functions inherited from VclReferenceBase
void acquire () const
 
void release () const
 
sal_Int32 getRefCount () const
 
void disposeOnce ()
 
bool isDisposed () const
 
- Public Member Functions inherited from vcl::PDFObjectContainer
virtual sal_Int32 createObject ()=0
 
virtual bool updateObject (sal_Int32 n)=0
 
virtual bool writeBufferBytes (const void *pBuffer, sal_uInt64 nBytes)=0
 
bool writeBuffer (std::string_view aBuffer)
 
virtual void checkAndEnableStreamEncryption (sal_Int32 nObject)=0
 
virtual void disableStreamEncryption ()=0
 

Static Public Member Functions

static const char * getAttributeTag (PDFWriter::StructAttribute eAtr)
 
static const char * getAttributeValueTag (PDFWriter::StructAttributeValue eVal)
 
static bool compressStream (SvMemoryStream *)
 
static void convertLineInfoToExtLineInfo (const LineInfo &rIn, PDFWriter::ExtLineInfo &rOut)
 
static css::uno::Reference< css::beans::XMaterialHolder > initEncryption (const OUString &i_rOwnerPassword, const OUString &i_rUserPassword)
 
- Static Public Member Functions inherited from OutputDevice
static void BeginFontSubstitution ()
 
static void EndFontSubstitution ()
 
static void AddFontSubstitute (const OUString &rFontName, const OUString &rReplaceFontName, AddFontSubstituteFlags nFlags)
 
static void RemoveFontsSubstitute ()
 
static vcl::Font GetDefaultFont (DefaultFontType nType, LanguageType eLang, GetDefaultFontFlags nFlags, const OutputDevice *pOutDev=nullptr)
 
static void ImplClearAllFontData (bool bNewFontLists)
 
static void ImplRefreshAllFontData (bool bNewFontLists)
 
static SAL_DLLPRIVATE void ImplUpdateAllFontData (bool bNewFontLists)
 
static void StartTrackingFontMappingUse ()
 
static FontMappingUseData FinishTrackingFontMappingUse ()
 
static void ImplDrawText (OutputDevice &rTargetDevice, const tools::Rectangle &rRect, const OUString &rOrigStr, DrawTextFlags nStyle, std::vector< tools::Rectangle > *pVector, OUString *pDisplayText, vcl::ITextLayout &_rLayout)
 
static std::shared_ptr< const vcl::text::TextLayoutCacheCreateTextLayoutCache (OUString const &)
 
static SAL_WARN_UNUSED_RESULT Point LogicToLogic (const Point &rPtSource, const MapMode &rMapModeSource, const MapMode &rMapModeDest)
 
static SAL_WARN_UNUSED_RESULT Size LogicToLogic (const Size &rSzSource, const MapMode &rMapModeSource, const MapMode &rMapModeDest)
 
static SAL_WARN_UNUSED_RESULT tools::Rectangle LogicToLogic (const tools::Rectangle &rRectSource, const MapMode &rMapModeSource, const MapMode &rMapModeDest)
 
static SAL_WARN_UNUSED_RESULT tools::Long LogicToLogic (tools::Long nLongSource, MapUnit eUnitSource, MapUnit eUnitDest)
 
static SAL_WARN_UNUSED_RESULT basegfx::B2DPolygon LogicToLogic (const basegfx::B2DPolygon &rPoly, const MapMode &rMapModeSource, const MapMode &rMapModeDest)
 
static SAL_WARN_UNUSED_RESULT basegfx::B2DHomMatrix LogicToLogic (const MapMode &rMapModeSource, const MapMode &rMapModeDest)
 

Private Types

enum class  EndMode {
  Default ,
  OnlyStruct
}
 

Private Member Functions

bool ImplNewFont () const override
 
void ImplClearFontData (bool bNewFontLists) override
 
void ImplRefreshFontData (bool bNewFontLists) override
 
vcl::Region ClipToDeviceBounds (vcl::Region aRegion) const override
 Perform actual rect clip against outdev dimensions, to generate empty clips whenever one of the values is completely off the device. More...
 
void DrawHatchLine_DrawLine (const Point &rStartPoint, const Point &rEndPoint) override
 
sal_uInt64 getCurrentFilePosition ()
 
void addRoleMap (OString aAlias, PDFWriter::StructElement eType)
 
void checkAndEnableStreamEncryption (sal_Int32 nObject) override
 
void disableStreamEncryption () override
 
void enableStringEncryption (sal_Int32 nObject)
 
void appendUnicodeTextStringEncrypt (const OUString &rInString, const sal_Int32 nInObjectNumber, OStringBuffer &rOutBuffer)
 
void appendLiteralStringEncrypt (std::u16string_view rInString, const sal_Int32 nInObjectNumber, OStringBuffer &rOutBuffer, rtl_TextEncoding nEnc=RTL_TEXTENCODING_ASCII_US)
 
void appendLiteralStringEncrypt (std::string_view rInString, const sal_Int32 nInObjectNumber, OStringBuffer &rOutBuffer)
 
void registerGlyph (const sal_GlyphId, const vcl::font::PhysicalFontFace *, const LogicalFontInstance *pFont, const std::vector< sal_Ucs > &, sal_Int32, sal_uInt8 &, sal_Int32 &)
 
void registerSimpleGlyph (const sal_GlyphId, const vcl::font::PhysicalFontFace *, const std::vector< sal_Ucs > &, sal_Int32, sal_uInt8 &, sal_Int32 &)
 
void drawVerticalGlyphs (const std::vector< PDFGlyph > &rGlyphs, OStringBuffer &rLine, const Point &rAlignOffset, const Matrix3 &rRotScale, double fAngle, double fXScale, sal_Int32 nFontHeight)
 
void drawHorizontalGlyphs (const std::vector< PDFGlyph > &rGlyphs, OStringBuffer &rLine, const Point &rAlignOffset, bool bFirst, double fAngle, double fXScale, sal_Int32 nFontHeight, sal_Int32 nPixelFontHeight)
 
void drawLayout (SalLayout &rLayout, const OUString &rText, bool bTextLines)
 
void drawRelief (SalLayout &rLayout, const OUString &rText, bool bTextLines)
 
void drawShadow (SalLayout &rLayout, const OUString &rText, bool bTextLines)
 
void updateGraphicsState (Mode mode=Mode::DEFAULT)
 
void writeTransparentObject (TransparencyEmit &rObject)
 
bool writeBitmapObject (const BitmapEmit &rObject, bool bMask=false)
 
void writeJPG (const JPGEmit &rEmit)
 
void writeReferenceXObject (const ReferenceXObjectEmit &rEmit)
 Writes the form XObject proxy for the image. More...
 
const BitmapEmitcreateBitmapEmit (const BitmapEx &rBitmapEx, const Graphic &rGraphic, std::list< BitmapEmit > &rBitmaps, ResourceDict &rResourceDict, std::list< StreamRedirect > &rOutputStreams)
 
const BitmapEmitcreateBitmapEmit (const BitmapEx &rBitmapEx, const Graphic &rGraphic)
 
void drawBitmap (const Point &rDestPt, const Size &rDestSize, const BitmapEmit &rBitmap, const Color &rFillColor)
 
bool writeGradientFunction (GradientEmit const &rObject)
 
sal_Int32 createGradient (const Gradient &rGradient, const Size &rSize)
 
bool emitTilings ()
 
bool emitGradients ()
 
sal_Int32 emitBuildinFont (const pdf::BuildinFontFace *, sal_Int32 nObject)
 
std::map< sal_Int32, sal_Int32 > emitSystemFont (const vcl::font::PhysicalFontFace *, EmbedFont const &)
 
bool emitType3Font (const vcl::font::PhysicalFontFace *, const FontSubset &, std::map< sal_Int32, sal_Int32 > &)
 
sal_Int32 emitFontDescriptor (const vcl::font::PhysicalFontFace *, FontSubsetInfo const &, sal_Int32 nSubsetID, sal_Int32 nStream)
 
sal_Int32 createToUnicodeCMap (sal_uInt8 const *pEncoding, const std::vector< sal_Ucs > &CodeUnits, const sal_Int32 *pCodeUnitsPerGlyph, const sal_Int32 *pEncToUnicodeIndex, uint32_t nGlyphs)
 
sal_Int32 getResourceDictObj ()
 
sal_Int32 getFontDictObject ()
 
void pushResource (ResourceKind eKind, const OString &rResource, sal_Int32 nObject)
 
void appendBuildinFontsToDict (OStringBuffer &rDict) const
 
bool emitFonts ()
 
sal_Int32 emitResources ()
 
bool appendDest (sal_Int32 nDestID, OStringBuffer &rBuffer)
 
bool emitLinkAnnotations ()
 
bool emitScreenAnnotations ()
 
void emitTextAnnotationLine (OStringBuffer &aLine, PDFNoteEntry const &rNote)
 
bool emitNoteAnnotations ()
 
bool emitAppearances (PDFWidget &rWidget, OStringBuffer &rAnnotDict)
 
void ensureUniqueRadioOnValues ()
 
bool emitWidgetAnnotations ()
 
bool emitAnnotations ()
 
bool emitEmbeddedFiles ()
 Writes embedded files. More...
 
sal_Int32 emitNamedDestinations ()
 
sal_Int32 emitOutline ()
 
template<typename T >
void AppendAnnotKid (PDFStructureElement &i_rEle, T &rAnnot)
 
OString emitStructureAttributes (PDFStructureElement &rEle)
 
void addInternalStructureContainer (PDFStructureElement &rEle)
 
sal_Int32 emitStructure (PDFStructureElement &rEle)
 
sal_Int32 emitStructParentTree (sal_Int32 nTreeObject)
 
sal_Int32 emitStructIDTree (sal_Int32 nTreeObject)
 
bool emitCatalog ()
 
bool emitSignature ()
 
bool finalizeSignature ()
 
bool emitTrailer ()
 
sal_Int32 emitInfoDict ()
 
void sortWidgets ()
 
sal_Int32 updateOutlineItemCount (std::vector< sal_Int32 > &rCounts, sal_Int32 nItemLevel, sal_Int32 nCurrentItemId)
 
sal_Int32 findRadioGroupWidget (const PDFWriter::RadioButtonWidget &rRadio)
 
Font replaceFont (const Font &rControlFont, const Font &rAppSetFont)
 
sal_Int32 getBestBuildinFont (const Font &rFont)
 
sal_Int32 getSystemFont (const Font &i_rFont)
 
Font drawFieldBorder (PDFWidget &, const PDFWriter::AnyWidget &, const StyleSettings &)
 
void createDefaultPushButtonAppearance (PDFWidget &, const PDFWriter::PushButtonWidget &rWidget)
 
void createDefaultCheckBoxAppearance (PDFWidget &, const PDFWriter::CheckBoxWidget &rWidget)
 
void createDefaultRadioButtonAppearance (PDFWidget &, const PDFWriter::RadioButtonWidget &rWidget)
 
void createDefaultEditAppearance (PDFWidget &, const PDFWriter::EditWidget &rWidget)
 
void createDefaultListBoxAppearance (PDFWidget &, const PDFWriter::ListBoxWidget &rWidget)
 
void createWidgetFieldName (sal_Int32 i_nWidgetsIndex, const PDFWriter::AnyWidget &i_rInWidget)
 
sal_Int32 createObject () override
 See vcl::PDFObjectContainer::createObject(). More...
 
bool updateObject (sal_Int32 n) override
 See vcl::PDFObjectContainer::updateObject(). More...
 
bool writeBufferBytes (const void *pBuffer, sal_uInt64 nBytes) override
 See vcl::PDFObjectContainer::writeBuffer(). More...
 
void beginCompression ()
 
void endCompression ()
 
void beginRedirect (SvStream *pStream, const tools::Rectangle &)
 
SvStreamendRedirect ()
 
void endPage ()
 
void beginStructureElementMCSeq ()
 
void endStructureElementMCSeq (EndMode=EndMode::Default)
 
bool checkEmitStructure ()
 checks whether a non struct element lies in the ancestor hierarchy of the current structure element More...
 
void drawEmphasisMark (tools::Long nX, tools::Long nY, const tools::PolyPolygon &rPolyPoly, bool bPolyLine, const tools::Rectangle &rRect1, const tools::Rectangle &rRect2)
 
void setupDocInfo ()
 
bool prepareEncryption (const css::uno::Reference< css::beans::XMaterialHolder > &)
 
void implWriteGradient (const tools::PolyPolygon &rPolyPoly, const Gradient &rGradient, VirtualDevice *pDummyVDev, const vcl::PDFWriter::PlayMetafileContext &)
 
void implWriteBitmapEx (const Point &rPoint, const Size &rSize, const BitmapEx &rBitmapEx, const Graphic &i_pGraphic, VirtualDevice const *pDummyVDev, const vcl::PDFWriter::PlayMetafileContext &)
 
void putG4Bits (sal_uInt32 i_nLength, sal_uInt32 i_nCode, BitStreamState &io_rState)
 
void putG4Span (tools::Long i_nSpan, bool i_bWhitePixel, BitStreamState &io_rState)
 
void writeG4Stream (BitmapReadAccess const *i_pBitmap)
 
void appendStrokingColor (const Color &rColor, OStringBuffer &rBuffer)
 
void appendNonStrokingColor (const Color &rColor, OStringBuffer &rBuffer)
 

Static Private Member Functions

static void pushResource (ResourceKind eKind, const OString &rResource, sal_Int32 nObject, ResourceDict &rResourceDict, std::list< StreamRedirect > &rOutputStreams)
 
static void emitPopupAnnotationLine (OStringBuffer &aLine, PDFPopupAnnotation const &rPopUp)
 
static void padPassword (std::u16string_view i_rPassword, sal_uInt8 *o_pPaddedPW)
 
static bool computeEncryptionKey (EncHashTransporter *, vcl::PDFWriter::PDFEncryptionProperties &io_rProperties, sal_Int32 i_nAccessPermissions)
 
static bool computeODictionaryValue (const sal_uInt8 *i_pPaddedOwnerPassword, const sal_uInt8 *i_pPaddedUserPassword, std::vector< sal_uInt8 > &io_rOValue, sal_Int32 i_nKeyLength)
 
static bool computeUDictionaryValue (EncHashTransporter *i_pTransporter, vcl::PDFWriter::PDFEncryptionProperties &io_rProperties, sal_Int32 i_nKeyLength, sal_Int32 i_nAccessPermissions)
 
static void computeDocumentIdentifier (std::vector< sal_uInt8 > &o_rIdentifier, const vcl::PDFWriter::PDFDocInfo &i_rDocInfo, const OString &i_rCString1, OString &o_rCString2)
 
static sal_Int32 computeAccessPermissions (const vcl::PDFWriter::PDFEncryptionProperties &i_rProperties, sal_Int32 &o_rKeyLength, sal_Int32 &o_rRC4KeyLength)
 

Private Attributes

MapMode m_aMapMode
 
StyleSettings m_aWidgetStyleSettings
 
std::vector< PDFPagem_aPages
 
std::vector< sal_uInt64 > m_aObjects
 
std::list< BitmapEmitm_aBitmaps
 
std::vector< JPGEmitm_aJPGs
 
std::vector< PDFNamedDestm_aNamedDests
 
std::vector< PDFDestm_aDests
 
::std::map< sal_Int32, sal_Int32 > m_aDestinationIdTranslation
 contains destinations accessible via a public Id, instead of being linked to by an ordinary link More...
 
std::vector< PDFLinkm_aLinks
 
std::vector< PDFScreenm_aScreens
 Contains all screen annotations. More...
 
std::vector< PDFEmbeddedFilem_aEmbeddedFiles
 Contains embedded files. More...
 
std::vector< PDFDocumentAttachedFilem_aDocumentAttachedFiles
 
css::uno::Reference< css::util::XURLTransformer > m_xTrans
 
std::map< sal_Int32, sal_Int32 > m_aLinkPropertyMap
 
std::vector< PDFOutlineEntrym_aOutline
 
std::vector< PDFNoteEntrym_aNotes
 
std::vector< PDFStructureElementm_aStructure
 
sal_Int32 m_nCurrentStructElement
 
std::stack< sal_Int32 > m_StructElementStack
 
std::vector< OString > m_aStructParentTree
 
bool m_bEmitStructure
 
std::unordered_map< OString, OString > m_aRoleMap
 
std::unordered_set< sal_Int32 > m_StructElemObjsWithID
 
std::vector< PDFWidgetm_aWidgets
 
std::map< sal_Int32, sal_Int32 > m_aRadioGroupWidgets
 
std::unordered_map< OString, sal_Int32 > m_aFieldNameMap
 
std::list< GradientEmitm_aGradients
 
std::vector< TilingEmitm_aTilings
 
std::vector< TransparencyEmitm_aTransparentObjects
 
std::map< const vcl::font::PhysicalFontFace *, FontSubsetm_aSubsets
 
std::map< const vcl::font::PhysicalFontFace *, EmbedFontm_aSystemFonts
 
std::map< const vcl::font::PhysicalFontFace *, FontSubsetm_aType3Fonts
 
sal_Int32 m_nNextFID
 
o3tl::lru_map< BitmapChecksum, std::shared_ptr< SvMemoryStream > > m_aPDFBmpCache
 Cache some most recent bitmaps we've exported, in case we encounter them again.. More...
 
sal_Int32 m_nCurrentPage
 
sal_Int32 m_nCatalogObject
 
sal_Int32 m_nSignatureObject
 
sal_Int64 m_nSignatureContentOffset
 
sal_Int64 m_nSignatureLastByteRangeNoOffset
 
sal_Int32 m_nResourceDict
 
ResourceDict m_aGlobalResourceDict
 
sal_Int32 m_nFontDictObject
 
std::map< sal_Int32, sal_Int32 > m_aBuildinFontToObjectMap
 
PDFWriter::PDFWriterContext m_aContext
 
osl::File m_aFile
 
bool m_bOpen
 
ExternalPDFStreams m_aExternalPDFStreams
 
std::list< StreamRedirectm_aOutputStreams
 
std::list< GraphicsStatem_aGraphicsStack
 
GraphicsState m_aCurrentPDFState
 
std::unique_ptr< ZCodecm_pCodec
 
std::unique_ptr< SvMemoryStreamm_pMemStream
 
std::set< PDFWriter::ErrorCodem_aErrors
 
::comphelper::Hash m_DocDigest
 
rtlCipher m_aCipher
 
sal_Int32 m_nKeyLength
 
sal_Int32 m_nRC4KeyLength
 
bool m_bEncryptThisStream
 
sal_Int32 m_nAccessPermissions
 
OString m_aCreationDateString
 
OString m_aCreationMetaDateString
 
std::vector< sal_uInt8m_vEncryptionBuffer
 
bool m_bIsPDF_A1
 
bool m_bIsPDF_A2
 
bool m_bIsPDF_UA
 
bool m_bIsPDF_A3
 
PDFWriterm_rOuterFace
 

Static Private Attributes

static const sal_uInt8 s_nPadString [ENCRYPTED_PWD_SIZE]
 
static const sal_uInt32 ncMaxPDFArraySize = 8191
 

Friends

class PDFStreamIf
 
struct vcl::pdf::PDFPage
 

Additional Inherited Members

- Public Types inherited from VirtualDevice
enum class  RefDevMode {
  NONE = 0 ,
  Dpi600 = 1 ,
  MSO1 = 3 ,
  PDF1 = 4 ,
  Custom = 5
}
 
- Public Types inherited from OutputDevice
typedef std::vector< FontMappingUseItemFontMappingUseData
 
- Protected Member Functions inherited from VirtualDevice
virtual bool AcquireGraphics () const override
 Acquire a graphics device that the output device uses to draw on. More...
 
virtual void ReleaseGraphics (bool bRelease=true) override
 Release the graphics device, and remove it from the graphics device list. More...
 
 VirtualDevice (const OutputDevice *pCompDev, DeviceFormat eFormat, OutDevType eOutDevType)
 Create a virtual device of size 1x1. More...
 
virtual bool UsePolyPolygonForComplexGradient () override
 
virtual tools::Long GetFontExtLeading () const override
 
- Protected Member Functions inherited from OutputDevice
css::awt::DeviceInfo GetCommonDeviceInfo (Size const &aDevSize) const
 
SAL_DLLPRIVATE tools::Long GetEmphasisAscent () const
 
SAL_DLLPRIVATE tools::Long GetEmphasisDescent () const
 
SAL_DLLPRIVATE bool InitFont () const
 
virtual void SetFontOrientation (LogicalFontInstance *const pFontInstance) const
 
void ReleaseFontCache ()
 
void ReleaseFontCollection ()
 
void SetFontCollectionFromSVData ()
 
void ResetNewFontCache ()
 
virtual void CopyDeviceArea (SalTwoRect &aPosAry, bool bWindowInvalidate)
 
virtual tools::Rectangle GetBackgroundComponentBounds () const
 
virtual const OutputDeviceDrawOutDevDirectCheck (const OutputDevice &rSrcDev) const
 
virtual void DrawOutDevDirectProcess (const OutputDevice &rSrcDev, SalTwoRect &rPosAry, SalGraphics *pSrcGraphics)
 
SAL_DLLPRIVATE void drawOutDevDirect (const OutputDevice &rSrcDev, SalTwoRect &rPosAry)
 
SAL_DLLPRIVATE bool is_double_buffered_window () const
 
virtual css::uno::Reference< css::rendering::XCanvas > ImplGetCanvas (bool bSpriteCanvas) const
 
SAL_DLLPRIVATE void ImplDisposeCanvas ()
 
virtual void ImplReleaseFonts ()
 
virtual void InitClipRegion ()
 
virtual void ClipToPaintRegion (tools::Rectangle &rDstRect)
 
virtual tools::Long GetGradientStepCount (tools::Long nMinRect)
 
void DrawGradientWallpaper (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, const Wallpaper &rWallpaper)
 
SAL_DLLPRIVATE void ImplInitTextLineSize ()
 
SAL_DLLPRIVATE void ImplInitAboveTextLineSize ()
 
SAL_DLLPRIVATE float approximate_char_width () const
 
virtual bool shouldDrawWavePixelAsRect (tools::Long nLineWidth) const
 
virtual void SetWaveLineColors (Color const &rColor, tools::Long nLineWidth)
 
virtual Size GetWaveLineSize (tools::Long nLineWidth) const
 
virtual void DrawDeviceBitmapEx (const Point &rDestPt, const Size &rDestSize, const Point &rSrcPtPixel, const Size &rSrcSizePixel, BitmapEx &rBitmapEx)
 
virtual bool CanSubsampleBitmap () const
 
virtual bool DrawTransformBitmapExDirect (const basegfx::B2DHomMatrix &aFullTransform, const BitmapEx &rBitmapEx, double fAlpha=1.0)
 Transform and draw a bitmap directly. More...
 
virtual bool TransformAndReduceBitmapExToTargetRange (const basegfx::B2DHomMatrix &aFullTransform, basegfx::B2DRange &aVisibleRange, double &fMaximumArea)
 Transform and reduce the area that needs to be drawn of the bitmap and return the new visible range and the maximum area. More...
 
virtual void EmulateDrawTransparent (const tools::PolyPolygon &rPolyPoly, sal_uInt16 nTransparencePercent)
 
virtual void ClipAndDrawGradientMetafile (const Gradient &rGradient, const tools::PolyPolygon &rPolyPoly)
 
virtual void ImplInitMapModeObjects ()
 
 OutputDevice (OutDevType eOutDevType)
 
virtual ~OutputDevice () override
 
virtual void DrawDeviceMask (const Bitmap &rMask, const Color &rMaskColor, const Point &rDestPt, const Size &rDestSize, const Point &rSrcPtPixel, const Size &rSrcSizePixel)
 
- Protected Member Functions inherited from VclReferenceBase
 VclReferenceBase ()
 
virtual ~VclReferenceBase ()
 
virtual void dispose ()
 
- Protected Member Functions inherited from vcl::PDFObjectContainer
 ~PDFObjectContainer () noexcept=default
 
- Static Protected Member Functions inherited from OutputDevice
static SAL_DLLPRIVATE tools::Long ImplGetTextLines (const tools::Rectangle &rRect, tools::Long nTextHeight, ImplMultiTextLineInfo &rLineInfo, tools::Long nWidth, const OUString &rStr, DrawTextFlags nStyle, const vcl::ITextLayout &_rLayout)
 
static SAL_DLLPRIVATE sal_Int32 ImplBreakLinesWithIterator (const tools::Long nWidth, const OUString &rStr, const vcl::ITextLayout &_rLayout, const css::uno::Reference< css::linguistic2::XHyphenator > &xHyph, const css::uno::Reference< css::i18n::XBreakIterator > &xBI, const bool bHyphenate, const sal_Int32 nPos, sal_Int32 nBreakPos)
 
static SAL_DLLPRIVATE sal_Int32 ImplBreakLinesSimple (const tools::Long nWidth, const OUString &rStr, const vcl::ITextLayout &_rLayout, const sal_Int32 nPos, sal_Int32 nBreakPos, tools::Long &nLineWidth)
 
- Protected Attributes inherited from OutputDevice
std::shared_ptr< vcl::font::PhysicalFontCollectionmxFontCollection
 
std::shared_ptr< ImplFontCachemxFontCache
 

Detailed Description

Definition at line 690 of file pdfwriter_impl.hxx.

Member Enumeration Documentation

◆ EndMode

enum class vcl::PDFWriterImpl::EndMode
strongprivate
Enumerator
Default 
OnlyStruct 

Definition at line 1066 of file pdfwriter_impl.hxx.

Constructor & Destructor Documentation

◆ PDFWriterImpl()

vcl::PDFWriterImpl::PDFWriterImpl ( const PDFWriter::PDFWriterContext rContext,
const css::uno::Reference< css::beans::XMaterialHolder > &  xEnc,
PDFWriter i_rOuterFace 
)

◆ ~PDFWriterImpl()

vcl::PDFWriterImpl::~PDFWriterImpl ( )
override

Definition at line 1348 of file pdfwriter_impl.cxx.

References VclReferenceBase::disposeOnce().

Member Function Documentation

◆ addDocumentAttachedFile()

void vcl::PDFWriterImpl::addDocumentAttachedFile ( OUString const &  rFileName,
OUString const &  rMimeType,
OUString const &  rDescription,
std::unique_ptr< PDFOutputStream rStream 
)

Definition at line 3505 of file pdfwriter_impl.cxx.

References addEmbeddedFile(), createObject(), and m_aDocumentAttachedFiles.

◆ addEmbeddedFile() [1/2]

sal_Int32 vcl::PDFWriterImpl::addEmbeddedFile ( BinaryDataContainer const &  rDataContainer)

Definition at line 3526 of file pdfwriter_impl.cxx.

References createObject(), and m_aEmbeddedFiles.

Referenced by addDocumentAttachedFile(), and createEmbeddedFile().

◆ addEmbeddedFile() [2/2]

sal_Int32 vcl::PDFWriterImpl::addEmbeddedFile ( std::unique_ptr< PDFOutputStream rStream,
OUString const &  rMimeType 
)

Definition at line 3516 of file pdfwriter_impl.cxx.

References createObject(), and m_aEmbeddedFiles.

◆ addInternalStructureContainer()

void vcl::PDFWriterImpl::addInternalStructureContainer ( PDFStructureElement rEle)
private

◆ addRoleMap()

void vcl::PDFWriterImpl::addRoleMap ( OString  aAlias,
PDFWriter::StructElement  eType 
)
private

Definition at line 10647 of file pdfwriter_impl.cxx.

References eType, getStructureTag(), and m_aRoleMap.

Referenced by addInternalStructureContainer(), and initStructureElement().

◆ AppendAnnotKid()

template<typename T >
void vcl::PDFWriterImpl::AppendAnnotKid ( PDFStructureElement i_rEle,
T &  rAnnot 
)
private

◆ appendBuildinFontsToDict()

void vcl::PDFWriterImpl::appendBuildinFontsToDict ( OStringBuffer &  rDict) const
private

◆ appendDest()

bool vcl::PDFWriterImpl::appendDest ( sal_Int32  nDestID,
OStringBuffer &  rBuffer 
)
private

◆ appendLiteralStringEncrypt() [1/2]

void vcl::PDFWriterImpl::appendLiteralStringEncrypt ( std::string_view  rInString,
const sal_Int32  nInObjectNumber,
OStringBuffer &  rOutBuffer 
)
inlineprivate

◆ appendLiteralStringEncrypt() [2/2]

void vcl::PDFWriterImpl::appendLiteralStringEncrypt ( std::u16string_view  rInString,
const sal_Int32  nInObjectNumber,
OStringBuffer &  rOutBuffer,
rtl_TextEncoding  nEnc = RTL_TEXTENCODING_ASCII_US 
)
private

◆ appendNonStrokingColor()

void vcl::PDFWriterImpl::appendNonStrokingColor ( const Color rColor,
OStringBuffer &  rBuffer 
)
private

◆ appendStrokingColor()

void vcl::PDFWriterImpl::appendStrokingColor ( const Color rColor,
OStringBuffer &  rBuffer 
)
private

◆ appendUnicodeTextStringEncrypt()

void vcl::PDFWriterImpl::appendUnicodeTextStringEncrypt ( const OUString &  rInString,
const sal_Int32  nInObjectNumber,
OStringBuffer &  rOutBuffer 
)
inlineprivate

◆ beginCompression()

void vcl::PDFWriterImpl::beginCompression ( )
private

◆ beginRedirect()

void vcl::PDFWriterImpl::beginRedirect ( SvStream pStream,
const tools::Rectangle rTargetRect 
)
private

◆ beginStructureElement()

void vcl::PDFWriterImpl::beginStructureElement ( sal_Int32  id)

◆ beginStructureElementMCSeq()

void vcl::PDFWriterImpl::beginStructureElementMCSeq ( )
private

◆ beginTransparencyGroup()

void vcl::PDFWriterImpl::beginTransparencyGroup ( )

◆ checkAndEnableStreamEncryption()

void PDFWriterImpl::checkAndEnableStreamEncryption ( sal_Int32  nObject)
overrideprivatevirtual

◆ checkEmitStructure()

bool vcl::PDFWriterImpl::checkEmitStructure ( )
private

checks whether a non struct element lies in the ancestor hierarchy of the current structure element

Returns
true if no NonStructElement was found in ancestor path and tagged PDF output is enabled false else

Definition at line 10736 of file pdfwriter_impl.cxx.

References m_aContext, m_aStructure, m_nCurrentStructElement, o3tl::make_unsigned(), vcl::PDFWriter::NonStructElement, and vcl::PDFWriter::PDFWriterContext::Tagged.

Referenced by beginStructureElement(), endStructureElement(), and setCurrentStructureElement().

◆ clearClipRegion()

void vcl::PDFWriterImpl::clearClipRegion ( )
inline

Definition at line 1227 of file pdfwriter_impl.hxx.

References vcl::pdf::ClipRegion, and m_aGraphicsStack.

Referenced by beginRedirect().

◆ ClipToDeviceBounds()

vcl::Region PDFWriterImpl::ClipToDeviceBounds ( vcl::Region  aRegion) const
overrideprivatevirtual

Perform actual rect clip against outdev dimensions, to generate empty clips whenever one of the values is completely off the device.

Parameters
aRegionregion to be clipped to the device dimensions
Returns
region clipped to the device bounds

Reimplemented from OutputDevice.

Definition at line 2019 of file pdfwriter_impl2.cxx.

◆ compressStream()

bool vcl::PDFWriterImpl::compressStream ( SvMemoryStream pStream)
static

◆ computeAccessPermissions()

sal_Int32 PDFWriterImpl::computeAccessPermissions ( const vcl::PDFWriter::PDFEncryptionProperties i_rProperties,
sal_Int32 &  o_rKeyLength,
sal_Int32 &  o_rRC4KeyLength 
)
staticprivate

◆ computeDocumentIdentifier()

void vcl::PDFWriterImpl::computeDocumentIdentifier ( std::vector< sal_uInt8 > &  o_rIdentifier,
const vcl::PDFWriter::PDFDocInfo i_rDocInfo,
const OString &  i_rCString1,
OString &  o_rCString2 
)
staticprivate

◆ computeEncryptionKey()

bool PDFWriterImpl::computeEncryptionKey ( EncHashTransporter i_pTransporter,
vcl::PDFWriter::PDFEncryptionProperties io_rProperties,
sal_Int32  i_nAccessPermissions 
)
staticprivate

◆ computeODictionaryValue()

bool PDFWriterImpl::computeODictionaryValue ( const sal_uInt8 i_pPaddedOwnerPassword,
const sal_uInt8 i_pPaddedUserPassword,
std::vector< sal_uInt8 > &  io_rOValue,
sal_Int32  i_nKeyLength 
)
staticprivate

Definition at line 1336 of file pdfwriter_impl2.cxx.

References comphelper::Hash::calculateHash(), ENCRYPTED_PWD_SIZE, i, SECUR_128BIT_KEY, and y.

Referenced by initEncryption().

◆ computeUDictionaryValue()

bool PDFWriterImpl::computeUDictionaryValue ( EncHashTransporter i_pTransporter,
vcl::PDFWriter::PDFEncryptionProperties io_rProperties,
sal_Int32  i_nKeyLength,
sal_Int32  i_nAccessPermissions 
)
staticprivate

◆ convertLineInfoToExtLineInfo()

void vcl::PDFWriterImpl::convertLineInfoToExtLineInfo ( const LineInfo rIn,
PDFWriter::ExtLineInfo rOut 
)
static

◆ createBitmapEmit() [1/2]

const BitmapEmit & vcl::PDFWriterImpl::createBitmapEmit ( const BitmapEx rBitmapEx,
const Graphic rGraphic 
)
private

◆ createBitmapEmit() [2/2]

const BitmapEmit & vcl::PDFWriterImpl::createBitmapEmit ( const BitmapEx rBitmapEx,
const Graphic rGraphic,
std::list< BitmapEmit > &  rBitmaps,
ResourceDict rResourceDict,
std::list< StreamRedirect > &  rOutputStreams 
)
private

◆ createControl()

sal_Int32 vcl::PDFWriterImpl::createControl ( const PDFWriter::AnyWidget rControl,
sal_Int32  nPageNr = -1 
)

Definition at line 11657 of file pdfwriter_impl.cxx.

References vcl::PDFWriter::AnyWidget::Background, vcl::PDFWriter::AnyWidget::BackgroundColor, vcl::PDFWriter::AnyWidget::Border, vcl::PDFWriter::AnyWidget::BorderColor, Bottom, Center, vcl::PDFWriter::CheckBox, vcl::PDFWriter::CheckBoxWidget::Checked, vcl::PDFWriter::ComboBox, createDefaultCheckBoxAppearance(), createDefaultEditAppearance(), createDefaultListBoxAppearance(), createDefaultPushButtonAppearance(), createDefaultRadioButtonAppearance(), createObject(), createWidgetFieldName(), vcl::PDFWriter::EditWidget::CurrencySymbol, vcl::PDFWriter::EditWidget::DateFormat, vcl::PDFWriter::EditWidget::DecimalAccuracy, vcl::PDFWriter::AnyWidget::Description, vcl::PDFWriter::PushButtonWidget::Dest, vcl::PDFWriter::ListBoxWidget::DropDown, vcl::PDFWriter::Edit, vcl::PDFWriter::ListBoxWidget::Entries, vcl::PDFWriter::ComboBoxWidget::Entries, vcl::PDFWriter::EditWidget::FileSelect, findRadioGroupWidget(), vcl::PDFWriter::EditWidget::Format, vcl::PDFWriter::AnyWidget::getType(), Left, vcl::PDFWriter::ListBox, vcl::PDFWriter::AnyWidget::Location, vcl::pdf::PDFWidget::m_aAppearances, vcl::pdf::PDFWidget::m_aCurrencySymbol, vcl::pdf::PDFWidget::m_aDateFormat, vcl::pdf::PDFWidget::m_aDescription, vcl::pdf::PDFWidget::m_aKids, vcl::pdf::PDFWidget::m_aKidsIndex, vcl::pdf::PDFWidget::m_aListEntries, vcl::pdf::PDFWidget::m_aOffValue, vcl::pdf::PDFWidget::m_aOnValue, m_aPages, vcl::pdf::PDFAnnotation::m_aRect, vcl::pdf::PDFWidget::m_aSelectedEntries, vcl::pdf::PDFWidget::m_aText, vcl::pdf::PDFWidget::m_aTimeFormat, vcl::pdf::PDFWidget::m_aValue, m_aWidgets, vcl::pdf::PDFWidget::m_bPrependCurrencySymbol, vcl::pdf::PDFWidget::m_bSubmit, vcl::pdf::PDFWidget::m_bSubmitGet, vcl::pdf::PDFWidget::m_eType, m_nCurrentPage, vcl::pdf::PDFWidget::m_nDecimalAccuracy, vcl::pdf::PDFWidget::m_nDest, vcl::pdf::PDFWidget::m_nFlags, vcl::pdf::PDFWidget::m_nFormat, vcl::pdf::PDFWidget::m_nMaxLen, vcl::pdf::PDFAnnotation::m_nObject, vcl::pdf::PDFWidget::m_nParent, vcl::pdf::PDFWidget::m_nRadioGroup, m_nSignatureObject, vcl::pdf::PDFWidget::m_nTabOrder, vcl::pdf::PDFWidget::m_nTextStyle, o3tl::make_unsigned(), vcl::PDFWriter::EditWidget::MaxLen, vcl::PDFWriter::EditWidget::MultiLine, MultiLine, vcl::PDFWriter::ListBoxWidget::MultiSelect, vcl::PDFWriter::AnyWidget::Name, NONE, vcl::PDFWriter::CheckBoxWidget::OffValue, vcl::PDFWriter::RadioButtonWidget::OffValue, vcl::PDFWriter::CheckBoxWidget::OnValue, vcl::PDFWriter::RadioButtonWidget::OnValue, vcl::PDFWriter::EditWidget::Password, vcl::PDFWriter::EditWidget::PrependCurrencySymbol, vcl::PDFWriter::PushButton, vcl::PDFWriter::RadioButton, vcl::PDFWriter::RadioButtonWidget::RadioGroup, vcl::PDFWriter::AnyWidget::ReadOnly, Right, SAL_WARN_IF, vcl::PDFWriter::RadioButtonWidget::Selected, vcl::PDFWriter::ListBoxWidget::SelectedEntries, vcl::PDFWriter::Signature, vcl::PDFWriter::PushButtonWidget::Submit, vcl::PDFWriter::PushButtonWidget::SubmitGet, vcl::PDFWriter::AnyWidget::TabOrder, vcl::PDFWriter::AnyWidget::Text, vcl::PDFWriter::AnyWidget::TextColor, vcl::PDFWriter::AnyWidget::TextFont, vcl::PDFWriter::AnyWidget::TextStyle, vcl::PDFWriter::EditWidget::TimeFormat, Top, u, tools::Rectangle::Union(), vcl::PDFWriter::PushButtonWidget::URL, VCenter, and WordBreak.

Referenced by emit().

◆ createDefaultCheckBoxAppearance()

void vcl::PDFWriterImpl::createDefaultCheckBoxAppearance ( PDFWidget rBox,
const PDFWriter::CheckBoxWidget rWidget 
)
private

Definition at line 4319 of file pdfwriter_impl.cxx.

References tools::Rectangle::AdjustBottom(), tools::Rectangle::AdjustRight(), tools::Rectangle::AdjustTop(), vcl::ALL, appendNonStrokingColor(), vcl::PDFWriter::AnyWidget::Background, vcl::PDFWriter::AnyWidget::BackgroundColor, beginRedirect(), vcl::PDFWriter::AnyWidget::Border, vcl::PDFWriter::AnyWidget::BorderColor, tools::Rectangle::Bottom(), COL_BLACK(), COL_TRANSPARENT(), drawRectangle(), drawText(), endRedirect(), StyleSettings::GetCheckedColor(), StyleSettings::GetFieldColor(), getFontDictObject(), LogicalFontInstance::GetFontFace(), OutputDevice::GetFontInstance(), vcl::Font::GetFontSize(), LogicalFontInstance::GetGlyphIndex(), LogicalFontInstance::GetGlyphWidth(), tools::Rectangle::GetHeight(), StyleSettings::GetRadioCheckFont(), StyleSettings::GetRadioCheckTextColor(), tools::Rectangle::GetWidth(), Size::Height(), tools::Rectangle::Left(), vcl::pdf::PDFWidget::m_aAppearances, vcl::pdf::PDFWidget::m_aDAString, vcl::pdf::PDFWidget::m_aDRDict, vcl::pdf::PDFWidget::m_aMKDict, vcl::pdf::PDFWidget::m_aMKDictCAString, m_aPages, vcl::pdf::PDFAnnotation::m_aRect, vcl::pdf::PDFWidget::m_aText, m_aWidgetStyleSettings, m_nCurrentPage, vcl::pdf::PDFWidget::m_nTextStyle, OutputDevice::Pop(), pop(), push(), OutputDevice::Push(), registerGlyph(), vcl::replaceColor(), replaceFont(), tools::Rectangle::SetBottom(), setFillColor(), setFont(), OutputDevice::SetFont(), Size::setHeight(), tools::Rectangle::SetLeft(), setLineColor(), tools::Rectangle::SetRight(), setTextColor(), tools::Rectangle::SetTop(), vcl::PDFWriter::AnyWidget::TextColor, vcl::PDFWriter::AnyWidget::TextFont, tools::Rectangle::Top(), and vcl::PDFObjectContainer::writeBuffer().

Referenced by createControl().

◆ createDefaultEditAppearance()

void vcl::PDFWriterImpl::createDefaultEditAppearance ( PDFWidget rEdit,
const PDFWriter::EditWidget rWidget 
)
private

◆ createDefaultListBoxAppearance()

void vcl::PDFWriterImpl::createDefaultListBoxAppearance ( PDFWidget rBox,
const PDFWriter::ListBoxWidget rWidget 
)
private

◆ createDefaultPushButtonAppearance()

void vcl::PDFWriterImpl::createDefaultPushButtonAppearance ( PDFWidget rButton,
const PDFWriter::PushButtonWidget rWidget 
)
private

◆ createDefaultRadioButtonAppearance()

void vcl::PDFWriterImpl::createDefaultRadioButtonAppearance ( PDFWidget rBox,
const PDFWriter::RadioButtonWidget rWidget 
)
private

◆ createDest()

sal_Int32 vcl::PDFWriterImpl::createDest ( const tools::Rectangle rRect,
sal_Int32  nPageNr,
PDFWriter::DestAreaType  eType 
)

Definition at line 10468 of file pdfwriter_impl.cxx.

References eType, m_aDests, m_aPages, m_nCurrentPage, and o3tl::make_unsigned().

Referenced by registerDestReference().

◆ createEmbeddedFile()

void vcl::PDFWriterImpl::createEmbeddedFile ( const Graphic rGraphic,
ReferenceXObjectEmit rEmit,
sal_Int32  nBitmapObject 
)

◆ createGradient()

sal_Int32 vcl::PDFWriterImpl::createGradient ( const Gradient rGradient,
const Size rSize 
)
private

◆ createLink()

sal_Int32 vcl::PDFWriterImpl::createLink ( const tools::Rectangle rRect,
sal_Int32  nPageNr,
OUString const &  rAltText 
)

◆ createNamedDest()

sal_Int32 vcl::PDFWriterImpl::createNamedDest ( const OUString &  sDestName,
const tools::Rectangle rRect,
sal_Int32  nPageNr,
PDFWriter::DestAreaType  eType 
)

Definition at line 10447 of file pdfwriter_impl.cxx.

References eType, m_aNamedDests, m_aPages, m_nCurrentPage, and o3tl::make_unsigned().

◆ createNote()

void vcl::PDFWriterImpl::createNote ( const tools::Rectangle rRect,
const PDFNote rNote,
sal_Int32  nPageNr 
)

◆ createObject()

sal_Int32 vcl::PDFWriterImpl::createObject ( )
overrideprivatevirtual

◆ createOutlineItem()

sal_Int32 vcl::PDFWriterImpl::createOutlineItem ( sal_Int32  nParent,
std::u16string_view  rText,
sal_Int32  nDestID 
)

◆ createScreen()

sal_Int32 vcl::PDFWriterImpl::createScreen ( const tools::Rectangle rRect,
sal_Int32  nPageNr,
OUString const &  rAltText,
OUString const &  rMimeType 
)

◆ createToUnicodeCMap()

sal_Int32 vcl::PDFWriterImpl::createToUnicodeCMap ( sal_uInt8 const *  pEncoding,
const std::vector< sal_Ucs > &  CodeUnits,
const sal_Int32 *  pCodeUnitsPerGlyph,
const sal_Int32 *  pEncToUnicodeIndex,
uint32_t  nGlyphs 
)
private

◆ createWidgetFieldName()

void vcl::PDFWriterImpl::createWidgetFieldName ( sal_Int32  i_nWidgetsIndex,
const PDFWriter::AnyWidget i_rInWidget 
)
private

◆ disableStreamEncryption()

void vcl::PDFWriterImpl::disableStreamEncryption ( )
inlineoverrideprivatevirtual

◆ dispose()

void vcl::PDFWriterImpl::dispose ( void  )
overridevirtual

Reimplemented from VirtualDevice.

Definition at line 1353 of file pdfwriter_impl.cxx.

References VirtualDevice::dispose(), m_aCipher, and m_aPages.

◆ drawArc()

void vcl::PDFWriterImpl::drawArc ( const tools::Rectangle rRect,
const Point rStart,
const Point rStop,
bool  bWithPie,
bool  bWidthChord 
)

◆ drawBitmap() [1/3]

void vcl::PDFWriterImpl::drawBitmap ( const Point rDestPoint,
const Size rDestSize,
const Bitmap rBitmap,
const Graphic rGraphic 
)

◆ drawBitmap() [2/3]

void vcl::PDFWriterImpl::drawBitmap ( const Point rDestPoint,
const Size rDestSize,
const BitmapEx rBitmap 
)

◆ drawBitmap() [3/3]

void vcl::PDFWriterImpl::drawBitmap ( const Point rDestPt,
const Size rDestSize,
const BitmapEmit rBitmap,
const Color rFillColor 
)
private

◆ drawEllipse()

void vcl::PDFWriterImpl::drawEllipse ( const tools::Rectangle rRect)

◆ drawEmphasisMark()

void vcl::PDFWriterImpl::drawEmphasisMark ( tools::Long  nX,
tools::Long  nY,
const tools::PolyPolygon rPolyPoly,
bool  bPolyLine,
const tools::Rectangle rRect1,
const tools::Rectangle rRect2 
)
private

◆ drawFieldBorder()

Font vcl::PDFWriterImpl::drawFieldBorder ( PDFWidget rIntern,
const PDFWriter::AnyWidget rWidget,
const StyleSettings rSettings 
)
private

◆ drawGradient()

void vcl::PDFWriterImpl::drawGradient ( const tools::Rectangle rRect,
const Gradient rGradient 
)

◆ drawHatch()

void vcl::PDFWriterImpl::drawHatch ( const tools::PolyPolygon rPolyPoly,
const Hatch rHatch 
)

◆ DrawHatchLine_DrawLine()

void PDFWriterImpl::DrawHatchLine_DrawLine ( const Point rStartPoint,
const Point rEndPoint 
)
overrideprivatevirtual

Reimplemented from OutputDevice.

Definition at line 1981 of file pdfwriter_impl2.cxx.

References drawLine().

◆ drawHorizontalGlyphs()

void vcl::PDFWriterImpl::drawHorizontalGlyphs ( const std::vector< PDFGlyph > &  rGlyphs,
OStringBuffer &  rLine,
const Point rAlignOffset,
bool  bFirst,
double  fAngle,
double  fXScale,
sal_Int32  nFontHeight,
sal_Int32  nPixelFontHeight 
)
private

◆ drawJPGBitmap()

void vcl::PDFWriterImpl::drawJPGBitmap ( SvStream rDCTData,
bool  bIsTrueColor,
const Size rSizePixel,
const tools::Rectangle rTargetArea,
const AlphaMask rAlphaMask,
const Graphic rGraphic 
)

◆ drawLayout()

void vcl::PDFWriterImpl::drawLayout ( SalLayout rLayout,
const OUString &  rText,
bool  bTextLines 
)
private

Definition at line 6672 of file pdfwriter_impl.cxx.

References tools::Rectangle::AdjustTop(), basegfx::Tuple2D< typename TYPE >::adjustX(), Point::AdjustY(), ALIGN_BOTTOM, ALIGN_TOP, vcl::ALL, appendNonStrokingColor(), appendStrokingColor(), GlyphItem::charCount(), GlyphItem::charPos(), COL_TRANSPARENT(), COL_WHITE(), drawEmphasisMark(), drawHorizontalGlyphs(), drawPolygon(), drawRectangle(), drawRelief(), drawShadow(), drawTextLine(), drawVerticalGlyphs(), vcl::FILLCOLOR, vcl::Font::GetAlignment(), FontMetric::GetAscent(), vcl::Font::GetAverageFontWidth(), vcl::Font::GetColor(), FontMetric::GetDescent(), OutputDevice::GetDPIY(), SalLayout::GetDrawPosition(), OutputDevice::GetEmphasisAscent(), OutputDevice::GetEmphasisDescent(), vcl::Font::GetEmphasisMark(), vcl::Font::GetEmphasisMarkStyle(), vcl::Font::GetFillColor(), LogicalFontInstance::GetFontFace(), vcl::Font::GetFontHeight(), OutputDevice::GetFontInstance(), OutputDevice::GetFontMetric(), LogicalFontInstance::GetFontSelectPattern(), GlyphItem::GetGlyphBoundRect(), LogicalFontInstance::GetGlyphWidth(), FontMetric::GetLineHeight(), MapMode::GetMapUnit(), SalLayout::GetNextGlyph(), vcl::Font::GetOrientation(), vcl::Font::GetOverline(), vcl::font::EmphasisMark::GetRect1(), vcl::font::EmphasisMark::GetRect2(), vcl::Font::GetRelief(), MapMode::GetScaleX(), MapMode::GetScaleY(), vcl::font::EmphasisMark::GetShape(), vcl::Font::GetStrikeout(), SalLayout::GetTextWidth(), vcl::Font::GetUnderline(), tools::Rectangle::GetWidth(), vcl::font::EmphasisMark::GetWidth(), vcl::font::EmphasisMark::GetYOffset(), GlyphItem::glyphId(), i, OutputDevice::ImplDevicePixelToLogicHeight(), OutputDevice::ImplDevicePixelToLogicWidth(), GlyphItem::IsClusterStart(), GlyphItem::IsInCluster(), vcl::Font::IsOutline(), vcl::Font::IsShadow(), vcl::font::EmphasisMark::IsShapePolyLine(), GlyphItem::IsSpacing(), vcl::Font::IsUnderlineAbove(), vcl::Font::IsVertical(), GlyphItem::IsVertical(), vcl::Font::IsWordLineMode(), tools::Rectangle::Left(), vcl::LINECOLOR, LINESTYLE_DONTKNOW, LINESTYLE_NONE, m_aCurrentPDFState, vcl::pdf::GraphicsState::m_aFillColor, vcl::pdf::GraphicsState::m_aFont, vcl::pdf::GraphicsState::m_aLineColor, vcl::pdf::GraphicsState::m_aMapMode, vcl::pdf::FontEmit::m_aMapping, m_aPages, m_aSubsets, vcl::font::FontSelectPattern::mnHeight, LogicalFontInstance::mnOrientation, n, GlyphItem::newWidth(), nIndex, NONE, GlyphItem::origWidth(), pop(), push(), registerGlyph(), tools::Polygon::Rotate(), vcl::pdf::Matrix3::rotate(), vcl::pdf::Matrix3::scale(), vcl::Font::SetAverageFontWidth(), setFillColor(), tools::Rectangle::setHeight(), setLineColor(), STRIKEOUT_DONTKNOW, STRIKEOUT_NONE, OutputDevice::SubPixelToLogic(), toRadians(), vcl::pdf::Matrix3::transform(), vcl::PDFObjectContainer::writeBuffer(), Point::X(), vcl::XUnits(), and Point::Y().

Referenced by drawRelief(), drawShadow(), drawStretchText(), drawText(), and drawTextArray().

◆ drawLine() [1/2]

void vcl::PDFWriterImpl::drawLine ( const Point rStart,
const Point rStop 
)

◆ drawLine() [2/2]

void vcl::PDFWriterImpl::drawLine ( const Point rStart,
const Point rStop,
const LineInfo rInfo 
)

◆ drawPixel()

void vcl::PDFWriterImpl::drawPixel ( const Point rPt,
const Color rColor 
)

◆ drawPolygon()

void vcl::PDFWriterImpl::drawPolygon ( const tools::Polygon rPoly)

◆ drawPolyLine() [1/3]

void vcl::PDFWriterImpl::drawPolyLine ( const tools::Polygon rPoly)

◆ drawPolyLine() [2/3]

void vcl::PDFWriterImpl::drawPolyLine ( const tools::Polygon rPoly,
const LineInfo rInfo 
)

◆ drawPolyLine() [3/3]

void vcl::PDFWriterImpl::drawPolyLine ( const tools::Polygon rPoly,
const PDFWriter::ExtLineInfo rInfo 
)

◆ drawPolyPolygon()

void vcl::PDFWriterImpl::drawPolyPolygon ( const tools::PolyPolygon rPolyPoly)

◆ drawRectangle() [1/2]

void vcl::PDFWriterImpl::drawRectangle ( const tools::Rectangle rRect)

◆ drawRectangle() [2/2]

void vcl::PDFWriterImpl::drawRectangle ( const tools::Rectangle rRect,
sal_uInt32  nHorzRound,
sal_uInt32  nVertRound 
)

◆ drawRelief()

void vcl::PDFWriterImpl::drawRelief ( SalLayout rLayout,
const OUString &  rText,
bool  bTextLines 
)
private

◆ drawShadow()

void vcl::PDFWriterImpl::drawShadow ( SalLayout rLayout,
const OUString &  rText,
bool  bTextLines 
)
private

◆ drawStraightTextLine()

void vcl::PDFWriterImpl::drawStraightTextLine ( OStringBuffer &  aLine,
tools::Long  nWidth,
FontLineStyle  eTextLine,
Color  aColor,
bool  bIsAbove 
)

◆ drawStretchText()

void vcl::PDFWriterImpl::drawStretchText ( const Point rPos,
sal_Int32  nWidth,
const OUString &  rText,
sal_Int32  nIndex,
sal_Int32  nLen 
)

◆ drawStrikeoutChar()

void vcl::PDFWriterImpl::drawStrikeoutChar ( const Point rPos,
tools::Long  nWidth,
FontStrikeout  eStrikeout 
)

◆ drawStrikeoutLine()

void vcl::PDFWriterImpl::drawStrikeoutLine ( OStringBuffer &  aLine,
tools::Long  nWidth,
FontStrikeout  eStrikeout,
Color  aColor 
)

◆ drawText() [1/2]

void vcl::PDFWriterImpl::drawText ( const Point rPos,
const OUString &  rText,
sal_Int32  nIndex,
sal_Int32  nLen,
bool  bTextLines = true 
)

◆ drawText() [2/2]

void vcl::PDFWriterImpl::drawText ( const tools::Rectangle rRect,
const OUString &  rOrigStr,
DrawTextFlags  nStyle 
)

◆ drawTextArray()

void vcl::PDFWriterImpl::drawTextArray ( const Point rPos,
const OUString &  rText,
KernArraySpan  pDXArray,
o3tl::span< const sal_Bool pKashidaArray,
sal_Int32  nIndex,
sal_Int32  nLen 
)

◆ drawTextLine()

void vcl::PDFWriterImpl::drawTextLine ( const Point rPos,
tools::Long  nWidth,
FontStrikeout  eStrikeout,
FontLineStyle  eUnderline,
FontLineStyle  eOverline,
bool  bUnderlineAbove 
)

◆ drawTransparent()

void vcl::PDFWriterImpl::drawTransparent ( const tools::PolyPolygon rPolyPoly,
sal_uInt32  nTransparentPercent 
)

◆ drawVerticalGlyphs()

void vcl::PDFWriterImpl::drawVerticalGlyphs ( const std::vector< PDFGlyph > &  rGlyphs,
OStringBuffer &  rLine,
const Point rAlignOffset,
const Matrix3 rRotScale,
double  fAngle,
double  fXScale,
sal_Int32  nFontHeight 
)
private

◆ drawWallpaper()

void vcl::PDFWriterImpl::drawWallpaper ( const tools::Rectangle rRect,
const Wallpaper rWall 
)

◆ drawWaveTextLine()

void vcl::PDFWriterImpl::drawWaveTextLine ( OStringBuffer &  aLine,
tools::Long  nWidth,
FontLineStyle  eTextLine,
Color  aColor,
bool  bIsAbove 
)

◆ emit()

bool vcl::PDFWriterImpl::emit ( )

◆ emitAnnotations()

bool vcl::PDFWriterImpl::emitAnnotations ( )
private

◆ emitAppearances()

bool vcl::PDFWriterImpl::emitAppearances ( PDFWidget rWidget,
OStringBuffer &  rAnnotDict 
)
private

◆ emitBuildinFont()

sal_Int32 vcl::PDFWriterImpl::emitBuildinFont ( const pdf::BuildinFontFace pFD,
sal_Int32  nObject 
)
private

◆ emitCatalog()

bool vcl::PDFWriterImpl::emitCatalog ( )
private

Definition at line 5160 of file pdfwriter_impl.cxx.

References vcl::PDFWriter::ActionDefault, vcl::PDFWriter::ActionZoom, addInternalStructureContainer(), appendLiteralStringEncrypt(), vcl::PDFWriter::AppendUnicodeTextString(), vcl::PDFWriter::PDFWriterContext::CenterWindow, CHECK_RETURN, vcl::PDFWriter::Continuous, vcl::PDFWriter::ContinuousFacing, createObject(), vcl::PDFWriter::DefaultLayout, vcl::PDFWriter::PDFWriterContext::DisplayPDFDocumentTitle, vcl::PDFWriter::PDFWriterContext::DocumentInfo, vcl::PDFWriter::PDFWriterContext::DocumentLocale, emitAnnotations(), emitDocumentMetadata(), emitEmbeddedFiles(), emitNamedDestinations(), emitOutline(), emitOutputIntent(), emitResources(), emitStructure(), vcl::PDFWriter::PDFWriterContext::FirstPageLeft, vcl::PDFWriter::FitInWindow, vcl::PDFWriter::FitVisible, vcl::PDFWriter::FitWidth, vcl::PDFWriter::PDFWriterContext::FitWindow, vcl::pdf::g_nInheritedPageHeight, vcl::pdf::g_nInheritedPageWidth, LanguageTag::getIsoLanguageScriptCountry(), getResourceDictObj(), vcl::PDFWriter::PDFWriterContext::HideViewerMenubar, vcl::PDFWriter::PDFWriterContext::HideViewerToolbar, vcl::PDFWriter::PDFWriterContext::HideViewerWindowControls, i, vcl::PDFWriter::PDFWriterContext::InitialPage, m_aContext, m_aDocumentAttachedFiles, m_aPages, m_aStructure, m_aWidgets, m_bIsPDF_A1, m_bIsPDF_A2, m_bIsPDF_A3, m_nCatalogObject, m_nSignatureObject, o3tl::make_unsigned(), vcl::PDFWriter::ModeDefault, vcl::PDFWriter::PDFWriterContext::OpenInFullScreenMode, vcl::PDFWriter::PDFWriterContext::PageLayout, vcl::PDFWriter::PDF_1_7, vcl::PDFWriter::PDFWriterContext::PDFDocumentAction, vcl::PDFWriter::PDFWriterContext::PDFDocumentMode, vcl::PDFWriter::SinglePage, vcl::PDFWriter::PDFWriterContext::Tagged, vcl::PDFWriter::PDFDocInfo::Title, updateObject(), vcl::PDFWriter::UseOutlines, vcl::PDFWriter::UseThumbs, vcl::PDFWriter::PDFWriterContext::Version, vcl::PDFObjectContainer::writeBuffer(), and vcl::PDFWriter::PDFWriterContext::Zoom.

Referenced by emit().

◆ emitComment()

void vcl::PDFWriterImpl::emitComment ( const char *  pComment)

◆ emitDocumentMetadata()

sal_Int32 vcl::PDFWriterImpl::emitDocumentMetadata ( )

◆ emitEmbeddedFiles()

bool vcl::PDFWriterImpl::emitEmbeddedFiles ( )
private

◆ emitFontDescriptor()

sal_Int32 vcl::PDFWriterImpl::emitFontDescriptor ( const vcl::font::PhysicalFontFace pFace,
FontSubsetInfo const &  rInfo,
sal_Int32  nSubsetID,
sal_Int32  nStream 
)
private

◆ emitFonts()

bool vcl::PDFWriterImpl::emitFonts ( )
private

◆ emitGradients()

bool vcl::PDFWriterImpl::emitGradients ( )
private

Definition at line 2281 of file pdfwriter_impl.cxx.

References m_aGradients, and writeGradientFunction().

Referenced by emitResources().

◆ emitInfoDict()

sal_Int32 vcl::PDFWriterImpl::emitInfoDict ( )
private

◆ emitLinkAnnotations()

bool vcl::PDFWriterImpl::emitLinkAnnotations ( )
private

◆ emitNamedDestinations()

sal_Int32 vcl::PDFWriterImpl::emitNamedDestinations ( )
private

◆ emitNoteAnnotations()

bool vcl::PDFWriterImpl::emitNoteAnnotations ( )
private

◆ emitOutline()

sal_Int32 vcl::PDFWriterImpl::emitOutline ( )
private

◆ emitOutputIntent()

sal_Int32 vcl::PDFWriterImpl::emitOutputIntent ( )

◆ emitPopupAnnotationLine()

void vcl::PDFWriterImpl::emitPopupAnnotationLine ( OStringBuffer &  aLine,
PDFPopupAnnotation const &  rPopUp 
)
staticprivate

◆ emitResources()

sal_Int32 vcl::PDFWriterImpl::emitResources ( )
private

◆ emitScreenAnnotations()

bool vcl::PDFWriterImpl::emitScreenAnnotations ( )
private

◆ emitSignature()

bool vcl::PDFWriterImpl::emitSignature ( )
private

Referenced by emit().

◆ emitStructIDTree()

sal_Int32 vcl::PDFWriterImpl::emitStructIDTree ( sal_Int32  nTreeObject)
private

◆ emitStructParentTree()

sal_Int32 vcl::PDFWriterImpl::emitStructParentTree ( sal_Int32  nTreeObject)
private

◆ emitStructure()

sal_Int32 vcl::PDFWriterImpl::emitStructure ( PDFStructureElement rEle)
private

◆ emitStructureAttributes()

OString vcl::PDFWriterImpl::emitStructureAttributes ( PDFStructureElement rEle)
private

◆ emitSystemFont()

std::map< sal_Int32, sal_Int32 > vcl::PDFWriterImpl::emitSystemFont ( const vcl::font::PhysicalFontFace pFace,
EmbedFont const &  rEmbed 
)
private

◆ emitTextAnnotationLine()

void vcl::PDFWriterImpl::emitTextAnnotationLine ( OStringBuffer &  aLine,
PDFNoteEntry const &  rNote 
)
private

◆ emitTilings()

bool vcl::PDFWriterImpl::emitTilings ( )
private

◆ emitTrailer()

bool vcl::PDFWriterImpl::emitTrailer ( )
private

◆ emitType3Font()

bool vcl::PDFWriterImpl::emitType3Font ( const vcl::font::PhysicalFontFace pFace,
const FontSubset rType3Font,
std::map< sal_Int32, sal_Int32 > &  rFontIDToObject 
)
private

◆ emitWidgetAnnotations()

bool vcl::PDFWriterImpl::emitWidgetAnnotations ( )
private

Definition at line 4648 of file pdfwriter_impl.cxx.

References a, aBuf, appendBuildinFontsToDict(), appendDest(), appendLiteralStringEncrypt(), appendUnicodeTextStringEncrypt(), tools::Rectangle::Bottom(), Center, CHECK_RETURN, vcl::PDFWriter::CheckBox, vcl::PDFWriter::ComboBox, vcl::PDFWriter::Date, vcl::PDFWriter::Edit, emitAppearances(), ensureUniqueRadioOnValues(), vcl::PDFWriter::FDF, vcl::PDFWriter::Hierarchy, vcl::PDFWriter::HTML, i, tools::Rectangle::Left(), vcl::PDFWriter::ListBox, vcl::pdf::PDFWidget::m_aAppearances, m_aContext, vcl::pdf::PDFWidget::m_aCurrencySymbol, vcl::pdf::PDFWidget::m_aDAString, vcl::pdf::PDFWidget::m_aDateFormat, vcl::pdf::PDFWidget::m_aDescription, m_aDestinationIdTranslation, vcl::pdf::PDFWidget::m_aDRDict, m_aErrors, vcl::pdf::PDFWidget::m_aKids, vcl::pdf::PDFWidget::m_aListEntries, vcl::pdf::PDFWidget::m_aMKDict, vcl::pdf::PDFWidget::m_aMKDictCAString, vcl::pdf::PDFWidget::m_aName, vcl::pdf::PDFWidget::m_aOffValue, vcl::pdf::PDFWidget::m_aOnValue, m_aPages, vcl::pdf::PDFAnnotation::m_aRect, vcl::pdf::PDFWidget::m_aSelectedEntries, vcl::pdf::PDFWidget::m_aTimeFormat, vcl::pdf::PDFWidget::m_aValue, m_aWidgets, m_bIsPDF_A1, m_bIsPDF_A2, m_bIsPDF_A3, vcl::pdf::PDFWidget::m_bPrependCurrencySymbol, vcl::pdf::PDFWidget::m_bSubmit, vcl::pdf::PDFWidget::m_bSubmitGet, vcl::pdf::PDFWidget::m_eType, vcl::pdf::PDFWidget::m_nDecimalAccuracy, vcl::pdf::PDFWidget::m_nDest, vcl::pdf::PDFWidget::m_nFlags, vcl::pdf::PDFWidget::m_nFormat, vcl::pdf::PDFWidget::m_nMaxLen, vcl::pdf::PDFAnnotation::m_nObject, vcl::pdf::PDFAnnotation::m_nPage, vcl::pdf::PDFWidget::m_nParent, vcl::pdf::PDFWidget::m_nRadioGroup, vcl::pdf::PDFWidget::m_nStructParent, vcl::pdf::PDFWidget::m_nTextStyle, o3tl::make_unsigned(), vcl::PDFWriter::Number, OUStringToOString(), vcl::PDFWriter::PDF, vcl::PDFWriter::PushButton, vcl::PDFWriter::RadioButton, tools::Rectangle::Right(), Right, SAL_INFO, vcl::PDFWriter::Signature, vcl::PDFWriter::PDFWriterContext::SubmitFormat, o3tl::temporary(), vcl::PDFWriter::Time, tools::Rectangle::Top(), updateObject(), vcl::PDFWriter::Warning_FormAction_Omitted_PDFA, vcl::PDFObjectContainer::writeBuffer(), and vcl::PDFWriter::XML.

Referenced by emitAnnotations().

◆ enableStringEncryption()

void PDFWriterImpl::enableStringEncryption ( sal_Int32  nObject)
private

◆ endCompression()

void vcl::PDFWriterImpl::endCompression ( )
private

◆ endPage()

void vcl::PDFWriterImpl::endPage ( )
private

◆ endRedirect()

SvStream * vcl::PDFWriterImpl::endRedirect ( )
private

◆ endStructureElement()

void vcl::PDFWriterImpl::endStructureElement ( )

◆ endStructureElementMCSeq()

void vcl::PDFWriterImpl::endStructureElementMCSeq ( EndMode  endMode = EndMode::Default)
private

◆ endTransparencyGroup()

void vcl::PDFWriterImpl::endTransparencyGroup ( const tools::Rectangle rBoundingBox,
sal_uInt32  nTransparentPercent 
)

◆ ensureStructureElement()

sal_Int32 vcl::PDFWriterImpl::ensureStructureElement ( )

◆ ensureUniqueRadioOnValues()

void vcl::PDFWriterImpl::ensureUniqueRadioOnValues ( )
private

◆ finalizeSignature()

bool vcl::PDFWriterImpl::finalizeSignature ( )
private

Referenced by emit().

◆ findRadioGroupWidget()

sal_Int32 vcl::PDFWriterImpl::findRadioGroupWidget ( const PDFWriter::RadioButtonWidget rRadio)
private

◆ getAttributeTag()

const char * vcl::PDFWriterImpl::getAttributeTag ( PDFWriter::StructAttribute  eAtr)
static

◆ getAttributeValueTag()

const char * vcl::PDFWriterImpl::getAttributeValueTag ( PDFWriter::StructAttributeValue  eVal)
static

◆ getBestBuildinFont()

sal_Int32 vcl::PDFWriterImpl::getBestBuildinFont ( const Font rFont)
private

◆ getCurPageSize()

Size vcl::PDFWriterImpl::getCurPageSize ( ) const
inline

◆ getCurrentFilePosition()

sal_uInt64 vcl::PDFWriterImpl::getCurrentFilePosition ( )
inlineprivate

Definition at line 835 of file pdfwriter_impl.hxx.

References m_aFile, and m_bOpen.

Referenced by emitEmbeddedFiles().

◆ getErrors()

const std::set< PDFWriter::ErrorCode > & vcl::PDFWriterImpl::getErrors ( ) const
inline

Definition at line 1152 of file pdfwriter_impl.hxx.

References m_aErrors.

◆ getFontDictObject()

sal_Int32 vcl::PDFWriterImpl::getFontDictObject ( )
inlineprivate

◆ getMapMode()

const MapMode & vcl::PDFWriterImpl::getMapMode ( )
inline

Definition at line 1175 of file pdfwriter_impl.hxx.

References m_aGraphicsStack.

Referenced by drawWallpaper(), and replaceFont().

◆ getResourceDictObj()

sal_Int32 vcl::PDFWriterImpl::getResourceDictObj ( )
inlineprivate

◆ getStructureTag()

const char * vcl::PDFWriterImpl::getStructureTag ( PDFWriter::StructElement  eType)

◆ getSystemFont()

sal_Int32 vcl::PDFWriterImpl::getSystemFont ( const Font i_rFont)
private

◆ ImplClearFontData()

void PDFWriterImpl::ImplClearFontData ( bool  bNewFontLists)
overrideprivatevirtual

◆ ImplNewFont()

bool vcl::PDFWriterImpl::ImplNewFont ( ) const
overrideprivatevirtual

◆ ImplRefreshFontData()

void PDFWriterImpl::ImplRefreshFontData ( bool  bNewFontLists)
overrideprivatevirtual

◆ implWriteBitmapEx()

void PDFWriterImpl::implWriteBitmapEx ( const Point rPoint,
const Size rSize,
const BitmapEx rBitmapEx,
const Graphic i_pGraphic,
VirtualDevice const *  pDummyVDev,
const vcl::PDFWriter::PlayMetafileContext i_rContext 
)
private

Definition at line 74 of file pdfwriter_impl2.cxx.

References Point::AdjustX(), Point::AdjustY(), BestQuality, vcl::PDFWriter::PDFWriterContext::ColorMode, BitmapEx::Convert(), vcl::PDFWriter::DrawBitmap(), vcl::PDFWriter::DrawBitmapEx(), vcl::PDFWriter::DrawGreyscale, vcl::PDFWriter::DrawJPGBitmap(), o3tl::lru_map< typename Key, typename Value, class KeyHash, class KeyEqual, class ValueSize >::end(), eType, o3tl::lru_map< typename Key, typename Value, class KeyHash, class KeyEqual, class ValueSize >::find(), FRound(), BitmapEx::GetAlphaMask(), BitmapEx::GetBitmap(), Graphic::GetBitmapEx(), BitmapEx::GetChecksum(), SvStream::GetCompressMode(), Graphic::GetGfxLink(), Size::getHeight(), comphelper::getProcessComponentContext(), BitmapEx::GetSizePixel(), GfxLink::GetType(), Graphic::GetType(), Size::getWidth(), Graphic::GetXGraphic(), Size::Height(), Horizontal, o3tl::in, o3tl::lru_map< typename Key, typename Value, class KeyHash, class KeyEqual, class ValueSize >::insert(), BitmapEx::IsAlpha(), BitmapEx::IsEmpty(), OutputDevice::LogicToPixel(), m_aContext, m_aPDFBmpCache, vcl::PDFWriter::PlayMetafileContext::m_bOnlyLosslessCompression, vcl::PDFWriter::PlayMetafileContext::m_nJPEGQuality, vcl::PDFWriter::PlayMetafileContext::m_nMaxImageResolution, m_rOuterFace, comphelper::makePropertyValue(), BitmapEx::Mirror(), N8BitGreys, NativeJpg, NativePng, NONE, OutputDevice::PixelToLogic(), BitmapEx::Scale(), SvStream::SetCompressMode(), BitmapEx::SetEmpty(), Size::setHeight(), SvStream::SetVersion(), Size::setWidth(), SOFFICE_FILEFORMAT_40, STREAM_SEEK_TO_END, SvMemoryStream::TellEnd(), o3tl::twip, Vertical, Size::Width(), WriteDIBBitmapEx(), and xStream.

Referenced by playMetafile().

◆ implWriteGradient()

void PDFWriterImpl::implWriteGradient ( const tools::PolyPolygon rPolyPoly,
const Gradient rGradient,
VirtualDevice pDummyVDev,
const vcl::PDFWriter::PlayMetafileContext i_rContext 
)
private

◆ initEncryption()

uno::Reference< beans::XMaterialHolder > PDFWriterImpl::initEncryption ( const OUString &  i_rOwnerPassword,
const OUString &  i_rUserPassword 
)
static

◆ initStructureElement()

void vcl::PDFWriterImpl::initStructureElement ( sal_Int32  id,
PDFWriter::StructElement  eType,
std::u16string_view  rAlias 
)

◆ insertError()

void vcl::PDFWriterImpl::insertError ( PDFWriter::ErrorCode  eErr)
inline

Definition at line 1153 of file pdfwriter_impl.hxx.

References m_aErrors.

◆ intersectClipRegion() [1/2]

void vcl::PDFWriterImpl::intersectClipRegion ( const basegfx::B2DPolyPolygon rRegion)

◆ intersectClipRegion() [2/2]

void vcl::PDFWriterImpl::intersectClipRegion ( const tools::Rectangle rRect)

◆ MARK()

void vcl::PDFWriterImpl::MARK ( const char *  pString)

◆ moveClipRegion()

void vcl::PDFWriterImpl::moveClipRegion ( sal_Int32  nX,
sal_Int32  nY 
)

◆ newPage()

void vcl::PDFWriterImpl::newPage ( double  nPageWidth,
double  nPageHeight,
PDFWriter::Orientation  eOrientation 
)

◆ padPassword()

void PDFWriterImpl::padPassword ( std::u16string_view  i_rPassword,
sal_uInt8 o_pPaddedPW 
)
staticprivate

Definition at line 1251 of file pdfwriter_impl2.cxx.

References ENCRYPTED_PWD_SIZE, i, OUStringToOString(), s_nPadString, and y.

Referenced by initEncryption().

◆ playMetafile()

void PDFWriterImpl::playMetafile ( const GDIMetaFile i_rMtf,
vcl::PDFExtOutDevData i_pOutDevData,
const vcl::PDFWriter::PlayMetafileContext i_rContext,
VirtualDevice pDummyDev = nullptr 
)

Definition at line 269 of file pdfwriter_impl2.cxx.

References a, ARC, vcl::PDFWriter::BeginTransparencyGroup(), AlphaMask::BlendWith(), BMP, BMPEX, BMPEXSCALE, BMPEXSCALEPART, BMPSCALE, BMPSCALEPART, SvtGraphicStroke::capButt, vcl::PDFWriter::capButt, SvtGraphicStroke::capRound, vcl::PDFWriter::capRound, SvtGraphicStroke::capSquare, vcl::PDFWriter::capSquare, CHORD, CLIPREGION, COMMENT, tools::PolyPolygon::Count(), BitmapEx::Crop(), Default, VclPtr< reference_type >::disposeAndClear(), ScopedVclPtr< reference_type >::disposeAndReset(), vcl::PDFWriter::DrawArc(), vcl::PDFWriter::DrawChord(), vcl::PDFWriter::DrawEllipse(), vcl::PDFWriter::DrawGradient(), vcl::PDFWriter::DrawHatch(), vcl::PDFWriter::DrawLine(), vcl::PDFWriter::DrawPie(), vcl::PDFWriter::DrawPixel(), vcl::PDFWriter::DrawPolygon(), vcl::PDFWriter::DrawPolyLine(), vcl::PDFWriter::DrawPolyPolygon(), vcl::PDFWriter::DrawRect(), vcl::PDFWriter::DrawStretchText(), vcl::PDFWriter::DrawText(), vcl::PDFWriter::DrawTextArray(), vcl::PDFWriter::DrawTextLine(), vcl::PDFWriter::DrawTransparent(), vcl::PDFWriter::DrawWallpaper(), ELLIPSE, OutputDevice::EnableOutput(), vcl::PDFWriter::EndTransparencyGroup(), EPS, Execute(), FILLCOLOR, SvtGraphicFill::fillEvenOdd, SvtGraphicFill::fillSolid, FLOATTRANSPARENT, FONT, VclPtr< reference_type >::get(), GDIMetaFile::GetAction(), GDIMetaFile::GetActionSize(), BitmapEx::GetAlphaMask(), vcl::Region::GetAsB2DPolyPolygon(), MetaBmpAction::GetBitmap(), MetaBmpScaleAction::GetBitmap(), MetaBmpScalePartAction::GetBitmap(), BitmapEx::GetBitmap(), MetaBmpExAction::GetBitmapEx(), MetaBmpExScaleAction::GetBitmapEx(), MetaBmpExScalePartAction::GetBitmapEx(), SvtGraphicStroke::getCapType(), MetaPixelAction::GetColor(), MetaLineColorAction::GetColor(), MetaFillColorAction::GetColor(), MetaTextColorAction::GetColor(), MetaTextFillColorAction::GetColor(), MetaTextLineColorAction::GetColor(), MetaOverlineColorAction::GetColor(), MetaCommentAction::GetComment(), tools::Polygon::GetConstFlagAry(), tools::Polygon::GetConstPointAry(), vcl::PDFExtOutDevData::GetCurrentGraphic(), SvtGraphicStroke::getDashArray(), MetaCommentAction::GetData(), MetaCommentAction::GetDataSize(), MetaBmpScalePartAction::GetDestPoint(), MetaBmpExScalePartAction::GetDestPoint(), MetaBmpScalePartAction::GetDestSize(), MetaBmpExScalePartAction::GetDestSize(), MetaTextArrayAction::GetDXArray(), SvtGraphicStroke::getEndArrow(), Gradient::GetEndColor(), MetaLineAction::GetEndPoint(), MetaArcAction::GetEndPoint(), MetaChordAction::GetEndPoint(), SvtGraphicFill::getFillRule(), SvtGraphicFill::getFillType(), MetaPushAction::GetFlags(), tools::Polygon::GetFlags(), MetaFontAction::GetFont(), MetaFloatTransparentAction::GetGDIMetaFile(), MetaGradientAction::GetGradient(), MetaGradientExAction::GetGradient(), MetaFloatTransparentAction::GetGradient(), MetaHatchAction::GetHatch(), MetaMoveClipRegionAction::GetHorzMove(), MetaRoundRectAction::GetHorzRound(), MetaTextAction::GetIndex(), MetaTextArrayAction::GetIndex(), MetaStretchTextAction::GetIndex(), SvtGraphicStroke::getJoinType(), MetaTextArrayAction::GetKashidaArray(), MetaLayoutModeAction::GetLayoutMode(), MetaTextAction::GetLen(), MetaTextArrayAction::GetLen(), MetaStretchTextAction::GetLen(), MetaLineAction::GetLineInfo(), MetaPolyLineAction::GetLineInfo(), Color::GetLuminance(), OutputDevice::GetMapMode(), SvtGraphicStroke::getMiterLimit(), MapMode::GetOrigin(), MetaTextLineAction::GetOverline(), SvtGraphicStroke::getPath(), SvtGraphicFill::getPath(), MetaPixelAction::GetPoint(), MetaPointAction::GetPoint(), MetaTextAction::GetPoint(), MetaTextArrayAction::GetPoint(), MetaStretchTextAction::GetPoint(), MetaBmpAction::GetPoint(), MetaBmpScaleAction::GetPoint(), MetaBmpExAction::GetPoint(), MetaBmpExScaleAction::GetPoint(), MetaFloatTransparentAction::GetPoint(), MetaEPSAction::GetPoint(), MetaPolyLineAction::GetPolygon(), MetaPolygonAction::GetPolygon(), MetaPolyPolygonAction::GetPolyPolygon(), MetaGradientExAction::GetPolyPolygon(), MetaHatchAction::GetPolyPolygon(), MetaTransparentAction::GetPolyPolygon(), BitmapEx::GetPrefMapMode(), GDIMetaFile::GetPrefMapMode(), BitmapEx::GetPrefSize(), GDIMetaFile::GetPrefSize(), MetaRectAction::GetRect(), MetaRoundRectAction::GetRect(), MetaEllipseAction::GetRect(), MetaArcAction::GetRect(), MetaChordAction::GetRect(), MetaTextRectAction::GetRect(), MetaGradientAction::GetRect(), MetaWallpaperAction::GetRect(), MetaISectRectClipRegionAction::GetRect(), MetaClipRegionAction::GetRegion(), MetaISectRegionClipRegionAction::GetRegion(), tools::Polygon::GetSize(), MetaBmpScaleAction::GetSize(), MetaBmpExScaleAction::GetSize(), MetaFloatTransparentAction::GetSize(), MetaEPSAction::GetSize(), BitmapEx::GetSizePixel(), MetaBmpScalePartAction::GetSrcPoint(), MetaBmpExScalePartAction::GetSrcPoint(), MetaBmpScalePartAction::GetSrcSize(), MetaBmpExScalePartAction::GetSrcSize(), SvtGraphicStroke::getStartArrow(), Gradient::GetStartColor(), MetaLineAction::GetStartPoint(), MetaArcAction::GetStartPoint(), MetaChordAction::GetStartPoint(), MetaTextLineAction::GetStartPoint(), MetaTextLineAction::GetStrikeout(), SvtGraphicStroke::getStrokeWidth(), MetaTextRectAction::GetStyle(), MetaEPSAction::GetSubstitute(), MetaTextAction::GetText(), MetaTextArrayAction::GetText(), MetaStretchTextAction::GetText(), MetaTextRectAction::GetText(), MetaTextAlignAction::GetTextAlign(), MetaTextLanguageAction::GetTextLanguage(), MetaTransparentAction::GetTransparence(), SvtGraphicStroke::getTransparency(), SvtGraphicFill::getTransparency(), MetaAction::GetType(), MetaTextLineAction::GetUnderline(), MetaMoveClipRegionAction::GetVertMove(), MetaRoundRectAction::GetVertRound(), MetaWallpaperAction::GetWallpaper(), MetaStretchTextAction::GetWidth(), MetaTextLineAction::GetWidth(), GRADIENT, GRADIENTEX, GrayGradient, tools::Polygon::HasFlags(), HATCH, Size::Height(), i, implWriteBitmapEx(), implWriteGradient(), o3tl::in, vcl::PDFWriter::IntersectClipRegion(), Bitmap::Invert(), BitmapEx::IsAlpha(), MetaClipRegionAction::IsClipping(), ISECTRECTCLIPREGION, ISECTREGIONCLIPREGION, vcl::Region::IsEmpty(), MetaLineColorAction::IsSetting(), MetaFillColorAction::IsSetting(), MetaTextFillColorAction::IsSetting(), MetaTextLineColorAction::IsSetting(), MetaOverlineColorAction::IsSetting(), SkiaHelper::isVCLSkiaEnabled(), SvtGraphicStroke::joinBevel, vcl::PDFWriter::joinBevel, SvtGraphicStroke::joinMiter, vcl::PDFWriter::joinMiter, SvtGraphicStroke::joinNone, SvtGraphicStroke::joinRound, vcl::PDFWriter::joinRound, LAYOUTMODE, lcl_canUsePDFAxialShading(), LINE, LINECOLOR, OutputDevice::LogicToLogic(), OutputDevice::LogicToPixel(), vcl::PDFWriter::ExtLineInfo::m_aDashArray, vcl::PDFWriter::PlayMetafileContext::m_bTransparenciesWereRemoved, vcl::PDFWriter::ExtLineInfo::m_eCap, vcl::PDFWriter::ExtLineInfo::m_eJoin, vcl::PDFWriter::ExtLineInfo::m_fLineWidth, vcl::PDFWriter::ExtLineInfo::m_fMiterLimit, vcl::PDFWriter::ExtLineInfo::m_fTransparency, vcl::PDFWriter::PlayMetafileContext::m_nMaxImageResolution, m_rOuterFace, MAPMODE, MASK, MASKSCALE, MASKSCALEPART, GDIMetaFile::Move(), MOVECLIPREGION, vcl::PDFWriter::MoveClipRegion(), nCount, nType, OVERLINECOLOR, pData, PIE, PIXEL, OutputDevice::PixelToLogic(), GDIMetaFile::Play(), playMetafile(), vcl::PDFExtOutDevData::PlaySyncPageAct(), POINT, POLYGON, POLYLINE, POLYPOLYGON, POP, OutputDevice::Pop(), vcl::PDFWriter::Pop(), PUSH, vcl::PDFWriter::Push(), OutputDevice::Push(), RASTEROP, ReadSvtGraphicFill(), ReadSvtGraphicStroke(), RECT, REFPOINT, ROUNDRECT, SAL_WARN, GDIMetaFile::Scale(), vcl::PDFWriter::SetClipRegion(), vcl::PDFWriter::SetDigitLanguage(), vcl::PDFWriter::SetFillColor(), vcl::PDFWriter::SetFont(), vcl::PDFWriter::SetLayoutMode(), vcl::PDFWriter::SetLineColor(), OutputDevice::SetMapMode(), vcl::PDFWriter::SetMapMode(), MapMode::SetOrigin(), vcl::PDFWriter::SetOverlineColor(), GDIMetaFile::SetPrefMapMode(), MapMode::SetScaleX(), MapMode::SetScaleY(), vcl::PDFWriter::SetTextAlign(), vcl::PDFWriter::SetTextColor(), vcl::PDFWriter::SetTextFillColor(), vcl::PDFWriter::SetTextLineColor(), STRETCHTEXT, TEXT, TEXTALIGN, TEXTARRAY, TEXTCOLOR, TEXTFILLCOLOR, TEXTLANGUAGE, TEXTLINE, TEXTLINECOLOR, TEXTRECT, Transparent, o3tl::twip, WALLPAPER, Size::Width(), GDIMetaFile::WindStart(), WITH_ALPHA, Point::X(), and Point::Y().

Referenced by implWriteGradient(), and playMetafile().

◆ pop()

void vcl::PDFWriterImpl::pop ( )

◆ prepareEncryption()

bool PDFWriterImpl::prepareEncryption ( const css::uno::Reference< css::beans::XMaterialHolder > &  )
private

◆ push()

void vcl::PDFWriterImpl::push ( PushFlags  nFlags)

◆ pushResource() [1/2]

void vcl::PDFWriterImpl::pushResource ( ResourceKind  eKind,
const OString &  rResource,
sal_Int32  nObject 
)
private

Definition at line 8040 of file pdfwriter_impl.cxx.

References m_aGlobalResourceDict, m_aOutputStreams, and pushResource().

◆ pushResource() [2/2]

void vcl::PDFWriterImpl::pushResource ( ResourceKind  eKind,
const OString &  rResource,
sal_Int32  nObject,
ResourceDict rResourceDict,
std::list< StreamRedirect > &  rOutputStreams 
)
staticprivate

◆ putG4Bits()

void PDFWriterImpl::putG4Bits ( sal_uInt32  i_nLength,
sal_uInt32  i_nCode,
BitStreamState io_rState 
)
private

◆ putG4Span()

void PDFWriterImpl::putG4Span ( tools::Long  i_nSpan,
bool  i_bWhitePixel,
BitStreamState io_rState 
)
private

Definition at line 1871 of file pdfwriter_impl2.cxx.

References BlackPixelCodes, putG4Bits(), and WhitePixelCodes.

Referenced by writeG4Stream().

◆ registerDestReference()

sal_Int32 vcl::PDFWriterImpl::registerDestReference ( sal_Int32  nDestId,
const tools::Rectangle rRect,
sal_Int32  nPageNr,
PDFWriter::DestAreaType  eType 
)

Definition at line 10488 of file pdfwriter_impl.cxx.

References createDest(), eType, and m_aDestinationIdTranslation.

◆ registerGlyph()

void vcl::PDFWriterImpl::registerGlyph ( const sal_GlyphId  nFontGlyphId,
const vcl::font::PhysicalFontFace pFace,
const LogicalFontInstance pFont,
const std::vector< sal_Ucs > &  rCodeUnits,
sal_Int32  nGlyphWidth,
sal_uInt8 nMappedGlyph,
sal_Int32 &  nMappedFontObject 
)
private

◆ registerSimpleGlyph()

void vcl::PDFWriterImpl::registerSimpleGlyph ( const sal_GlyphId  nFontGlyphId,
const vcl::font::PhysicalFontFace pFace,
const std::vector< sal_Ucs > &  rCodeUnits,
sal_Int32  nGlyphWidth,
sal_uInt8 nMappedGlyph,
sal_Int32 &  nMappedFontObject 
)
private

◆ replaceFont()

Font vcl::PDFWriterImpl::replaceFont ( const Font rControlFont,
const Font rAppSetFont 
)
private

◆ setActualText()

void vcl::PDFWriterImpl::setActualText ( const OUString &  rText)

◆ setAlternateText()

void vcl::PDFWriterImpl::setAlternateText ( const OUString &  rText)

◆ setClipRegion()

void vcl::PDFWriterImpl::setClipRegion ( const basegfx::B2DPolyPolygon rRegion)

◆ setCurrentStructureElement()

bool vcl::PDFWriterImpl::setCurrentStructureElement ( sal_Int32  nElement)

◆ setDigitLanguage()

void vcl::PDFWriterImpl::setDigitLanguage ( LanguageType  eLang)
inline

Definition at line 1248 of file pdfwriter_impl.hxx.

References vcl::pdf::DigitLanguage, and m_aGraphicsStack.

◆ setDocumentLocale()

void vcl::PDFWriterImpl::setDocumentLocale ( const css::lang::Locale &  rLoc)
inline

◆ setFillColor()

void vcl::PDFWriterImpl::setFillColor ( const Color rColor)
inline

◆ setFont()

void vcl::PDFWriterImpl::setFont ( const Font rFont)

◆ setLayoutMode()

void vcl::PDFWriterImpl::setLayoutMode ( vcl::text::ComplexTextLayoutFlags  nLayoutMode)
inline

Definition at line 1242 of file pdfwriter_impl.hxx.

References vcl::pdf::LayoutMode, and m_aGraphicsStack.

◆ setLineColor()

void vcl::PDFWriterImpl::setLineColor ( const Color rColor)
inline

◆ setLinkDest()

void vcl::PDFWriterImpl::setLinkDest ( sal_Int32  nLinkId,
sal_Int32  nDestId 
)

Definition at line 10494 of file pdfwriter_impl.cxx.

References m_aDests, m_aLinks, and o3tl::make_unsigned().

◆ setLinkPropertyId()

void vcl::PDFWriterImpl::setLinkPropertyId ( sal_Int32  nLinkId,
sal_Int32  nPropertyId 
)

Definition at line 10544 of file pdfwriter_impl.cxx.

References m_aLinkPropertyMap, and nPropertyId.

◆ setLinkURL()

void vcl::PDFWriterImpl::setLinkURL ( sal_Int32  nLinkId,
const OUString &  rURL 
)

◆ setMapMode()

void vcl::PDFWriterImpl::setMapMode ( const MapMode rMapMode)

◆ setOutlineItemDest()

void vcl::PDFWriterImpl::setOutlineItemDest ( sal_Int32  nItem,
sal_Int32  nDestID 
)

Definition at line 10584 of file pdfwriter_impl.cxx.

References m_aDests, m_aOutline, and o3tl::make_unsigned().

Referenced by createOutlineItem().

◆ setOutlineItemParent()

void vcl::PDFWriterImpl::setOutlineItemParent ( sal_Int32  nItem,
sal_Int32  nNewParent 
)

Definition at line 10563 of file pdfwriter_impl.cxx.

References m_aOutline, and o3tl::make_unsigned().

Referenced by createOutlineItem().

◆ setOutlineItemText()

void vcl::PDFWriterImpl::setOutlineItemText ( sal_Int32  nItem,
std::u16string_view  rText 
)

Definition at line 10576 of file pdfwriter_impl.cxx.

References m_aOutline, o3tl::make_unsigned(), and psp::WhitespaceToSpace().

Referenced by createOutlineItem().

◆ setOverlineColor() [1/2]

void vcl::PDFWriterImpl::setOverlineColor ( )
inline

Definition at line 1199 of file pdfwriter_impl.hxx.

References COL_TRANSPARENT(), and m_aGraphicsStack.

Referenced by drawRelief(), drawShadow(), and pop().

◆ setOverlineColor() [2/2]

void vcl::PDFWriterImpl::setOverlineColor ( const Color rColor)
inline

Definition at line 1204 of file pdfwriter_impl.hxx.

References m_aGraphicsStack.

◆ setPageTransition()

void vcl::PDFWriterImpl::setPageTransition ( PDFWriter::PageTransition  eType,
sal_uInt32  nMilliSec,
sal_Int32  nPageNr 
)

Definition at line 11530 of file pdfwriter_impl.cxx.

References eType, m_aPages, m_nCurrentPage, and o3tl::make_unsigned().

◆ setScreenStream()

void vcl::PDFWriterImpl::setScreenStream ( sal_Int32  nScreenId,
const OUString &  rURL 
)

Definition at line 10535 of file pdfwriter_impl.cxx.

References createObject(), m_aScreens, and o3tl::make_unsigned().

◆ setScreenURL()

void vcl::PDFWriterImpl::setScreenURL ( sal_Int32  nScreenId,
const OUString &  rURL 
)

Definition at line 10527 of file pdfwriter_impl.cxx.

References m_aScreens, and o3tl::make_unsigned().

◆ setStructureAnnotIds()

void vcl::PDFWriterImpl::setStructureAnnotIds ( ::std::vector< sal_Int32 > const &  rAnnotIds)

◆ setStructureAttribute()

bool vcl::PDFWriterImpl::setStructureAttribute ( enum PDFWriter::StructAttribute  eAttr,
enum PDFWriter::StructAttributeValue  eVal 
)

Definition at line 11105 of file pdfwriter_impl.cxx.

References vcl::PDFWriter::After, vcl::PDFWriter::Auto, vcl::PDFWriter::Before, vcl::PDFWriter::BibEntry, vcl::PDFWriter::Block, vcl::PDFWriter::BlockAlign, vcl::PDFWriter::Both, vcl::PDFWriter::Cb, vcl::PDFWriter::Center, vcl::PDFWriter::Circle, vcl::PDFWriter::Code, vcl::PDFWriter::Column, vcl::PDFWriter::Decimal, vcl::PDFWriter::Disc, vcl::PDFWriter::End, eType, vcl::PDFWriter::Figure, vcl::PDFWriter::Footer, vcl::PDFWriter::Form, vcl::PDFWriter::Formula, getAttributeTag(), getAttributeValueTag(), getStructureTag(), vcl::PDFWriter::H1, vcl::PDFWriter::H2, vcl::PDFWriter::H3, vcl::PDFWriter::H4, vcl::PDFWriter::H5, vcl::PDFWriter::H6, vcl::PDFWriter::Header, vcl::PDFWriter::Heading, vcl::PDFWriter::Height, vcl::PDFWriter::Inline, vcl::PDFWriter::InlineAlign, vcl::PDFWriter::Justify, vcl::PDFWriter::Layout, vcl::PDFWriter::LIBody, vcl::PDFWriter::LILabel, vcl::PDFWriter::LineHeight, vcl::PDFWriter::LineThrough, vcl::PDFWriter::Link, vcl::PDFWriter::List, vcl::PDFWriter::ListItem, vcl::PDFWriter::ListNumbering, vcl::PDFWriter::LowerAlpha, vcl::PDFWriter::LowerRoman, vcl::PDFWriter::LrTb, m_aContext, m_aStructure, m_bEmitStructure, m_nCurrentStructElement, vcl::PDFWriter::Middle, vcl::PDFWriter::NONE, vcl::PDFWriter::NonStructElement, vcl::PDFWriter::Normal, vcl::PDFWriter::Note, vcl::PDFWriter::Overline, vcl::PDFWriter::Page, vcl::PDFWriter::Pagination, vcl::PDFWriter::Paragraph, vcl::PDFWriter::Pb, vcl::PDFWriter::PDF_1_5, vcl::PDFWriter::PDF_1_7, vcl::PDFWriter::Placement, vcl::PDFWriter::Quote, vcl::PDFWriter::Rb, vcl::PDFWriter::Reference, vcl::PDFWriter::RlTb, vcl::PDFWriter::Role, vcl::PDFWriter::Row, SAL_INFO, vcl::PDFWriter::Scope, vcl::PDFWriter::Span, vcl::PDFWriter::Square, vcl::PDFWriter::Start, vcl::PDFWriter::Subtype, vcl::PDFWriter::Table, vcl::PDFWriter::TableData, vcl::PDFWriter::TableHeader, vcl::PDFWriter::TableRow, vcl::PDFWriter::PDFWriterContext::Tagged, vcl::PDFWriter::TbRl, vcl::PDFWriter::TextAlign, vcl::PDFWriter::TextDecorationType, vcl::PDFWriter::Tv, vcl::PDFWriter::Type, vcl::PDFWriter::Underline, vcl::PDFWriter::UpperAlpha, vcl::PDFWriter::UpperRoman, vcl::PDFWriter::PDFWriterContext::Version, vcl::PDFWriter::Watermark, vcl::PDFWriter::Width, and vcl::PDFWriter::WritingMode.

◆ setStructureAttributeNumerical()

bool vcl::PDFWriterImpl::setStructureAttributeNumerical ( enum PDFWriter::StructAttribute  eAttr,
sal_Int32  nValue 
)

◆ setStructureBoundingBox()

void vcl::PDFWriterImpl::setStructureBoundingBox ( const tools::Rectangle rRect)

◆ setTextAlign()

void vcl::PDFWriterImpl::setTextAlign ( TextAlign  eAlign)
inline

Definition at line 1254 of file pdfwriter_impl.hxx.

References vcl::pdf::Font, and m_aGraphicsStack.

Referenced by pop().

◆ setTextColor()

void vcl::PDFWriterImpl::setTextColor ( const Color rColor)
inline

◆ setTextFillColor() [1/2]

void vcl::PDFWriterImpl::setTextFillColor ( )
inline

Definition at line 1215 of file pdfwriter_impl.hxx.

References COL_TRANSPARENT(), vcl::pdf::Font, and m_aGraphicsStack.

Referenced by pop().

◆ setTextFillColor() [2/2]

void vcl::PDFWriterImpl::setTextFillColor ( const Color rColor)
inline

Definition at line 1209 of file pdfwriter_impl.hxx.

References vcl::pdf::Font, Color::IsTransparent(), and m_aGraphicsStack.

◆ setTextLineColor() [1/2]

void vcl::PDFWriterImpl::setTextLineColor ( )
inline

Definition at line 1189 of file pdfwriter_impl.hxx.

References COL_TRANSPARENT(), and m_aGraphicsStack.

Referenced by drawRelief(), drawShadow(), and pop().

◆ setTextLineColor() [2/2]

void vcl::PDFWriterImpl::setTextLineColor ( const Color rColor)
inline

Definition at line 1194 of file pdfwriter_impl.hxx.

References m_aGraphicsStack.

◆ setupDocInfo()

void vcl::PDFWriterImpl::setupDocInfo ( )
private

◆ sortWidgets()

void vcl::PDFWriterImpl::sortWidgets ( )
private

◆ updateGraphicsState()

void vcl::PDFWriterImpl::updateGraphicsState ( Mode  mode = Mode::DEFAULT)
private

◆ updateObject()

bool vcl::PDFWriterImpl::updateObject ( sal_Int32  n)
overrideprivatevirtual

◆ updateOutlineItemCount()

sal_Int32 vcl::PDFWriterImpl::updateOutlineItemCount ( std::vector< sal_Int32 > &  rCounts,
sal_Int32  nItemLevel,
sal_Int32  nCurrentItemId 
)
private

◆ writeBitmapObject()

bool vcl::PDFWriterImpl::writeBitmapObject ( const BitmapEmit rObject,
bool  bMask = false 
)
private

Definition at line 9390 of file pdfwriter_impl.cxx.

References beginCompression(), CHECK_RETURN, checkAndEnableStreamEncryption(), COL_BLACK(), COL_WHITE(), Bitmap::Convert(), createObject(), disableStreamEncryption(), emitComment(), enableStringEncryption(), vcl::PDFWriter::PDFEncryptionProperties::Encrypt(), vcl::PDFWriter::PDFWriterContext::Encryption, endCompression(), g_bDebugDisableCompression, vcl::ScopedBitmapAccess< Access, Bitmap, Acquire >::get(), BitmapEx::GetAlphaMask(), BitmapInfoAccess::GetBestPaletteIndex(), BitmapInfoAccess::GetBitCount(), AlphaMask::GetBitmap(), BitmapEx::GetBitmap(), Color::GetBlue(), BitmapReadAccess::GetColor(), Color::GetGreen(), BitmapInfoAccess::GetPalette(), BitmapInfoAccess::GetPaletteColor(), BitmapInfoAccess::GetPaletteEntryCount(), Bitmap::getPixelFormat(), Color::GetRed(), BitmapReadAccess::GetScanline(), BitmapInfoAccess::GetScanlineFormat(), Bitmap::GetSizePixel(), vcl::pdf::ReferenceXObjectEmit::hasExternalPDFData(), Bitmap::HasGreyPaletteAny(), Size::Height(), BitmapInfoAccess::Height(), i, vcl::INVALID, BitmapEx::IsAlpha(), vcl::pdf::BitmapEmit::m_aBitmap, m_aCipher, m_aContext, m_aErrors, m_aFile, vcl::pdf::BitmapEmit::m_aReferenceXObject, m_bIsPDF_A1, vcl::pdf::BitmapEmit::m_nObject, m_vEncryptionBuffer, N1BitThreshold, vcl::N24_BPP, N24BitTcRgb, vcl::N32_BPP, vcl::N8_BPP, N8BitGreys, vcl::PDFWriter::PDF_1_4, vcl::pixelFormatBitCount(), SAL_WARN_IF, updateObject(), vcl::PDFWriter::PDFWriterContext::UseReferenceXObject, vcl::PDFWriter::PDFWriterContext::Version, vcl::PDFWriter::Warning_Transparency_Omitted_PDFA, Size::Width(), BitmapInfoAccess::Width(), writeBitmapObject(), vcl::PDFObjectContainer::writeBuffer(), writeBufferBytes(), writeG4Stream(), writeReferenceXObject(), x, and y.

Referenced by emitType3Font(), endPage(), writeBitmapObject(), and writeJPG().

◆ writeBufferBytes()

bool vcl::PDFWriterImpl::writeBufferBytes ( const void *  pBuffer,
sal_uInt64  nBytes 
)
overrideprivatevirtual

◆ writeG4Stream()

void PDFWriterImpl::writeG4Stream ( BitmapReadAccess const *  i_pBitmap)
private

◆ writeGradientFunction()

bool vcl::PDFWriterImpl::writeGradientFunction ( GradientEmit const &  rObject)
private

◆ writeJPG()

void vcl::PDFWriterImpl::writeJPG ( const JPGEmit rEmit)
private

◆ writeReferenceXObject()

void vcl::PDFWriterImpl::writeReferenceXObject ( const ReferenceXObjectEmit rEmit)
private

Writes the form XObject proxy for the image.

Definition at line 9051 of file pdfwriter_impl.cxx.

References basegfx::B2DHomMatrix::a(), aMap, basegfx::B2DHomMatrix::b(), basegfx::B2DHomMatrix::c(), CHECK_RETURN2, checkAndEnableStreamEncryption(), vcl::PDFObjectCopier::copyExternalResource(), vcl::PDFObjectCopier::copyPageResources(), vcl::PDFObjectCopier::copyPageStreams(), createObject(), basegfx::B2DHomMatrix::d(), basegfx::deg2rad(), disableStreamEncryption(), basegfx::B2DHomMatrix::e(), emitComment(), basegfx::B2DHomMatrix::f(), g_bDebugDisableCompression, vcl::ExternalPDFStreams::get(), SvMemoryStream::GetData(), vcl::pdf::getDefaultPdfResolutionDpi(), vcl::filter::PDFObjectElement::GetDocument(), OutputDevice::GetDPIX(), OutputDevice::GetDPIY(), vcl::filter::PDFDocument::GetEditBuffer(), basegfx::Range2D< typename TYPE, typename TRAITS >::getHeight(), MapMode::GetMapUnit(), vcl::ExternalPDFStream::getPDFDocument(), SvMemoryStream::GetSize(), basegfx::Range2D< typename TYPE, typename TRAITS >::getWidth(), Size::Height(), vcl::filter::PDFObjectElement::Lookup(), vcl::filter::PDFObjectElement::LookupObject(), m_aContext, m_aExternalPDFStreams, m_aMapMode, m_aPages, vcl::pdf::ReferenceXObjectEmit::m_aPixelSize, vcl::pdf::ReferenceXObjectEmit::m_nBitmapObject, vcl::pdf::ReferenceXObjectEmit::m_nEmbeddedObject, vcl::pdf::ReferenceXObjectEmit::m_nExternalPDFDataIndex, vcl::pdf::ReferenceXObjectEmit::m_nExternalPDFPageIndex, vcl::pdf::ReferenceXObjectEmit::m_nFormObject, nLength, vcl::PDFWriter::PDF_1_7, OutputDevice::PixelToLogic(), pObject, basegfx::B2DHomMatrix::rotate(), SAL_WARN, OutputDevice::SetDPIX(), OutputDevice::SetDPIY(), basegfx::B2DRange::transform(), basegfx::B2DHomMatrix::translate(), updateObject(), vcl::PDFWriter::PDFWriterContext::UseReferenceXObject, vcl::PDFWriter::PDFWriterContext::Version, Size::Width(), and vcl::PDFObjectContainer::writeBuffer().

Referenced by writeBitmapObject(), and writeJPG().

◆ writeTransparentObject()

void vcl::PDFWriterImpl::writeTransparentObject ( TransparencyEmit rObject)
private

Friends And Related Function Documentation

◆ PDFStreamIf

friend class PDFStreamIf
friend

Definition at line 692 of file pdfwriter_impl.hxx.

Referenced by emitEmbeddedFiles().

◆ vcl::pdf::PDFPage

friend struct vcl::pdf::PDFPage
friend

Definition at line 695 of file pdfwriter_impl.hxx.

Member Data Documentation

◆ m_aBitmaps

std::list< BitmapEmit > vcl::PDFWriterImpl::m_aBitmaps
private

Definition at line 721 of file pdfwriter_impl.hxx.

Referenced by createBitmapEmit(), and endPage().

◆ m_aBuildinFontToObjectMap

std::map< sal_Int32, sal_Int32 > vcl::PDFWriterImpl::m_aBuildinFontToObjectMap
private

Definition at line 812 of file pdfwriter_impl.hxx.

Referenced by appendBuildinFontsToDict(), emitFonts(), and getBestBuildinFont().

◆ m_aCipher

rtlCipher vcl::PDFWriterImpl::m_aCipher
private

◆ m_aContext

PDFWriter::PDFWriterContext vcl::PDFWriterImpl::m_aContext
private

◆ m_aCreationDateString

OString vcl::PDFWriterImpl::m_aCreationDateString
private

Definition at line 865 of file pdfwriter_impl.hxx.

Referenced by emitInfoDict(), and setupDocInfo().

◆ m_aCreationMetaDateString

OString vcl::PDFWriterImpl::m_aCreationMetaDateString
private

Definition at line 867 of file pdfwriter_impl.hxx.

Referenced by emitDocumentMetadata(), and setupDocInfo().

◆ m_aCurrentPDFState

GraphicsState vcl::PDFWriterImpl::m_aCurrentPDFState
private

◆ m_aDestinationIdTranslation

::std::map< sal_Int32, sal_Int32 > vcl::PDFWriterImpl::m_aDestinationIdTranslation
private

contains destinations accessible via a public Id, instead of being linked to by an ordinary link

Definition at line 734 of file pdfwriter_impl.hxx.

Referenced by emitWidgetAnnotations(), and registerDestReference().

◆ m_aDests

std::vector<PDFDest> vcl::PDFWriterImpl::m_aDests
private

◆ m_aDocumentAttachedFiles

std::vector<PDFDocumentAttachedFile> vcl::PDFWriterImpl::m_aDocumentAttachedFiles
private

Definition at line 744 of file pdfwriter_impl.hxx.

Referenced by addDocumentAttachedFile(), emitCatalog(), and emitTrailer().

◆ m_aEmbeddedFiles

std::vector<PDFEmbeddedFile> vcl::PDFWriterImpl::m_aEmbeddedFiles
private

Contains embedded files.

Definition at line 742 of file pdfwriter_impl.hxx.

Referenced by addEmbeddedFile(), and emitEmbeddedFiles().

◆ m_aErrors

std::set< PDFWriter::ErrorCode > vcl::PDFWriterImpl::m_aErrors
private

◆ m_aExternalPDFStreams

ExternalPDFStreams vcl::PDFWriterImpl::m_aExternalPDFStreams
private

Definition at line 818 of file pdfwriter_impl.hxx.

Referenced by createEmbeddedFile(), and writeReferenceXObject().

◆ m_aFieldNameMap

std::unordered_map< OString, sal_Int32 > vcl::PDFWriterImpl::m_aFieldNameMap
private

Definition at line 784 of file pdfwriter_impl.hxx.

Referenced by createWidgetFieldName().

◆ m_aFile

osl::File vcl::PDFWriterImpl::m_aFile
private

◆ m_aGlobalResourceDict

ResourceDict vcl::PDFWriterImpl::m_aGlobalResourceDict
private

Definition at line 810 of file pdfwriter_impl.hxx.

Referenced by createBitmapEmit(), emitResources(), and pushResource().

◆ m_aGradients

std::list< GradientEmit > vcl::PDFWriterImpl::m_aGradients
private

Definition at line 788 of file pdfwriter_impl.hxx.

Referenced by createGradient(), emitGradients(), and emitResources().

◆ m_aGraphicsStack

std::list< GraphicsState > vcl::PDFWriterImpl::m_aGraphicsStack
private

◆ m_aJPGs

std::vector<JPGEmit> vcl::PDFWriterImpl::m_aJPGs
private

Definition at line 723 of file pdfwriter_impl.hxx.

Referenced by drawJPGBitmap(), and endPage().

◆ m_aLinkPropertyMap

std::map<sal_Int32, sal_Int32> vcl::PDFWriterImpl::m_aLinkPropertyMap
private

Definition at line 752 of file pdfwriter_impl.hxx.

Referenced by emitStructure(), emitStructureAttributes(), and setLinkPropertyId().

◆ m_aLinks

std::vector<PDFLink> vcl::PDFWriterImpl::m_aLinks
private

◆ m_aMapMode

MapMode vcl::PDFWriterImpl::m_aMapMode
private

◆ m_aNamedDests

std::vector<PDFNamedDest> vcl::PDFWriterImpl::m_aNamedDests
private

Definition at line 727 of file pdfwriter_impl.hxx.

Referenced by createNamedDest(), and emitNamedDestinations().

◆ m_aNotes

std::vector<PDFNoteEntry> vcl::PDFWriterImpl::m_aNotes
private

Definition at line 759 of file pdfwriter_impl.hxx.

Referenced by createNote(), and emitNoteAnnotations().

◆ m_aObjects

std::vector< sal_uInt64 > vcl::PDFWriterImpl::m_aObjects
private

Definition at line 718 of file pdfwriter_impl.hxx.

Referenced by createObject(), emitTrailer(), and updateObject().

◆ m_aOutline

std::vector<PDFOutlineEntry> vcl::PDFWriterImpl::m_aOutline
private

◆ m_aOutputStreams

std::list< StreamRedirect > vcl::PDFWriterImpl::m_aOutputStreams
private

◆ m_aPages

std::vector< PDFPage > vcl::PDFWriterImpl::m_aPages
private

◆ m_aPDFBmpCache

o3tl::lru_map<BitmapChecksum, std::shared_ptr<SvMemoryStream> > vcl::PDFWriterImpl::m_aPDFBmpCache
private

Cache some most recent bitmaps we've exported, in case we encounter them again..

Definition at line 800 of file pdfwriter_impl.hxx.

Referenced by implWriteBitmapEx().

◆ m_aRadioGroupWidgets

std::map< sal_Int32, sal_Int32 > vcl::PDFWriterImpl::m_aRadioGroupWidgets
private

Definition at line 782 of file pdfwriter_impl.hxx.

Referenced by ensureUniqueRadioOnValues(), and findRadioGroupWidget().

◆ m_aRoleMap

std::unordered_map< OString, OString > vcl::PDFWriterImpl::m_aRoleMap
private

Definition at line 774 of file pdfwriter_impl.hxx.

Referenced by addRoleMap(), and emitStructure().

◆ m_aScreens

std::vector<PDFScreen> vcl::PDFWriterImpl::m_aScreens
private

Contains all screen annotations.

Definition at line 740 of file pdfwriter_impl.hxx.

Referenced by createScreen(), emitScreenAnnotations(), emitStructure(), setScreenStream(), and setScreenURL().

◆ m_aStructParentTree

std::vector< OString > vcl::PDFWriterImpl::m_aStructParentTree
private

Definition at line 768 of file pdfwriter_impl.hxx.

Referenced by AppendAnnotKid(), and emitStructParentTree().

◆ m_aStructure

std::vector<PDFStructureElement> vcl::PDFWriterImpl::m_aStructure
private

◆ m_aSubsets

std::map<const vcl::font::PhysicalFontFace*, FontSubset> vcl::PDFWriterImpl::m_aSubsets
private

Definition at line 793 of file pdfwriter_impl.hxx.

Referenced by drawLayout(), emitFonts(), and registerSimpleGlyph().

◆ m_aSystemFonts

std::map<const vcl::font::PhysicalFontFace*, EmbedFont> vcl::PDFWriterImpl::m_aSystemFonts
private

Definition at line 794 of file pdfwriter_impl.hxx.

Referenced by emitFonts(), and getSystemFont().

◆ m_aTilings

std::vector< TilingEmit > vcl::PDFWriterImpl::m_aTilings
private

Definition at line 790 of file pdfwriter_impl.hxx.

Referenced by drawWallpaper(), emitResources(), and emitTilings().

◆ m_aTransparentObjects

std::vector< TransparencyEmit > vcl::PDFWriterImpl::m_aTransparentObjects
private

Definition at line 791 of file pdfwriter_impl.hxx.

Referenced by drawTransparent(), endPage(), and endTransparencyGroup().

◆ m_aType3Fonts

std::map<const vcl::font::PhysicalFontFace*, FontSubset> vcl::PDFWriterImpl::m_aType3Fonts
private

Definition at line 795 of file pdfwriter_impl.hxx.

Referenced by emitFonts(), and registerGlyph().

◆ m_aWidgets

std::vector<PDFWidget> vcl::PDFWriterImpl::m_aWidgets
private

◆ m_aWidgetStyleSettings

StyleSettings vcl::PDFWriterImpl::m_aWidgetStyleSettings
private

◆ m_bEmitStructure

bool vcl::PDFWriterImpl::m_bEmitStructure
private

◆ m_bEncryptThisStream

bool vcl::PDFWriterImpl::m_bEncryptThisStream
private

◆ m_bIsPDF_A1

bool vcl::PDFWriterImpl::m_bIsPDF_A1
private

◆ m_bIsPDF_A2

bool vcl::PDFWriterImpl::m_bIsPDF_A2
private

◆ m_bIsPDF_A3

bool vcl::PDFWriterImpl::m_bIsPDF_A3
private

◆ m_bIsPDF_UA

bool vcl::PDFWriterImpl::m_bIsPDF_UA
private

Definition at line 1087 of file pdfwriter_impl.hxx.

Referenced by emitDocumentMetadata(), and PDFWriterImpl().

◆ m_bOpen

bool vcl::PDFWriterImpl::m_bOpen
private

◆ m_DocDigest

::comphelper::Hash vcl::PDFWriterImpl::m_DocDigest
private

Definition at line 833 of file pdfwriter_impl.hxx.

Referenced by emitTrailer(), and writeBufferBytes().

◆ m_nAccessPermissions

sal_Int32 vcl::PDFWriterImpl::m_nAccessPermissions
private

Definition at line 863 of file pdfwriter_impl.hxx.

Referenced by emitTrailer(), and PDFWriterImpl().

◆ m_nCatalogObject

sal_Int32 vcl::PDFWriterImpl::m_nCatalogObject
private

Definition at line 804 of file pdfwriter_impl.hxx.

Referenced by emitCatalog(), and emitTrailer().

◆ m_nCurrentPage

sal_Int32 vcl::PDFWriterImpl::m_nCurrentPage
private

◆ m_nCurrentStructElement

sal_Int32 vcl::PDFWriterImpl::m_nCurrentStructElement
private

◆ m_nFontDictObject

sal_Int32 vcl::PDFWriterImpl::m_nFontDictObject
private

Definition at line 811 of file pdfwriter_impl.hxx.

Referenced by getFontDictObject().

◆ m_nKeyLength

sal_Int32 vcl::PDFWriterImpl::m_nKeyLength
private

◆ m_nNextFID

sal_Int32 vcl::PDFWriterImpl::m_nNextFID
private

Definition at line 796 of file pdfwriter_impl.hxx.

Referenced by getSystemFont(), registerGlyph(), and registerSimpleGlyph().

◆ m_nRC4KeyLength

sal_Int32 vcl::PDFWriterImpl::m_nRC4KeyLength
private

◆ m_nResourceDict

sal_Int32 vcl::PDFWriterImpl::m_nResourceDict
private

Definition at line 809 of file pdfwriter_impl.hxx.

Referenced by getResourceDictObj().

◆ m_nSignatureContentOffset

sal_Int64 vcl::PDFWriterImpl::m_nSignatureContentOffset
private

Definition at line 807 of file pdfwriter_impl.hxx.

◆ m_nSignatureLastByteRangeNoOffset

sal_Int64 vcl::PDFWriterImpl::m_nSignatureLastByteRangeNoOffset
private

Definition at line 808 of file pdfwriter_impl.hxx.

◆ m_nSignatureObject

sal_Int32 vcl::PDFWriterImpl::m_nSignatureObject
private

Definition at line 806 of file pdfwriter_impl.hxx.

Referenced by createControl(), emit(), and emitCatalog().

◆ m_pCodec

std::unique_ptr<ZCodec> vcl::PDFWriterImpl::m_pCodec
private

Definition at line 828 of file pdfwriter_impl.hxx.

Referenced by beginCompression(), endCompression(), and writeBufferBytes().

◆ m_pMemStream

std::unique_ptr<SvMemoryStream> vcl::PDFWriterImpl::m_pMemStream
private

Definition at line 829 of file pdfwriter_impl.hxx.

Referenced by beginCompression(), endCompression(), and writeBufferBytes().

◆ m_rOuterFace

PDFWriter& vcl::PDFWriterImpl::m_rOuterFace
private

Definition at line 1091 of file pdfwriter_impl.hxx.

Referenced by implWriteBitmapEx(), implWriteGradient(), and playMetafile().

◆ m_StructElementStack

std::stack<sal_Int32> vcl::PDFWriterImpl::m_StructElementStack
private

Definition at line 766 of file pdfwriter_impl.hxx.

Referenced by beginStructureElement(), and endStructureElement().

◆ m_StructElemObjsWithID

std::unordered_set<sal_Int32> vcl::PDFWriterImpl::m_StructElemObjsWithID
private

Definition at line 776 of file pdfwriter_impl.hxx.

Referenced by emitStructIDTree(), emitStructure(), and initStructureElement().

◆ m_vEncryptionBuffer

std::vector<sal_uInt8> vcl::PDFWriterImpl::m_vEncryptionBuffer
private

◆ m_xTrans

css::uno::Reference< css::util::XURLTransformer > vcl::PDFWriterImpl::m_xTrans
private

Definition at line 748 of file pdfwriter_impl.hxx.

Referenced by setLinkURL().

◆ ncMaxPDFArraySize

const sal_uInt32 vcl::PDFWriterImpl::ncMaxPDFArraySize = 8191
staticprivate

Definition at line 1003 of file pdfwriter_impl.hxx.

Referenced by addInternalStructureContainer().

◆ s_nPadString

const sal_uInt8 vcl::PDFWriterImpl::s_nPadString
staticprivate
Initial value:
=
{
0x28, 0xBF, 0x4E, 0x5E, 0x4E, 0x75, 0x8A, 0x41, 0x64, 0x00, 0x4E, 0x56, 0xFF, 0xFA, 0x01, 0x08,
0x2E, 0x2E, 0x00, 0xB6, 0xD0, 0x68, 0x3E, 0x80, 0x2F, 0x0C, 0xA9, 0xFE, 0x64, 0x53, 0x69, 0x7A
}

Definition at line 852 of file pdfwriter_impl.hxx.

Referenced by computeUDictionaryValue(), and padPassword().


The documentation for this class was generated from the following files: