summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2016-09-22 13:22:03 +0000
committerManolo Gouy <Manolo>2016-09-22 13:22:03 +0000
commit0e336558537bd0af1c3bb2434a277091824e637c (patch)
treec0ead65b0cd6f0f43f5e0fe514946d6edfb1cb62 /src
parent02535d122296b00a99fa30e0253f83c82f177894 (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.H4
-rw-r--r--src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx8
-rw-r--r--src/drivers/Quartz/Fl_Quartz_Graphics_Driver_font.cxx8
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.H3
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx10
-rw-r--r--src/drivers/X11/Fl_X11_Screen_Driver.H3
-rw-r--r--src/drivers/X11/Fl_X11_Screen_Driver.cxx10
-rw-r--r--src/fl_set_font.cxx8
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);
}
//