diff options
| author | Matthias Melcher <fltk@matthiasm.com> | 2005-07-20 11:11:51 +0000 |
|---|---|---|
| committer | Matthias Melcher <fltk@matthiasm.com> | 2005-07-20 11:11:51 +0000 |
| commit | a15e974676305949a2312dbafefdcb840cdad3a1 (patch) | |
| tree | d49a4846c24c072dcdabf7a0da21ed18e5923958 | |
| parent | 069276646a467a0d936fb148763685f5a917db5d (diff) | |
- I enlarged the 'minimal update' area in Fl_Input_, so that characters that overlap the font box will be correctly erased during minimal redraw. The original code assumes that character fin in a box from 0,0 to charcter width/height. However, many newer fonts overlap that box and leave traces when redrawn. See 'j' and 'W' in Helvetica on Mac and Windows.
- added textsize etc. support for Fluid Live Mode for Fl_Input type.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4436 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
| -rw-r--r-- | CHANGES | 1 | ||||
| -rw-r--r-- | fluid/factory.cxx | 7 | ||||
| -rw-r--r-- | src/Fl_Input_.cxx | 2 |
3 files changed, 9 insertions, 1 deletions
@@ -2,6 +2,7 @@ CHANGES IN FLTK 1.1.7 - Documentation fixes (STR #648, STR #692, STR #730, STR #744, STR #745, STR #942) + - Fixed left overhang of large chracters in Fl_Input_ (STR #941) - Fixed button resizing in File Chooser (STR #884) - Fixed Fluid redraw issue (STR #912) - Added 32bit BMP Image file format support (STR #918) diff --git a/fluid/factory.cxx b/fluid/factory.cxx index aedaaa1c7..7eaf5dc87 100644 --- a/fluid/factory.cxx +++ b/fluid/factory.cxx @@ -444,6 +444,13 @@ public: } Fl_Widget_Type *_make() {return new Fl_Input_Type();} int pixmapID() { return 14; } + virtual void copy_properties() { + Fl_Widget_Type::copy_properties(); + Fl_Input_ *d = (Fl_Input_*)live_widget, *s = (Fl_Input_*)o; + d->textfont(s->textfont()); + d->textsize(s->textsize()); + d->textcolor(s->textcolor()); + } }; static Fl_Input_Type Fl_Input_type; diff --git a/src/Fl_Input_.cxx b/src/Fl_Input_.cxx index d41f840f7..d851cba94 100644 --- a/src/Fl_Input_.cxx +++ b/src/Fl_Input_.cxx @@ -253,7 +253,7 @@ void Fl_Input_::drawtext(int X, int Y, int W, int H) { else if (readonly()) xx -= 3; } // clip to and erase it: - fl_push_clip((int)xx, Y+ypos, (int)(r-xx+1), height); + fl_push_clip((int)xx-1-height/8, Y+ypos, (int)(r-xx+2+height/4), height); draw_box(box(), X-Fl::box_dx(box()), Y-Fl::box_dy(box()), W+Fl::box_dw(box()), H+Fl::box_dh(box()), color()); // it now draws entire line over it |
