summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Ercolano <erco@seriss.com>2022-11-07 17:08:14 -0800
committerGreg Ercolano <erco@seriss.com>2022-11-07 17:08:14 -0800
commitd68f927a1382d1603a03e5be77f79b7a51854360 (patch)
treeb27b2defe1d0b1674fb1e603cc8bb2fe11c0cde7
parent89e1aad897c07c0fc1e427d5970889172177808a (diff)
Document Fl_Multiline_Output keynav and caret cursor
-rw-r--r--FL/Fl_Multiline_Output.H9
-rw-r--r--src/Fl_Input_.cxx1
2 files changed, 10 insertions, 0 deletions
diff --git a/FL/Fl_Multiline_Output.H b/FL/Fl_Multiline_Output.H
index a8bd088bc..480fc8f52 100644
--- a/FL/Fl_Multiline_Output.H
+++ b/FL/Fl_Multiline_Output.H
@@ -34,6 +34,15 @@
and need scrollbars, or full color control of characters,
then use Fl_Text_Display. If you want to display HTML text,
use Fl_Help_View.
+
+ A caret cursor (^) shows the keyboard navigation mark
+ for keyboard selection of the output text, e.g. Arrow Keys
+ to move the cursor, Shift + Arrow Keys to create a text
+ selection, and '^C' to copy the selected text to the paste buffer.
+ The caret cursor can be disabled by disabling the widget's
+ "visible focus" using clear_visible_focus(), inherited from the
+ Fl_Widget base class. Doing this also disables the widget's
+ keyboard navigation.
*/
class FL_EXPORT Fl_Multiline_Output : public Fl_Output {
public:
diff --git a/src/Fl_Input_.cxx b/src/Fl_Input_.cxx
index 37edba106..55190b258 100644
--- a/src/Fl_Input_.cxx
+++ b/src/Fl_Input_.cxx
@@ -371,6 +371,7 @@ void Fl_Input_::drawtext(int X, int Y, int W, int H) {
// cursor position may need to be recomputed (see STR #2486)
curx = int(expandpos(p, value()+position(), buf, 0)+.5);
if (readonly()) {
+ // Draw '^' caret cursor
fl_line((int)(xpos+curx-2.5f), Y+ypos+height-1,
(int)(xpos+curx+0.5f), Y+ypos+height-4,
(int)(xpos+curx+3.5f), Y+ypos+height-1);