LibreOffice Module vcl (master) 1
Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
SalGraphics Class Referenceabstract

#include <salgdi.hxx>

Inheritance diagram for SalGraphics:
[legend]
Collaboration diagram for SalGraphics:
[legend]

Public Member Functions

 SalGraphics ()
 
 ~SalGraphics () COVERITY_NOEXCEPT_FALSE override
 
virtual SalGraphicsImplGetImpl () 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< GenericSalLayoutGetTextLayout (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::B2DHomMatrixgetMirror (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< SalBitmapGetBitmap (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
 

Protected Member Functions

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< SalBitmapgetBitmap (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::WidgetDrawInterfaceforWidget ()
 
- Protected Member Functions inherited from vcl::WidgetDrawInterface
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

bool m_bAntiAlias: 1
 flags which hold the SetAntialiasing() value from OutputDevice More...
 
std::unique_ptr< vcl::WidgetDrawInterfacem_pWidgetDraw
 

Private Types

enum class  MirrorMode {
  NONE ,
  Antiparallel ,
  AntiparallelBiDi ,
  BiDi
}
 

Private Member Functions

MirrorMode GetMirrorMode (const OutputDevice &rOutDev) const
 

Private Attributes

SalLayoutFlags m_nLayout
 
MirrorMode m_eLastMirrorMode
 
tools::Long m_nLastMirrorTranslation
 
basegfx::B2DHomMatrix m_aLastMirror
 

Friends

class vcl::FileDefinitionWidgetDraw
 

Detailed Description

Definition at line 75 of file salgdi.hxx.

Member Enumeration Documentation

◆ MirrorMode

enum class SalGraphics::MirrorMode
strongprivate
Enumerator
NONE 
Antiparallel 
AntiparallelBiDi 
BiDi 

Definition at line 597 of file salgdi.hxx.

Constructor & Destructor Documentation

◆ SalGraphics()

SalGraphics::SalGraphics ( )

Definition at line 52 of file salgdilayout.cxx.

References BiDiRtl, AllSettings::GetLayoutRTL(), m_nLayout, and NONE.

◆ ~SalGraphics()

SalGraphics::~SalGraphics ( )
override

Definition at line 81 of file salgdilayout.cxx.

Member Function Documentation

◆ AddTempDevFont()

virtual bool SalGraphics::AddTempDevFont ( vcl::font::PhysicalFontCollection ,
const OUString &  rFileURL,
const OUString &  rFontName 
)
pure virtual

◆ blendAlphaBitmap()

virtual bool SalGraphics::blendAlphaBitmap ( const SalTwoRect ,
const SalBitmap rSrcBitmap,
const SalBitmap rMaskBitmap,
const SalBitmap rAlphaBitmap 
)
protectedpure virtual

Draw the bitmap by blending using the mask and alpha channel.

Implemented in WinSalGraphics, and SalGraphicsAutoDelegateToImpl.

Referenced by BlendAlphaBitmap().

◆ BlendAlphaBitmap()

bool SalGraphics::BlendAlphaBitmap ( const SalTwoRect rPosAry,
const SalBitmap rSalSrcBitmap,
const SalBitmap rSalMaskBitmap,
const SalBitmap rSalAlphaBitmap,
const OutputDevice rOutDev 
)

◆ blendBitmap()

virtual bool SalGraphics::blendBitmap ( const SalTwoRect ,
const SalBitmap rBitmap 
)
protectedpure virtual

Blend the bitmap with the current buffer.

Implemented in WinSalGraphics, and SalGraphicsAutoDelegateToImpl.

Referenced by BlendBitmap().

◆ BlendBitmap()

bool SalGraphics::BlendBitmap ( const SalTwoRect rPosAry,
const SalBitmap rSalBitmap,
const OutputDevice rOutDev 
)

◆ ClearDevFontCache()

virtual void SalGraphics::ClearDevFontCache ( )
pure virtual

◆ copyArea()

virtual void SalGraphics::copyArea ( tools::Long  nDestX,
tools::Long  nDestY,
tools::Long  nSrcX,
tools::Long  nSrcY,
tools::Long  nSrcWidth,
tools::Long  nSrcHeight,
bool  bWindowInvalidate 
)
protectedpure virtual

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by CopyArea().

◆ CopyArea()

void SalGraphics::CopyArea ( tools::Long  nDestX,
tools::Long  nDestY,
tools::Long  nSrcX,
tools::Long  nSrcY,
tools::Long  nSrcWidth,
tools::Long  nSrcHeight,
const OutputDevice rOutDev 
)

◆ CopyBits() [1/2]

void SalGraphics::CopyBits ( const SalTwoRect rPosAry,
const OutputDevice rOutDev 
)

◆ CopyBits() [2/2]

void SalGraphics::CopyBits ( const SalTwoRect rPosAry,
SalGraphics rSrcGraphics,
const OutputDevice rOutDev,
const OutputDevice rSrcOutDev 
)

◆ copyBits()

virtual void SalGraphics::copyBits ( const SalTwoRect rPosAry,
SalGraphics pSrcGraphics 
)
protectedpure virtual

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by CopyBits().

◆ drawAlphaBitmap()

virtual bool SalGraphics::drawAlphaBitmap ( const SalTwoRect ,
const SalBitmap rSourceBitmap,
const SalBitmap rAlphaBitmap 
)
protectedpure virtual

Render bitmap with alpha channel.

Parameters
rSourceBitmapSource bitmap to blit
rAlphaBitmapAlpha channel to use for blitting
Returns
true, if the operation succeeded, and false otherwise. In this case, clients should try to emulate alpha compositing themselves

Implemented in WinSalGraphics, and SalGraphicsAutoDelegateToImpl.

Referenced by DrawAlphaBitmap().

◆ DrawAlphaBitmap()

bool SalGraphics::DrawAlphaBitmap ( const SalTwoRect rPosAry,
const SalBitmap rSourceBitmap,
const SalBitmap rAlphaBitmap,
const OutputDevice rOutDev 
)

◆ drawAlphaRect()

virtual bool SalGraphics::drawAlphaRect ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight,
sal_uInt8  nTransparency 
)
protectedpure virtual

Render solid rectangle with given transparency.

Parameters
nXTop left coordinate of rectangle
nYBottom right coordinate of rectangle
nWidthWidth of rectangle
nHeightHeight of rectangle
nTransparencyTransparency value (0-255) to use. 0 blits and opaque, 255 a fully transparent rectangle
Returns
true if successfully drawn, false if not able to draw rectangle

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by DrawAlphaRect().

◆ DrawAlphaRect()

bool SalGraphics::DrawAlphaRect ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight,
sal_uInt8  nTransparency,
const OutputDevice rOutDev 
)

◆ drawBitmap() [1/2]

virtual void SalGraphics::drawBitmap ( const SalTwoRect rPosAry,
const SalBitmap rSalBitmap 
)
protectedpure virtual

◆ DrawBitmap() [1/2]

void SalGraphics::DrawBitmap ( const SalTwoRect rPosAry,
const SalBitmap rSalBitmap,
const OutputDevice rOutDev 
)

◆ drawBitmap() [2/2]

virtual void SalGraphics::drawBitmap ( const SalTwoRect rPosAry,
const SalBitmap rSalBitmap,
const SalBitmap rMaskBitmap 
)
protectedpure virtual

◆ DrawBitmap() [2/2]

void SalGraphics::DrawBitmap ( const SalTwoRect rPosAry,
const SalBitmap rSalBitmap,
const SalBitmap rTransparentBitmap,
const OutputDevice rOutDev 
)

◆ drawEPS()

virtual bool SalGraphics::drawEPS ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight,
void *  pPtr,
sal_uInt32  nSize 
)
protectedpure virtual

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by DrawEPS().

◆ DrawEPS()

bool SalGraphics::DrawEPS ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight,
void *  pPtr,
sal_uInt32  nSize,
const OutputDevice rOutDev 
)

Definition at line 728 of file salgdilayout.cxx.

References BiDiRtl, drawEPS(), OutputDevice::IsRTLEnabled(), m_nLayout, and mirror().

Referenced by OutputDevice::DrawEPS().

◆ drawGradient()

virtual bool SalGraphics::drawGradient ( const tools::PolyPolygon rPolyPoly,
const Gradient rGradient 
)
protectedpure virtual

Implemented in WinSalGraphics, and SalGraphicsAutoDelegateToImpl.

Referenced by DrawGradient().

◆ DrawGradient()

bool SalGraphics::DrawGradient ( const tools::PolyPolygon rPolyPoly,
const Gradient rGradient,
const OutputDevice rOutDev 
)

◆ drawLine()

virtual void SalGraphics::drawLine ( tools::Long  nX1,
tools::Long  nY1,
tools::Long  nX2,
tools::Long  nY2 
)
protectedpure virtual

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by DrawLine().

◆ DrawLine()

void SalGraphics::DrawLine ( tools::Long  nX1,
tools::Long  nY1,
tools::Long  nX2,
tools::Long  nY2,
const OutputDevice rOutDev 
)

◆ drawMask()

virtual void SalGraphics::drawMask ( const SalTwoRect rPosAry,
const SalBitmap rSalBitmap,
Color  nMaskColor 
)
protectedpure virtual

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by DrawMask().

◆ DrawMask()

void SalGraphics::DrawMask ( const SalTwoRect rPosAry,
const SalBitmap rSalBitmap,
Color  nMaskColor,
const OutputDevice rOutDev 
)

◆ DrawNativeControl()

bool SalGraphics::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 
)

◆ drawPixel() [1/2]

virtual void SalGraphics::drawPixel ( tools::Long  nX,
tools::Long  nY 
)
protectedpure virtual

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by DrawPixel().

◆ drawPixel() [2/2]

virtual void SalGraphics::drawPixel ( tools::Long  nX,
tools::Long  nY,
Color  nColor 
)
protectedpure virtual

◆ DrawPixel() [1/2]

void SalGraphics::DrawPixel ( tools::Long  nX,
tools::Long  nY,
Color  nColor,
const OutputDevice rOutDev 
)

Definition at line 397 of file salgdilayout.cxx.

References BiDiRtl, drawPixel(), OutputDevice::IsRTLEnabled(), m_nLayout, and mirror().

◆ DrawPixel() [2/2]

void SalGraphics::DrawPixel ( tools::Long  nX,
tools::Long  nY,
const OutputDevice rOutDev 
)

◆ drawPolygon()

virtual void SalGraphics::drawPolygon ( sal_uInt32  nPoints,
const Point pPtAry 
)
protectedpure virtual

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by DrawPolygon().

◆ DrawPolygon()

void SalGraphics::DrawPolygon ( sal_uInt32  nPoints,
const Point pPtAry,
const OutputDevice rOutDev 
)

◆ drawPolygonBezier()

virtual bool SalGraphics::drawPolygonBezier ( sal_uInt32  nPoints,
const Point pPtAry,
const PolyFlags pFlgAry 
)
protectedpure virtual

◆ DrawPolygonBezier()

bool SalGraphics::DrawPolygonBezier ( sal_uInt32  nPoints,
const Point pPtAry,
const PolyFlags pFlgAry,
const OutputDevice rOutDev 
)

◆ drawPolyLine() [1/2]

virtual bool SalGraphics::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 
)
protectedpure virtual

◆ DrawPolyLine() [1/2]

bool SalGraphics::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 
)

◆ drawPolyLine() [2/2]

virtual void SalGraphics::drawPolyLine ( sal_uInt32  nPoints,
const Point pPtAry 
)
protectedpure virtual

◆ DrawPolyLine() [2/2]

void SalGraphics::DrawPolyLine ( sal_uInt32  nPoints,
Point const *  pPtAry,
const OutputDevice rOutDev 
)

◆ drawPolyLineBezier()

virtual bool SalGraphics::drawPolyLineBezier ( sal_uInt32  nPoints,
const Point pPtAry,
const PolyFlags pFlgAry 
)
protectedpure virtual

◆ DrawPolyLineBezier()

bool SalGraphics::DrawPolyLineBezier ( sal_uInt32  nPoints,
const Point pPtAry,
const PolyFlags pFlgAry,
const OutputDevice rOutDev 
)

◆ drawPolyPolygon() [1/2]

virtual bool SalGraphics::drawPolyPolygon ( const basegfx::B2DHomMatrix rObjectToDevice,
const basegfx::B2DPolyPolygon ,
double  fTransparency 
)
protectedpure virtual

◆ DrawPolyPolygon() [1/2]

bool SalGraphics::DrawPolyPolygon ( const basegfx::B2DHomMatrix rObjectToDevice,
const basegfx::B2DPolyPolygon i_rPolyPolygon,
double  i_fTransparency,
const OutputDevice i_rOutDev 
)

◆ drawPolyPolygon() [2/2]

virtual void SalGraphics::drawPolyPolygon ( sal_uInt32  nPoly,
const sal_uInt32 *  pPoints,
const Point **  pPtAry 
)
protectedpure virtual

◆ DrawPolyPolygon() [2/2]

void SalGraphics::DrawPolyPolygon ( sal_uInt32  nPoly,
const sal_uInt32 *  pPoints,
const Point **  pPtAry,
const OutputDevice rOutDev 
)

◆ drawPolyPolygonBezier()

virtual bool SalGraphics::drawPolyPolygonBezier ( sal_uInt32  nPoly,
const sal_uInt32 *  pPoints,
const Point *const *  pPtAry,
const PolyFlags *const *  pFlgAry 
)
protectedpure virtual

◆ DrawPolyPolygonBezier()

bool SalGraphics::DrawPolyPolygonBezier ( sal_uInt32  nPoly,
const sal_uInt32 *  pPoints,
const Point *const *  pPtAry,
const PolyFlags *const *  pFlgAry,
const OutputDevice rOutDev 
)

◆ drawRect()

virtual void SalGraphics::drawRect ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight 
)
protectedpure virtual

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by DrawRect().

◆ DrawRect()

void SalGraphics::DrawRect ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight,
const OutputDevice rOutDev 
)

◆ DrawTextLayout()

virtual void SalGraphics::DrawTextLayout ( const GenericSalLayout )
pure virtual

◆ drawTransformedBitmap()

bool SalGraphics::drawTransformedBitmap ( const basegfx::B2DPoint rNull,
const basegfx::B2DPoint rX,
const basegfx::B2DPoint rY,
const SalBitmap rSourceBitmap,
const SalBitmap pAlphaBitmap,
double  fAlpha 
)
protectedpure virtual

draw transformed bitmap (maybe with alpha) where Null, X, Y define the coordinate system

Parameters
fAlphaadditional alpha (0 to 1) to apply while drawing

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Definition at line 86 of file salgdilayout.cxx.

Referenced by DrawTransformedBitmap().

◆ DrawTransformedBitmap()

bool SalGraphics::DrawTransformedBitmap ( const basegfx::B2DPoint rNull,
const basegfx::B2DPoint rX,
const basegfx::B2DPoint rY,
const SalBitmap rSourceBitmap,
const SalBitmap pAlphaBitmap,
double  fAlpha,
const OutputDevice rOutDev 
)

◆ forWidget()

vcl::WidgetDrawInterface * SalGraphics::forWidget ( )
inlineprotected

◆ getAntiAlias()

bool SalGraphics::getAntiAlias ( ) const
inline

◆ GetBitCount()

virtual sal_uInt16 SalGraphics::GetBitCount ( ) const
pure virtual

◆ getBitmap()

virtual std::shared_ptr< SalBitmap > SalGraphics::getBitmap ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight 
)
protectedpure virtual

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by GetBitmap().

◆ GetBitmap()

std::shared_ptr< SalBitmap > SalGraphics::GetBitmap ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight,
const OutputDevice rOutDev 
)

Definition at line 695 of file salgdilayout.cxx.

References BiDiRtl, getBitmap(), OutputDevice::IsRTLEnabled(), m_nLayout, and mirror().

Referenced by OutputDevice::GetBitmap().

◆ GetDevFontList()

virtual void SalGraphics::GetDevFontList ( vcl::font::PhysicalFontCollection )
pure virtual

◆ GetDeviceWidth()

tools::Long SalGraphics::GetDeviceWidth ( const OutputDevice rOutDev) const
inlineprotected

◆ GetFontCapabilities()

virtual bool SalGraphics::GetFontCapabilities ( vcl::FontCapabilities rFontCapabilities) const
pure virtual

◆ GetFontCharMap()

virtual FontCharMapRef SalGraphics::GetFontCharMap ( ) const
pure virtual

◆ GetFontMetric()

virtual void SalGraphics::GetFontMetric ( FontMetricDataRef ,
int  nFallbackLevel 
)
pure virtual

◆ GetGraphicsData()

virtual SystemGraphicsData SalGraphics::GetGraphicsData ( ) const
pure virtual

◆ GetGraphicsWidth()

virtual tools::Long SalGraphics::GetGraphicsWidth ( ) const
pure virtual

◆ GetImpl()

virtual SalGraphicsImpl * SalGraphics::GetImpl ( ) const
pure virtual

Implemented in SvpSalGraphics, QtGraphics, AquaSalGraphics, GenPspGraphics, X11SalGraphics, and WinSalGraphics.

Referenced by SalGraphicsAutoDelegateToImpl::blendAlphaBitmap(), SalGraphicsAutoDelegateToImpl::blendBitmap(), SalGraphicsAutoDelegateToImpl::copyArea(), SalGraphicsAutoDelegateToImpl::copyBits(), SalGraphicsAutoDelegateToImpl::drawAlphaBitmap(), SalGraphicsAutoDelegateToImpl::drawAlphaRect(), SalGraphicsAutoDelegateToImpl::drawBitmap(), SalGraphicsAutoDelegateToImpl::drawEPS(), SalGraphicsAutoDelegateToImpl::drawGradient(), SalGraphicsAutoDelegateToImpl::drawLine(), SalGraphicsAutoDelegateToImpl::drawMask(), SalGraphicsAutoDelegateToImpl::drawPixel(), SalGraphicsAutoDelegateToImpl::drawPolygon(), SalGraphicsAutoDelegateToImpl::drawPolygonBezier(), SalGraphicsAutoDelegateToImpl::drawPolyLine(), SalGraphicsAutoDelegateToImpl::drawPolyLineBezier(), SalGraphicsAutoDelegateToImpl::drawPolyPolygon(), SalGraphicsAutoDelegateToImpl::drawPolyPolygonBezier(), SalGraphicsAutoDelegateToImpl::drawRect(), SalGraphicsAutoDelegateToImpl::drawTransformedBitmap(), SalGraphicsAutoDelegateToImpl::GetBitCount(), SalGraphicsAutoDelegateToImpl::getBitmap(), SalGraphicsAutoDelegateToImpl::GetGraphicsWidth(), SalGraphicsAutoDelegateToImpl::getPixel(), getRenderBackendName(), SalGraphicsAutoDelegateToImpl::getRenderBackendName(), SalGraphicsAutoDelegateToImpl::hasFastDrawTransformedBitmap(), SalGraphicsAutoDelegateToImpl::implDrawGradient(), SalGraphicsAutoDelegateToImpl::invert(), SalGraphicsAutoDelegateToImpl::ResetClipRegion(), SalGraphicsAutoDelegateToImpl::setClipRegion(), SalGraphicsAutoDelegateToImpl::SetFillColor(), SalGraphicsAutoDelegateToImpl::SetLineColor(), SalGraphicsAutoDelegateToImpl::SetROPFillColor(), SalGraphicsAutoDelegateToImpl::SetROPLineColor(), SalGraphicsAutoDelegateToImpl::SetXORMode(), and SalGraphicsAutoDelegateToImpl::supportsOperation().

◆ GetLayout()

SalLayoutFlags SalGraphics::GetLayout ( ) const
inline

◆ getMirror()

const basegfx::B2DHomMatrix & SalGraphics::getMirror ( const OutputDevice rOutDev) const

Definition at line 284 of file salgdilayout.cxx.

References GetMirrorMode().

Referenced by DrawPolyLine(), DrawPolyPolygon(), DrawTransformedBitmap(), and mirror().

◆ GetMirrorMode()

SalGraphics::MirrorMode SalGraphics::GetMirrorMode ( const OutputDevice rOutDev) const
private

◆ GetNativeControlRegion()

bool SalGraphics::GetNativeControlRegion ( ControlType  nType,
ControlPart  nPart,
const tools::Rectangle rControlRegion,
ControlState  nState,
const ImplControlValue aValue,
tools::Rectangle rNativeBoundingRegion,
tools::Rectangle rNativeContentRegion,
const OutputDevice rOutDev 
)

◆ getPixel()

virtual Color SalGraphics::getPixel ( tools::Long  nX,
tools::Long  nY 
)
protectedpure virtual

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by GetPixel().

◆ GetPixel()

Color SalGraphics::GetPixel ( tools::Long  nX,
tools::Long  nY,
const OutputDevice rOutDev 
)

Definition at line 702 of file salgdilayout.cxx.

References BiDiRtl, getPixel(), OutputDevice::IsRTLEnabled(), m_nLayout, and mirror().

Referenced by OutputDevice::GetPixel().

◆ getRenderBackendName()

OUString SalGraphics::getRenderBackendName ( ) const
virtual

◆ GetResolution()

virtual void SalGraphics::GetResolution ( sal_Int32 &  rDPIX,
sal_Int32 &  rDPIY 
)
pure virtual

◆ GetTextLayout()

virtual std::unique_ptr< GenericSalLayout > SalGraphics::GetTextLayout ( int  nFallbackLevel)
pure virtual

◆ handleDamage()

void SalGraphics::handleDamage ( const tools::Rectangle rDamagedRegion)
inlineprotectedvirtual

Handle damage done by drawing with a widget draw override.

If a m_pWidgetDraw is set and successfully draws using drawNativeControl, this function is called to handle the damage done to the graphics buffer.

Parameters
rDamagedRegionthe region damaged by drawNativeControl.

Reimplemented in QtGraphics, QtSvpGraphics, and GtkSalGraphics.

Definition at line 643 of file salgdi.hxx.

Referenced by DrawNativeControl().

◆ HasFastDrawTransformedBitmap()

bool SalGraphics::HasFastDrawTransformedBitmap ( ) const

◆ hasFastDrawTransformedBitmap()

virtual bool SalGraphics::hasFastDrawTransformedBitmap ( ) const
protectedpure virtual

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.

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by HasFastDrawTransformedBitmap().

◆ HitTestNativeScrollbar()

bool SalGraphics::HitTestNativeScrollbar ( ControlPart  nPart,
const tools::Rectangle rControlRegion,
const Point aPos,
bool &  rIsInside,
const OutputDevice rOutDev 
)
See also
WidgetDrawInterface::hitTestNativeControl

Definition at line 735 of file salgdilayout.cxx.

References BiDiRtl, forWidget(), vcl::WidgetDrawInterface::hitTestNativeControl(), OutputDevice::IsRTLEnabled(), m_nLayout, mirror(), mirror2(), pt, and Scrollbar.

Referenced by OutputDevice::HitTestNativeScrollbar().

◆ implDrawGradient()

virtual bool SalGraphics::implDrawGradient ( basegfx::B2DPolyPolygon const &  ,
SalGradient const &   
)
inlineprotectedvirtual

Reimplemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Definition at line 481 of file salgdi.hxx.

Referenced by vcl::FileDefinitionWidgetDraw::implDrawGradient().

◆ initWidgetDrawBackends()

bool SalGraphics::initWidgetDrawBackends ( bool  bForce = false)
protected

Definition at line 63 of file salgdilayout.cxx.

References m_pWidgetDraw.

◆ invert() [1/2]

virtual void SalGraphics::invert ( sal_uInt32  nPoints,
const Point pPtAry,
SalInvert  nFlags 
)
protectedpure virtual

◆ Invert() [1/2]

void SalGraphics::Invert ( sal_uInt32  nPoints,
const Point pPtAry,
SalInvert  nFlags,
const OutputDevice rOutDev 
)

Definition at line 716 of file salgdilayout.cxx.

References BiDiRtl, invert(), OutputDevice::IsRTLEnabled(), m_nLayout, and mirror().

◆ invert() [2/2]

virtual void SalGraphics::invert ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight,
SalInvert  nFlags 
)
protectedpure virtual

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by Invert().

◆ Invert() [2/2]

void SalGraphics::Invert ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight,
SalInvert  nFlags,
const OutputDevice rOutDev 
)

◆ IsNativeControlSupported()

bool SalGraphics::IsNativeControlSupported ( ControlType  eType,
ControlPart  ePart 
)
inline
See also
WidgetDrawInterface::isNativeControlSupported

Definition at line 633 of file salgdi.hxx.

References eType, forWidget(), and vcl::WidgetDrawInterface::isNativeControlSupported().

Referenced by OutputDevice::IsNativeControlSupported().

◆ mirror() [1/7]

basegfx::B2DPolyPolygon SalGraphics::mirror ( const basegfx::B2DPolyPolygon i_rPoly,
const OutputDevice rOutDev 
) const

◆ mirror() [2/7]

void SalGraphics::mirror ( ImplControlValue rVal,
const OutputDevice rOutDev 
) const

◆ mirror() [3/7]

bool SalGraphics::mirror ( sal_uInt32  nPoints,
const Point pPtAry,
Point pPtAry2,
const OutputDevice rOutDev 
) const

◆ mirror() [4/7]

void SalGraphics::mirror ( tools::Long nX,
const OutputDevice rOutDev 
) const

◆ mirror() [5/7]

void SalGraphics::mirror ( tools::Long nX,
tools::Long  nWidth,
const OutputDevice rOutDev,
bool  bBack = false 
) const

◆ mirror() [6/7]

void SalGraphics::mirror ( tools::Rectangle rRect,
const OutputDevice rOutDev,
bool  bBack = false 
) const

◆ mirror() [7/7]

void SalGraphics::mirror ( vcl::Region rRgn,
const OutputDevice rOutDev 
) const

◆ mirror2()

tools::Long SalGraphics::mirror2 ( tools::Long  nX,
const OutputDevice rOutDev 
) const

Definition at line 98 of file salgdilayout.cxx.

References mirror(), and x.

Referenced by HitTestNativeScrollbar().

◆ ReleaseFonts()

void SalGraphics::ReleaseFonts ( )
inline

◆ ResetClipRegion()

virtual void SalGraphics::ResetClipRegion ( )
pure virtual

◆ setAntiAlias()

void SalGraphics::setAntiAlias ( bool  bNew)
inline

◆ setClipRegion()

virtual void SalGraphics::setClipRegion ( const vcl::Region )
protectedpure virtual

Implemented in WinSalGraphics, and SalGraphicsAutoDelegateToImpl.

Referenced by SetClipRegion().

◆ SetClipRegion()

void SalGraphics::SetClipRegion ( const vcl::Region i_rClip,
const OutputDevice rOutDev 
)

◆ SetFillColor() [1/2]

virtual void SalGraphics::SetFillColor ( )
pure virtual

◆ SetFillColor() [2/2]

virtual void SalGraphics::SetFillColor ( Color  nColor)
pure virtual

◆ SetFont()

virtual void SalGraphics::SetFont ( LogicalFontInstance ,
int  nFallbackLevel 
)
pure virtual

◆ SetLayout()

void SalGraphics::SetLayout ( SalLayoutFlags  aLayout)
inline

Definition at line 171 of file salgdi.hxx.

Referenced by VirtualDevice::EnableRTL().

◆ SetLineColor() [1/2]

virtual void SalGraphics::SetLineColor ( )
pure virtual

◆ SetLineColor() [2/2]

virtual void SalGraphics::SetLineColor ( Color  nColor)
pure virtual

◆ SetROPFillColor()

virtual void SalGraphics::SetROPFillColor ( SalROPColor  nROPColor)
pure virtual

◆ SetROPLineColor()

virtual void SalGraphics::SetROPLineColor ( SalROPColor  nROPColor)
pure virtual

◆ SetTextColor()

virtual void SalGraphics::SetTextColor ( Color  nColor)
pure virtual

◆ SetXORMode()

virtual void SalGraphics::SetXORMode ( bool  bSet,
bool  bInvertOnly 
)
pure virtual

◆ ShouldDownscaleIconsAtSurface()

bool SalGraphics::ShouldDownscaleIconsAtSurface ( double *  pScaleOut) const
virtual

◆ supportsOperation()

virtual bool SalGraphics::supportsOperation ( OutDevSupportType  ) const
pure virtual

◆ UpdateSettings()

bool SalGraphics::UpdateSettings ( AllSettings rSettings)
inline
See also
WidgetDrawInterface::updateSettings

Definition at line 638 of file salgdi.hxx.

References forWidget(), and vcl::WidgetDrawInterface::updateSettings().

Friends And Related Function Documentation

◆ vcl::FileDefinitionWidgetDraw

friend class vcl::FileDefinitionWidgetDraw
friend

Definition at line 427 of file salgdi.hxx.

Member Data Documentation

◆ m_aLastMirror

basegfx::B2DHomMatrix SalGraphics::m_aLastMirror
private

Definition at line 606 of file salgdi.hxx.

◆ m_bAntiAlias

bool SalGraphics::m_bAntiAlias
protected

flags which hold the SetAntialiasing() value from OutputDevice

Definition at line 612 of file salgdi.hxx.

◆ m_eLastMirrorMode

MirrorMode SalGraphics::m_eLastMirrorMode
private

Definition at line 604 of file salgdi.hxx.

◆ m_nLastMirrorTranslation

tools::Long SalGraphics::m_nLastMirrorTranslation
private

Definition at line 605 of file salgdi.hxx.

◆ m_nLayout

SalLayoutFlags SalGraphics::m_nLayout
private

◆ m_pWidgetDraw

std::unique_ptr<vcl::WidgetDrawInterface> SalGraphics::m_pWidgetDraw
protected

Definition at line 629 of file salgdi.hxx.

Referenced by DrawNativeControl(), and initWidgetDrawBackends().


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