LibreOffice Module vcl (master) 1
|
WinSalGraphics never owns the HDC it uses to draw, because the HDC can have various origins with different ways to correctly free it. More...
#include <salgdi.h>
Public Types | |
enum | Type { PRINTER , VIRTUAL_DEVICE , WINDOW , SCREEN } |
Public Member Functions | |
std::tuple< HFONT, bool, sal_Int32 > | ImplDoSetFont (HDC hDC, vcl::font::FontSelectPattern const &i_rFont, const vcl::font::PhysicalFontFace *i_pFontFace, HFONT &o_rOldFont) |
HDC | getHDC () const |
void | setHDC (HDC aNew) |
HPALETTE | getDefPal () const |
UINT | setPalette (HPALETTE, BOOL bForceBkgd=TRUE) |
HRGN | getRegion () const |
HWND | gethWnd () |
WinSalGraphics (WinSalGraphics::Type eType, bool bScreen, HWND hWnd, SalGeometryProvider *pProvider) | |
virtual | ~WinSalGraphics () override |
SalGraphicsImpl * | GetImpl () const override |
WinSalGraphicsImplBase * | getWinSalGraphicsImplBase () const |
bool | isPrinter () const |
bool | isVirtualDevice () const |
bool | isWindow () const |
bool | isScreen () const |
void | setHWND (HWND hWnd) |
void | Flush () |
virtual bool | blendBitmap (const SalTwoRect &, const SalBitmap &rBitmap) override |
Blend the bitmap with the current buffer. More... | |
virtual bool | blendAlphaBitmap (const SalTwoRect &, const SalBitmap &rSrcBitmap, const SalBitmap &rMaskBitmap, const SalBitmap &rAlphaBitmap) override |
Draw the bitmap by blending using the mask and alpha channel. More... | |
virtual bool | drawAlphaBitmap (const SalTwoRect &, const SalBitmap &rSourceBitmap, const SalBitmap &rAlphaBitmap) override |
Render bitmap with alpha channel. More... | |
virtual bool | drawTransformedBitmap (const basegfx::B2DPoint &rNull, const basegfx::B2DPoint &rX, const basegfx::B2DPoint &rY, const SalBitmap &rSourceBitmap, const SalBitmap *pAlphaBitmap, double fAlpha) override |
draw transformed bitmap (maybe with alpha) where Null, X, Y define the coordinate system More... | |
virtual bool | hasFastDrawTransformedBitmap () const override |
Returns true if the drawTransformedBitmap() call is fast, and so it should be used directly without trying to optimize some calls e.g. More... | |
virtual bool | drawAlphaRect (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, sal_uInt8 nTransparency) override |
Render solid rectangle with given transparency. More... | |
virtual void | GetResolution (sal_Int32 &rDPIX, sal_Int32 &rDPIY) override |
virtual sal_uInt16 | GetBitCount () const override |
virtual tools::Long | GetGraphicsWidth () const override |
virtual void | ResetClipRegion () override |
virtual void | SetLineColor () override |
virtual void | SetLineColor (Color nColor) override |
virtual void | SetFillColor () override |
virtual void | SetFillColor (Color nColor) override |
virtual void | SetXORMode (bool bSet, bool) override |
virtual void | SetROPLineColor (SalROPColor nROPColor) override |
virtual void | SetROPFillColor (SalROPColor nROPColor) override |
virtual void | SetTextColor (Color nColor) override |
virtual void | SetFont (LogicalFontInstance *, int nFallbackLevel) override |
virtual void | GetFontMetric (FontMetricDataRef &, int nFallbackLevel) override |
virtual FontCharMapRef | GetFontCharMap () const override |
virtual bool | GetFontCapabilities (vcl::FontCapabilities &rGetFontCapabilities) const override |
virtual void | GetDevFontList (vcl::font::PhysicalFontCollection *) override |
virtual void | ClearDevFontCache () override |
virtual bool | AddTempDevFont (vcl::font::PhysicalFontCollection *, const OUString &rFileURL, const OUString &rFontName) override |
virtual std::unique_ptr< GenericSalLayout > | GetTextLayout (int nFallbackLevel) override |
virtual void | DrawTextLayout (const GenericSalLayout &) override |
virtual bool | supportsOperation (OutDevSupportType) const override |
virtual SystemGraphicsData | GetGraphicsData () const override |
![]() | |
SalGraphics () | |
~SalGraphics () COVERITY_NOEXCEPT_FALSE override | |
virtual SalGraphicsImpl * | GetImpl () const =0 |
void | setAntiAlias (bool bNew) |
bool | getAntiAlias () const |
virtual void | GetResolution (sal_Int32 &rDPIX, sal_Int32 &rDPIY)=0 |
virtual sal_uInt16 | GetBitCount () const =0 |
virtual tools::Long | GetGraphicsWidth () const =0 |
virtual void | ResetClipRegion ()=0 |
virtual void | SetLineColor ()=0 |
virtual void | SetLineColor (Color nColor)=0 |
virtual void | SetFillColor ()=0 |
virtual void | SetFillColor (Color nColor)=0 |
virtual void | SetXORMode (bool bSet, bool bInvertOnly)=0 |
virtual void | SetROPLineColor (SalROPColor nROPColor)=0 |
virtual void | SetROPFillColor (SalROPColor nROPColor)=0 |
virtual void | SetTextColor (Color nColor)=0 |
virtual void | SetFont (LogicalFontInstance *, int nFallbackLevel)=0 |
void | ReleaseFonts () |
virtual void | GetFontMetric (FontMetricDataRef &, int nFallbackLevel)=0 |
virtual FontCharMapRef | GetFontCharMap () const =0 |
virtual bool | GetFontCapabilities (vcl::FontCapabilities &rFontCapabilities) const =0 |
virtual void | GetDevFontList (vcl::font::PhysicalFontCollection *)=0 |
virtual void | ClearDevFontCache ()=0 |
virtual bool | AddTempDevFont (vcl::font::PhysicalFontCollection *, const OUString &rFileURL, const OUString &rFontName)=0 |
virtual std::unique_ptr< GenericSalLayout > | GetTextLayout (int nFallbackLevel)=0 |
virtual void | DrawTextLayout (const GenericSalLayout &)=0 |
virtual bool | supportsOperation (OutDevSupportType) const =0 |
SalLayoutFlags | GetLayout () const |
void | SetLayout (SalLayoutFlags aLayout) |
void | mirror (tools::Long &nX, const OutputDevice &rOutDev) const |
tools::Long | mirror2 (tools::Long nX, const OutputDevice &rOutDev) const |
void | mirror (tools::Long &nX, tools::Long nWidth, const OutputDevice &rOutDev, bool bBack=false) const |
bool | mirror (sal_uInt32 nPoints, const Point *pPtAry, Point *pPtAry2, const OutputDevice &rOutDev) const |
void | mirror (tools::Rectangle &rRect, const OutputDevice &, bool bBack=false) const |
void | mirror (vcl::Region &rRgn, const OutputDevice &rOutDev) const |
void | mirror (ImplControlValue &, const OutputDevice &) const |
basegfx::B2DPolyPolygon | mirror (const basegfx::B2DPolyPolygon &i_rPoly, const OutputDevice &rOutDev) const |
const basegfx::B2DHomMatrix & | getMirror (const OutputDevice &rOutDev) const |
void | SetClipRegion (const vcl::Region &, const OutputDevice &rOutDev) |
void | DrawPixel (tools::Long nX, tools::Long nY, const OutputDevice &rOutDev) |
void | DrawPixel (tools::Long nX, tools::Long nY, Color nColor, const OutputDevice &rOutDev) |
void | DrawLine (tools::Long nX1, tools::Long nY1, tools::Long nX2, tools::Long nY2, const OutputDevice &rOutDev) |
void | DrawRect (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, const OutputDevice &rOutDev) |
void | DrawPolyLine (sal_uInt32 nPoints, Point const *pPtAry, const OutputDevice &rOutDev) |
void | DrawPolygon (sal_uInt32 nPoints, const Point *pPtAry, const OutputDevice &rOutDev) |
void | DrawPolyPolygon (sal_uInt32 nPoly, const sal_uInt32 *pPoints, const Point **pPtAry, const OutputDevice &rOutDev) |
bool | DrawPolyPolygon (const basegfx::B2DHomMatrix &rObjectToDevice, const basegfx::B2DPolyPolygon &i_rPolyPolygon, double i_fTransparency, const OutputDevice &i_rOutDev) |
bool | DrawPolyLine (const basegfx::B2DHomMatrix &rObjectToDevice, const basegfx::B2DPolygon &i_rPolygon, double i_fTransparency, double i_fLineWidth, const std::vector< double > *i_pStroke, basegfx::B2DLineJoin i_eLineJoin, css::drawing::LineCap i_eLineCap, double i_fMiterMinimumAngle, bool bPixelSnapHairline, const OutputDevice &i_rOutDev) |
bool | DrawPolyLineBezier (sal_uInt32 nPoints, const Point *pPtAry, const PolyFlags *pFlgAry, const OutputDevice &rOutDev) |
bool | DrawPolygonBezier (sal_uInt32 nPoints, const Point *pPtAry, const PolyFlags *pFlgAry, const OutputDevice &rOutDev) |
bool | DrawPolyPolygonBezier (sal_uInt32 nPoly, const sal_uInt32 *pPoints, const Point *const *pPtAry, const PolyFlags *const *pFlgAry, const OutputDevice &rOutDev) |
bool | DrawGradient (const tools::PolyPolygon &rPolyPoly, const Gradient &rGradient, const OutputDevice &rOutDev) |
void | CopyArea (tools::Long nDestX, tools::Long nDestY, tools::Long nSrcX, tools::Long nSrcY, tools::Long nSrcWidth, tools::Long nSrcHeight, const OutputDevice &rOutDev) |
void | CopyBits (const SalTwoRect &rPosAry, const OutputDevice &rOutDev) |
void | CopyBits (const SalTwoRect &rPosAry, SalGraphics &rSrcGraphics, const OutputDevice &rOutDev, const OutputDevice &rSrcOutDev) |
void | DrawBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, const OutputDevice &rOutDev) |
void | DrawBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, const SalBitmap &rTransparentBitmap, const OutputDevice &rOutDev) |
void | DrawMask (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, Color nMaskColor, const OutputDevice &rOutDev) |
std::shared_ptr< SalBitmap > | GetBitmap (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, const OutputDevice &rOutDev) |
Color | GetPixel (tools::Long nX, tools::Long nY, const OutputDevice &rOutDev) |
void | Invert (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, SalInvert nFlags, const OutputDevice &rOutDev) |
void | Invert (sal_uInt32 nPoints, const Point *pPtAry, SalInvert nFlags, const OutputDevice &rOutDev) |
bool | DrawEPS (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, void *pPtr, sal_uInt32 nSize, const OutputDevice &rOutDev) |
bool | IsNativeControlSupported (ControlType, ControlPart) |
bool | HitTestNativeScrollbar (ControlPart nPart, const tools::Rectangle &rControlRegion, const Point &aPos, bool &rIsInside, const OutputDevice &rOutDev) |
bool | DrawNativeControl (ControlType nType, ControlPart nPart, const tools::Rectangle &rControlRegion, ControlState nState, const ImplControlValue &aValue, const OUString &aCaption, const OutputDevice &rOutDev, const Color &rBackgroundColor=COL_AUTO) |
bool | GetNativeControlRegion (ControlType nType, ControlPart nPart, const tools::Rectangle &rControlRegion, ControlState nState, const ImplControlValue &aValue, tools::Rectangle &rNativeBoundingRegion, tools::Rectangle &rNativeContentRegion, const OutputDevice &rOutDev) |
bool | UpdateSettings (AllSettings &) |
bool | BlendBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, const OutputDevice &rOutDev) |
bool | BlendAlphaBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSalSrcBitmap, const SalBitmap &rSalMaskBitmap, const SalBitmap &rSalAlphaBitmap, const OutputDevice &rOutDev) |
bool | DrawAlphaBitmap (const SalTwoRect &, const SalBitmap &rSourceBitmap, const SalBitmap &rAlphaBitmap, const OutputDevice &rOutDev) |
bool | DrawTransformedBitmap (const basegfx::B2DPoint &rNull, const basegfx::B2DPoint &rX, const basegfx::B2DPoint &rY, const SalBitmap &rSourceBitmap, const SalBitmap *pAlphaBitmap, double fAlpha, const OutputDevice &rOutDev) |
bool | HasFastDrawTransformedBitmap () const |
bool | DrawAlphaRect (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, sal_uInt8 nTransparency, const OutputDevice &rOutDev) |
virtual OUString | getRenderBackendName () const |
virtual SystemGraphicsData | GetGraphicsData () const =0 |
virtual bool | ShouldDownscaleIconsAtSurface (double *pScaleOut) const |
Static Public Member Functions | |
static void | getDWriteFactory (IDWriteFactory **pFactory, IDWriteGdiInterop **pInterop=nullptr) |
static void | updateSettingsNative (AllSettings &rSettings) |
Update settings based on the platform values. More... | |
Protected Member Functions | |
virtual void | setClipRegion (const vcl::Region &) override |
virtual void | drawPixel (tools::Long nX, tools::Long nY) override |
virtual void | drawPixel (tools::Long nX, tools::Long nY, Color nColor) override |
virtual void | drawLine (tools::Long nX1, tools::Long nY1, tools::Long nX2, tools::Long nY2) override |
virtual void | drawRect (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight) override |
virtual void | drawPolyLine (sal_uInt32 nPoints, const Point *pPtAry) override |
virtual void | drawPolygon (sal_uInt32 nPoints, const Point *pPtAry) override |
virtual void | drawPolyPolygon (sal_uInt32 nPoly, const sal_uInt32 *pPoints, const Point **pPtAry) override |
virtual bool | drawPolyPolygon (const basegfx::B2DHomMatrix &rObjectToDevice, const basegfx::B2DPolyPolygon &, double fTransparency) override |
virtual bool | drawPolyLine (const basegfx::B2DHomMatrix &rObjectToDevice, const basegfx::B2DPolygon &, double fTransparency, double fLineWidth, const std::vector< double > *pStroke, basegfx::B2DLineJoin, css::drawing::LineCap, double fMiterMinimumAngle, bool bPixelSnapHairline) override |
virtual bool | drawPolyLineBezier (sal_uInt32 nPoints, const Point *pPtAry, const PolyFlags *pFlgAry) override |
virtual bool | drawPolygonBezier (sal_uInt32 nPoints, const Point *pPtAry, const PolyFlags *pFlgAry) override |
virtual bool | drawPolyPolygonBezier (sal_uInt32 nPoly, const sal_uInt32 *pPoints, const Point *const *pPtAry, const PolyFlags *const *pFlgAry) override |
virtual bool | drawGradient (const tools::PolyPolygon &, const Gradient &) override |
virtual bool | implDrawGradient (basegfx::B2DPolyPolygon const &rPolyPolygon, SalGradient const &rGradient) override |
virtual void | copyArea (tools::Long nDestX, tools::Long nDestY, tools::Long nSrcX, tools::Long nSrcY, tools::Long nSrcWidth, tools::Long nSrcHeight, bool bWindowInvalidate) override |
virtual void | copyBits (const SalTwoRect &rPosAry, SalGraphics *pSrcGraphics) override |
virtual void | drawBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap) override |
virtual void | drawBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, const SalBitmap &rTransparentBitmap) override |
virtual void | drawMask (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, Color nMaskColor) override |
virtual std::shared_ptr< SalBitmap > | getBitmap (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight) override |
virtual Color | getPixel (tools::Long nX, tools::Long nY) override |
virtual void | invert (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, SalInvert nFlags) override |
virtual void | invert (sal_uInt32 nPoints, const Point *pPtAry, SalInvert nFlags) override |
virtual bool | drawEPS (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, void *pPtr, sal_uInt32 nSize) override |
virtual bool | isNativeControlSupported (ControlType nType, ControlPart nPart) override |
Query the platform layer for native control support. More... | |
virtual bool | hitTestNativeControl (ControlType nType, ControlPart nPart, const tools::Rectangle &rControlRegion, const Point &aPos, bool &rIsInside) override |
Query if a position is inside the native widget part. More... | |
virtual bool | drawNativeControl (ControlType nType, ControlPart nPart, const tools::Rectangle &rControlRegion, ControlState nState, const ImplControlValue &aValue, const OUString &aCaption, const Color &rBackgroundColor) override |
Draw the requested control. More... | |
virtual bool | getNativeControlRegion (ControlType nType, ControlPart nPart, const tools::Rectangle &rControlRegion, ControlState nState, const ImplControlValue &aValue, const OUString &aCaption, tools::Rectangle &rNativeBoundingRegion, tools::Rectangle &rNativeContentRegion) override |
Get the native control regions for the control part. More... | |
![]() | |
virtual void | setClipRegion (const vcl::Region &)=0 |
virtual void | drawPixel (tools::Long nX, tools::Long nY)=0 |
virtual void | drawPixel (tools::Long nX, tools::Long nY, Color nColor)=0 |
virtual void | drawLine (tools::Long nX1, tools::Long nY1, tools::Long nX2, tools::Long nY2)=0 |
virtual void | drawRect (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight)=0 |
virtual void | drawPolyLine (sal_uInt32 nPoints, const Point *pPtAry)=0 |
virtual void | drawPolygon (sal_uInt32 nPoints, const Point *pPtAry)=0 |
virtual void | drawPolyPolygon (sal_uInt32 nPoly, const sal_uInt32 *pPoints, const Point **pPtAry)=0 |
virtual bool | drawPolyPolygon (const basegfx::B2DHomMatrix &rObjectToDevice, const basegfx::B2DPolyPolygon &, double fTransparency)=0 |
virtual bool | drawPolyLine (const basegfx::B2DHomMatrix &rObjectToDevice, const basegfx::B2DPolygon &, double fTransparency, double fLineWidth, const std::vector< double > *pStroke, basegfx::B2DLineJoin, css::drawing::LineCap, double fMiterMinimumAngle, bool bPixelSnapHairline)=0 |
virtual bool | drawPolyLineBezier (sal_uInt32 nPoints, const Point *pPtAry, const PolyFlags *pFlgAry)=0 |
virtual bool | drawPolygonBezier (sal_uInt32 nPoints, const Point *pPtAry, const PolyFlags *pFlgAry)=0 |
virtual bool | drawPolyPolygonBezier (sal_uInt32 nPoly, const sal_uInt32 *pPoints, const Point *const *pPtAry, const PolyFlags *const *pFlgAry)=0 |
virtual bool | drawGradient (const tools::PolyPolygon &rPolyPoly, const Gradient &rGradient)=0 |
virtual bool | implDrawGradient (basegfx::B2DPolyPolygon const &, SalGradient const &) |
virtual void | copyArea (tools::Long nDestX, tools::Long nDestY, tools::Long nSrcX, tools::Long nSrcY, tools::Long nSrcWidth, tools::Long nSrcHeight, bool bWindowInvalidate)=0 |
virtual void | copyBits (const SalTwoRect &rPosAry, SalGraphics *pSrcGraphics)=0 |
virtual void | drawBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap)=0 |
virtual void | drawBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, const SalBitmap &rMaskBitmap)=0 |
virtual void | drawMask (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, Color nMaskColor)=0 |
virtual std::shared_ptr< SalBitmap > | getBitmap (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight)=0 |
virtual Color | getPixel (tools::Long nX, tools::Long nY)=0 |
virtual void | invert (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, SalInvert nFlags)=0 |
virtual void | invert (sal_uInt32 nPoints, const Point *pPtAry, SalInvert nFlags)=0 |
virtual bool | drawEPS (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, void *pPtr, sal_uInt32 nSize)=0 |
virtual bool | blendBitmap (const SalTwoRect &, const SalBitmap &rBitmap)=0 |
Blend the bitmap with the current buffer. More... | |
virtual bool | blendAlphaBitmap (const SalTwoRect &, const SalBitmap &rSrcBitmap, const SalBitmap &rMaskBitmap, const SalBitmap &rAlphaBitmap)=0 |
Draw the bitmap by blending using the mask and alpha channel. More... | |
virtual bool | drawAlphaBitmap (const SalTwoRect &, const SalBitmap &rSourceBitmap, const SalBitmap &rAlphaBitmap)=0 |
Render bitmap with alpha channel. More... | |
virtual bool | drawTransformedBitmap (const basegfx::B2DPoint &rNull, const basegfx::B2DPoint &rX, const basegfx::B2DPoint &rY, const SalBitmap &rSourceBitmap, const SalBitmap *pAlphaBitmap, double fAlpha)=0 |
draw transformed bitmap (maybe with alpha) where Null, X, Y define the coordinate system More... | |
virtual bool | hasFastDrawTransformedBitmap () const =0 |
Returns true if the drawTransformedBitmap() call is fast, and so it should be used directly without trying to optimize some calls e.g. More... | |
virtual bool | drawAlphaRect (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, sal_uInt8 nTransparency)=0 |
Render solid rectangle with given transparency. More... | |
tools::Long | GetDeviceWidth (const OutputDevice &rOutDev) const |
virtual void | handleDamage (const tools::Rectangle &rDamagedRegion) |
Handle damage done by drawing with a widget draw override. More... | |
bool | initWidgetDrawBackends (bool bForce=false) |
vcl::WidgetDrawInterface * | forWidget () |
![]() | |
virtual | ~WidgetDrawInterface () COVERITY_NOEXCEPT_FALSE |
virtual bool | isNativeControlSupported (ControlType eType, ControlPart ePart) |
Query the platform layer for native control support. More... | |
virtual bool | hitTestNativeControl (ControlType eType, ControlPart ePart, const tools::Rectangle &rBoundingControlRegion, const Point &aPos, bool &rIsInside) |
Query if a position is inside the native widget part. More... | |
virtual bool | drawNativeControl (ControlType eType, ControlPart ePart, const tools::Rectangle &rBoundingControlRegion, ControlState eState, const ImplControlValue &aValue, const OUString &aCaptions, const Color &rBackgroundColor) |
Draw the requested control. More... | |
virtual bool | getNativeControlRegion (ControlType eType, ControlPart ePart, const tools::Rectangle &rBoundingControlRegion, ControlState eState, const ImplControlValue &aValue, const OUString &aCaption, tools::Rectangle &rNativeBoundingRegion, tools::Rectangle &rNativeContentRegion) |
Get the native control regions for the control part. More... | |
virtual bool | updateSettings (AllSettings &rSettings) |
Protected Attributes | |
std::unique_ptr< SalGraphicsImpl > | mpImpl |
WinSalGraphicsImplBase * | mWinSalGraphicsImplBase |
![]() | |
bool | m_bAntiAlias: 1 |
flags which hold the SetAntialiasing() value from OutputDevice More... | |
std::unique_ptr< vcl::WidgetDrawInterface > | m_pWidgetDraw |
Private Member Functions | |
void | InitGraphics () |
void | DeInitGraphics () |
void | DrawTextLayout (const GenericSalLayout &, HDC, bool bUseDWrite, bool bRenderingModeNatural) |
Private Attributes | |
HDC | mhLocalDC |
bool | mbPrinter: 1 |
bool | mbVirDev: 1 |
bool | mbWindow: 1 |
bool | mbScreen: 1 |
HWND | mhWnd |
rtl::Reference< WinFontInstance > | mpWinFontEntry [MAX_FALLBACK] |
HRGN | mhRegion |
HPEN | mhDefPen |
HBRUSH | mhDefBrush |
HFONT | mhDefFont |
HPALETTE | mhDefPal |
COLORREF | mnTextColor |
RGNDATA * | mpClipRgnData |
RGNDATA * | mpStdClipRgnData |
int | mnPenWidth |
Static Private Attributes | |
static sal::systools::COMReference< IDWriteFactory > | mxDWriteFactory |
static sal::systools::COMReference< IDWriteGdiInterop > | mxDWriteGdiInterop |
static bool | bDWriteDone = false |
Friends | |
class | WinSalGraphicsImpl |
class | ScopedFont |
WinSalGraphics never owns the HDC it uses to draw, because the HDC can have various origins with different ways to correctly free it.
And WinSalGraphics stores all default values (mhDef*) of the HDC, which must be restored when the HDC changes (setHDC) or the SalGraphics is destructed. So think of the HDC in terms of Rust's Borrowing semantics.
Definition at line 140 of file win/salgdi.h.
enum WinSalGraphics::Type |
Enumerator | |
---|---|
PRINTER | |
VIRTUAL_DEVICE | |
WINDOW | |
SCREEN |
Definition at line 193 of file win/salgdi.h.
|
explicit |
|
overridevirtual |
|
overridevirtual |
Implements SalGraphics.
|
overridevirtual |
Draw the bitmap by blending using the mask and alpha channel.
Implements SalGraphics.
|
overridevirtual |
Blend the bitmap with the current buffer.
Implements SalGraphics.
|
overridevirtual |
Implements SalGraphics.
|
overrideprotectedvirtual |
Implements SalGraphics.
|
overrideprotectedvirtual |
Implements SalGraphics.
|
private |
|
overridevirtual |
Render bitmap with alpha channel.
rSourceBitmap | Source bitmap to blit |
rAlphaBitmap | Alpha channel to use for blitting |
Implements SalGraphics.
|
overridevirtual |
Render solid rectangle with given transparency.
nX | Top left coordinate of rectangle |
nY | Bottom right coordinate of rectangle |
nWidth | Width of rectangle |
nHeight | Height of rectangle |
nTransparency | Transparency value (0-255) to use. 0 blits and opaque, 255 a fully transparent rectangle |
Implements SalGraphics.
|
overrideprotectedvirtual |
Implements SalGraphics.
|
overrideprotectedvirtual |
Implements SalGraphics.
|
overrideprotectedvirtual |
Implements SalGraphics.
|
overrideprotectedvirtual |
Implements SalGraphics.
|
overrideprotectedvirtual |
Implements SalGraphics.
|
overrideprotectedvirtual |
Implements SalGraphics.
|
overrideprotectedvirtual |
Draw the requested control.
[in] | eType | The widget type. |
[in] | ePart | The part of the widget. |
[in] | rBoundingControlRegion | The bounding rectangle of the complete control in VCL frame coordinates. |
[in] | eState | The general state of the control (enabled, focused, etc.). |
[in] | aValue | Addition control specific information. |
[in] | aCaption | A caption or title string (like button text etc.). |
[in] | rBackgroundColor | Background color for the control (may be COL_AUTO) |
Reimplemented from vcl::WidgetDrawInterface.
|
overrideprotectedvirtual |
Implements SalGraphics.
|
overrideprotectedvirtual |
Implements SalGraphics.
|
overrideprotectedvirtual |
Implements SalGraphics.
|
overrideprotectedvirtual |
Implements SalGraphics.
|
overrideprotectedvirtual |
Implements SalGraphics.
|
overrideprotectedvirtual |
Implements SalGraphics.
|
overrideprotectedvirtual |
Implements SalGraphics.
|
overrideprotectedvirtual |
Implements SalGraphics.
|
overrideprotectedvirtual |
Implements SalGraphics.
|
overrideprotectedvirtual |
Implements SalGraphics.
|
overrideprotectedvirtual |
Implements SalGraphics.
|
overridevirtual |
Implements SalGraphics.
|
private |
|
overridevirtual |
draw transformed bitmap (maybe with alpha) where Null, X, Y define the coordinate system
fAlpha | additional alpha (0 to 1) to apply while drawing |
Implements SalGraphics.
void WinSalGraphics::Flush | ( | ) |
|
overridevirtual |
Implements SalGraphics.
|
overrideprotectedvirtual |
Implements SalGraphics.
HPALETTE WinSalGraphics::getDefPal | ( | ) | const |
|
overridevirtual |
Implements SalGraphics.
|
static |
|
overridevirtual |
Implements SalGraphics.
|
overridevirtual |
Implements SalGraphics.
|
overridevirtual |
Implements SalGraphics.
|
overridevirtual |
Implements SalGraphics.
|
overridevirtual |
Implements SalGraphics.
|
inline |
Definition at line 182 of file win/salgdi.h.
References mhLocalDC.
HWND WinSalGraphics::gethWnd | ( | ) |
|
overridevirtual |
Implements SalGraphics.
|
overrideprotectedvirtual |
Get the native control regions for the control part.
If the return value is true, rNativeBoundingRegion contains the true bounding region covered by the control including any adornment, while rNativeContentRegion contains the area within the control that can be safely drawn into without drawing over the borders of the control.
[in] | eType | Type of the widget. |
[in] | ePart | Specification of the widget's part if it consists of more than one. |
[in] | rBoundingControlRegion | The bounding region of the control in VCL frame coordinates. |
[in] | eState | The general state of the control (enabled, focused, etc.). |
[in] | aValue | Addition control specific information. |
[in] | aCaption | A caption or title string (like button text etc.). |
[out] | rNativeBoundingRegion | The region covered by the control including any adornment. |
[out] | rNativeContentRegion | The region within the control that can be safely drawn into. |
Reimplemented from vcl::WidgetDrawInterface.
|
overrideprotectedvirtual |
Implements SalGraphics.
HRGN WinSalGraphics::getRegion | ( | ) | const |
|
overridevirtual |
Implements SalGraphics.
|
overridevirtual |
Implements SalGraphics.
|
inline |
Definition at line 214 of file win/salgdi.h.
References mWinSalGraphicsImplBase.
|
overridevirtual |
Returns true if the drawTransformedBitmap() call is fast, and so it should be used directly without trying to optimize some calls e.g.
by calling drawBitmap() instead (which is faster for most VCL backends). These optimizations are not done unconditionally because they may be counter-productive for some fast VCL backends (for example, some OutputDevice optimizations could try access the pixels, which would make performance worse for GPU-backed backends). See also tdf#138068.
Implements SalGraphics.
|
overrideprotectedvirtual |
Query if a position is inside the native widget part.
Mainly used for scrollbars.
[in] | eType | The widget type. |
[in] | ePart | The part of the widget. |
[in] | rBoundingControlRegion | The bounding Rectangle of the complete control in VCL frame coordinates. |
[in] | aPos | The position to check the hit. |
[out] | rIsInside | true, if aPos was inside the native widget. |
Reimplemented from vcl::WidgetDrawInterface.
std::tuple< HFONT, bool, sal_Int32 > WinSalGraphics::ImplDoSetFont | ( | HDC | hDC, |
vcl::font::FontSelectPattern const & | i_rFont, | ||
const vcl::font::PhysicalFontFace * | i_pFontFace, | ||
HFONT & | o_rOldFont | ||
) |
|
overrideprotectedvirtual |
Reimplemented from SalGraphics.
|
private |
|
overrideprotectedvirtual |
Implements SalGraphics.
|
overrideprotectedvirtual |
Implements SalGraphics.
|
overrideprotectedvirtual |
Query the platform layer for native control support.
[in] | eType | The widget type. |
[in] | ePart | The part of the widget. |
Reimplemented from vcl::WidgetDrawInterface.
bool WinSalGraphics::isPrinter | ( | ) | const |
bool WinSalGraphics::isScreen | ( | ) | const |
bool WinSalGraphics::isVirtualDevice | ( | ) | const |
bool WinSalGraphics::isWindow | ( | ) | const |
|
overridevirtual |
Implements SalGraphics.
|
overrideprotectedvirtual |
Implements SalGraphics.
|
overridevirtual |
Implements SalGraphics.
|
overridevirtual |
Implements SalGraphics.
|
overridevirtual |
Implements SalGraphics.
void WinSalGraphics::setHDC | ( | HDC | aNew | ) |
void WinSalGraphics::setHWND | ( | HWND | hWnd | ) |
|
overridevirtual |
Implements SalGraphics.
|
overridevirtual |
Implements SalGraphics.
|
overridevirtual |
Implements SalGraphics.
|
overridevirtual |
Implements SalGraphics.
|
overridevirtual |
Implements SalGraphics.
|
overridevirtual |
Implements SalGraphics.
|
overridevirtual |
Implements SalGraphics.
|
static |
Update settings based on the platform values.
|
friend |
Definition at line 143 of file win/salgdi.h.
|
friend |
Definition at line 142 of file win/salgdi.h.
|
inlinestaticprivate |
Definition at line 171 of file win/salgdi.h.
|
private |
Definition at line 151 of file win/salgdi.h.
|
private |
Definition at line 154 of file win/salgdi.h.
|
private |
Definition at line 152 of file win/salgdi.h.
|
private |
Definition at line 153 of file win/salgdi.h.
|
private |
Definition at line 161 of file win/salgdi.h.
|
private |
Definition at line 162 of file win/salgdi.h.
|
private |
Definition at line 163 of file win/salgdi.h.
|
private |
Definition at line 160 of file win/salgdi.h.
|
private |
Definition at line 150 of file win/salgdi.h.
Referenced by getHDC().
|
private |
Definition at line 159 of file win/salgdi.h.
|
private |
Definition at line 155 of file win/salgdi.h.
|
private |
Definition at line 167 of file win/salgdi.h.
|
private |
Definition at line 164 of file win/salgdi.h.
|
private |
Definition at line 165 of file win/salgdi.h.
|
protected |
Definition at line 146 of file win/salgdi.h.
|
private |
Definition at line 166 of file win/salgdi.h.
|
private |
Definition at line 158 of file win/salgdi.h.
|
protected |
Definition at line 147 of file win/salgdi.h.
Referenced by getWinSalGraphicsImplBase().
|
inlinestaticprivate |
Definition at line 169 of file win/salgdi.h.
|
inlinestaticprivate |
Definition at line 170 of file win/salgdi.h.