Move platform-dependent implementations of Fl::en/dis/able_im() to the Fl_Screen_Driver class

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11618 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Manolo Gouy
2016-04-15 15:12:22 +00:00
parent 397a3b83bf
commit 15715cd898
8 changed files with 25 additions and 6 deletions
+3
View File
@@ -135,6 +135,9 @@ public:
virtual int input_widget_handle_key(int key, unsigned mods, unsigned shift, Fl_Input *input);
// implement to support Fl::get_mouse()
virtual void get_mouse(int &x, int &y) {}
// optional methods to enable/disable input methods for complex scripts
virtual void enable_im() {}
virtual void disable_im() {}
};
+10
View File
@@ -1941,6 +1941,16 @@ int Fl::clipboard_contains(const char *type)
return Fl::system_driver()->clipboard_contains(type);
}
void Fl::enable_im()
{
Fl::screen_driver()->enable_im();
}
void Fl::disable_im()
{
Fl::screen_driver()->disable_im();
}
//
// End of "$Id$".
//
+2 -2
View File
@@ -1827,7 +1827,7 @@ static int input_method_startup()
return retval;
}
void Fl::enable_im() {
void Fl_Cocoa_Screen_Driver::enable_im() {
if (!input_method_startup()) return;
im_enabled = 1;
@@ -1840,7 +1840,7 @@ void Fl::enable_im() {
KeyScript(smKeyEnableKybds);
}
void Fl::disable_im() {
void Fl_Cocoa_Screen_Driver::disable_im() {
if (!input_method_startup()) return;
im_enabled = 0;
+2 -2
View File
@@ -548,7 +548,7 @@ static Fl_Win32_At_Exit win32_at_exit;
static char im_enabled = 1;
void Fl::enable_im() {
void Fl_WinAPI_Screen_Driver::enable_im() {
fl_open_display();
Fl_X* i = Fl_X::first;
@@ -560,7 +560,7 @@ void Fl::enable_im() {
im_enabled = 1;
}
void Fl::disable_im() {
void Fl_WinAPI_Screen_Driver::disable_im() {
fl_open_display();
Fl_X* i = Fl_X::first;
+2 -2
View File
@@ -653,7 +653,7 @@ void fl_xim_deactivate(void) {
fl_xim_win = 0;
}
void Fl::enable_im() {
void Fl_X11_Screen_Driver::enable_im() {
Fl_Window *win;
win = Fl::first_window();
@@ -665,7 +665,7 @@ void Fl::enable_im() {
}
}
void Fl::disable_im() {
void Fl_X11_Screen_Driver::disable_im() {
fl_xim_deactivate();
}
@@ -91,6 +91,8 @@ public:
virtual uchar *read_image(uchar *p, int x, int y, int w, int h, int alpha);
virtual int input_widget_handle_key(int key, unsigned mods, unsigned shift, Fl_Input *input);
virtual void get_mouse(int &x, int &y);
virtual void enable_im();
virtual void disable_im();
};
@@ -73,6 +73,8 @@ public:
virtual int compose(int &del);
virtual uchar *read_win_rectangle(uchar *p, int X, int Y, int w, int h, int alpha);
virtual void get_mouse(int &x, int &y);
virtual void enable_im();
virtual void disable_im();
};
+2
View File
@@ -79,6 +79,8 @@ public:
virtual int text_display_can_leak();
virtual uchar *read_win_rectangle(uchar *p, int X, int Y, int w, int h, int alpha);
virtual void get_mouse(int &x, int &y);
virtual void enable_im();
virtual void disable_im();
};