25 #include <X11/Xutil.h>
26 #include <X11/extensions/Xrender.h>
51 class X11SalGraphicsImpl;
55 class PhysicalFontCollection;
56 class PhysicalFontFace;
99 SalColormap* pColormap =
nullptr,
bool bDeleteColormap = false );
114 virtual void GetResolution( sal_Int32& rDPIX, sal_Int32& rDPIY )
override;
126 const OUString& rToFile,
140 std::vector< sal_Int32 >& rWidths,
143 virtual std::unique_ptr<GenericSalLayout>
149 #if ENABLE_CAIRO_CANVAS
150 virtual bool SupportsCairo()
const override;
157 #endif // ENABLE_CAIRO_CANVAS
Interface used to share logic on sizing between SalVirtualDevices and SalFrames.
std::unique_ptr< SalGraphicsImpl > mxImpl
Display * GetXDisplay() const
virtual SystemGraphicsData GetGraphicsData() const override
void SetXRenderFormat(XRenderPictFormat *pXRenderFormat)
void YieldGraphicsExpose()
const SalVisual & GetVisual() const
void SetDrawable(Drawable d, cairo_surface_t *surface, SalX11Screen nXScreen)
virtual void GetDevFontList(vcl::font::PhysicalFontCollection *) override
std::unique_ptr< TextRenderImpl > mxTextRenderImpl
std::unique_ptr< SalColormap > m_pDeleteColormap
const SalDisplay * GetDisplay() const
virtual bool GetFontCapabilities(vcl::FontCapabilities &rFontCapabilities) const override
const SalDisplay * GetDisplay() const
const SalColormap * m_pColormap
XRenderPictFormat * m_pXRenderFormat
static void releaseCairoContext(cairo_t *cr)
Display * GetXDisplay() const
cairo_t * getCairoContext()
Drawable GetDrawable() const
bool SupportsCairo() const
const SalColormap & GetColormap() const
virtual void clipRegion(cairo_t *cr) override
bool GetDitherPixmap(Color nColor)
std::shared_ptr< Surface > SurfaceSharedPtr
virtual FontCharMapRef GetFontCharMap() const override
Drawable GetDrawable() const
Display * GetXDisplay() const
const SalVisual & GetVisual() const
virtual void GetGlyphWidths(const vcl::font::PhysicalFontFace *, bool bVertical, std::vector< sal_Int32 > &rWidths, Ucs2UIntMap &rUnicodeEnc) override
static void releaseCairoContext(cairo_t *cr)
virtual SalGraphicsImpl * GetImpl() const override
virtual void GetFontMetric(ImplFontMetricDataRef &, int nFallbackLevel) override
A PhysicalFontFaceCollection is created by a PhysicalFontCollection and becomes invalid when original...
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
virtual void FreeEmbedFontData(const void *pData, tools::Long nDataLen) override
cairo_t * getCairoContext()
std::shared_ptr< cairo_surface_t > CairoSurfaceSharedPtr
Pixel GetPixel(Color nColor) const
virtual void SetFont(LogicalFontInstance *, int nFallbackLevel) override
abstract base class for physical font faces
cairo_surface_t * m_pExternalSurface
virtual void DrawTextLayout(const GenericSalLayout &) override
A SalFrame is a system window (e.g. an X11 window).
void SetClipRegion(GC pGC, Region pXReg=nullptr) const
const SalDisplay * GetDisplay() const
virtual void ClearDevFontCache() override
A non-visible drawable/buffer (e.g. an X11 Pixmap).
virtual void GetResolution(sal_Int32 &rDPIX, sal_Int32 &rDPIY) override
friend class X11SalGraphicsImpl
Pixel GetPixel(Color nColor) const
virtual bool AddTempDevFont(vcl::font::PhysicalFontCollection *, const OUString &rFileURL, const OUString &rFontName) override
SalGeometryProvider * GetGeometryProvider() const
virtual void SetTextColor(Color nColor) override
Pixel GetPixel(Color nColor) const
Color GetPixel(tools::Long nX, tools::Long nY, const OutputDevice &rOutDev)
virtual ~X11SalGraphics() COVERITY_NOEXCEPT_FALSE override
const SalColormap & GetColormap() const
std::map< sal_Ucs, sal_uInt32 > Ucs2UIntMap
virtual const void * GetEmbedFontData(const vcl::font::PhysicalFontFace *, tools::Long *pDataLen) override
void Init(SalFrame *pFrame, Drawable aDrawable, SalX11Screen nXScreen)
const SalVisual & GetVisual() const
virtual std::unique_ptr< GenericSalLayout > GetTextLayout(int nFallbackLevel) override
struct _cairo_surface cairo_surface_t
XRenderPictFormat * GetXRenderFormat() const
Implementation class for SalGraphics.
SalVirtualDevice * m_pVDev
virtual bool CreateFontSubset(const OUString &rToFile, const vcl::font::PhysicalFontFace *, const sal_GlyphId *pGlyphIDs, const sal_uInt8 *pEncoding, sal_Int32 *pWidths, int nGlyphs, FontSubsetInfo &rInfo) override
const SalX11Screen & GetScreenNumber() const