Inkscape
Vector Graphics Editor
|
A widget for Inkscape's canvas. More...
#include <canvas.h>
Public Member Functions | |
Canvas () | |
~Canvas () final | |
void | set_desktop (SPDesktop *desktop) |
SPDesktop * | get_desktop () const |
void | set_drawing (Inkscape::Drawing *drawing) |
CanvasItemGroup * | get_canvas_item_root () const |
void | set_pos (const Geom::IntPoint &pos) |
Scroll window so drawing point 'pos' is at upper left corner of canvas. | |
void | set_pos (const Geom::Point &fpos) |
void | set_affine (const Geom::Affine &affine) |
Set the affine for the canvas. | |
const Geom::IntPoint & | get_pos () const |
const Geom::Affine & | get_affine () const |
const Geom::Affine & | get_geom_affine () const |
void | set_desk (uint32_t rgba) |
Set the desk colour. | |
void | set_border (uint32_t rgba) |
Set the page border colour. | |
void | set_page (uint32_t rgba) |
Set the page colour. | |
void | set_render_mode (Inkscape::RenderMode mode) |
void | set_color_mode (Inkscape::ColorMode mode) |
void | set_split_mode (Inkscape::SplitMode mode) |
Inkscape::RenderMode | get_render_mode () const |
Inkscape::ColorMode | get_color_mode () const |
Inkscape::SplitMode | get_split_mode () const |
void | set_clip_to_page_mode (bool clip) |
void | set_antialiasing_enabled (bool enabled) |
void | set_cms_active (bool active) |
bool | get_cms_active () const |
Geom::IntPoint | get_dimensions () const |
bool | world_point_inside_canvas (Geom::Point const &world) const |
Is world point inside canvas area? | |
Geom::Point | canvas_to_world (Geom::Point const &window) const |
Translate point in canvas to world coordinates. | |
Geom::IntRect | get_area_world () const |
Return the area shown in the canvas in world coordinates. | |
bool | canvas_point_in_outline_zone (Geom::Point const &world) const |
Return whether a point in screen space / canvas coordinates is inside the region of the canvas where things respond to mouse clicks as if they are in outline mode. | |
bool | is_dragging () const |
std::optional< Geom::Point > | get_last_mouse () const |
Return the last known mouse position of center if off-canvas. | |
void | redraw_all () |
Invalidate drawing and redraw during idle. | |
void | redraw_area (Geom::Rect const &area) |
void | redraw_area (int x0, int y0, int x1, int y1) |
Redraw the given area during idle. | |
void | redraw_area (Geom::Coord x0, Geom::Coord y0, Geom::Coord x1, Geom::Coord y1) |
void | request_update () |
Redraw after changing canvas item geometry. | |
void | canvas_item_destructed (Inkscape::CanvasItem *item) |
Clear current and grabbed items. | |
Inkscape::CanvasItem * | get_current_canvas_item () const |
void | set_current_canvas_item (Inkscape::CanvasItem *item) |
Inkscape::CanvasItem * | get_grabbed_canvas_item () const |
void | set_grabbed_canvas_item (Inkscape::CanvasItem *item, EventMask mask) |
void | set_all_enter_events (bool on) |
void | enable_autoscroll () |
sigc::connection | connectResize (sigc::slot< void()> &&slot) |
sigc::connection | connectFocusIn (sigc::slot< void()> &&slot) |
sigc::connection | connectFocusOut (sigc::slot< void()> &&slot) |
![]() | |
OptGLArea () | |
~OptGLArea () override | |
void | set_opengl_enabled (bool) |
Set whether OpenGL is enabled. | |
bool | get_opengl_enabled () const |
void | make_current () |
Call before doing any OpenGL operations to make the context current. | |
void | bind_framebuffer () const |
Call before rendering to the widget to bind the widget's framebuffer. | |
void | snapshot_vfunc (Glib::RefPtr< Gtk::Snapshot > const &snapshot) override |
Private Types | |
using | parent_type = OptGLArea |
Private Member Functions | |
bool | on_scroll (Gtk::EventControllerScroll const &controller, double dx, double dy) |
Gtk::EventSequenceState | on_button_pressed (Gtk::GestureClick const &controller, int n_press, double x, double y) |
Gtk::EventSequenceState | on_button_released (Gtk::GestureClick const &controller, int n_press, double x, double y) |
void | on_motion (Gtk::EventControllerMotion const &controller, double x, double y) |
void | on_enter (Gtk::EventControllerMotion const &controller, double x, double y) |
void | on_leave (Gtk::EventControllerMotion const &controller) |
void | on_focus_in () |
void | on_focus_out () |
bool | on_key_pressed (Gtk::EventControllerKey const &controller, unsigned keyval, unsigned keycode, Gdk::ModifierType state) |
void | on_key_released (Gtk::EventControllerKey const &controller, unsigned keyval, unsigned keycode, Gdk::ModifierType state) |
void | on_realize () final |
void | on_unrealize () final |
void | size_allocate_vfunc (int width, int height, int baseline) final |
Glib::RefPtr< Gdk::GLContext > | create_context () final |
Reimplement to create the desired OpenGL context. | |
void | paint_widget (Cairo::RefPtr< Cairo::Context > const &) final |
Reimplement to render the widget. | |
void | set_cms_transform () |
Set the lcms transform. | |
void | update_cursor () |
Friends | |
class | CanvasPrivate |
Additional Inherited Members | |
![]() | |
void | on_realize () override |
void | on_unrealize () override |
|
private |
Inkscape::UI::Widget::Canvas::Canvas | ( | ) |
Definition at line 321 of file canvas.cpp.
References _split_direction, _split_frac, Inkscape::UI::Widget::Updater::create(), d, Inkscape::EAST, Inkscape::UI::Widget::OptGLArea::get_opengl_enabled(), key, on_button_pressed(), on_button_released(), on_enter(), on_focus_in(), on_focus_out(), on_key_pressed(), on_key_released(), on_leave(), on_motion(), on_scroll(), redraw_all(), set_cms_transform(), Inkscape::UI::Widget::OptGLArea::set_opengl_enabled(), and Inkscape::UI::Controller::use_state().
|
final |
Definition at line 509 of file canvas.cpp.
References d.
void Inkscape::UI::Widget::Canvas::canvas_item_destructed | ( | Inkscape::CanvasItem * | item | ) |
Clear current and grabbed items.
Definition at line 1801 of file canvas.cpp.
References _current_canvas_item, _current_canvas_item_new, _grabbed_canvas_item, d, and item.
Referenced by Inkscape::CanvasItem::~CanvasItem().
bool Inkscape::UI::Widget::Canvas::canvas_point_in_outline_zone | ( | Geom::Point const & | world | ) | const |
Return whether a point in screen space / canvas coordinates is inside the region of the canvas where things respond to mouse clicks as if they are in outline mode.
Definition at line 1569 of file canvas.cpp.
References _render_mode, _split_direction, _split_frac, _split_mode, Inkscape::EAST, get_dimensions(), Inkscape::NORTH, Inkscape::OUTLINE, Inkscape::OUTLINE_OVERLAY, Inkscape::SOUTH, Inkscape::SPLIT, Inkscape::WEST, Geom::Point::x(), and Geom::Point::y().
Geom::Point Inkscape::UI::Widget::Canvas::canvas_to_world | ( | Geom::Point const & | window | ) | const |
Translate point in canvas to world coordinates.
Definition at line 1552 of file canvas.cpp.
References _pos.
Referenced by Inkscape::UI::Widget::CanvasGrid::_rulerButtonRelease(), and Inkscape::UI::Widget::CanvasGrid::rulerMotion().
|
inline |
Definition at line 150 of file canvas.h.
References _signal_focus_in.
|
inline |
Definition at line 151 of file canvas.h.
References _signal_focus_out.
|
inline |
Definition at line 149 of file canvas.h.
References _signal_resize.
|
finalprivatevirtual |
Reimplement to create the desired OpenGL context.
Return nullptr on error.
Implements Inkscape::UI::Widget::OptGLArea.
Definition at line 1927 of file canvas.cpp.
References result.
void Inkscape::UI::Widget::Canvas::enable_autoscroll | ( | ) |
Definition at line 923 of file canvas.cpp.
References d.
Referenced by SPKnot::handler_request_position().
|
inline |
Definition at line 86 of file canvas.h.
References _affine.
Referenced by Inkscape::UI::Tools::ToolBase::root_handler(), and Inkscape::UI::Widget::CanvasGrid::updateRulers().
Geom::IntRect Inkscape::UI::Widget::Canvas::get_area_world | ( | ) | const |
Return the area shown in the canvas in world coordinates.
Definition at line 1560 of file canvas.cpp.
References _pos, and get_dimensions().
Referenced by Inkscape::DrawingShape::_pickItem(), canvas_transform(), paint_widget(), Inkscape::UI::Tools::sp_flood_do_flood_fill(), Inkscape::UI::Widget::CanvasGrid::updateRulers(), Inkscape::UI::Widget::CanvasGrid::updateScrollbars(), and world_point_inside_canvas().
CanvasItemGroup * Inkscape::UI::Widget::Canvas::get_canvas_item_root | ( | ) | const |
Definition at line 532 of file canvas.cpp.
References d.
Referenced by Inkscape::BooleanBuilder::BooleanBuilder().
|
inline |
Definition at line 106 of file canvas.h.
References _cms_active.
Referenced by SPDesktopWidget::switchDesktop().
|
inline |
Definition at line 99 of file canvas.h.
References _color_mode.
Referenced by SPDesktopWidget::switchDesktop().
|
inline |
Definition at line 136 of file canvas.h.
References _current_canvas_item.
|
inline |
Definition at line 73 of file canvas.h.
References _desktop.
Referenced by Inkscape::CanvasItemGuideLine::_render(), and sp_dt_guide_event().
Geom::IntPoint Inkscape::UI::Widget::Canvas::get_dimensions | ( | ) | const |
Definition at line 1536 of file canvas.cpp.
Referenced by canvas_point_in_outline_zone(), get_area_world(), on_motion(), paint_widget(), and Inkscape::UI::Tools::ToolBase::root_handler().
const Geom::Affine & Inkscape::UI::Widget::Canvas::get_geom_affine | ( | ) | const |
Definition at line 1595 of file canvas.cpp.
References d.
Referenced by Inkscape::UI::Tools::ToolBase::root_handler().
|
inline |
Definition at line 140 of file canvas.h.
References _grabbed_canvas_item.
std::optional< Geom::Point > Inkscape::UI::Widget::Canvas::get_last_mouse | ( | ) | const |
Return the last known mouse position of center if off-canvas.
Definition at line 1590 of file canvas.cpp.
References d.
|
inline |
Definition at line 85 of file canvas.h.
References _pos.
Referenced by Inkscape::UI::Tools::ToolBase::root_handler(), and Inkscape::UI::Widget::CanvasGrid::updateRulers().
|
inline |
Definition at line 98 of file canvas.h.
References _render_mode.
Referenced by SPDesktopWidget::_updateTitle(), and SPDesktopWidget::switchDesktop().
|
inline |
Definition at line 100 of file canvas.h.
References _split_mode.
|
inline |
|
private |
Definition at line 951 of file canvas.cpp.
References _drawing, _hover_direction, _split_direction, _split_drag_start, _split_dragging, _split_mode, _state, d, Inkscape::extinput_from_gdkevent(), Inkscape::Drawing::getCanvasItemDrawing(), Inkscape::NONE, result, Inkscape::CanvasItemDrawing::set_sticky(), and Inkscape::SPLIT.
Referenced by Canvas().
|
private |
Definition at line 997 of file canvas.cpp.
References _split_dragging, _split_mode, _state, d, Inkscape::NORMAL, result, set_split_mode(), Inkscape::SPLIT, and update_cursor().
Referenced by Canvas().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Definition at line 1146 of file canvas.cpp.
References _hover_direction, _split_direction, _split_drag_start, _split_dragging, _split_frac, _split_mode, _state, d, delta, Inkscape::EAST, Inkscape::extinput_from_gdkevent(), get_dimensions(), Inkscape::HORIZONTAL, Geom::Point::length(), Inkscape::NONE, Inkscape::NORTH, Inkscape::SOUTH, Inkscape::SPLIT, update_cursor(), Inkscape::VERTICAL, Inkscape::WEST, Geom::IntPoint::x(), and Inkscape::XRAY.
Referenced by Canvas().
|
finalprivate |
Definition at line 537 of file canvas.cpp.
References _drawing, d, and Inkscape::UI::Widget::OptGLArea::on_realize().
|
private |
Definition at line 936 of file canvas.cpp.
References _state, d, Inkscape::UI::Widget::dx, and Inkscape::extinput_from_gdkevent().
Referenced by Canvas().
|
finalprivate |
Definition at line 544 of file canvas.cpp.
References _drawing, d, and Inkscape::UI::Widget::OptGLArea::on_unrealize().
|
finalprivatevirtual |
Reimplement to render the widget.
The Cairo context is only for when OpenGL is disabled.
Reimplemented from Inkscape::UI::Widget::OptGLArea.
Definition at line 1950 of file canvas.cpp.
References _affine, _desktop, _hover_direction, _split_direction, _split_frac, Inkscape::UI::Widget::OptGLArea::bind_framebuffer(), d, SPDesktop::doc(), get_area_world(), get_dimensions(), Inkscape::UI::Widget::OptGLArea::get_opengl_enabled(), SPDocument::getDimensions(), Inkscape::UI::Widget::Graphics::PaintArgs::hoverdir, Inkscape::UI::Widget::Graphics::PaintArgs::mouse, Inkscape::UI::Widget::Stores::None, Inkscape::UI::Widget::Graphics::PaintArgs::render_mode, set_affine(), set_pos(), Inkscape::UI::Widget::Graphics::PaintArgs::splitdir, Inkscape::UI::Widget::Graphics::PaintArgs::splitfrac, Inkscape::UI::Widget::Graphics::PaintArgs::splitmode, SPDesktop::yaxisdir(), and Inkscape::UI::Widget::Graphics::PaintArgs::yaxisdir.
void Inkscape::UI::Widget::Canvas::redraw_all | ( | ) |
Invalidate drawing and redraw during idle.
Definition at line 1610 of file canvas.cpp.
References d, and geom_to_cairo().
Referenced by Canvas(), set_desk(), and set_page().
void Inkscape::UI::Widget::Canvas::redraw_area | ( | Geom::Coord | x0, |
Geom::Coord | y0, | ||
Geom::Coord | x1, | ||
Geom::Coord | y1 | ||
) |
Definition at line 1658 of file canvas.cpp.
References redraw_area().
void Inkscape::UI::Widget::Canvas::redraw_area | ( | Geom::Rect const & | area | ) |
Definition at line 1673 of file canvas.cpp.
References Geom::GenericRect< C >::bottom(), Geom::GenericRect< C >::left(), redraw_area(), Geom::GenericRect< C >::right(), and Geom::GenericRect< C >::top().
Referenced by redraw_area(), redraw_area(), and Inkscape::CanvasItem::request_redraw().
void Inkscape::UI::Widget::Canvas::redraw_area | ( | int | x0, |
int | y0, | ||
int | x1, | ||
int | y1 | ||
) |
Redraw the given area during idle.
Definition at line 1625 of file canvas.cpp.
References d, and geom_to_cairo().
void Inkscape::UI::Widget::Canvas::request_update | ( | ) |
Redraw after changing canvas item geometry.
Definition at line 1681 of file canvas.cpp.
References _need_update, and d.
Referenced by Inkscape::CanvasItem::request_update().
void Inkscape::UI::Widget::Canvas::set_affine | ( | const Geom::Affine & | affine | ) |
Set the affine for the canvas.
Definition at line 1708 of file canvas.cpp.
Referenced by paint_widget().
|
inline |
Definition at line 145 of file canvas.h.
References _all_enter_events.
Referenced by Inkscape::UI::Tools::ConnectorTool::ConnectorTool(), and Inkscape::UI::Tools::ConnectorTool::~ConnectorTool().
void Inkscape::UI::Widget::Canvas::set_antialiasing_enabled | ( | bool | enabled | ) |
Definition at line 1782 of file canvas.cpp.
References _antialiasing_enabled, _drawing, and Inkscape::Drawing::setAntialiasingOverride().
Referenced by SPNamedView::modified().
void Inkscape::UI::Widget::Canvas::set_border | ( | uint32_t | rgba | ) |
Set the page border colour.
Although we don't draw the borders, this colour affects the shadows which we do draw (in OpenGL mode).
Definition at line 1736 of file canvas.cpp.
References d, and Inkscape::UI::Widget::OptGLArea::get_opengl_enabled().
Referenced by Inkscape::CanvasItemRect::set_shadow().
void Inkscape::UI::Widget::Canvas::set_clip_to_page_mode | ( | bool | clip | ) |
Definition at line 1790 of file canvas.cpp.
Referenced by SPNamedView::set_clip_to_page().
|
inline |
Definition at line 105 of file canvas.h.
References _cms_active.
Referenced by apply_preferences_canvas_mode(), and canvas_color_manage_toggle().
|
private |
Set the lcms transform.
Definition at line 1838 of file canvas.cpp.
References _cms_transform, Inkscape::Colors::CMS::System::get(), and Inkscape::Colors::CMS::System::getDisplayTransform().
Referenced by Canvas().
void Inkscape::UI::Widget::Canvas::set_color_mode | ( | Inkscape::ColorMode | mode | ) |
Definition at line 1763 of file canvas.cpp.
References _color_mode, _drawing, mode, and Inkscape::Drawing::setColorMode().
|
inline |
Definition at line 137 of file canvas.h.
References _current_canvas_item, and item.
void Inkscape::UI::Widget::Canvas::set_desk | ( | uint32_t | rgba | ) |
Set the desk colour.
Transparency is interpreted as amount of checkerboard.
Definition at line 1723 of file canvas.cpp.
References d, and redraw_all().
Referenced by SPNamedView::set_desk_color().
|
inline |
void Inkscape::UI::Widget::Canvas::set_drawing | ( | Inkscape::Drawing * | drawing | ) |
Definition at line 519 of file canvas.cpp.
References _antialiasing_enabled, _color_mode, _drawing, _render_mode, d, Inkscape::NORMAL, Inkscape::OUTLINE_OVERLAY, Inkscape::Drawing::setAntialiasingOverride(), Inkscape::Drawing::setColorMode(), Inkscape::Drawing::setOutlineOverlay(), and Inkscape::Drawing::setRenderMode().
|
inline |
Definition at line 141 of file canvas.h.
References _grabbed_canvas_item, _grabbed_event_mask, and item.
void Inkscape::UI::Widget::Canvas::set_page | ( | uint32_t | rgba | ) |
Set the page colour.
Like the desk colour, transparency is interpreted as checkerboard.
Definition at line 1746 of file canvas.cpp.
References d, and redraw_all().
Referenced by Inkscape::CanvasItemRect::set_fill().
void Inkscape::UI::Widget::Canvas::set_pos | ( | const Geom::IntPoint & | pos | ) |
Scroll window so drawing point 'pos' is at upper left corner of canvas.
Definition at line 1693 of file canvas.cpp.
Referenced by paint_widget().
|
inline |
Definition at line 83 of file canvas.h.
References Geom::Point::round(), and set_pos().
Referenced by set_pos().
void Inkscape::UI::Widget::Canvas::set_render_mode | ( | Inkscape::RenderMode | mode | ) |
Definition at line 1756 of file canvas.cpp.
References _render_mode, d, and mode.
void Inkscape::UI::Widget::Canvas::set_split_mode | ( | Inkscape::SplitMode | mode | ) |
Definition at line 1771 of file canvas.cpp.
References _hover_direction, _split_frac, _split_mode, d, mode, Inkscape::NONE, and Inkscape::SPLIT.
Referenced by canvas_split_mode(), and on_button_released().
|
finalprivate |
Definition at line 1891 of file canvas.cpp.
References _desktop, _pos, _signal_resize, SPDesktop::current_zoom(), d, Inkscape::Preferences::get(), Inkscape::UI::Widget::height, SPDesktop::w2d(), width, and SPDesktop::zoom_absolute().
|
private |
Definition at line 1853 of file canvas.cpp.
References _desktop, _hover_direction, Inkscape::EAST, SPDesktop::getTool(), Inkscape::HORIZONTAL, Inkscape::NONE, Inkscape::NORTH, Inkscape::SOUTH, Inkscape::UI::Tools::ToolBase::use_tool_cursor(), Inkscape::VERTICAL, and Inkscape::WEST.
Referenced by on_button_released(), and on_motion().
bool Inkscape::UI::Widget::Canvas::world_point_inside_canvas | ( | Geom::Point const & | world | ) | const |
Is world point inside canvas area?
Definition at line 1544 of file canvas.cpp.
References Geom::GenericRect< C >::contains(), Geom::Point::floor(), and get_area_world().
|
private |
The affine that we have been requested to draw at.
Definition at line 195 of file canvas.h.
Referenced by get_affine(), paint_widget(), and set_affine().
|
private |
Keep all enter events. Only set true in connector-tool.cpp.
Definition at line 212 of file canvas.h.
Referenced by set_all_enter_events().
|
private |
Definition at line 201 of file canvas.h.
Referenced by set_antialiasing_enabled(), and set_drawing().
|
private |
Definition at line 204 of file canvas.h.
Referenced by get_cms_active(), and set_cms_active().
|
private |
The lcms transform to apply to canvas.
Definition at line 205 of file canvas.h.
Referenced by set_cms_transform().
|
private |
Definition at line 200 of file canvas.h.
Referenced by get_color_mode(), set_color_mode(), and set_drawing().
|
private |
Item containing cursor, nullptr if none.
Definition at line 216 of file canvas.h.
Referenced by canvas_item_destructed(), get_current_canvas_item(), and set_current_canvas_item().
|
private |
Item to become _current_item, nullptr if none.
Definition at line 217 of file canvas.h.
Referenced by canvas_item_destructed().
|
private |
Definition at line 188 of file canvas.h.
Referenced by get_desktop(), paint_widget(), set_desktop(), size_allocate_vfunc(), and update_cursor().
|
private |
Definition at line 191 of file canvas.h.
Referenced by on_button_pressed(), on_realize(), on_unrealize(), set_antialiasing_enabled(), set_color_mode(), and set_drawing().
|
private |
Item that holds a pointer grab; nullptr if none.
Definition at line 218 of file canvas.h.
Referenced by canvas_item_destructed(), get_grabbed_canvas_item(), and set_grabbed_canvas_item().
|
private |
Definition at line 219 of file canvas.h.
Referenced by set_grabbed_canvas_item().
|
private |
Definition at line 227 of file canvas.h.
Referenced by on_button_pressed(), on_motion(), paint_widget(), set_split_mode(), and update_cursor().
|
private |
Used in selection-chemistry to block undo/redo.
Definition at line 213 of file canvas.h.
Referenced by is_dragging().
|
private |
|
private |
Definition at line 222 of file canvas.h.
Referenced by request_update().
|
private |
Coordinates of top-left pixel of canvas view within canvas.
Definition at line 194 of file canvas.h.
Referenced by canvas_to_world(), get_area_world(), get_pos(), set_pos(), and size_allocate_vfunc().
|
private |
Definition at line 198 of file canvas.h.
Referenced by canvas_point_in_outline_zone(), get_render_mode(), set_drawing(), and set_render_mode().
|
private |
Definition at line 232 of file canvas.h.
Referenced by connectFocusIn(), and on_focus_in().
|
private |
Definition at line 233 of file canvas.h.
Referenced by connectFocusOut(), and on_focus_out().
|
private |
Definition at line 231 of file canvas.h.
Referenced by connectResize(), and size_allocate_vfunc().
|
private |
Definition at line 225 of file canvas.h.
Referenced by Canvas(), canvas_point_in_outline_zone(), on_button_pressed(), on_motion(), and paint_widget().
|
private |
Definition at line 229 of file canvas.h.
Referenced by on_button_pressed(), and on_motion().
|
private |
Definition at line 228 of file canvas.h.
Referenced by on_button_pressed(), on_button_released(), and on_motion().
|
private |
Definition at line 226 of file canvas.h.
Referenced by Canvas(), canvas_point_in_outline_zone(), on_motion(), paint_widget(), and set_split_mode().
|
private |
Definition at line 199 of file canvas.h.
Referenced by canvas_point_in_outline_zone(), get_split_mode(), on_button_pressed(), on_button_released(), on_motion(), and set_split_mode().
|
private |
Last known modifier state (SHIFT, CTRL, etc.).
Definition at line 214 of file canvas.h.
Referenced by on_button_pressed(), on_button_released(), on_enter(), on_key_pressed(), on_key_released(), on_leave(), on_motion(), and on_scroll().
|
private |
Definition at line 239 of file canvas.h.
Referenced by Canvas(), canvas_item_destructed(), enable_autoscroll(), get_canvas_item_root(), get_geom_affine(), get_last_mouse(), on_button_pressed(), on_button_released(), on_enter(), on_key_pressed(), on_key_released(), on_leave(), on_motion(), on_realize(), on_scroll(), on_unrealize(), paint_widget(), redraw_all(), redraw_area(), request_update(), set_affine(), set_border(), set_clip_to_page_mode(), set_desk(), set_drawing(), set_page(), set_pos(), set_render_mode(), set_split_mode(), size_allocate_vfunc(), and ~Canvas().