Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
canvas.cpp File Reference

Inkscape canvas widget. More...

Go to the source code of this file.

Namespaces

namespace  Inkscape
 Helper class to stream background task notifications as a series of messages.
 
namespace  Inkscape::UI
 User interface code.
 
namespace  Inkscape::UI::Widget
 Custom widgets.
 

Functions

static Geom::Point Inkscape::UI::Widget::cap_length (Geom::Point const &pt, double max)
 
static double Inkscape::UI::Widget::profile (double r)
 
static Geom::Point Inkscape::UI::Widget::apply_profile (Geom::Point const &pt)
 
auto Inkscape::UI::Widget::coarsen (const Cairo::RefPtr< Cairo::Region > &region, int min_size, int glue_size, double min_fullness)
 
static std::optional< Geom::Dim2Inkscape::UI::Widget::bisect (Geom::IntRect const &rect, int tile_size)
 

Detailed Description

Inkscape canvas widget.

Definition in file canvas.cpp.

Variable Documentation

◆ background_in_stores_required

bool background_in_stores_required

Definition at line 170 of file canvas.cpp.

◆ bounds

◆ clean

◆ cms_transform

std::shared_ptr<Colors::CMS::Transform> cms_transform

Definition at line 158 of file canvas.cpp.

◆ coarsener_glue_size

int coarsener_glue_size

Definition at line 162 of file canvas.cpp.

◆ coarsener_min_fullness

double coarsener_min_fullness

Definition at line 163 of file canvas.cpp.

◆ coarsener_min_size

int coarsener_min_size

Definition at line 161 of file canvas.cpp.

◆ debug_framecheck

bool debug_framecheck

Definition at line 172 of file canvas.cpp.

◆ debug_show_redraw

bool debug_show_redraw

Definition at line 173 of file canvas.cpp.

◆ decoupled_mode

bool decoupled_mode

Definition at line 156 of file canvas.cpp.

◆ desk

uint64_t desk

◆ effective_tile_size

int effective_tile_size

Definition at line 187 of file canvas.cpp.

◆ fragment

◆ interruptible

bool interruptible

Definition at line 184 of file canvas.cpp.

◆ margin

◆ mouse_loc

Geom::IntPoint mouse_loc

Definition at line 153 of file canvas.cpp.

◆ mutex

std::mutex mutex

◆ numactive

int numactive

Definition at line 178 of file canvas.cpp.

◆ numthreads

int numthreads

Definition at line 169 of file canvas.cpp.

◆ outline_surface

Cairo::RefPtr<Cairo::ImageSurface> outline_surface

Definition at line 138 of file canvas.cpp.

Referenced by Inkscape::UI::Widget::CairoGraphics::draw_tile().

◆ page

uint64_t page

Definition at line 171 of file canvas.cpp.

Referenced by Inkscape::UI::Dialog::Transformation::_apply(), Inkscape::AlignmentSnapper::_collectBBoxPoints(), Inkscape::ObjectSnapper::_collectNodes(), Inkscape::ObjectSnapper::_collectPaths(), Inkscape::Extension::Internal::CairoRenderer::_doRender(), Inkscape::Selection::_emitModified(), _getFontsRecursive(), Inkscape::Extension::Internal::RvngImportDialog::_onPageNumberChanged(), Inkscape::UI::Dialog::FillAndStroke::_onSwitchPage(), Inkscape::Extension::Internal::PdfImportDialog::_setPreviewPage(), Inkscape::CanvasPage::_updateTextItem(), Inkscape::Extension::Internal::PdfInput::add_builder_page(), Inkscape::UI::Dialog::DialogNotebook::add_notebook_page(), Inkscape::UI::Dialog::DialogNotebook::add_page(), Inkscape::UI::Tools::PagesTool::addDragShapes(), Inkscape::PageManager::addPage(), Inkscape::UI::Toolbar::SelectToolbar::any_value_changed(), Inkscape::UI::Dialog::ArrangeDialog::ArrangeDialog(), Inkscape::UI::Dialog::StartScreen::banner_switch(), Inkscape::UI::Toolbar::PageToolbar::bleedsEdited(), SPNamedView::build(), Inkscape::PageManager::centerToPage(), SPNamedView::child_added(), Inkscape::UI::Dialog::DialogNotebook::close_tab(), Inkscape::UI::Dialog::CommandPalette::CommandPalette(), Inkscape::UI::Tools::PagesTool::connectDocument(), ContextMenu::ContextMenu(), SPPage::copyFrom(), Inkscape::UI::Widget::SpinButton::create_popover_menu(), Inkscape::PageManager::deletePage(), Inkscape::UI::Dialog::DialogNotebook::DialogNotebook(), Inkscape::UI::Dialog::DialogWindow::DialogWindow(), InkFileExportCmd::do_export_png(), Inkscape::LivePathEffect::LPEMirrorSymmetry::doBeforeEffect(), Inkscape::UI::Dialog::DialogNotebook::dock_current_tab(), Inkscape::UI::Dialog::DialogContainer::dock_dialog(), Inkscape::UI::Dialog::DocumentProperties::DocumentProperties(), Inkscape::UI::Dialog::Print::draw_page(), Inkscape::UI::Dialog::Export::exportVector(), Inkscape::UI::Dialog::Export::exportVector(), Inkscape::UI::Dialog::Export::exportVector(), Inkscape::PageManager::findPageAt(), Inkscape::PageManager::fitToRect(), Inkscape::UI::Dialog::DialogNotebook::float_tab(), Inkscape::UI::for_each_page(), Inkscape::UI::Dialog::DialogNotebook::get_current_scrolledwindow(), Inkscape::UI::Dialog::get_notebook_dialogs(), Inkscape::UI::Dialog::DialogNotebook::get_page_notebook(), Inkscape::UI::Dialog::DialogNotebook::get_scrolledwindow(), Inkscape::UI::Widget::get_sorter(), Inkscape::Extension::ParamNotebook::get_widget(), Inkscape::PageManager::getDesktopRect(), Inkscape::PageManager::getOverlappingItems(), Inkscape::UI::Widget::Scalar::getPage(), Inkscape::PageManager::getPageAt(), Inkscape::PageManager::getPageFor(), Inkscape::PageManager::getPageIndex(), Inkscape::PageManager::getPages(), Inkscape::PageManager::getPagesFor(), SnapManager::getPageToIgnore(), getPdfFonts(), Inkscape::PageManager::getSizeLabel(), Inkscape::UI::Dialog::InkscapePreferences::GetSizeRequest(), Inkscape::UI::Widget::Scalar::getStep(), Inkscape::PageManager::getViewportPage(), SPNamedView::hide(), Inkscape::UI::Toolbar::PageToolbar::labelEdited(), Inkscape::UI::Toolbar::SelectToolbar::layout_widget_update(), Inkscape::UI::Dialog::DialogContainer::load_container_state(), Inkscape::UI::Tools::PagesTool::marginKnotMoved(), Inkscape::UI::Toolbar::PageToolbar::marginsEdited(), Inkscape::UI::Toolbar::PageToolbar::marginSideEdited(), Inkscape::UI::Tools::PagesTool::menu_popup(), SPNamedView::modified(), Inkscape::UI::Dialog::DialogNotebook::move_page(), Inkscape::UI::Dialog::DialogNotebook::move_tab_from(), Inkscape::PageManager::movePages(), Inkscape::PageManager::newPage(), Inkscape::PageManager::nextPageLocation(), Inkscape::UI::Dialog::StartScreen::notebook_next(), Inkscape::UI::Dialog::DialogMultipaned::on_append_drag_data(), Inkscape::UI::Dialog::DialogMultipaned::on_drag_data_drop(), Inkscape::LivePathEffect::LPEMeasureSegments::on_my_switch_page(), Inkscape::UI::Dialog::DialogNotebook::on_page_added(), Inkscape::UI::Dialog::DialogNotebook::on_page_removed(), Inkscape::UI::Dialog::DialogNotebook::on_page_switch(), Inkscape::UI::Dialog::DialogMultipaned::on_prepend_drag_data(), Inkscape::UI::Dialog::DialogNotebook::on_size_allocate_scroll(), Inkscape::UI::Dialog::Transformation::onClear(), Inkscape::UI::Dialog::BatchExport::onExport(), Inkscape::UI::Dialog::SingleExport::onExport(), Inkscape::UI::Dialog::SingleExport::onPagesChanged(), Inkscape::UI::Dialog::SingleExport::onPagesSelected(), Inkscape::Extension::Internal::PdfInput::open(), page_backward(), page_forward(), SPDocument::pageBounds(), Inkscape::UI::Tools::PagesTool::pageModified(), Inkscape::PageManager::pagesChanged(), Inkscape::UI::Widget::PageSelector::pagesChanged(), Inkscape::UI::Toolbar::PageToolbar::PageToolbar(), Inkscape::UI::Widget::Graphics::paint_background(), Inkscape::LivePathEffect::ScalarParam::param_set_increments(), Inkscape::LivePathEffect::ScalarArrayParam::param_set_increments(), Inkscape::Extension::ParamNotebook::ParamNotebook(), pdf_page(), PdfParser::PdfParser(), Inkscape::UI::Dialog::DialogNotebook::pop_tab(), Inkscape::UI::Dialog::DialogContainer::prepare_drop(), Inkscape::UI::Dialog::Transformation::presentPage(), Inkscape::UI::Dialog::DialogNotebook::provide_scroll(), SPDocument::prunePages(), Inkscape::UI::Dialog::DocumentResources::refresh_current_page(), Inkscape::UI::Dialog::BatchExport::refreshItems(), Inkscape::PageManager::removePage(), Inkscape::Extension::Internal::CairoRenderer::renderItem(), Inkscape::Extension::Internal::CairoRenderer::renderPage(), Inkscape::UI::Widget::PageSelector::renderPageLabel(), Inkscape::Extension::Internal::CairoRenderer::renderPages(), Inkscape::PageManager::reorderPage(), Inkscape::Extension::Implementation::Script::resize_to_template(), Inkscape::Extension::Internal::TemplateBase::resize_to_template(), Inkscape::Extension::Template::resize_to_template(), Inkscape::Extension::TemplatePreset::resize_to_template(), Inkscape::UI::Tools::PagesTool::resizeKnotFinished(), Inkscape::UI::Tools::PagesTool::resizeKnotMoved(), Inkscape::PageManager::resizePage(), Inkscape::PageManager::scalePages(), Inkscape::UI::Dialog::DialogNotebook::select_page(), Inkscape::UI::Tools::PagesTool::selectionChanged(), Inkscape::UI::Toolbar::PageToolbar::selectionChanged(), Inkscape::UI::Widget::PageSelector::selectonChanged(), Inkscape::PageManager::selectPage(), Inkscape::PageManager::selectPage(), Inkscape::UI::Dialog::SingleExport::selectPage(), Inkscape::Extension::ParamNotebook::set(), Inkscape::UI::Widget::Point::setIncrements(), Inkscape::Extension::Internal::SvgBuilder::setMargins(), Inkscape::UI::Toolbar::PageToolbar::setMarginText(), Inkscape::UI::Widget::PageSelector::setSelectedPage(), Inkscape::UI::Toolbar::PageToolbar::setSizeText(), Inkscape::UI::Dialog::DialogContainer::setup_drag_and_drop(), Inkscape::UI::Dialog::Print::setup_page(), Inkscape::UI::Dialog::SingleExport::setupSpinButton(), SPNamedView::show(), Inkscape::UI::Dialog::StartScreen::show_welcome(), Inkscape::UI::Toolbar::PageToolbar::sizeChoose(), Inkscape::Extension::Internal::sp_anchor_render(), Inkscape::Extension::Internal::sp_asbitmap_render(), Inkscape::Extension::Internal::sp_group_render(), Inkscape::Extension::Internal::sp_item_invoke_render(), Inkscape::Extension::Internal::sp_symbol_render(), Inkscape::Extension::Internal::sp_use_render(), Inkscape::UI::Dialog::SvgFontsDialog::SvgFontsDialog(), Inkscape::UI::Dialog::BatchItem::syncItems(), SPNamedView::temporarily_show_guides(), Inkscape::UI::Dialog::unpack_page(), Inkscape::UI::Dialog::Transformation::updateSelection(), SPNamedView::updateViewPort(), Inkscape::UI::Toolbar::NodeToolbar::value_changed(), and Inkscape::PageManager::zoomToPage().

◆ phase

int phase

Definition at line 179 of file canvas.cpp.

◆ preempt

int preempt

Definition at line 165 of file canvas.cpp.

◆ preemptible

bool preemptible

Definition at line 185 of file canvas.cpp.

◆ rects

std::vector<Geom::IntRect> rects

Definition at line 186 of file canvas.cpp.

Referenced by Inkscape::UI::Widget::coarsen(), and straightener::Edge::rerouteAround().

◆ redraw_delay

std::optional<int> redraw_delay

Definition at line 167 of file canvas.cpp.

◆ render_time_limit

int render_time_limit

Definition at line 168 of file canvas.cpp.

◆ snapshot_drawn

Cairo::RefPtr<Cairo::Region> snapshot_drawn

Definition at line 157 of file canvas.cpp.

◆ start_time

gint64 start_time

Definition at line 177 of file canvas.cpp.

Referenced by Geom::parting_point(), and TEST_F().

◆ store

Fragment store

Definition at line 155 of file canvas.cpp.

Referenced by Inkscape::UI::Dialog::StyleDialog::_activeToggled(), Inkscape::UI::Dialog::StyleDialog::_addRow(), Inkscape::UI::Dialog::StyleDialog::_nameEdited(), Inkscape::UI::Dialog::StyleDialog::_onLinkObj(), Inkscape::UI::Dialog::StyleDialog::_onPropDelete(), Inkscape::UI::Dialog::StyleDialog::_startValueEdit(), Inkscape::UI::Toolbar::GradientToolbar::_update(), Inkscape::UI::Dialog::StyleDialog::_valueEdited(), Inkscape::UI::Dialog::StyleDialog::_writeStyleElement(), Inkscape::UI::Dialog::add_categories(), Inkscape::UI::Dialog::add_fonts(), Inkscape::UI::Toolbar::PencilToolbar::add_powerstroke_cap(), Inkscape::UI::Toolbar::PencilToolbar::add_shape_option(), Inkscape::UI::Widget::XmlTreeView::build_tree(), Inkscape::UI::Widget::ComboToolItem::create(), Inkscape::UI::Dialog::SelectorsDialog::TreeStore::create(), Inkscape::UI::Dialog::DocumentResources::DocumentResources(), Inkscape::UI::Dialog::StartScreen::enlist_keys(), Inkscape::UI::Dialog::StartScreen::enlist_recent_files(), Inkscape::UI::Dialog::ExtensionsGallery::ExtensionsGallery(), Inkscape::UI::Dialog::StartScreen::filter_themes(), Inkscape::UI::Widget::TemplateList::generate_category(), Inkscape::UI::Toolbar::GradientToolbar::get_selected_gradient(), Inkscape::UI::Toolbar::GradientToolbar::get_selected_stop(), Inkscape::UI::Widget::PaintSelector::getMeshGradient(), Inkscape::UI::Toolbar::GradientToolbar::GradientToolbar(), Inkscape::UI::Widget::ink_mesh_menu(), Inkscape::UI::Toolbar::LPEToolbar::LPEToolbar(), Inkscape::UI::Toolbar::MeshToolbar::MeshToolbar(), Inkscape::UI::Widget::FontCollectionSelector::on_create_collection(), Inkscape::UI::Widget::XmlTreeView::on_drag_drop(), Inkscape::UI::Widget::XmlTreeView::on_drag_motion(), Inkscape::UI::Widget::FontCollectionSelector::on_drop_drop(), Inkscape::UI::Widget::FontCollectionSelector::on_drop_motion(), Inkscape::UI::Widget::XmlTreeView::on_prepare(), Inkscape::UI::Widget::FontCollectionSelector::on_rename_collection(), Inkscape::UI::Toolbar::PaintbucketToolbar::PaintbucketToolbar(), Inkscape::UI::Dialog::StyleDialog::readStyleElement(), Inkscape::UI::Widget::XmlTreeView::select_node(), Inkscape::UI::Toolbar::GradientToolbar::select_stop_by_draggers(), Inkscape::UI::Widget::PaintSelector::set_mode_mesh(), Inkscape::UI::Widget::sp_mesh_menu_build(), Inkscape::UI::Toolbar::GradientToolbar::update_stop_list(), Inkscape::UI::Widget::PaintSelector::updateMeshList(), and Inkscape::UI::Widget::XmlTreeView::XmlTreeView().

◆ surface

Cairo::RefPtr<Cairo::ImageSurface> surface

Definition at line 137 of file canvas.cpp.

Referenced by Inkscape::CanvasItemCtrl::_dump(), Inkscape::DrawingCache::_dumpCache(), Inkscape::Extension::Internal::CairoRenderContext::_finishSurfaceSetup(), Inkscape::Extension::Internal::SvgBuilder::_renderText(), Inkscape::Filters::FilterSlot::_set_internal(), Inkscape::Extension::Internal::CairoRenderContext::_setSurfaceMetadata(), Inkscape::UI::Dialog::add_shadow(), Inkscape::Drawing::averageColor(), Inkscape::calculate_font_weight(), Inkscape::calculate_font_width(), Inkscape::Extension::Internal::copy_cairo_surface_to_pixbuf(), Inkscape::UI::Widget::create_separator(), dimensions(), Inkscape::Handles::draw(), Inkscape::UI::Dialog::draw_color_preview(), Inkscape::draw_handles_preview(), Inkscape::UI::Widget::Ruler::draw_label(), Inkscape::UI::Dialog::Print::draw_page(), Inkscape::UI::Widget::CairoGraphics::draw_tile(), drawCairo(), Inkscape::DrawingSurface::DrawingSurface(), get_cairo_surface_ci(), Inkscape::UI::Dialog::ExtensionsGallery::get_image(), Inkscape::UI::get_monitor_geometry_at_surface(), Inkscape::UI::Dialog::InkscapePreferences::initPageUI(), ink_cairo_pattern_create_slanting_stripes(), ink_cairo_pattern_get_argb32(), ink_cairo_pixbuf_cleanup(), ink_cairo_surface_average_color(), ink_cairo_surface_average_color_internal(), ink_cairo_surface_copy(), ink_cairo_surface_get_height(), ink_cairo_surface_get_width(), ink_cairo_surface_linear_to_srgb(), ink_cairo_surface_srgb_to_linear(), Inkscape::CanvasItemText::load_text_extents(), Inkscape::UI::Dialog::ColorItem::on_drag_begin(), Inkscape::UI::Dialog::ObjectsPanel::on_prepare(), Inkscape::UI::Widget::XmlTreeView::on_prepare(), InkscapeWindow::on_size_changed(), Inkscape::Extension::Internal::PdfInput::open(), Inkscape::UI::Widget::CairoGraphics::recreate_store(), Inkscape::UI::Preview::render_preview(), Inkscape::svg_renderer::render_surface(), Inkscape::DrawingPattern::renderPattern(), Inkscape::UI::Widget::CairoGraphics::request_tile_surface(), Inkscape::UI::Tools::TextTool::root_handler(), Inkscape::Filters::FilterSlot::set(), set_cairo_surface_ci(), set_dark_titlebar(), Inkscape::UI::Widget::PatternEditor::set_selected(), Inkscape::UI::Dialog::ExportPreview::setPreview(), Inkscape::Extension::Internal::CairoRenderContext::setSurfaceTarget(), Inkscape::Extension::Internal::CairoRenderContext::setupSurface(), Inkscape::UI::Widget::CairoGraphics::shift_store(), Inkscape::UI::Dialog::FilterEffectsDialog::PrimitiveList::snapshot_vfunc(), sp_generate_internal_bitmap(), sp_transientize(), surface_accessor< T >::surface_accessor(), SurfaceSynth::SurfaceSynth(), to_texture(), and Inkscape::UI::Widget::MarkerComboBox::update_preview().

◆ tile_size

◆ tiles

std::vector<Tile> tiles

Definition at line 191 of file canvas.cpp.

◆ tiles_mutex

std::mutex tiles_mutex

Definition at line 190 of file canvas.cpp.

◆ timeoutflag

bool timeoutflag

Definition at line 192 of file canvas.cpp.

◆ vis_store

Geom::OptIntRect vis_store

Definition at line 180 of file canvas.cpp.

◆ visible