mirror of
https://github.com/fltk/fltk.git
synced 2026-05-31 22:04:26 +08:00
Underline does not appear in some fonts and scales (X11-noCairo) (#1308)
This commit is contained in:
@@ -122,6 +122,7 @@ public:
|
|||||||
// --- bitmap stuff
|
// --- bitmap stuff
|
||||||
static unsigned long create_bitmask(int w, int h, const uchar *array); // NOT virtual
|
static unsigned long create_bitmask(int w, int h, const uchar *array); // NOT virtual
|
||||||
void delete_bitmask(fl_uintptr_t bm) FL_OVERRIDE;
|
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(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 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;
|
void rtl_draw_unscaled(const char* str, int n, int x, int y) FL_OVERRIDE;
|
||||||
|
|||||||
@@ -118,6 +118,15 @@ 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
|
#if ! USE_PANGO
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
|||||||
Reference in New Issue
Block a user