/*
7 * Krzysztof KosiĆski <tweenk.pl@gmail.com>
9 * Copyright (C) 2011 Authors
10 * Released under GNU GPL v2+, read the file
'COPYING' for more information.
13#ifndef INKSCAPE_DISPLAY_DRAWING_H
14#define INKSCAPE_DISPLAY_DRAWING_H
20#include <boost/operators.hpp>
23#include <sigc++/sigc++.h>
34class CanvasItemDrawing;
64 void setClip(std::optional<Geom::PathVector> &&
clip);
120 std::optional<Geom::PathVector>
_clip;
3x3 matrix representing an affine transformation.
Axis-aligned generic rectangle that can be empty.
Axis aligned, non-empty, generic rectangle.
static CRect infinite()
Create infinite rectangle.
Two-dimensional point that doubles as a vector.
Minimal wrapper over Cairo.
SVG drawing item for display.
uint32_t maskOutlineColor() const
void _pickItemsForCaching()
uint32_t _image_outline_color
void setGrayscaleMatrix(double[20])
uint32_t _clip_outline_color
CanvasItemDrawing * _canvas_item_drawing
void setOpacity(double opacity=1.0)
void setSelectZeroOpacity(bool select_zero_opacity)
uint32_t _mask_outline_color
size_t _cache_budget
Maximum allowed size of cache.
CacheList _candidate_items
uint32_t imageOutlineColor() const
void setImageOutlineColor(uint32_t)
Drawing & operator=(Drawing const &)=delete
void setRenderMode(RenderMode)
void setRoot(DrawingItem *root)
std::optional< Geom::PathVector > _clip
void setMaskOutlineColor(uint32_t)
Geom::OptIntRect const & cacheLimit() const
void setClip(std::optional< Geom::PathVector > &&clip)
ColorMode colorMode() const
CanvasItemDrawing * getCanvasItemDrawing()
Drawing(Drawing const &)=delete
void setClipOutlineColor(uint32_t)
uint32_t clipOutlineColor() const
void setColorMode(ColorMode)
Filters::FilterColorMatrix::ColorMatrixMatrix _grayscale_matrix
Colors::Color averageColor(Geom::IntRect const &area) const
void update(Geom::IntRect const &area=Geom::IntRect::infinite(), Geom::Affine const &affine=Geom::identity(), unsigned flags=DrawingItem::STATE_ALL, unsigned reset=0)
RenderMode renderMode() const
DrawingItem * pick(Geom::Point const &p, double delta, unsigned flags)
void render(DrawingContext &dc, Geom::IntRect const &area, unsigned flags=0) const
char cacheline_separator[127]
void setCacheLimit(Geom::OptIntRect const &rect)
void setCursorTolerance(double tol)
bool selectZeroOpacity() const
bool outlineOverlay() const
std::unique_ptr< Preferences::PreferencesObserver > _pref_tracker
void setImageOutlineMode(bool)
auto & grayscaleMatrix() const
void setFilterQuality(int)
bool useDithering() const
bool _select_zero_opacity
std::optional< Antialiasing > _antialiasing_override
void setAntialiasingOverride(std::optional< Antialiasing > antialiasing_override)
bool imageOutlineMode() const
Geom::OptIntRect _cache_limit
int filterQuality() const
bool _image_outline_mode
Always draw images as images, even in outline mode.
void setOutlineOverlay(bool)
double cursorTolerance() const
void setCacheBudget(size_t bytes)
std::set< DrawingItem * > _cached_items
A FuncLog is effectively a std::vector<std::function<void()>>, with the ability to hold move-only fun...
void emplace(F &&f)
Append a callable object to the log.
Canvas item belonging to an SVG drawing element.
Affine identity()
Create an identity matrix.
Helper class to stream background task notifications as a series of messages.
std::list< CacheRecord > CacheList
static T clip(T const &v, T const &a, T const &b)
PathVector - a sequence of subpaths.
Singleton class to access the preferences file in a convenient way.
TODO: insert short description here.