mirror of
https://github.com/fltk/fltk.git
synced 2026-05-24 16:36:37 +08:00
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:
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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();
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -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();
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user