diff options
| author | Tavmjong Bah <tavmjong@free.fr> | 2015-12-21 09:48:56 +0000 |
|---|---|---|
| committer | tavmjong-free <tavmjong@free.fr> | 2015-12-21 09:48:56 +0000 |
| commit | 6f817f71119774c09888fddf8ba28a96c4546165 (patch) | |
| tree | 5d1296a00c47067231691b2e9eb31ea0ee5c92de /src/desktop.cpp | |
| parent | fixes layer movement when there is a document scaling factor (diff) | |
| download | inkscape-6f817f71119774c09888fddf8ba28a96c4546165.tar.gz inkscape-6f817f71119774c09888fddf8ba28a96c4546165.zip | |
Add option for checkerboard background.
Fixed bugs:
- https://launchpad.net/bugs/397723
(bzr r14539)
Diffstat (limited to 'src/desktop.cpp')
| -rw-r--r-- | src/desktop.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/desktop.cpp b/src/desktop.cpp index 0aac46e8d..f099ba39f 100644 --- a/src/desktop.cpp +++ b/src/desktop.cpp @@ -210,9 +210,11 @@ SPDesktop::init (SPNamedView *nv, SPCanvas *aCanvas, Inkscape::UI::View::EditWid main = (SPCanvasGroup *) sp_canvas_item_new (root, SP_TYPE_CANVAS_GROUP, NULL); 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); page = sp_canvas_item_new (main, SP_TYPE_CTRLRECT, NULL); @@ -1731,14 +1733,16 @@ static void _namedview_modified (SPObject *obj, guint flags, SPDesktop *desktop) if (flags & SP_OBJECT_MODIFIED_FLAG) { - /* Show/hide page background */ - if (nv->pagecolor | (0xff != 0xffffffff)) { - sp_canvas_item_show (desktop->table); - ((CtrlRect *) desktop->table)->setColor(0x00000000, true, nv->pagecolor | 0xff); - sp_canvas_item_move_to_z (desktop->table, 0); + /* 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); } else { - sp_canvas_item_hide (desktop->table); + ((CtrlRect *) desktop->table)->setCheckerboard( false ); + ((CtrlRect *) desktop->table)->setColor(0x00000000, true, nv->pagecolor | 0xff); } + sp_canvas_item_move_to_z (desktop->table, 0); /* Show/hide page border */ if (nv->showborder) { |
