summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Fl.cxx10
-rw-r--r--src/Fl_cocoa.mm4
-rw-r--r--src/Fl_win32.cxx4
-rw-r--r--src/Fl_x.cxx4
-rw-r--r--src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.H2
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.H2
-rw-r--r--src/drivers/X11/Fl_X11_Screen_Driver.H2
7 files changed, 22 insertions, 6 deletions
diff --git a/src/Fl.cxx b/src/Fl.cxx
index 1527b5f72..775a43837 100644
--- a/src/Fl.cxx
+++ b/src/Fl.cxx
@@ -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$".
//
diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm
index da4e627b9..faf59a8b4 100644
--- a/src/Fl_cocoa.mm
+++ b/src/Fl_cocoa.mm
@@ -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;
diff --git a/src/Fl_win32.cxx b/src/Fl_win32.cxx
index f830442e2..b37f0994f 100644
--- a/src/Fl_win32.cxx
+++ b/src/Fl_win32.cxx
@@ -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;
diff --git a/src/Fl_x.cxx b/src/Fl_x.cxx
index d4a1f4f12..04e82abbc 100644
--- a/src/Fl_x.cxx
+++ b/src/Fl_x.cxx
@@ -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();
}
diff --git a/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.H b/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.H
index b64cf91b2..eea642760 100644
--- a/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.H
+++ b/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.H
@@ -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();
};
diff --git a/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.H b/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.H
index b24045433..80ced415b 100644
--- a/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.H
+++ b/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.H
@@ -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();
};
diff --git a/src/drivers/X11/Fl_X11_Screen_Driver.H b/src/drivers/X11/Fl_X11_Screen_Driver.H
index 72f4358b2..a2b8b628d 100644
--- a/src/drivers/X11/Fl_X11_Screen_Driver.H
+++ b/src/drivers/X11/Fl_X11_Screen_Driver.H
@@ -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();
};