diff options
| author | Manolo Gouy <Manolo> | 2016-09-22 13:22:03 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2016-09-22 13:22:03 +0000 |
| commit | 0e336558537bd0af1c3bb2434a277091824e637c (patch) | |
| tree | c0ead65b0cd6f0f43f5e0fe514946d6edfb1cb62 /src | |
| parent | 02535d122296b00a99fa30e0253f83c82f177894 (diff) | |
Fl_Screen_Driver class: its platform dependent member functions should not be static.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11966 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
| -rw-r--r-- | src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.H | 4 | ||||
| -rw-r--r-- | src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx | 8 | ||||
| -rw-r--r-- | src/drivers/Quartz/Fl_Quartz_Graphics_Driver_font.cxx | 8 | ||||
| -rw-r--r-- | src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.H | 3 | ||||
| -rw-r--r-- | src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx | 10 | ||||
| -rw-r--r-- | src/drivers/X11/Fl_X11_Screen_Driver.H | 3 | ||||
| -rw-r--r-- | src/drivers/X11/Fl_X11_Screen_Driver.cxx | 10 | ||||
| -rw-r--r-- | src/fl_set_font.cxx | 8 |
8 files changed, 28 insertions, 26 deletions
diff --git a/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.H b/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.H index 3c639a58e..0223c252c 100644 --- a/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.H +++ b/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.H @@ -97,6 +97,10 @@ public: virtual Fl_Font set_fonts(const char *name); virtual int get_font_sizes(Fl_Font fnum, int*& sizep); virtual const char* get_font_name(Fl_Font fnum, int* ap); + virtual const char *font_name(int num); + virtual void font_name(int num, const char *name); + virtual unsigned font_desc_size(); + virtual struct Fl_Fontdesc *calc_fl_fonts(); }; diff --git a/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx b/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx index c43b872f1..e9641879b 100644 --- a/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx +++ b/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx @@ -279,16 +279,16 @@ int Fl_Cocoa_Screen_Driver::compose(int &del) { return 1; } -unsigned Fl_Screen_Driver::font_desc_size() { +unsigned Fl_Cocoa_Screen_Driver::font_desc_size() { return (unsigned)sizeof(Fl_Fontdesc); } -const char *Fl_Screen_Driver::font_name(int num) { - if (!fl_fonts) fl_fonts = Fl_Screen_Driver::calc_fl_fonts(); +const char *Fl_Cocoa_Screen_Driver::font_name(int num) { + if (!fl_fonts) fl_fonts = calc_fl_fonts(); return fl_fonts[num].name; } -void Fl_Screen_Driver::font_name(int num, const char *name) { +void Fl_Cocoa_Screen_Driver::font_name(int num, const char *name) { Fl_Fontdesc *s = fl_fonts + num; if (s->name) { if (!strcmp(s->name, name)) {s->name = name; return;} diff --git a/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_font.cxx b/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_font.cxx index 46c1dc925..931316c2a 100644 --- a/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_font.cxx +++ b/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_font.cxx @@ -48,7 +48,7 @@ static const int CoreText_threshold = 100500; // this represents Mac OS 10.5 // turn a stored font name into a pretty name: const char* Fl_Cocoa_Screen_Driver::get_font_name(Fl_Font fnum, int* ap) { - if (!fl_fonts) fl_fonts = Fl_Screen_Driver::calc_fl_fonts(); + if (!fl_fonts) fl_fonts = calc_fl_fonts(); Fl_Fontdesc *f = fl_fonts + fnum; if (!f->fontname[0]) { #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5 @@ -200,7 +200,7 @@ else { int Fl_Cocoa_Screen_Driver::get_font_sizes(Fl_Font fnum, int*& sizep) { static int array[128]; - if (!fl_fonts) fl_fonts = Fl_Screen_Driver::calc_fl_fonts(); + if (!fl_fonts) fl_fonts = calc_fl_fonts(); Fl_Fontdesc *s = fl_fonts+fnum; if (!s->name) s = fl_fonts; // empty slot in table, use entry 0 int cnt = 0; @@ -416,7 +416,7 @@ static UniChar *mac_Utf8_to_Utf16(const char *txt, int len, int *new_len) return utfWbuf; } // mac_Utf8_to_Utf16 -Fl_Fontdesc* Fl_Screen_Driver::calc_fl_fonts(void) +Fl_Fontdesc* Fl_Cocoa_Screen_Driver::calc_fl_fonts(void) { if (!fl_mac_os_version) fl_mac_os_version = Fl_Darwin_System_Driver::calc_mac_os_version(); #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5 @@ -427,7 +427,7 @@ Fl_Fontdesc* Fl_Screen_Driver::calc_fl_fonts(void) } static Fl_Font_Descriptor* find(Fl_Font fnum, Fl_Fontsize size) { - if (!fl_fonts) fl_fonts = Fl_Screen_Driver::calc_fl_fonts(); + if (!fl_fonts) fl_fonts = Fl::screen_driver()->calc_fl_fonts(); Fl_Fontdesc* s = fl_fonts+fnum; if (!s->name) s = fl_fonts; // use 0 if fnum undefined Fl_Font_Descriptor* f; diff --git a/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.H b/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.H index 0fc1e1cbe..6e2d65772 100644 --- a/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.H +++ b/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.H @@ -80,6 +80,9 @@ public: virtual Fl_Font set_fonts(const char *name); virtual int get_font_sizes(Fl_Font fnum, int*& sizep); virtual const char* get_font_name(Fl_Font fnum, int* ap); + virtual const char *font_name(int num); + virtual void font_name(int num, const char *name); + virtual unsigned font_desc_size(); }; diff --git a/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx index 7d177de98..232750adf 100644 --- a/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx +++ b/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx @@ -511,19 +511,15 @@ int Fl_WinAPI_Screen_Driver::compose(int &del) { return 1; } -struct Fl_Fontdesc *Fl_Screen_Driver::calc_fl_fonts() { - return NULL; -} - -unsigned Fl_Screen_Driver::font_desc_size() { +unsigned Fl_WinAPI_Screen_Driver::font_desc_size() { return (unsigned)sizeof(Fl_Fontdesc); } -const char *Fl_Screen_Driver::font_name(int num) { +const char *Fl_WinAPI_Screen_Driver::font_name(int num) { return fl_fonts[num].name; } -void Fl_Screen_Driver::font_name(int num, const char *name) { +void Fl_WinAPI_Screen_Driver::font_name(int num, const char *name) { Fl_Fontdesc *s = fl_fonts + num; if (s->name) { if (!strcmp(s->name, name)) {s->name = name; return;} diff --git a/src/drivers/X11/Fl_X11_Screen_Driver.H b/src/drivers/X11/Fl_X11_Screen_Driver.H index a38e6ef4f..c3ccadd42 100644 --- a/src/drivers/X11/Fl_X11_Screen_Driver.H +++ b/src/drivers/X11/Fl_X11_Screen_Driver.H @@ -90,6 +90,9 @@ public: virtual Fl_Font set_fonts(const char *name); virtual int get_font_sizes(Fl_Font fnum, int*& sizep); virtual const char* get_font_name(Fl_Font fnum, int* ap); + virtual const char *font_name(int num); + virtual void font_name(int num, const char *name); + virtual unsigned font_desc_size(); }; diff --git a/src/drivers/X11/Fl_X11_Screen_Driver.cxx b/src/drivers/X11/Fl_X11_Screen_Driver.cxx index 05280cd79..703eafeab 100644 --- a/src/drivers/X11/Fl_X11_Screen_Driver.cxx +++ b/src/drivers/X11/Fl_X11_Screen_Driver.cxx @@ -694,19 +694,15 @@ int Fl_X11_Screen_Driver::text_display_can_leak() { #endif } -struct Fl_Fontdesc *Fl_Screen_Driver::calc_fl_fonts() { - return NULL; -} - -unsigned Fl_Screen_Driver::font_desc_size() { +unsigned Fl_X11_Screen_Driver::font_desc_size() { return (unsigned)sizeof(Fl_Fontdesc); } -const char *Fl_Screen_Driver::font_name(int num) { +const char *Fl_X11_Screen_Driver::font_name(int num) { return fl_fonts[num].name; } -void Fl_Screen_Driver::font_name(int num, const char *name) { +void Fl_X11_Screen_Driver::font_name(int num, const char *name) { Fl_Fontdesc *s = fl_fonts + num; if (s->name) { if (!strcmp(s->name, name)) {s->name = name; return;} diff --git a/src/fl_set_font.cxx b/src/fl_set_font.cxx index f43a43972..d2e61ae67 100644 --- a/src/fl_set_font.cxx +++ b/src/fl_set_font.cxx @@ -35,8 +35,8 @@ static int table_size; the string is not copied, so the string must be in static memory. */ void Fl::set_font(Fl_Font fnum, const char* name) { - unsigned width = Fl_Screen_Driver::font_desc_size(); - if (!fl_fonts) fl_fonts = Fl_Screen_Driver::calc_fl_fonts(); + unsigned width = Fl::screen_driver()->font_desc_size(); + if (!fl_fonts) fl_fonts = Fl::screen_driver()->calc_fl_fonts(); while (fnum >= table_size) { int i = table_size; if (!i) { // don't realloc the built-in table @@ -53,7 +53,7 @@ void Fl::set_font(Fl_Font fnum, const char* name) { memset((char*)fl_fonts + i * width, 0, width); } } - Fl_Screen_Driver::font_name(fnum, name); + Fl::screen_driver()->font_name(fnum, name); Fl_Display_Device::display_device()->driver()->font(-1, 0); } @@ -68,7 +68,7 @@ void Fl::set_font(Fl_Font fnum, Fl_Font from) { of this face. */ const char* Fl::get_font(Fl_Font fnum) { - return Fl_Screen_Driver::font_name(fnum); + return Fl::screen_driver()->font_name(fnum); } // |
