summaryrefslogtreecommitdiff
path: root/FL
diff options
context:
space:
mode:
Diffstat (limited to 'FL')
-rw-r--r--FL/Fl_Input.H2
-rw-r--r--FL/Fl_Screen_Driver.H4
2 files changed, 6 insertions, 0 deletions
diff --git a/FL/Fl_Input.H b/FL/Fl_Input.H
index d8fabb561..4c5ff17d4 100644
--- a/FL/Fl_Input.H
+++ b/FL/Fl_Input.H
@@ -219,6 +219,8 @@
</TD></TR></TABLE>
*/
class FL_EXPORT Fl_Input : public Fl_Input_ {
+ friend class Fl_Screen_Driver;
+ friend class Fl_Cocoa_Screen_Driver; // Not ideal, but probably no other platform will use it
int handle_key();
int shift_position(int p);
int shift_up_down_position(int p);
diff --git a/FL/Fl_Screen_Driver.H b/FL/Fl_Screen_Driver.H
index d13dbaafe..22eda6095 100644
--- a/FL/Fl_Screen_Driver.H
+++ b/FL/Fl_Screen_Driver.H
@@ -39,6 +39,7 @@
class Fl_Window;
class Fl_RGB_Image;
class Fl_Group;
+class Fl_Input;
class FL_EXPORT Fl_Screen_Driver {
@@ -129,6 +130,9 @@ public:
static void write_image_inside(Fl_RGB_Image *to, Fl_RGB_Image *from, int to_x, int to_y);
static Fl_RGB_Image *traverse_to_gl_subwindows(Fl_Group *g, uchar *p, int x, int y, int w, int h, int alpha,
Fl_RGB_Image *full_img);
+ // optional platform-specific key handling for Fl_Input widget
+ // the default implementation may be enough
+ virtual int input_widget_handle_key(int key, unsigned mods, unsigned shift, Fl_Input *input);
};