LibreOffice Module vcl (master)  1
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
WinSkiaSalGraphicsImpl Class Reference

#include <gdiimpl.hxx>

Inheritance diagram for WinSkiaSalGraphicsImpl:
Collaboration diagram for WinSkiaSalGraphicsImpl:

Public Member Functions

 WinSkiaSalGraphicsImpl (WinSalGraphics &rGraphics, SalGeometryProvider *mpProvider)
virtual void DeInit () override
virtual void freeResources () override
virtual bool UseRenderNativeControl () const override
virtual bool TryRenderCachedNativeControl (ControlCacheKey const &rControlCacheKey, int nX, int nY) override
virtual bool RenderAndCacheNativeControl (CompatibleDC &rWhite, CompatibleDC &rBlack, int nX, int nY, ControlCacheKey &aControlCacheKey) override
virtual bool DrawTextLayout (const GenericSalLayout &layout) override
virtual void ClearDevFontCache () override
- Public Member Functions inherited from SkiaSalGraphicsImpl
 SkiaSalGraphicsImpl (SalGraphics &pParent, SalGeometryProvider *pProvider)
virtual ~SkiaSalGraphicsImpl () override
virtual void Init () override
virtual OUString getRenderBackendName () const override
const vcl::RegiongetClipRegion () const
virtual bool setClipRegion (const vcl::Region &) override
virtual sal_uInt16 GetBitCount () const override
virtual 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 bInvertOnly) override
virtual void SetROPLineColor (SalROPColor nROPColor) override
virtual void SetROPFillColor (SalROPColor nROPColor) override
virtual void drawPixel (long nX, long nY) override
virtual void drawPixel (long nX, long nY, Color nColor) override
virtual void drawLine (long nX1, long nY1, long nX2, long nY2) override
virtual void drawRect (long nX, long nY, long nWidth, long nHeight) override
virtual void drawPolyLine (sal_uInt32 nPoints, const SalPoint *pPtAry) override
virtual void drawPolygon (sal_uInt32 nPoints, const SalPoint *pPtAry) override
virtual void drawPolyPolygon (sal_uInt32 nPoly, const sal_uInt32 *pPoints, PCONSTSALPOINT *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 SalPoint *pPtAry, const PolyFlags *pFlgAry) override
virtual bool drawPolygonBezier (sal_uInt32 nPoints, const SalPoint *pPtAry, const PolyFlags *pFlgAry) override
virtual bool drawPolyPolygonBezier (sal_uInt32 nPoly, const sal_uInt32 *pPoints, const SalPoint *const *pPtAry, const PolyFlags *const *pFlgAry) override
virtual void copyArea (long nDestX, long nDestY, long nSrcX, long nSrcY, long nSrcWidth, long nSrcHeight, bool bWindowInvalidate) override
virtual void copyBits (const SalTwoRect &rPosAry, SalGraphics *pSrcGraphics) override
virtual bool blendBitmap (const SalTwoRect &, const SalBitmap &rBitmap) override
virtual bool blendAlphaBitmap (const SalTwoRect &, const SalBitmap &rSrcBitmap, const SalBitmap &rMaskBitmap, const SalBitmap &rAlphaBitmap) override
virtual void drawBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap) override
virtual void drawBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, const SalBitmap &rMaskBitmap) override
virtual void drawMask (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, Color nMaskColor) override
virtual std::shared_ptr< SalBitmapgetBitmap (long nX, long nY, long nWidth, long nHeight) override
virtual Color getPixel (long nX, long nY) override
virtual void invert (long nX, long nY, long nWidth, long nHeight, SalInvert nFlags) override
virtual void invert (sal_uInt32 nPoints, const SalPoint *pPtAry, SalInvert nFlags) override
virtual bool drawEPS (long nX, long nY, long nWidth, long nHeight, void *pPtr, sal_uInt32 nSize) override
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) override
 draw transformed bitmap (maybe with alpha) where Null, X, Y define the coordinate system More...
virtual bool drawAlphaRect (long nX, long nY, long nWidth, long nHeight, sal_uInt8 nTransparency) override
 Render solid rectangle with given transparency. More...
virtual bool drawGradient (const tools::PolyPolygon &rPolygon, const Gradient &rGradient) override
virtual bool supportsOperation (OutDevSupportType eType) const override
void dump (const char *file) const
void drawBitmap (const SalTwoRect &rPosAry, const SkiaSalBitmap &bitmap, SkBlendMode blendMode=SkBlendMode::kSrcOver)
void drawImage (const SalTwoRect &rPosAry, const sk_sp< SkImage > &aImage, SkBlendMode eBlendMode=SkBlendMode::kSrcOver)
void drawShader (const SalTwoRect &rPosAry, const sk_sp< SkShader > &shader, SkBlendMode blendMode=SkBlendMode::kSrcOver)
void drawGenericLayout (const GenericSalLayout &layout, Color textColor, const SkFont &font, GlyphOrientation glyphOrientation)
- Public Member Functions inherited from SalGraphicsImpl
virtual ~SalGraphicsImpl ()
- Public Member Functions inherited from WinSalGraphicsImplBase
virtual ~WinSalGraphicsImplBase ()
virtual bool TryRenderCachedNativeControl (const ControlCacheKey &, int, int)
virtual bool UseTextDraw () const
virtual void PreDrawText ()
virtual void PostDrawText ()
virtual void DrawTextMask (CompatibleDC::Texture *, Color, const SalTwoRect &)
virtual void DeferredTextDraw (const CompatibleDC::Texture *, Color, const SalTwoRect &)

Static Public Member Functions

static void prepareSkia ()

Protected Member Functions

virtual void createWindowContext () override
virtual void performFlush () override
sk_sp< SkTypeface > createDirectWriteTypeface (const LOGFONTW &logFont)
SkFont::Edging getFontEdging ()
- Protected Member Functions inherited from SkiaSalGraphicsImpl
void preDraw ()
void postDraw ()
SkCanvas * getDrawCanvas ()
void flushDrawing ()
virtual void createSurface ()
void checkSurface ()
void recreateSurface ()
void destroySurface ()
virtual bool avoidRecreateByResize () const
void createWindowSurface ()
void createOffscreenSurface ()
void privateDrawAlphaRect (long nX, long nY, long nWidth, long nHeight, double nTransparency, bool blockAA=false)
void setProvider (SalGeometryProvider *provider)
bool isOffscreen () const
bool isGPU () const
void invert (basegfx::B2DPolygon const &rPoly, SalInvert eFlags)
void scheduleFlush ()
int GetWidth () const
int GetHeight () const
SkCanvas * getXorCanvas ()
void applyXor ()
void addXorRegion (const SkRect &rect)
sk_sp< SkImage > mergeCacheBitmaps (const SkiaSalBitmap &bitmap, const SkiaSalBitmap *alphaBitmap, const Size targetSize)
void checkPendingDrawing ()
bool mergePolyPolygonToPrevious (const basegfx::B2DPolyPolygon &polygon, double transparency)
void performDrawPolyPolygon (const basegfx::B2DPolyPolygon &polygon, double transparency, bool useAA)

Protected Attributes

IDWriteFactory * dwriteFactory
IDWriteGdiInterop * dwriteGdiInterop
sk_sp< SkFontMgr > dwriteFontMgr
bool dwriteDone = false
SkFont::Edging fontEdging
bool fontEdgingDone = false
- Protected Attributes inherited from SkiaSalGraphicsImpl
 Pointer to the SalFrame or SalVirtualDevice. More...
std::unique_ptr< sk_app::WindowContext > mWindowContext
sk_sp< SkSurface > mSurface
bool mIsGPU
vcl::Region mClipRegion
Color mLineColor
Color mFillColor
bool mXorMode
SkBitmap mXorBitmap
std::unique_ptr< SkCanvas > mXorCanvas
SkRegion mXorRegion
std::unique_ptr< SkiaFlushIdlemFlush
LastPolyPolygonInfo mLastPolyPolygonInfo

Private Attributes


Additional Inherited Members

- Public Types inherited from SkiaSalGraphicsImpl
enum  GlyphOrientation {
- Static Protected Member Functions inherited from SkiaSalGraphicsImpl
static void setCanvasClipRegion (SkCanvas *canvas, const vcl::Region &region)
static constexpr SkScalar toSkX (long x)
static constexpr SkScalar toSkY (long y)
- Static Protected Attributes inherited from SkiaSalGraphicsImpl
static constexpr SkScalar toSkXYFix = SkScalar(0.005)

Detailed Description

Definition at line 51 of file skia/win/gdiimpl.hxx.

Constructor & Destructor Documentation

WinSkiaSalGraphicsImpl::WinSkiaSalGraphicsImpl ( WinSalGraphics rGraphics,
SalGeometryProvider mpProvider 

Member Function Documentation

virtual void WinSkiaSalGraphicsImpl::ClearDevFontCache ( )

Reimplemented from WinSalGraphicsImplBase.

sk_sp<SkTypeface> WinSkiaSalGraphicsImpl::createDirectWriteTypeface ( const LOGFONTW &  logFont)
virtual void WinSkiaSalGraphicsImpl::createWindowContext ( )

Implements SkiaSalGraphicsImpl.

virtual void WinSkiaSalGraphicsImpl::DeInit ( )

Reimplemented from SkiaSalGraphicsImpl.

virtual bool WinSkiaSalGraphicsImpl::DrawTextLayout ( const GenericSalLayout layout)

Reimplemented from WinSalGraphicsImplBase.

virtual void WinSkiaSalGraphicsImpl::freeResources ( )

Implements SalGraphicsImpl.

SkFont::Edging WinSkiaSalGraphicsImpl::getFontEdging ( )
virtual void WinSkiaSalGraphicsImpl::performFlush ( )

Implements SkiaSalGraphicsImpl.

static void WinSkiaSalGraphicsImpl::prepareSkia ( )
virtual bool WinSkiaSalGraphicsImpl::RenderAndCacheNativeControl ( CompatibleDC rWhite,
CompatibleDC rBlack,
int  nX,
int  nY,
ControlCacheKey aControlCacheKey 

Reimplemented from WinSalGraphicsImplBase.

virtual bool WinSkiaSalGraphicsImpl::TryRenderCachedNativeControl ( ControlCacheKey const &  rControlCacheKey,
int  nX,
int  nY 
virtual bool WinSkiaSalGraphicsImpl::UseRenderNativeControl ( ) const

Reimplemented from WinSalGraphicsImplBase.

Definition at line 62 of file skia/win/gdiimpl.hxx.

Member Data Documentation

bool WinSkiaSalGraphicsImpl::dwriteDone = false

Definition at line 81 of file skia/win/gdiimpl.hxx.

IDWriteFactory* WinSkiaSalGraphicsImpl::dwriteFactory

Definition at line 78 of file skia/win/gdiimpl.hxx.

sk_sp<SkFontMgr> WinSkiaSalGraphicsImpl::dwriteFontMgr

Definition at line 80 of file skia/win/gdiimpl.hxx.

IDWriteGdiInterop* WinSkiaSalGraphicsImpl::dwriteGdiInterop

Definition at line 79 of file skia/win/gdiimpl.hxx.

SkFont::Edging WinSkiaSalGraphicsImpl::fontEdging

Definition at line 82 of file skia/win/gdiimpl.hxx.

bool WinSkiaSalGraphicsImpl::fontEdgingDone = false

Definition at line 83 of file skia/win/gdiimpl.hxx.

WinSalGraphics& WinSkiaSalGraphicsImpl::mWinParent

Definition at line 54 of file skia/win/gdiimpl.hxx.

The documentation for this class was generated from the following file: