summaryrefslogtreecommitdiff
path: root/vcl/inc/outfont.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/inc/outfont.hxx')
-rw-r--r--vcl/inc/outfont.hxx38
1 files changed, 29 insertions, 9 deletions
diff --git a/vcl/inc/outfont.hxx b/vcl/inc/outfont.hxx
index 75871dac4293..3145210e7fa9 100644
--- a/vcl/inc/outfont.hxx
+++ b/vcl/inc/outfont.hxx
@@ -71,6 +71,12 @@ public: // TODO: create matching interface class
FontWidth GetWidthType() const { return meWidthType; }
bool IsSymbolFont() const { return mbSymbolFlag; }
+ bool operator==(const ImplFontAttributes& rOther) const;
+ bool operator!=(const ImplFontAttributes& rOther) const
+ {
+ return !(*this == rOther);
+ }
+
public: // TODO: hide members behind accessor methods
String maName; // Font Family Name
String maStyleName; // Font Style Name
@@ -152,24 +158,27 @@ friend class ImplDevFontListData;
ImplFontData* mpNext;
};
-// ----------------------
-// - FontSelectPattern -
-// ----------------------
-
-class FontSelectPattern : public ImplFontAttributes
+class FontSelectPatternAttributes : public ImplFontAttributes
{
public:
- FontSelectPattern( const Font&, const String& rSearchName,
+ FontSelectPatternAttributes( const Font&, const String& rSearchName,
const Size&, float fExactHeight );
- FontSelectPattern( const ImplFontData&, const Size&,
+ FontSelectPatternAttributes( const ImplFontData&, const Size&,
float fExactHeight, int nOrientation, bool bVertical );
-public: // TODO: change to private
+ size_t hashCode() const;
+ bool operator==(const FontSelectPatternAttributes& rOther) const;
+ bool operator!=(const FontSelectPatternAttributes& rOther) const
+ {
+ return !(*this == rOther);
+ }
+
+public:
String maTargetName; // name of the font name token that is chosen
String maSearchName; // name of the font that matches best
int mnWidth; // width of font in pixel units
int mnHeight; // height of font in pixel units
- float mfExactHeight; // requested height (in pixels with subpixel details)
+ float mfExactHeight; // requested height (in pixels with subpixel details)
int mnOrientation; // text orientation in 3600 system
LanguageType meLanguage; // text language
bool mbVertical; // vertical mode of requested font
@@ -177,9 +186,20 @@ public: // TODO: change to private
bool mbEmbolden; // Force emboldening
ItalicMatrix maItalicMatrix; // Force matrix for slant
+};
+class FontSelectPattern : public FontSelectPatternAttributes
+{
+public:
+ FontSelectPattern( const Font&, const String& rSearchName,
+ const Size&, float fExactHeight );
+ FontSelectPattern( const ImplFontData&, const Size&,
+ float fExactHeight, int nOrientation, bool bVertical );
+
+public: // TODO: change to private
const ImplFontData* mpFontData; // a matching ImplFontData object
ImplFontEntry* mpFontEntry; // pointer to the resulting FontCache entry
+ void copyAttributes(const FontSelectPatternAttributes &rAttributes);
};
// -------------------