diff options
Diffstat (limited to 'vcl/source/gdi/pdfwriter_impl.hxx')
-rw-r--r-- | vcl/source/gdi/pdfwriter_impl.hxx | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/vcl/source/gdi/pdfwriter_impl.hxx b/vcl/source/gdi/pdfwriter_impl.hxx index 542b2b512629..7d81df8b4311 100644 --- a/vcl/source/gdi/pdfwriter_impl.hxx +++ b/vcl/source/gdi/pdfwriter_impl.hxx @@ -43,6 +43,7 @@ #include "sallayout.hxx" #include "outdata.hxx" #include "pdffontcache.hxx" +#include "PhysicalFontFace.hxx" class StyleSettings; class FontSelectPattern; @@ -70,6 +71,7 @@ namespace vcl class PDFStreamIf; class Matrix3; +class ImplPdfBuiltinFontData; class PDFWriterImpl { @@ -833,7 +835,7 @@ i12626 /* writes all gradient patterns */ bool emitGradients(); /* writes a builtin font object and returns its objectid (or 0 in case of failure ) */ - sal_Int32 emitBuiltinFont( const PhysicalFontFace*, sal_Int32 nObject = -1 ); + sal_Int32 emitBuiltinFont( const ImplPdfBuiltinFontData*, sal_Int32 nObject = -1 ); /* writes a type1 embedded font object and returns its mapping from font ids to object ids (or 0 in case of failure ) */ std::map< sal_Int32, sal_Int32 > emitEmbeddedFont( const PhysicalFontFace*, EmbedFont& ); /* writes a type1 system font object and returns its mapping from font ids to object ids (or 0 in case of failure ) */ @@ -1254,6 +1256,21 @@ public: } }; +class ImplPdfBuiltinFontData : public PhysicalFontFace +{ +private: + const PDFWriterImpl::BuiltinFont& mrBuiltin; + +public: + explicit ImplPdfBuiltinFontData( const PDFWriterImpl::BuiltinFont& ); + const PDFWriterImpl::BuiltinFont& GetBuiltinFont() const { return mrBuiltin; } + + virtual PhysicalFontFace* Clone() const override { return new ImplPdfBuiltinFontData(*this); } + virtual ImplFontEntry* CreateFontInstance( FontSelectPattern& ) const override; + virtual sal_IntPtr GetFontId() const override { return reinterpret_cast<sal_IntPtr>(&mrBuiltin); } +}; + + } #endif //_VCL_PDFEXPORT_HXX |