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

#include <salgdi.h>

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

Public Member Functions

 AquaSalGraphics ()
 
virtual ~AquaSalGraphics () override
 
void SetVirDevGraphics (SalVirtualDevice *pVirDev, CGLayerHolder const &rLayer, CGContextRef, int nBitDepth=0)
 
void RefreshRect (const CGRect &)
 
void Flush ()
 
void Flush (const tools::Rectangle &)
 
void UnsetState ()
 
void InvalidateContext ()
 
AquaGraphicsBackendBasegetAquaGraphicsBackend () const
 
virtual SalGraphicsImplGetImpl () const override
 
virtual void GetResolution (sal_Int32 &rDPIX, sal_Int32 &rDPIY) override
 
virtual void SetTextColor (Color nColor) override
 
virtual void SetFont (LogicalFontInstance *, int nFallbackLevel) override
 
virtual void GetFontMetric (ImplFontMetricDataRef &, int nFallbackLevel) override
 
virtual FontCharMapRef GetFontCharMap () const override
 
virtual bool GetFontCapabilities (vcl::FontCapabilities &rFontCapabilities) const override
 
virtual void GetDevFontList (PhysicalFontCollection *) override
 
virtual void ClearDevFontCache () override
 
virtual bool AddTempDevFont (PhysicalFontCollection *, const OUString &rFileURL, const OUString &rFontName) override
 
virtual bool CreateFontSubset (const OUString &rToFile, const PhysicalFontFace *pFont, const sal_GlyphId *pGlyphIds, const sal_uInt8 *pEncoding, sal_Int32 *pWidths, int nGlyphs, FontSubsetInfo &rInfo) override
 
virtual const voidGetEmbedFontData (const PhysicalFontFace *, tools::Long *pDataLen) override
 
virtual void FreeEmbedFontData (const void *pData, tools::Long nDataLen) override
 
virtual void GetGlyphWidths (const PhysicalFontFace *, bool bVertical, std::vector< sal_Int32 > &rWidths, Ucs2UIntMap &rUnicodeEnc) override
 
virtual std::unique_ptr< GenericSalLayoutGetTextLayout (int nFallbackLevel) override
 
virtual void DrawTextLayout (const GenericSalLayout &) override
 
virtual SystemGraphicsData GetGraphicsData () const override
 
- Public Member Functions inherited from SalGraphicsAutoDelegateToImpl
sal_uInt16 GetBitCount () const override
 
tools::Long GetGraphicsWidth () const override
 
void ResetClipRegion () override
 
bool setClipRegion (const vcl::Region &i_rClip) override
 
void SetLineColor () override
 
void SetLineColor (Color nColor) override
 
void SetFillColor () override
 
void SetFillColor (Color nColor) override
 
void SetROPLineColor (SalROPColor aColor) override
 
void SetROPFillColor (SalROPColor aColor) override
 
void SetXORMode (bool bSet, bool bInvertOnly) override
 
void drawPixel (tools::Long nX, tools::Long nY) override
 
void drawPixel (tools::Long nX, tools::Long nY, Color nColor) override
 
void drawLine (tools::Long nX1, tools::Long nY1, tools::Long nX2, tools::Long nY2) override
 
void drawRect (tools::Long nX, tools::Long nY, tools::Long nDX, tools::Long nDY) override
 
void drawPolyLine (sal_uInt32 nPoints, const Point *pPtAry) override
 
void drawPolygon (sal_uInt32 nPoints, const Point *pPtAry) override
 
void drawPolyPolygon (sal_uInt32 nPoly, const sal_uInt32 *pPoints, const Point **pPtAry) override
 
bool drawPolyPolygon (const basegfx::B2DHomMatrix &rObjectToDevice, const basegfx::B2DPolyPolygon &rPolyPolygon, double fTransparency) override
 
bool drawPolyLine (const basegfx::B2DHomMatrix &rObjectToDevice, const basegfx::B2DPolygon &rPolygon, double fTransparency, double fLineWidth, const std::vector< double > *pStroke, basegfx::B2DLineJoin eJoin, css::drawing::LineCap eLineCap, double fMiterMinimumAngle, bool bPixelSnapHairline) override
 
bool drawPolyLineBezier (sal_uInt32 nPoints, const Point *pPtAry, const PolyFlags *pFlgAry) override
 
bool drawPolygonBezier (sal_uInt32 nPoints, const Point *pPtAry, const PolyFlags *pFlgAry) override
 
bool drawPolyPolygonBezier (sal_uInt32 nPoly, const sal_uInt32 *pPoints, const Point *const *pPtAry, const PolyFlags *const *pFlgAry) override
 
void invert (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, SalInvert nFlags) override
 
void invert (sal_uInt32 nPoints, const Point *pPtAry, SalInvert nFlags) override
 
bool drawEPS (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, void *pPtr, sal_uInt32 nSize) override
 
void copyBits (const SalTwoRect &rPosAry, SalGraphics *pSrcGraphics) override
 
void copyArea (tools::Long nDestX, tools::Long nDestY, tools::Long nSrcX, tools::Long nSrcY, tools::Long nSrcWidth, tools::Long nSrcHeight, bool bWindowInvalidate) override
 
void drawBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap) override
 
void drawBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, const SalBitmap &rMaskBitmap) override
 
void drawMask (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, Color nMaskColor) override
 
std::shared_ptr< SalBitmapgetBitmap (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight) override
 
Color getPixel (tools::Long nX, tools::Long nY) override
 
bool blendBitmap (const SalTwoRect &rPosAry, const SalBitmap &rBitmap) override
 Blend the bitmap with the current buffer. More...
 
bool blendAlphaBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSourceBitmap, const SalBitmap &rMaskBitmap, const SalBitmap &rAlphaBitmap) override
 Draw the bitmap by blending using the mask and alpha channel. More...
 
bool drawAlphaBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSourceBitmap, const SalBitmap &rAlphaBitmap) override
 Render bitmap with alpha channel. More...
 
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 More...
 
bool hasFastDrawTransformedBitmap () const override
 Used e.g. More...
 
bool drawAlphaRect (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, sal_uInt8 nTransparency) override
 Render solid rectangle with given transparency. More...
 
bool drawGradient (const tools::PolyPolygon &rPolygon, const Gradient &rGradient) override
 
bool implDrawGradient (basegfx::B2DPolyPolygon const &rPolyPolygon, SalGradient const &rGradient) override
 
bool supportsOperation (OutDevSupportType eType) const override
 
OUString getRenderBackendName () const override
 
- Public Member Functions inherited from SalGraphics
 SalGraphics ()
 
 ~SalGraphics () COVERITY_NOEXCEPT_FALSE override
 
void setAntiAlias (bool bNew)
 
bool getAntiAlias () const
 
void ReleaseFonts ()
 
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
 
bool 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)
 

Static Private Member Functions

static bool GetRawFontData (const PhysicalFontFace *pFontData, std::vector< unsigned char > &rBuffer, bool *pJustCFF)
 

Private Attributes

AquaSharedAttributes maShared
 
std::unique_ptr< AquaGraphicsBackendBasempBackend
 
sal_Int32 mnRealDPIX
 device resolution of this graphics More...
 
sal_Int32 mnRealDPIY
 
rtl::Reference< CoreTextStylempTextStyle [MAX_FALLBACK]
 

Additional Inherited Members

- Protected Member Functions inherited from SalGraphics
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)
 
- Static Protected Member Functions inherited from SalGraphics
static void GetGlyphWidths (const vcl::AbstractTrueTypeFont &rTTF, const PhysicalFontFace &rFontFace, bool bVertical, std::vector< sal_Int32 > &rWidths, Ucs2UIntMap &rUnicodeEnc)
 
static bool CreateTTFfontSubset (vcl::AbstractTrueTypeFont &aTTF, const OString &rSysPath, const bool bVertical, const sal_GlyphId *pGlyphIds, const sal_uInt8 *pEncoding, sal_Int32 *pGlyphWidths, int nGlyphCount)
 
static bool CreateCFFfontSubset (const unsigned char *pFontBytes, int nByteLength, const OString &rSysPath, const sal_GlyphId *pGlyphIds, const sal_uInt8 *pEncoding, sal_Int32 *pGlyphWidths, int nGlyphCount, FontSubsetInfo &rInfo)
 
static void FillFontSubsetInfo (const vcl::TTGlobalFontInfo &rTTInfo, const OUString &pPSName, FontSubsetInfo &rInfo)
 
- Protected Attributes inherited from SalGraphics
bool m_bAntiAlias: 1
 flags which hold the SetAntialiasing() value from OutputDevice More...
 
std::unique_ptr< vcl::WidgetDrawInterfacem_pWidgetDraw
 

Detailed Description

Definition at line 453 of file quartz/salgdi.h.

Constructor & Destructor Documentation

AquaSalGraphics::AquaSalGraphics ( )
virtual AquaSalGraphics::~AquaSalGraphics ( )
overridevirtual

Member Function Documentation

virtual bool AquaSalGraphics::AddTempDevFont ( PhysicalFontCollection ,
const OUString &  rFileURL,
const OUString &  rFontName 
)
overridevirtual

Implements SalGraphics.

virtual void AquaSalGraphics::ClearDevFontCache ( )
overridevirtual

Implements SalGraphics.

virtual bool AquaSalGraphics::CreateFontSubset ( const OUString &  rToFile,
const PhysicalFontFace pFont,
const sal_GlyphId pGlyphIds,
const sal_uInt8 pEncoding,
sal_Int32 *  pWidths,
int  nGlyphs,
FontSubsetInfo rInfo 
)
overridevirtual

Implements SalGraphics.

virtual void AquaSalGraphics::DrawTextLayout ( const GenericSalLayout )
overridevirtual

Implements SalGraphics.

void AquaSalGraphics::Flush ( )
void AquaSalGraphics::Flush ( const tools::Rectangle )
virtual void AquaSalGraphics::FreeEmbedFontData ( const void pData,
tools::Long  nDataLen 
)
overridevirtual

Implements SalGraphics.

AquaGraphicsBackendBase* AquaSalGraphics::getAquaGraphicsBackend ( ) const
inline

Definition at line 499 of file quartz/salgdi.h.

virtual void AquaSalGraphics::GetDevFontList ( PhysicalFontCollection )
overridevirtual

Implements SalGraphics.

virtual const void* AquaSalGraphics::GetEmbedFontData ( const PhysicalFontFace ,
tools::Long pDataLen 
)
overridevirtual

Implements SalGraphics.

virtual bool AquaSalGraphics::GetFontCapabilities ( vcl::FontCapabilities rFontCapabilities) const
overridevirtual

Implements SalGraphics.

virtual FontCharMapRef AquaSalGraphics::GetFontCharMap ( ) const
overridevirtual

Implements SalGraphics.

virtual void AquaSalGraphics::GetFontMetric ( ImplFontMetricDataRef ,
int  nFallbackLevel 
)
overridevirtual

Implements SalGraphics.

virtual void AquaSalGraphics::GetGlyphWidths ( const PhysicalFontFace ,
bool  bVertical,
std::vector< sal_Int32 > &  rWidths,
Ucs2UIntMap rUnicodeEnc 
)
overridevirtual

Implements SalGraphics.

virtual SystemGraphicsData AquaSalGraphics::GetGraphicsData ( ) const
overridevirtual

Implements SalGraphics.

virtual SalGraphicsImpl* AquaSalGraphics::GetImpl ( ) const
overridevirtual

Implements SalGraphics.

static bool AquaSalGraphics::GetRawFontData ( const PhysicalFontFace pFontData,
std::vector< unsigned char > &  rBuffer,
bool *  pJustCFF 
)
staticprivate
virtual void AquaSalGraphics::GetResolution ( sal_Int32 &  rDPIX,
sal_Int32 &  rDPIY 
)
overridevirtual

Implements SalGraphics.

virtual std::unique_ptr<GenericSalLayout> AquaSalGraphics::GetTextLayout ( int  nFallbackLevel)
overridevirtual

Implements SalGraphics.

void AquaSalGraphics::InvalidateContext ( )
void AquaSalGraphics::RefreshRect ( const CGRect &  )
inline

Definition at line 489 of file quartz/salgdi.h.

virtual void AquaSalGraphics::SetFont ( LogicalFontInstance ,
int  nFallbackLevel 
)
overridevirtual

Implements SalGraphics.

virtual void AquaSalGraphics::SetTextColor ( Color  nColor)
overridevirtual

Implements SalGraphics.

void AquaSalGraphics::SetVirDevGraphics ( SalVirtualDevice pVirDev,
CGLayerHolder const &  rLayer,
CGContextRef  ,
int  nBitDepth = 0 
)
void AquaSalGraphics::UnsetState ( )

Member Data Documentation

AquaSharedAttributes AquaSalGraphics::maShared
private

Definition at line 455 of file quartz/salgdi.h.

sal_Int32 AquaSalGraphics::mnRealDPIX
private

device resolution of this graphics

Definition at line 459 of file quartz/salgdi.h.

sal_Int32 AquaSalGraphics::mnRealDPIY
private

Definition at line 460 of file quartz/salgdi.h.

std::unique_ptr<AquaGraphicsBackendBase> AquaSalGraphics::mpBackend
private

Definition at line 456 of file quartz/salgdi.h.

rtl::Reference<CoreTextStyle> AquaSalGraphics::mpTextStyle[MAX_FALLBACK]
private

Definition at line 463 of file quartz/salgdi.h.


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