summaryrefslogtreecommitdiff
path: root/vcl/source/gdi/pdfwriter_impl.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/source/gdi/pdfwriter_impl.hxx')
-rw-r--r--vcl/source/gdi/pdfwriter_impl.hxx19
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