summaryrefslogtreecommitdiffstats
path: root/src/desktop.cpp
diff options
context:
space:
mode:
authorKrzysztof Kosi??ski <tweenk.pl@gmail.com>2016-04-13 11:38:28 +0000
committerKrzysztof KosiƄski <tweenk.pl@gmail.com>2016-04-13 11:38:28 +0000
commitd2a3bc0b327557fba34f09a110a0ac5b6d18f85e (patch)
treea852962eb33ecbb72e1ef832bd5f74075dfb1874 /src/desktop.cpp
parentgimpcolorwheel: Fix deprecated gtk_widget_style_attach #Hackfest2016 (diff)
downloadinkscape-d2a3bc0b327557fba34f09a110a0ac5b6d18f85e.tar.gz
inkscape-d2a3bc0b327557fba34f09a110a0ac5b6d18f85e.zip
Move background drawing to SPCanvas to avoid temporarily drawing an incorrect
background. #Hackfest2016 (bzr r14821)
Diffstat (limited to 'src/desktop.cpp')
-rw-r--r--src/desktop.cpp17
1 files changed, 3 insertions, 14 deletions
diff --git a/src/desktop.cpp b/src/desktop.cpp
index 331ab3351..5cd9ef32f 100644
--- a/src/desktop.cpp
+++ b/src/desktop.cpp
@@ -111,7 +111,6 @@ SPDesktop::SPDesktop() :
sketch( NULL ),
controls( NULL ),
tempgroup ( NULL ),
- table( NULL ),
page( NULL ),
page_border( NULL ),
current( NULL ),
@@ -211,11 +210,7 @@ SPDesktop::init (SPNamedView *nv, SPCanvas *aCanvas, Inkscape::UI::View::EditWid
g_signal_connect (G_OBJECT (main), "event", G_CALLBACK (sp_desktop_root_handler), this);
/* This is the background the page sits on. */
- table = sp_canvas_item_new (main, SP_TYPE_CTRLRECT, NULL);
- SP_CTRLRECT(table)->setRectangle(Geom::Rect(Geom::Point(-80000, -80000), Geom::Point(80000, 80000)));
- SP_CTRLRECT(table)->setColor(0x00000000, true, 0x00000000);
- SP_CTRLRECT(table)->setCheckerboard( false );
- sp_canvas_item_move_to_z (table, 0);
+ canvas->setBackgroundColor(0xffffff00);
page = sp_canvas_item_new (main, SP_TYPE_CTRLRECT, NULL);
((CtrlRect *) page)->setColor(0x00000000, FALSE, 0x00000000);
@@ -1733,17 +1728,11 @@ static void _namedview_modified (SPObject *obj, guint flags, SPDesktop *desktop)
SPNamedView *nv=SP_NAMEDVIEW(obj);
if (flags & SP_OBJECT_MODIFIED_FLAG) {
-
- /* Set page background */
- sp_canvas_item_show (desktop->table);
if (nv->pagecheckerboard) {
- ((CtrlRect *) desktop->table)->setCheckerboard( true );
- ((CtrlRect *) desktop->table)->setColor(0x00000000, true, nv->pagecolor ); // | 0xff);
+ desktop->canvas->setBackgroundCheckerboard();
} else {
- ((CtrlRect *) desktop->table)->setCheckerboard( false );
- ((CtrlRect *) desktop->table)->setColor(0x00000000, true, nv->pagecolor | 0xff);
+ desktop->canvas->setBackgroundColor(nv->pagecolor);
}
- sp_canvas_item_move_to_z (desktop->table, 0);
/* Show/hide page border */
if (nv->showborder) {