summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbrecht Schlosser <albrechts.fltk@online.de>2021-04-07 19:14:25 +0200
committerAlbrecht Schlosser <albrechts.fltk@online.de>2021-04-07 19:14:25 +0200
commit22cb8a7fdb1dfd5cb9e8280ce858dc6803bcdd9d (patch)
tree42ec3ed3c4a86fb6d3425aa777c15f6a64e55619
parent7f969b54964381f79558b924184f9c2c9afb4a57 (diff)
Make Fl_Input::handle_key() protected (#203)
... as requested in this comment: https://github.com/fltk/fltk/issues/211#issuecomment-814235771
-rw-r--r--FL/Fl_Input.H7
-rw-r--r--src/Fl_Input.cxx16
2 files changed, 16 insertions, 7 deletions
diff --git a/FL/Fl_Input.H b/FL/Fl_Input.H
index f165ddc6e..0967d332f 100644
--- a/FL/Fl_Input.H
+++ b/FL/Fl_Input.H
@@ -1,7 +1,7 @@
//
// Input header file for the Fast Light Tool Kit (FLTK).
//
-// Copyright 1998-2010 by Bill Spitzak and others.
+// Copyright 1998-2021 by Bill Spitzak and others.
//
// This library is free software. Distribution and use rights are outlined in
// the file "COPYING" which should have been included with this file. If this
@@ -34,7 +34,7 @@
Character composition is done using dead keys and/or a compose
key as defined by the operating system.
<P>
- <!-- DON'T use the class name in the caption, or doxygen 1.8.x will fail. -->
+ <!-- DON'T use the class name in the caption, or doxygen 1.8.x will fail. -->
<TABLE WIDTH="90%" BORDER="1" SUMMARY="Fl_Input keyboard and mouse bindings.">
<CAPTION ALIGN="TOP">Keyboard and mouse bindings.</CAPTION>
<TR><TD NOWRAP="NOWRAP" WIDTH="1%">
@@ -220,7 +220,6 @@
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);
void handle_mouse(int keepmark=0);
@@ -257,6 +256,8 @@ class FL_EXPORT Fl_Input : public Fl_Input_ {
protected:
void draw();
+ int handle_key();
+
public:
int handle(int);
Fl_Input(int,int,int,int,const char * = 0);
diff --git a/src/Fl_Input.cxx b/src/Fl_Input.cxx
index 9a3342eb2..5fa16bfb0 100644
--- a/src/Fl_Input.cxx
+++ b/src/Fl_Input.cxx
@@ -1,7 +1,7 @@
//
// Input widget for the Fast Light Tool Kit (FLTK).
//
-// Copyright 1998-2020 by Bill Spitzak and others.
+// Copyright 1998-2021 by Bill Spitzak and others.
//
// This library is free software. Distribution and use rights are outlined in
// the file "COPYING" which should have been included with this file. If this
@@ -300,9 +300,17 @@ int Fl_Input::kf_copy_cut() {
return cut();
}
-// Handle a keystroke.
-// Returns 1 if handled by us, 0 if not.
-//
+/** Handles a keystroke.
+
+ This \p protected method handles a keystroke in an Fl_Input or derived
+ class. It handles compose key sequences and can also be used e.g. in
+ Fl_Multiline_Input, Fl_Float_Input and several more derived classes.
+
+ The details are way too complicated to be documented here and can be
+ changed as required. If in doubt, please consult the source code.
+
+ \returns 1 if the keystroke is handled by us, 0 if not.
+*/
int Fl_Input::handle_key() {
char ascii = Fl::event_text()[0];