From cf672dba0db831679ba0cb5b9966a6dd1bbcb6e5 Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Mon, 24 Dec 2012 11:45:07 +0000 Subject: Mac OS text input: defined a small API that user-defined text editing widgets can use to signal marked text. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9774 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/Fl_Text_Display.cxx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/Fl_Text_Display.cxx') diff --git a/src/Fl_Text_Display.cxx b/src/Fl_Text_Display.cxx index fb0eee61c..5c418fc7d 100644 --- a/src/Fl_Text_Display.cxx +++ b/src/Fl_Text_Display.cxx @@ -1942,7 +1942,7 @@ void Fl_Text_Display::draw_string(int style, if (style & PRIMARY_MASK) { if (Fl::focus() == (Fl_Widget*)this) { #ifdef __APPLE__ - if (Fl::compose_state) background = color();// Mac OS: underline marked text + if (Fl::marked_text_length()) background = color();// Mac OS: underline marked text else #endif background = selection_color(); @@ -1978,8 +1978,8 @@ void Fl_Text_Display::draw_string(int style, fl_push_clip(X, Y, toX - X, mMaxsize); #endif fl_draw( string, nChars, X, Y + mMaxsize - fl_descent()); -#ifdef __APPLE__ // Mac OS: underline marked (= selected + Fl::compose_state != 0) text - if (Fl::compose_state && (style & PRIMARY_MASK)) { +#ifdef __APPLE__ // Mac OS: underline marked (= selected + Fl::marked_text_length() != 0) text + if (Fl::marked_text_length() && (style & PRIMARY_MASK)) { fl_color( fl_color_average(foreground, background, 0.6) ); fl_line(X, Y + mMaxsize - 1, X + fl_width(string, nChars), Y + mMaxsize - 1); } @@ -3469,7 +3469,11 @@ void Fl_Text_Display::draw(void) { // draw the text cursor if (damage() & (FL_DAMAGE_ALL | FL_DAMAGE_SCROLL | FL_DAMAGE_EXPOSE) - && (Fl::compose_state || !buffer()->primary_selection()->selected()) && + && ( +#ifdef __APPLE__ + Fl::marked_text_length() || +#endif + !buffer()->primary_selection()->selected()) && mCursorOn && Fl::focus() == (Fl_Widget*)this ) { fl_push_clip(text_area.x-LEFT_MARGIN, text_area.y, -- cgit v1.2.3