diff options
| author | Matthias Melcher <fltk@matthiasm.com> | 2005-08-15 20:40:16 +0000 |
|---|---|---|
| committer | Matthias Melcher <fltk@matthiasm.com> | 2005-08-15 20:40:16 +0000 |
| commit | 41c089f3c13261e4606d43c1682fb4b3501e6670 (patch) | |
| tree | 1a7e909f2a65009de8b4694edf0eb6b4be408ebc /fluid | |
| parent | c38c41a0c67211d90c87b92364d593e3362b0467 (diff) | |
Dottet label selection box and standard widget selection boxes would not always align when snapping was enabled. Also, the dragging indicators would not snap. (STR #964)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4514 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'fluid')
| -rw-r--r-- | fluid/Fl_Type.h | 3 | ||||
| -rw-r--r-- | fluid/Fl_Window_Type.cxx | 7 |
2 files changed, 8 insertions, 2 deletions
diff --git a/fluid/Fl_Type.h b/fluid/Fl_Type.h index 4c7d18af5..8220273bb 100644 --- a/fluid/Fl_Type.h +++ b/fluid/Fl_Type.h @@ -464,7 +464,8 @@ protected: friend class Overlay_Window; int mx,my; // mouse position during dragging int x1,y1; // initial position of selection box - int bx,by,br,bt; // bounding box of selection + int bx,by,br,bt; // bounding box of selection before snapping + int sx,sy,sr,st; // bounding box of selection after snapping to guides int dx,dy; int drag; // which parts of bbox are being moved int numselected; // number of children selected diff --git a/fluid/Fl_Window_Type.cxx b/fluid/Fl_Window_Type.cxx index 44c9f61da..9223ae918 100644 --- a/fluid/Fl_Window_Type.cxx +++ b/fluid/Fl_Window_Type.cxx @@ -647,6 +647,7 @@ void Fl_Window_Type::draw_overlay() { if (myo->o->y()+myo->o->h() > bt) bt = myo->o->y()+myo->o->h(); } recalc = 0; + sx = bx; sy = by; sr = br; st = bt; } fl_color(FL_RED); if (drag==BOX && (x1 != mx || y1 != my)) { @@ -695,7 +696,7 @@ void Fl_Window_Type::draw_overlay() { // - check for distance to the window edge // * FLTK suggests 10 pixels from the edge int d; - int xsp, ysp; + int xsp, ysp, mybx_bak = mybx, myby_bak = myby; Fl_Widget_Type *mysel = (Fl_Widget_Type *)selection; @@ -973,7 +974,11 @@ void Fl_Window_Type::draw_overlay() { } } } + mysx += mybx-mybx_bak; mysr += mybx-mybx_bak; + mysy += myby-myby_bak; myst += myby-myby_bak; } + // align the snapping selection box with the box we draw. + sx = mysx; sy = mysy; sr = mysr; st = myst; // Draw selection box + resize handles... // draw box including all labels |
