2#ifndef INKSCAPE_DISPLAY_DRAWING_PAINT_SERVER_H
3#define INKSCAPE_DISPLAY_DRAWING_PAINT_SERVER_H
99 float x1,
float y1,
float x2,
float y2, std::vector<SPGradientStop>
stops)
122 float fx,
float fy,
float cx,
float cy,
float r,
float fr, std::vector<SPGradientStop>
stops)
3x3 affine transformation matrix.
3x3 matrix representing an affine transformation.
Axis-aligned rectangle that can be empty.
Two-dimensional point that doubles as a vector.
The base class for all gradients.
void common_setup(cairo_pattern_t *pat, Geom::OptRect const &bbox, double opacity) const
Perform some common initialization steps on the given Cairo pattern.
DrawingGradient(SPGradientSpread spread, SPGradientUnits units, Geom::Affine const &transform)
bool ditherable() const override
Return whether this paint server could benefit from dithering.
std::vector< SPGradientStop > stops
DrawingLinearGradient(SPGradientSpread spread, SPGradientUnits units, Geom::Affine const &transform, float x1, float y1, float x2, float y2, std::vector< SPGradientStop > stops)
cairo_pattern_t * create_pattern(cairo_t *, Geom::OptRect const &bbox, double opacity) const override
Produce a pattern that can be used for painting with Cairo.
DrawingMeshGradient(SPGradientSpread spread, SPGradientUnits units, Geom::Affine const &transform, int rows, int cols, std::vector< std::vector< PatchData > > patchdata)
cairo_pattern_t * create_pattern(cairo_t *, Geom::OptRect const &bbox, double opacity) const override
Produce a pattern that can be used for painting with Cairo.
std::vector< std::vector< PatchData > > patchdata
A DrawingPaintServer is a lightweight copy of the resources needed to paint using a paint server.
virtual bool uses_cairo_ctx() const
Return whether create_pattern() uses its cairo_t argument.
virtual ~DrawingPaintServer()=0
virtual bool ditherable() const
Return whether this paint server could benefit from dithering.
virtual cairo_pattern_t * create_pattern(cairo_t *ct, Geom::OptRect const &bbox, double opacity) const =0
Produce a pattern that can be used for painting with Cairo.
cairo_pattern_t * create_pattern(cairo_t *ct, Geom::OptRect const &bbox, double opacity) const override
Produce a pattern that can be used for painting with Cairo.
std::vector< SPGradientStop > stops
DrawingRadialGradient(SPGradientSpread spread, SPGradientUnits units, Geom::Affine const &transform, float fx, float fy, float cx, float cy, float r, float fr, std::vector< SPGradientStop > stops)
bool uses_cairo_ctx() const override
Return whether create_pattern() uses its cairo_t argument.
A simple solid color, storing an RGB color and an opacity.
cairo_pattern_t * create_pattern(cairo_t *, Geom::OptRect const &, double opacity) const override
Produce a pattern that can be used for painting with Cairo.
_cairo_pattern cairo_pattern_t
Helper class to stream background task notifications as a series of messages.
TODO: insert short description here.
TODO: insert short description here.
TODO: insert short description here.
std::array< float, 3 > color[4]
Geom::Point tensorpoints[4]