36 cairo_t *ct = cairo_create(out);
45 cairo_set_source_surface(ct, in, x, y);
50 cairo_surface_destroy(out);
74 double x0, y0, x1, y1;
81 x0 -= std::ceil(
offset[X]);
83 x1 -= std::floor(
offset[X]);
87 y0 -= std::ceil(
offset[Y]);
89 y1 -= std::floor(
offset[Y]);
void copy_cairo_surface_ci(cairo_surface_t *in, cairo_surface_t *out)
cairo_surface_t * ink_cairo_surface_create_identical(cairo_surface_t *s)
Create a surface that differs only in pixel content.
Cairo integration helpers.
3x3 matrix representing an affine transformation.
Coord expansionX() const
Calculates the amount of x-scaling imparted by the Affine.
Coord expansionY() const
Calculates the amount of y-scaling imparted by the Affine.
Axis aligned, non-empty, generic rectangle.
C right() const
Return rightmost coordinate of the rectangle (+X is to the right).
C top() const
Return top coordinate of the rectangle (+Y is downwards).
C left() const
Return leftmost coordinate of the rectangle (+X is to the right).
C bottom() const
Return bottom coordinate of the rectangle (+Y is downwards).
Two-dimensional point that doubles as a vector.
Axis aligned, non-empty rectangle.
bool can_handle_affine(Geom::Affine const &) const override
Indicate whether the filter primitive can handle the given affine.
void set_dy(double amount)
void area_enlarge(Geom::IntRect &area, Geom::Affine const &trans) const override
void set_dx(double amount)
void render_cairo(FilterSlot &slot) const override
double complexity(Geom::Affine const &ctm) const override
Geom::Rect filter_primitive_area(FilterUnits const &units) const
Returns the filter primitive area in user coordinate system.
void set_primitive_area(int slot, Geom::Rect &area)
cairo_surface_t * getcairo(int slot)
Returns the pixblock in specified slot.
void set(int slot, cairo_surface_t *s)
Sets or re-sets the pixblock associated with given slot.
FilterUnits const & get_units() const
Geom::Affine get_matrix_primitiveunits2pb() const
Gets the primitiveUnits to pixblock coordinates transformation matrix.
struct _cairo_surface cairo_surface_t
GenericRect< IntCoord > IntRect
Helper class to stream background task notifications as a series of messages.