Inkscape
Vector Graphics Editor
canvas.cpp File Reference

Inkscape canvas widget. More...

Go to the source code of this file.

Namespaces

namespace  Inkscape
 CMYK to sRGB conversion routines.
 
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 171 of file canvas.cpp.

◆ bounds

◆ clean

◆ cms_transform

std::shared_ptr<CMSTransform const> cms_transform

Definition at line 159 of file canvas.cpp.

◆ coarsener_glue_size

int coarsener_glue_size

Definition at line 163 of file canvas.cpp.

◆ coarsener_min_fullness

double coarsener_min_fullness

Definition at line 164 of file canvas.cpp.

◆ coarsener_min_size

int coarsener_min_size

Definition at line 162 of file canvas.cpp.

◆ debug_framecheck

bool debug_framecheck

Definition at line 173 of file canvas.cpp.

◆ debug_show_redraw

bool debug_show_redraw

Definition at line 174 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 188 of file canvas.cpp.

◆ fragment

◆ grabbed

◆ interruptible

bool interruptible

Definition at line 185 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 179 of file canvas.cpp.

◆ numthreads

int numthreads

Definition at line 170 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 172 of file canvas.cpp.

Referenced by Inkscape::UI::Widget::ColorNotebook::_addPage(), Inkscape::UI::Dialog::Transformation::_apply(), Inkscape::AlignmentSnapper::_collectBBoxPoints(), Inkscape::ObjectSnapper::_collectNodes(), Inkscape::ObjectSnapper::_collectPaths(), Inkscape::Extension::Internal::CairoRenderer::_doRender(), Inkscape::Selection::_emitModified(), _getFontsRecursive(), Inkscape::UI::Widget::ColorNotebook::_initUI(), Inkscape::Extension::Internal::PdfImportDialog::_setPreviewPage(), Inkscape::UI::Widget::ColorNotebook::_updateICCButtons(), Inkscape::CanvasPage::_updateTextItem(), Inkscape::Extension::Internal::PdfInput::add_builder_page(), Inkscape::UI::Dialog::DialogNotebook::add_page(), Inkscape::UI::Dialog::DialogNotebook::add_tab_connections(), Inkscape::UI::Tools::PagesTool::addDragShapes(), Inkscape::PageManager::addPage(), Inkscape::UI::Toolbar::SelectToolbar::any_value_changed(), Inkscape::UI::Dialog::ArrangeDialog::ArrangeDialog(), Inkscape::UI::Toolbar::PageToolbar::bleedsEdited(), SPNamedView::build(), Inkscape::PageManager::centerToPage(), SPNamedView::child_added(), 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::DialogWindow::DialogWindow(), InkFileExportCmd::do_export_png(), Inkscape::UI::Dialog::DocumentProperties::DocumentProperties(), Inkscape::UI::Dialog::Print::draw_page(), Inkscape::UI::Dialog::Export::exportVector(), Inkscape::PageManager::findPageAt(), Inkscape::PageManager::fitToRect(), Inkscape::UI::for_each_page(), Inkscape::UI::Dialog::DialogNotebook::get_current_scrolledwindow(), 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::Widget::ColorICCSelector::init(), 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::PageManager::movePages(), Inkscape::PageManager::newPage(), Inkscape::PageManager::nextPageLocation(), Inkscape::UI::Dialog::StartScreen::notebook_next(), Inkscape::UI::Dialog::StartScreen::notebook_switch(), Inkscape::UI::Dialog::DialogNotebook::on_close_button_click_event(), Inkscape::UI::Dialog::DialogNotebook::on_drag_end(), 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::DialogNotebook::on_size_allocate_notebook(), Inkscape::UI::Dialog::DialogNotebook::on_size_allocate_scroll(), Inkscape::UI::Dialog::DialogNotebook::on_tab_click_event(), 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_callback(), 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::UI::Dialog::DialogNotebook::reload_tab_menu(), Inkscape::UI::Dialog::DialogNotebook::remove_tab_connections(), 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::Tools::PagesTool::selectionChanged(), Inkscape::UI::Toolbar::PageToolbar::selectionChanged(), Inkscape::UI::Widget::PageSelector::selectonChanged(), 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::Print::setup_page(), Inkscape::UI::Dialog::SingleExport::setupSpinButton(), SPNamedView::show(), Inkscape::UI::Toolbar::PageToolbar::sizeChoose(), 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(), SPNamedView::temporarily_show_guides(), Inkscape::UI::Dialog::DialogNotebook::toggle_tab_labels_callback(), Inkscape::UI::Dialog::Transformation::updateSelection(), SPNamedView::updateViewPort(), Inkscape::UI::Toolbar::NodeToolbar::value_changed(), and Inkscape::PageManager::zoomToPage().

◆ phase

◆ preempt

int preempt

Definition at line 166 of file canvas.cpp.

◆ preemptible

bool preemptible

Definition at line 186 of file canvas.cpp.

◆ rects

std::vector<Geom::IntRect> rects

Definition at line 187 of file canvas.cpp.

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

◆ redraw_delay

std::optional<int> redraw_delay

Definition at line 168 of file canvas.cpp.

◆ render_time_limit

int render_time_limit

Definition at line 169 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 178 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::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(), create_sizes_store_uncached(), 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::Dialog::get_all_symbols(), Inkscape::UI::Toolbar::GradientToolbar::get_selected_gradient(), Inkscape::UI::Toolbar::GradientToolbar::get_selected_stop(), Inkscape::UI::Widget::PaintSelector::getMeshGradient(), gr_vector_list(), Inkscape::UI::Toolbar::GradientToolbar::GradientToolbar(), Inkscape::UI::Widget::ColorICCSelector::init(), 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_accept(), 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::Toolbar::GradientToolbar::selection_changed(), Inkscape::UI::Widget::PaintSelector::set_mode_mesh(), Inkscape::UI::Widget::sp_mesh_menu_build(), Inkscape::UI::Toolbar::TextToolbar::TextToolbar(), 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::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::Dialog::SymbolsDialog::draw_symbol(), Inkscape::UI::Widget::CairoGraphics::draw_tile(), drawCairo(), Inkscape::DrawingSurface::DrawingSurface(), Inkscape::UI::Dialog::SymbolsDialog::drawSymbol(), get_cairo_surface_ci(), Inkscape::UI::Dialog::SymbolsDialog::get_cell_data_func(), Inkscape::UI::Dialog::ExtensionsGallery::get_image(), Inkscape::UI::get_monitor_geometry_at_surface(), ink_cairo_pattern_get_argb32(), ink_cairo_pixbuf_cleanup(), ink_cairo_surface_average_color(), ink_cairo_surface_average_color_internal(), ink_cairo_surface_average_color_premul(), 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(), SurfaceSynth::SurfaceSynth(), to_texture(), and Inkscape::UI::Widget::MarkerComboBox::update_preview().

◆ tile_size

◆ tiles

std::vector<Tile> tiles

Definition at line 192 of file canvas.cpp.

◆ tiles_mutex

std::mutex tiles_mutex

Definition at line 191 of file canvas.cpp.

◆ timeoutflag

bool timeoutflag

Definition at line 193 of file canvas.cpp.

◆ vis_store

Geom::OptIntRect vis_store

Definition at line 181 of file canvas.cpp.

◆ visible

Geom::IntRect visible

Definition at line 154 of file canvas.cpp.

Referenced by Inkscape::UI::Widget::ColorScales< MODE >::_initUI(), Inkscape::UI::ControlPoint::_setMouseover(), Inkscape::Extension::Internal::SvgBuilder::addOptionalGroup(), Inkscape::FilteredStore< T >::apply_filter(), Inkscape::Extension::Internal::SvgBuilder::beginLayer(), PdfParser::doShowText(), Inkscape::UI::Dialog::LivePathEffectEditor::effect_list_reload(), Inkscape::LivePathEffect::EnumArrayParam::EnumArrayParam(), Inkscape::UI::Dialog::ExtensionsGallery::ExtensionsGallery(), Inkscape::UI::Dialog::SymbolsDialog::get_cell_data_func(), Inkscape::UI::Toolbar::PencilToolbar::mode_changed(), Tracer::optimize(), Inkscape::UI::Dialog::DialogMultipaned::remove(), Inkscape::LivePathEffect::ScalarArrayParam::ScalarArrayParam(), Inkscape::UI::Dialog::SymbolsDialog::set_info(), Inkscape::UI::Widget::IconComboBox::set_row_visible(), Inkscape::CanvasItem::set_visible(), Inkscape::CanvasItemGuideLine::set_visible(), Inkscape::UI::Dialog::set_visible_icon(), Inkscape::Extension::Internal::SvgBuilder::setAsLayer(), Avoid::VertInf::setVisibleDirections(), Inkscape::UI::Widget::GradientEditor::show_stops(), Inkscape::UI::Dialog::SymbolsDialog::showOverlay(), Inkscape::UI::Dialog::DialogMultipaned::size_allocate_vfunc(), Inkscape::UI::Widget::ImageToggler::snapshot_vfunc(), Avoid::sweepVisible(), Inkscape::UI::Dialog::SymbolsDialog::SymbolsDialog(), Inkscape::UI::Dialog::DialogContainer::toggle_dialogs(), SPDesktop::toggleToolbar(), Inkscape::UI::Dialog::ObjectsPanel::toggleVisible(), and Inkscape::UI::Dialog::LivePathEffectEditor::toggleVisible().