LibreOffice Module vcl (master) 1
Classes | Macros | Typedefs | Enumerations | Functions
CairoCommon.hxx File Reference
#include <sal/config.h>
#include <config_features.h>
#include <cairo.h>
#include <vcl/dllapi.h>
#include <vcl/region.hxx>
#include <vcl/salgtype.hxx>
#include <vcl/BitmapBuffer.hxx>
#include <com/sun/star/drawing/LineCap.hpp>
#include <basegfx/utils/systemdependentdata.hxx>
#include <basegfx/range/b2drange.hxx>
#include <basegfx/range/b2irange.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <basegfx/polygon/b2dpolypolygon.hxx>
#include <basegfx/polygon/b2dpolygon.hxx>
#include <unordered_map>
Include dependency graph for CairoCommon.hxx:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  SystemDependentData_CairoPath
 
struct  DamageHandler
 
struct  CairoCommon
 
class  SurfaceHelper
 

Macros

#define SVP_24BIT_FORMAT   (ScanlineFormat::N24BitTcBgr | ScanlineFormat::TopDown)
 
#define SVP_CAIRO_FORMAT   (ScanlineFormat::N32BitTcBgra | ScanlineFormat::TopDown)
 
#define SVP_CAIRO_BLUE   0
 
#define SVP_CAIRO_GREEN   1
 
#define SVP_CAIRO_RED   2
 
#define SVP_CAIRO_ALPHA   3
 

Typedefs

typedef struct _cairo cairo_t
 
typedef struct _cairo_surface cairo_surface_t
 
typedef struct _cairo_user_data_key cairo_user_data_key_t
 
typedef void(* damageHandler) (void *handle, sal_Int32 nExtentsX, sal_Int32 nExtentsY, sal_Int32 nExtentsWidth, sal_Int32 nExtentsHeight)
 

Enumerations

enum class  PaintMode {
  Over ,
  Xor
}
 

Functions

VCL_DLLPUBLIC void dl_cairo_surface_set_device_scale (cairo_surface_t *surface, double x_scale, double y_scale)
 
VCL_DLLPUBLIC void dl_cairo_surface_get_device_scale (cairo_surface_t *surface, double *x_scale, double *y_scale)
 
VCL_DLLPUBLIC basegfx::B2DRange getFillDamage (cairo_t *cr)
 
VCL_DLLPUBLIC basegfx::B2DRange getClipBox (cairo_t *cr)
 
VCL_DLLPUBLIC basegfx::B2DRange getClippedFillDamage (cairo_t *cr)
 
VCL_DLLPUBLIC basegfx::B2DRange getClippedStrokeDamage (cairo_t *cr)
 
VCL_DLLPUBLIC basegfx::B2DRange getStrokeDamage (cairo_t *cr)
 
VCL_DLLPUBLIC size_t AddPolygonToPath (cairo_t *cr, const basegfx::B2DPolygon &rPolygon, const basegfx::B2DHomMatrix &rObjectToDevice, bool bPixelSnap, bool bPixelSnapHairline)
 
VCL_DLLPUBLIC basegfx::B2DPoint impPixelSnap (const basegfx::B2DPolygon &rPolygon, const basegfx::B2DHomMatrix &rObjectToDevice, basegfx::B2DHomMatrix &rObjectToDeviceInv, sal_uInt32 nIndex)
 
VCL_DLLPUBLIC void add_polygon_path (cairo_t *cr, const basegfx::B2DPolyPolygon &rPolyPolygon, const basegfx::B2DHomMatrix &rObjectToDevice, bool bPixelSnap)
 
VCL_DLLPUBLIC cairo_format_t getCairoFormat (const BitmapBuffer &rBuffer)
 
VCL_DLLPUBLIC std::unique_ptr< BitmapBufferFastConvert24BitRgbTo32BitCairo (const BitmapBuffer *pSrc)
 
VCL_DLLPUBLIC void Toggle1BitTransparency (const BitmapBuffer &rBuf)
 

Macro Definition Documentation

◆ SVP_24BIT_FORMAT

#define SVP_24BIT_FORMAT   (ScanlineFormat::N24BitTcBgr | ScanlineFormat::TopDown)

Definition at line 63 of file CairoCommon.hxx.

◆ SVP_CAIRO_ALPHA

#define SVP_CAIRO_ALPHA   3

Definition at line 68 of file CairoCommon.hxx.

◆ SVP_CAIRO_BLUE

#define SVP_CAIRO_BLUE   0

Definition at line 65 of file CairoCommon.hxx.

◆ SVP_CAIRO_FORMAT

#define SVP_CAIRO_FORMAT   (ScanlineFormat::N32BitTcBgra | ScanlineFormat::TopDown)

Definition at line 64 of file CairoCommon.hxx.

◆ SVP_CAIRO_GREEN

#define SVP_CAIRO_GREEN   1

Definition at line 66 of file CairoCommon.hxx.

◆ SVP_CAIRO_RED

#define SVP_CAIRO_RED   2

Definition at line 67 of file CairoCommon.hxx.

Typedef Documentation

◆ cairo_surface_t

typedef struct _cairo_surface cairo_surface_t

Definition at line 72 of file CairoCommon.hxx.

◆ cairo_t

typedef struct _cairo cairo_t

Definition at line 71 of file CairoCommon.hxx.

◆ cairo_user_data_key_t

typedef struct _cairo_user_data_key cairo_user_data_key_t

Definition at line 73 of file CairoCommon.hxx.

◆ damageHandler

typedef void(* damageHandler) (void *handle, sal_Int32 nExtentsX, sal_Int32 nExtentsY, sal_Int32 nExtentsWidth, sal_Int32 nExtentsHeight)

Definition at line 138 of file CairoCommon.hxx.

Enumeration Type Documentation

◆ PaintMode

enum class PaintMode
strong
Enumerator
Over 
Xor 

Definition at line 132 of file CairoCommon.hxx.

Function Documentation

◆ add_polygon_path()

VCL_DLLPUBLIC void add_polygon_path ( cairo_t cr,
const basegfx::B2DPolyPolygon rPolyPolygon,
const basegfx::B2DHomMatrix rObjectToDevice,
bool  bPixelSnap 
)

◆ AddPolygonToPath()

VCL_DLLPUBLIC size_t AddPolygonToPath ( cairo_t cr,
const basegfx::B2DPolygon rPolygon,
const basegfx::B2DHomMatrix rObjectToDevice,
bool  bPixelSnap,
bool  bPixelSnapHairline 
)

◆ dl_cairo_surface_get_device_scale()

VCL_DLLPUBLIC void dl_cairo_surface_get_device_scale ( cairo_surface_t surface,
double *  x_scale,
double *  y_scale 
)

◆ dl_cairo_surface_set_device_scale()

VCL_DLLPUBLIC void dl_cairo_surface_set_device_scale ( cairo_surface_t surface,
double  x_scale,
double  y_scale 
)

◆ FastConvert24BitRgbTo32BitCairo()

VCL_DLLPUBLIC std::unique_ptr< BitmapBuffer > FastConvert24BitRgbTo32BitCairo ( const BitmapBuffer pSrc)

◆ getCairoFormat()

VCL_DLLPUBLIC cairo_format_t getCairoFormat ( const BitmapBuffer rBuffer)

◆ getClipBox()

VCL_DLLPUBLIC basegfx::B2DRange getClipBox ( cairo_t cr)

◆ getClippedFillDamage()

VCL_DLLPUBLIC basegfx::B2DRange getClippedFillDamage ( cairo_t cr)

◆ getClippedStrokeDamage()

VCL_DLLPUBLIC basegfx::B2DRange getClippedStrokeDamage ( cairo_t cr)

◆ getFillDamage()

VCL_DLLPUBLIC basegfx::B2DRange getFillDamage ( cairo_t cr)

◆ getStrokeDamage()

VCL_DLLPUBLIC basegfx::B2DRange getStrokeDamage ( cairo_t cr)

◆ impPixelSnap()

VCL_DLLPUBLIC basegfx::B2DPoint impPixelSnap ( const basegfx::B2DPolygon rPolygon,
const basegfx::B2DHomMatrix rObjectToDevice,
basegfx::B2DHomMatrix rObjectToDeviceInv,
sal_uInt32  nIndex 
)

◆ Toggle1BitTransparency()

VCL_DLLPUBLIC void Toggle1BitTransparency ( const BitmapBuffer rBuf)