From 914e7f9b0926a62f65c0351963ba533c6dee09f5 Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Fri, 8 Feb 2013 11:58:19 +0000 Subject: Mac OS text input: removed the Fl::marked_text_length() function that's not necessary. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9816 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/Fl_Input.cxx | 8 ++++---- src/Fl_Input_.cxx | 10 +++++----- src/Fl_Text_Display.cxx | 8 ++++---- src/Fl_Text_Editor.cxx | 6 +++--- src/Fl_cocoa.mm | 18 +++++++++--------- src/Fl_compose.cxx | 8 ++------ 6 files changed, 27 insertions(+), 31 deletions(-) (limited to 'src') diff --git a/src/Fl_Input.cxx b/src/Fl_Input.cxx index d712a7d8f..30231be5c 100644 --- a/src/Fl_Input.cxx +++ b/src/Fl_Input.cxx @@ -359,8 +359,8 @@ int Fl_Input::handle_key() { Fl::event_text(), Fl::event_length()); } #ifdef __APPLE__ - if (Fl::marked_text_length()) { - this->mark( this->position() - Fl::marked_text_length() ); + if (Fl::compose_state) { + this->mark( this->position() - Fl::compose_state ); } #endif return 1; @@ -592,7 +592,7 @@ int Fl_Input::handle(int event) { switch (event) { #ifdef __APPLE__ case FL_UNFOCUS: - if (Fl::marked_text_length()) { + if (Fl::compose_state) { this->mark( this->position() ); Fl::reset_marked_text(); } @@ -818,7 +818,7 @@ Fl_Secret_Input::Fl_Secret_Input(int X,int Y,int W,int H,const char *l) int Fl_Secret_Input::handle(int event) { int retval = Fl_Input::handle(event); #ifdef __APPLE__ - if (event == FL_KEYBOARD && Fl::marked_text_length()) { + if (event == FL_KEYBOARD && Fl::compose_state) { this->mark( this->position() ); // don't underline marked text } #endif diff --git a/src/Fl_Input_.cxx b/src/Fl_Input_.cxx index 0cfc6a8fe..4f040b63c 100644 --- a/src/Fl_Input_.cxx +++ b/src/Fl_Input_.cxx @@ -339,8 +339,8 @@ void Fl_Input_::drawtext(int X, int Y, int W, int H) { int offset2; if (pp <= e) x2 = xpos + (float)expandpos(p, pp, buf, &offset2); else offset2 = (int) strlen(buf); -#ifdef __APPLE__ // Mac OS: underline marked ( = selected + Fl::marked_text_length() != 0) text - if (Fl::marked_text_length()) { +#ifdef __APPLE__ // Mac OS: underline marked ( = selected + Fl::compose_state != 0) text + if (Fl::compose_state) { fl_color(textcolor()); } else @@ -351,8 +351,8 @@ void Fl_Input_::drawtext(int X, int Y, int W, int H) { fl_color(fl_contrast(textcolor(), selection_color())); } fl_draw(buf+offset1, offset2-offset1, x1, (float)(Y+ypos+desc)); -#ifdef __APPLE__ // Mac OS: underline marked ( = selected + Fl::marked_text_length() != 0) text - if (Fl::marked_text_length()) { +#ifdef __APPLE__ // Mac OS: underline marked ( = selected + Fl::compose_state != 0) text + if (Fl::compose_state) { fl_color( fl_color_average(textcolor(), color(), 0.6) ); float width = fl_width(buf+offset1, offset2-offset1); fl_line(x1, Y+ypos+height-1, x1+width, Y+ypos+height-1); @@ -374,7 +374,7 @@ void Fl_Input_::drawtext(int X, int Y, int W, int H) { // draw the cursor: if (Fl::focus() == this && ( #ifdef __APPLE__ - Fl::marked_text_length() || + Fl::compose_state || #endif selstart == selend) && position() >= p-value() && position() <= e-value()) { diff --git a/src/Fl_Text_Display.cxx b/src/Fl_Text_Display.cxx index e8af2c555..0b5d75c3f 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::marked_text_length()) background = color();// Mac OS: underline marked text + if (Fl::compose_state) 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::marked_text_length() != 0) text - if (Fl::marked_text_length() && (style & PRIMARY_MASK)) { +#ifdef __APPLE__ // Mac OS: underline marked (= selected + Fl::compose_state != 0) text + if (Fl::compose_state && (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); } @@ -3476,7 +3476,7 @@ void Fl_Text_Display::draw(void) { if (damage() & (FL_DAMAGE_ALL | FL_DAMAGE_SCROLL | FL_DAMAGE_EXPOSE) && ( #ifdef __APPLE__ - Fl::marked_text_length() || + Fl::compose_state || #endif !has_selection || mCursorPos < start || mCursorPos > end) && mCursorOn && Fl::focus() == (Fl_Widget*)this ) { diff --git a/src/Fl_Text_Editor.cxx b/src/Fl_Text_Editor.cxx index cc57725ed..03e4b22bd 100644 --- a/src/Fl_Text_Editor.cxx +++ b/src/Fl_Text_Editor.cxx @@ -526,9 +526,9 @@ int Fl_Text_Editor::handle_key() { else overstrike(Fl::event_text()); } #ifdef __APPLE__ - if (Fl::marked_text_length()) { + if (Fl::compose_state) { int pos = this->insert_position(); - this->buffer()->select(pos - Fl::marked_text_length(), pos); + this->buffer()->select(pos - Fl::compose_state, pos); } #endif show_insert_position(); @@ -569,7 +569,7 @@ int Fl_Text_Editor::handle(int event) { case FL_UNFOCUS: show_cursor(mCursorOn); // redraws the cursor #ifdef __APPLE__ - if (buffer()->selected() && Fl::marked_text_length()) { + if (buffer()->selected() && Fl::compose_state) { int pos = insert_position(); buffer()->select(pos, pos); Fl::reset_marked_text(); diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm index 65d3bb67f..4980d8047 100644 --- a/src/Fl_cocoa.mm +++ b/src/Fl_cocoa.mm @@ -2055,8 +2055,8 @@ static void cocoaKeyboardHandler(NSEvent *theEvent) } else { received = (NSString*)aString; } - /*NSLog(@"insertText=%@ l=%d Fl::marked_text_length()=%d range=%d,%d", - received,strlen([received UTF8String]),Fl::marked_text_length(),replacementRange.location,replacementRange.length);*/ + /*NSLog(@"insertText=%@ l=%d Fl::compose_state=%d range=%d,%d", + received,strlen([received UTF8String]),Fl::compose_state,replacementRange.location,replacementRange.length);*/ fl_lock_function(); Fl_Window *target = [(FLWindow*)[self window] getFl_Window]; while (replacementRange.length--) { // delete replacementRange.length characters before insertion point @@ -2075,7 +2075,7 @@ static void cocoaKeyboardHandler(NSEvent *theEvent) // We can get called outside of key events (e.g., from the character palette, from CJK text input). // Transform character palette actions to FL_PASTE events. Fl_X::next_marked_length = 0; - int flevent = (in_key_event || Fl::marked_text_length()) ? FL_KEYBOARD : FL_PASTE; + int flevent = (in_key_event || Fl::compose_state) ? FL_KEYBOARD : FL_PASTE; if (!in_key_event) Fl::handle( flevent, target); else need_handle = YES; selectedRange = NSMakeRange(100, 0); // 100 is an arbitrary value @@ -2098,8 +2098,8 @@ static void cocoaKeyboardHandler(NSEvent *theEvent) received = (NSString*)aString; } fl_lock_function(); - /*NSLog(@"setMarkedText:%@ l=%d newSelection=%d,%d Fl::marked_text_length()=%d replacement=%d,%d", - received, strlen([received UTF8String]), newSelection.location, newSelection.length, Fl::marked_text_length(), + /*NSLog(@"setMarkedText:%@ l=%d newSelection=%d,%d Fl::compose_state=%d replacement=%d,%d", + received, strlen([received UTF8String]), newSelection.location, newSelection.length, Fl::compose_state, replacementRange.location, replacementRange.length);*/ Fl_Window *target = [(FLWindow*)[self window] getFl_Window]; while (replacementRange.length--) { // delete replacementRange.length characters before insertion point @@ -2137,13 +2137,13 @@ static void cocoaKeyboardHandler(NSEvent *theEvent) } - (NSRange)markedRange { - //NSLog(@"markedRange=%d %d", Fl::marked_text_length() > 0?0:NSNotFound, Fl::marked_text_length()); - return NSMakeRange(Fl::marked_text_length() > 0?0:NSNotFound, Fl::marked_text_length()); + //NSLog(@"markedRange=%d %d", Fl::compose_state > 0?0:NSNotFound, Fl::compose_state); + return NSMakeRange(Fl::compose_state > 0?0:NSNotFound, Fl::compose_state); } - (BOOL)hasMarkedText { - //NSLog(@"hasMarkedText %s", Fl::marked_text_length() > 0?"YES":"NO"); - return (Fl::marked_text_length() > 0); + //NSLog(@"hasMarkedText %s", Fl::compose_state > 0?"YES":"NO"); + return (Fl::compose_state > 0); } - (NSAttributedString *)attributedSubstringFromRange:(NSRange)aRange { diff --git a/src/Fl_compose.cxx b/src/Fl_compose.cxx index 47f4e7e3a..8a2909f55 100644 --- a/src/Fl_compose.cxx +++ b/src/Fl_compose.cxx @@ -54,8 +54,8 @@ extern XIC fl_xim_ic; temporary text replaced by other text during the input process. This occurs, e.g., when using dead keys or when entering CJK characters. Text editing widgets should preferentially signal - marked text, usually underlining it. Widgets can call - int Fl::marked_text_length() after having called Fl::compose(int&) + marked text, usually underlining it. Widgets can use + int Fl::compose_state after having called Fl::compose(int&) to obtain the length in bytes of marked text that always finishes at the current insertion point. It's the widget's task to underline marked text. Widgets should also call void Fl::reset_marked_text() when processing FL_UNFOCUS @@ -105,10 +105,6 @@ unsigned char ascii = (unsigned char)e_text[0]; } #ifdef __APPLE__ -int Fl::marked_text_length() { - return (Fl::compose_state ? Fl::compose_state : Fl_X::next_marked_length); - } - static int insertion_point_x = 0; static int insertion_point_y = 0; static int insertion_point_height = 0; -- cgit v1.2.3