index 71786fd963cd878aa97b8e73a081682a7e957193..27f53633cd487b3eac36421d5e1de1427f90ba78 100644 (file)
ctrl->stroked = 0;
ctrl->fill_color = 0x000000ff;
ctrl->stroke_color = 0x000000ff;
+ ctrl->_moved = false;
ctrl->box.x0 = ctrl->box.y0 = ctrl->box.x1 = ctrl->box.y1 = 0;
ctrl->cache = NULL;
@@ -204,6 +205,8 @@ sp_ctrl_update (SPCanvasItem *item, NR::Matrix const &affine, unsigned int flags
sp_canvas_item_reset_bounds (item);
+ if (!ctrl->_moved) return;
+
if (ctrl->shown) {
sp_canvas_request_redraw (item->canvas, ctrl->box.x0, ctrl->box.y0, ctrl->box.x1 + 1, ctrl->box.y1 + 1);
}
void SPCtrl::moveto (NR::Point const p) {
sp_canvas_item_affine_absolute (SP_CANVAS_ITEM (this), NR::Matrix(NR::translate (p)));
+ _moved = true;
}