Make Fl_Input::handle_key() protected (#203)

... as requested in this comment:
https://github.com/fltk/fltk/issues/211#issuecomment-814235771
This commit is contained in:
Albrecht Schlosser 2021-04-07 19:14:25 +02:00
parent 7f969b5496
commit 22cb8a7fdb
2 changed files with 16 additions and 7 deletions

View File

@ -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);

View File

@ -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];