diff options
author | Jan Holesovsky <kendy@collabora.com> | 2014-11-13 17:59:39 +0100 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2014-11-14 00:07:05 +0100 |
commit | 48fa9f1e191ffec9be2dfd41061173c488276705 (patch) | |
tree | dd17be18318e810e1bab5454999fb0b34e452f56 /vcl/inc/win | |
parent | f2be14cdba8dbe0128751007acf9e82bde3e60a0 (diff) |
Revert "vcl: Abstract the Windows text rendering into a TextRenderImpl descendant."
Turns out it might be easier to actually subclass only the various SalLayout's
- let's try it first, and re-introduce this code again if not.
This reverts commit 309257ddadfdc3e46506036ed81f6e0695211ebe.
Diffstat (limited to 'vcl/inc/win')
-rw-r--r-- | vcl/inc/win/salgdi.h | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/vcl/inc/win/salgdi.h b/vcl/inc/win/salgdi.h index 18709e150d81..69ea4cfde2cb 100644 --- a/vcl/inc/win/salgdi.h +++ b/vcl/inc/win/salgdi.h @@ -25,9 +25,7 @@ #include "outfont.hxx" #include "PhysicalFontFace.hxx" #include "impfont.hxx" -#include <textrender.hxx> #include <vcl/fontcapabilities.hxx> -#include <win/svsys.h> #include <boost/scoped_ptr.hpp> #include <boost/unordered_set.hpp> @@ -150,7 +148,6 @@ class WinSalGraphics : public SalGraphics friend class ScopedFont; private: boost::scoped_ptr<SalGraphicsImpl> mpImpl; - boost::scoped_ptr<TextRenderImpl> mpTextRenderImpl; HDC mhLocalDC; // HDC bool mbPrinter : 1; // is Printer @@ -159,13 +156,26 @@ private: bool mbScreen : 1; // is Screen compatible HWND mhWnd; // Window-Handle, when Window-Graphics + HFONT mhFonts[ MAX_FALLBACK ]; // Font + Fallbacks + const ImplWinFontData* mpWinFontData[ MAX_FALLBACK ]; // pointer to the most recent font face + ImplWinFontEntry* mpWinFontEntry[ MAX_FALLBACK ]; // pointer to the most recent font instance + float mfFontScale[ MAX_FALLBACK ]; // allows metrics emulation of huge font sizes + float mfCurrentFontScale; HRGN mhRegion; // vcl::Region Handle HPEN mhDefPen; // DefaultPen HBRUSH mhDefBrush; // DefaultBrush + HFONT mhDefFont; // DefaultFont HPALETTE mhDefPal; // DefaultPalette COLORREF mnTextColor; // TextColor RGNDATA* mpClipRgnData; // ClipRegion-Data RGNDATA* mpStdClipRgnData; // Cache Standard-ClipRegion-Data + LOGFONTA* mpLogFont; // LOG-Font which is currently selected (only W9x) + ImplFontAttrCache* mpFontAttrCache; // Cache font attributes from files in so/share/fonts + BYTE* mpFontCharSets; // All Charsets for the current font + BYTE mnFontCharSetCount; // Number of Charsets of the current font; 0 - if not queried + bool mbFontKernInit; // FALSE: FontKerns must be queried + KERNINGPAIR* mpFontKernPairs; // Kerning Pairs of the current Font + sal_uIntPtr mnFontKernPairCount;// Number of Kerning Pairs of the current Font int mnPenWidth; // Linienbreite public: @@ -275,6 +285,12 @@ protected: const SalBitmap* pAlphaBitmap); virtual bool drawAlphaRect( long nX, long nY, long nWidth, long nHeight, sal_uInt8 nTransparency ); +private: + // local helpers + + // get kernign pairs of the current font + sal_uLong GetKernPairs(); + public: // public SalGraphics methods, the interface to the independent vcl part @@ -366,6 +382,7 @@ public: bool bVertical, Int32Vector& rWidths, Ucs2UIntMap& rUnicodeEnc ); + virtual int GetMinKashidaWidth(); virtual bool GetGlyphBoundRect( sal_GlyphId, Rectangle& ); virtual bool GetGlyphOutline( sal_GlyphId, ::basegfx::B2DPolyPolygon& ); |