10#ifndef INCLUDED_VCL_INC_SKIA_WIN_GDIIMPL_HXX
11#define INCLUDED_VCL_INC_SKIA_WIN_GDIIMPL_HXX
14#include <systools/win32/comtools.hxx>
Class that creates (and destroys) a compatible Device Context.
Interface used to share logic on sizing between SalVirtualDevices and SalFrames.
SkiaCompatibleDC(SalGraphics &rGraphics, int x, int y, int width, int height)
sk_sp< SkImage > getAsImageDiff(const SkiaCompatibleDC &white) const
static SkiaControlCacheType & get()
SkiaControlCacheType cache
WinSalGraphics never owns the HDC it uses to draw, because the HDC can have various origins with diff...
virtual void createWindowSurfaceInternal(bool forceRaster=false) override
virtual bool TryRenderCachedNativeControl(ControlCacheKey const &rControlCacheKey, int nX, int nY) override
static void initFontInfo()
static sal::systools::COMReference< IDWriteFontCollection1 > dwritePrivateCollection
WinSalGraphics & mWinParent
static sal::systools::COMReference< IDWriteFontSetBuilder > dwriteFontSetBuilder
static sk_sp< SkTypeface > createDirectWriteTypeface(const WinFontInstance *pWinFont)
virtual bool UseRenderNativeControl() const override
virtual void ClearNativeControlCache() override
virtual bool RenderAndCacheNativeControl(CompatibleDC &rWhite, CompatibleDC &rBlack, int nX, int nY, ControlCacheKey &aControlCacheKey) override
virtual bool DrawTextLayout(const GenericSalLayout &layout) override
virtual void freeResources() override
WinSkiaSalGraphicsImpl(WinSalGraphics &rGraphics, SalGeometryProvider *mpProvider)
virtual void Flush() override
virtual void ClearDevFontCache() override
static void prepareSkia()
static sk_sp< SkFontMgr > dwriteFontMgr
static SkFont::Edging fontEdging
std::pair< ControlCacheKey, sk_sp< SkImage > > SkiaControlCachePair
o3tl::lru_map< ControlCacheKey, sk_sp< SkImage >, ControlCacheHashFunction > SkiaControlCacheType