Underline does not appear in some fonts and scales (Windows,X11-noCairo) (#1308)
This commit is contained in:
parent
9b56da5753
commit
b7e52bb03c
@ -970,7 +970,8 @@ int Fl_Scalable_Graphics_Driver::descent() {
|
||||
void Fl_Scalable_Graphics_Driver::draw(const char *str, int n, int x, int y) {
|
||||
if (!size_ || !font_descriptor()) font(FL_HELVETICA, FL_NORMAL_SIZE);
|
||||
Fl_Region r2 = scale_clip(scale());
|
||||
draw_unscaled(str, n, floor(x), floor(y));
|
||||
int offset = (scale() == 1 ? 0 : -1); // for issue #1308
|
||||
draw_unscaled(str, n, floor(x), floor(y + offset));
|
||||
unscale_clip(r2);
|
||||
}
|
||||
|
||||
|
||||
@ -74,7 +74,6 @@ public:
|
||||
static HBITMAP calc_HBITMAP_mask(Fl_RGB_Image *mask);
|
||||
void delete_bitmask(fl_uintptr_t bm) FL_OVERRIDE;
|
||||
HBITMAP create_alphamask(int w, int h, int d, int ld, const uchar *array);
|
||||
void draw(const char *str, int n, int x, int y) FL_OVERRIDE;
|
||||
void draw_unscaled(const char* str, int n, int x, int y) FL_OVERRIDE;
|
||||
void draw_unscaled(int angle, const char *str, int n, int x, int y) FL_OVERRIDE;
|
||||
void rtl_draw_unscaled(const char* str, int n, int x, int y) FL_OVERRIDE;
|
||||
|
||||
@ -593,16 +593,6 @@ exit_error:
|
||||
return;
|
||||
} // fl_text_extents
|
||||
|
||||
|
||||
void Fl_GDI_Graphics_Driver::draw(const char *str, int n, int x, int y) {
|
||||
if (!size_ || !font_descriptor()) font(FL_HELVETICA, FL_NORMAL_SIZE);
|
||||
Fl_Region r2 = scale_clip(scale());
|
||||
int offset = (scale() == 1 ? 0 : -1); // for issue #1308
|
||||
draw_unscaled(str, n, floor(x), floor(y + offset));
|
||||
unscale_clip(r2);
|
||||
}
|
||||
|
||||
|
||||
void Fl_GDI_Graphics_Driver::draw_unscaled(const char* str, int n, int x, int y) {
|
||||
COLORREF oldColor = SetTextColor(gc_, fl_RGB());
|
||||
// avoid crash if no font has been set yet
|
||||
|
||||
@ -122,7 +122,6 @@ public:
|
||||
// --- bitmap stuff
|
||||
static unsigned long create_bitmask(int w, int h, const uchar *array); // NOT virtual
|
||||
void delete_bitmask(fl_uintptr_t bm) FL_OVERRIDE;
|
||||
void draw(const char *str, int n, int x, int y) FL_OVERRIDE;
|
||||
void draw_unscaled(const char* str, int n, int x, int y) FL_OVERRIDE;
|
||||
void draw_unscaled(int angle, const char *str, int n, int x, int y) FL_OVERRIDE;
|
||||
void rtl_draw_unscaled(const char* str, int n, int x, int y) FL_OVERRIDE;
|
||||
|
||||
@ -118,14 +118,6 @@ static void correct_extents (float s, int &dx, int &dy, int &w, int &h) {
|
||||
}
|
||||
}
|
||||
|
||||
void Fl_Xlib_Graphics_Driver::draw(const char *str, int n, int x, int y) {
|
||||
if (!size_ || !font_descriptor()) font(FL_HELVETICA, FL_NORMAL_SIZE);
|
||||
Fl_Region r2 = scale_clip(scale());
|
||||
int offset = (scale() == 1 ? 0 : -1); // for issue #1308
|
||||
draw_unscaled(str, n, floor(x), floor(y + offset));
|
||||
unscale_clip(r2);
|
||||
}
|
||||
|
||||
|
||||
#if ! USE_PANGO
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user