20 #ifndef INCLUDED_VCL_INC_UNX_SALGDI_H
21 #define INCLUDED_VCL_INC_UNX_SALGDI_H
24 #include <X11/Xutil.h>
25 #include <X11/extensions/Xrender.h>
50 class X11SalGraphicsImpl;
72 SalColormap* pColormap =
nullptr,
bool bDeleteColormap = false );
95 virtual void GetResolution( sal_Int32& rDPIX, sal_Int32& rDPIY )
override;
108 virtual void SetXORMode(
bool bSet,
bool )
override;
123 const OUString& rToFile,
137 std::vector< sal_Int32 >& rWidths,
140 virtual std::unique_ptr<GenericSalLayout>
149 virtual void drawPolyLine( sal_uInt32 nPoints,
const Point* pPtAry )
override;
150 virtual void drawPolygon( sal_uInt32 nPoints,
const Point* pPtAry )
override;
154 const sal_uInt32* pPoints,
155 const Point** pPtAry )
override;
160 double fTransparency)
override;
165 double fTransparency,
167 const std::vector< double >* pStroke,
169 css::drawing::LineCap,
170 double fMiterMinimumAngle,
171 bool bPixelSnapHairline)
override;
177 #if 1 // TODO: remove these obsolete methods
190 const sal_uInt32* pPoints,
191 const Point*
const* pPtAry,
192 const PolyFlags*
const* pFlgAry )
override;
202 bool bWindowInvalidate )
override;
220 Color nMaskColor )
override;
225 virtual void invert( sal_uInt32 nPoints,
const Point* pPtAry,
SalInvert nFlags )
override;
237 const SalBitmap& rAlphaBitmap )
override;
242 const SalBitmap& rAlphaBitmap )
override;
250 double fAlpha)
override;
260 #if ENABLE_CAIRO_CANVAS
261 virtual bool SupportsCairo()
const override;
268 #endif // ENABLE_CAIRO_CANVAS
304 #if ENABLE_CAIRO_CANVAS
308 #endif // ENABLE_CAIRO_CANVAS
334 #endif // INCLUDED_VCL_INC_UNX_SALGDI_H
Interface used to share logic on sizing between SalVirtualDevices and SalFrames.
std::unique_ptr< SalGraphicsImpl > mxImpl
bool SetClipRegion(const vcl::Region &, const OutputDevice &rOutDev)
virtual void drawRect(tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight) override
virtual SystemGraphicsData GetGraphicsData() const override
void SetXRenderFormat(XRenderPictFormat *pXRenderFormat)
const SalVisual & GetVisual() const
Display * GetXDisplay() const
virtual void SetXORMode(bool bSet, bool) override
void YieldGraphicsExpose()
virtual void ResetClipRegion() override
void SetDrawable(Drawable d, cairo_surface_t *surface, SalX11Screen nXScreen)
virtual bool blendBitmap(const SalTwoRect &, const SalBitmap &rBitmap) override
Blend the bitmap with the current buffer.
std::unique_ptr< TextRenderImpl > mxTextRenderImpl
virtual void drawBitmap(const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap) override
virtual sal_uInt16 GetBitCount() const override
virtual bool hasFastDrawTransformedBitmap() const override
Used e.g.
std::unique_ptr< SalColormap > m_pDeleteColormap
virtual bool GetFontCapabilities(vcl::FontCapabilities &rFontCapabilities) const override
virtual void SetLineColor() override
virtual bool AddTempDevFont(PhysicalFontCollection *, const OUString &rFileURL, const OUString &rFontName) override
XRenderPictFormat * m_pXRenderFormat
virtual bool supportsOperation(OutDevSupportType) const override
cairo_t * getCairoContext()
void DrawBitmap(const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, const OutputDevice &rOutDev)
virtual Color getPixel(tools::Long nX, tools::Long nY) override
virtual void SetROPLineColor(SalROPColor nROPColor) override
const SalColormap & GetColormap() const
virtual void clipRegion(cairo_t *cr) override
bool GetDitherPixmap(Color nColor)
abstract base class for physical font faces
std::shared_ptr< Surface > SurfaceSharedPtr
virtual FontCharMapRef GetFontCharMap() const override
virtual void drawMask(const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, Color nMaskColor) override
Drawable GetDrawable() const
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 bool implDrawGradient(basegfx::B2DPolyPolygon const &rPolyPolygon, SalGradient const &rGradient) override
virtual const void * GetEmbedFontData(const PhysicalFontFace *, tools::Long *pDataLen) override
virtual void copyBits(const SalTwoRect &rPosAry, SalGraphics *pSrcGraphics) override
Display * GetXDisplay() const
virtual bool drawPolyPolygonBezier(sal_uInt32 nPoly, const sal_uInt32 *pPoints, const Point *const *pPtAry, const PolyFlags *const *pFlgAry) override
static void releaseCairoContext(cairo_t *cr)
virtual SalGraphicsImpl * GetImpl() const override
virtual std::shared_ptr< SalBitmap > getBitmap(tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight) override
virtual void GetFontMetric(ImplFontMetricDataRef &, int nFallbackLevel) override
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
virtual bool drawEPS(tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, void *pPtr, sal_uInt32 nSize) override
virtual void GetGlyphWidths(const PhysicalFontFace *, bool bVertical, std::vector< sal_Int32 > &rWidths, Ucs2UIntMap &rUnicodeEnc) override
virtual void FreeEmbedFontData(const void *pData, tools::Long nDataLen) override
std::shared_ptr< cairo_surface_t > CairoSurfaceSharedPtr
virtual tools::Long GetGraphicsWidth() const override
virtual void SetFillColor() override
virtual void SetFont(LogicalFontInstance *, int nFallbackLevel) override
virtual bool drawAlphaBitmap(const SalTwoRect &, const SalBitmap &rSourceBitmap, const SalBitmap &rAlphaBitmap) override
Render bitmap with alpha channel.
virtual void invert(tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, SalInvert nFlags) override
virtual void DrawTextLayout(const GenericSalLayout &) override
A SalFrame is a system window (e.g. an X11 window).
virtual void drawPolyLine(sal_uInt32 nPoints, const Point *pPtAry) override
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.
virtual bool drawGradient(const tools::PolyPolygon &, const Gradient &) override
void SetClipRegion(GC pGC, Region pXReg=nullptr) const
const SalDisplay * GetDisplay() const
virtual void GetDevFontList(PhysicalFontCollection *) override
const SalDisplay * GetDisplay() const
virtual void ClearDevFontCache() override
A non-visible drawable/buffer (e.g. an X11 Pixmap).
virtual bool CreateFontSubset(const OUString &rToFile, const PhysicalFontFace *, const sal_GlyphId *pGlyphIDs, const sal_uInt8 *pEncoding, sal_Int32 *pWidths, int nGlyphs, FontSubsetInfo &rInfo) override
virtual void GetResolution(sal_Int32 &rDPIX, sal_Int32 &rDPIY) override
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.
virtual void drawPolyPolygon(sal_uInt32 nPoly, const sal_uInt32 *pPoints, const Point **pPtAry) override
friend class X11SalGraphicsImpl
Pixel GetPixel(Color nColor) const
SalGeometryProvider * GetGeometryProvider() const
virtual bool setClipRegion(const vcl::Region &) override
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
virtual bool drawPolygonBezier(sal_uInt32 nPoints, const Point *pPtAry, const PolyFlags *pFlgAry) override
virtual void SetROPFillColor(SalROPColor nROPColor) override
std::map< sal_Ucs, sal_uInt32 > Ucs2UIntMap
void Init(SalFrame *pFrame, Drawable aDrawable, SalX11Screen nXScreen)
virtual void drawLine(tools::Long nX1, tools::Long nY1, tools::Long nX2, tools::Long nY2) override
const SalVisual & GetVisual() const
virtual bool drawPolyLineBezier(sal_uInt32 nPoints, const Point *pPtAry, const PolyFlags *pFlgAry) override
struct _cairo_surface cairo_surface_t
virtual void drawPolygon(sal_uInt32 nPoints, const Point *pPtAry) override
virtual std::unique_ptr< GenericSalLayout > GetTextLayout(int nFallbackLevel) override
XRenderPictFormat * GetXRenderFormat() const
virtual void drawPixel(tools::Long nX, tools::Long nY) override
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 ...
cairo_surface_t * m_pExternalSurface
SalVirtualDevice * m_pVDev
const SalColormap * m_pColormap
const SalX11Screen & GetScreenNumber() const