From 5d1df0e789c794b8040c5db0d84b03ae2b42fd8d Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Sat, 13 Feb 2016 12:57:00 +0000 Subject: Details on PORTME items. Move fl_parse_color() to screen drivers. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11163 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/Fl_compose.cxx | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'src/Fl_compose.cxx') diff --git a/src/Fl_compose.cxx b/src/Fl_compose.cxx index 40c4b10cd..d32acd799 100644 --- a/src/Fl_compose.cxx +++ b/src/Fl_compose.cxx @@ -26,12 +26,12 @@ Utility functions to support text input. #ifndef FL_DOXYGEN int Fl::compose_state = 0; -#ifdef __APPLE__ // PORTME: platform character composition +#ifdef __APPLE__ // PORTME: Fl_Screen_Driver - platform character composition int Fl_X::next_marked_length = 0; #endif #endif -#if defined(WIN32) || defined(__APPLE__) // PORTME: platform character composition +#if defined(WIN32) || defined(__APPLE__) // PORTME: Fl_Screen_Driver - platform character composition #elif defined(FL_PORTING) # pragma message "FL_PORTING: implement keyboard composing in the code below" #else // X11 @@ -80,23 +80,23 @@ extern XIC fl_xim_ic; */ int Fl::compose(int& del) { int condition; -#if defined(__APPLE__) // PORTME: platform character composition +#if defined(__APPLE__) // PORTME: Fl_Screen_Driver - platform character composition int has_text_key = Fl::compose_state || Fl::e_keysym <= '~' || Fl::e_keysym == FL_Iso_Key || (Fl::e_keysym >= FL_KP && Fl::e_keysym <= FL_KP_Last && Fl::e_keysym != FL_KP_Enter); condition = Fl::e_state&(FL_META | FL_CTRL) || (Fl::e_keysym >= FL_Shift_L && Fl::e_keysym <= FL_Alt_R) || // called from flagsChanged !has_text_key ; #else -unsigned char ascii = (unsigned char)e_text[0]; + unsigned char ascii = (unsigned char)e_text[0]; #if defined(WIN32) condition = (e_state & (FL_ALT | FL_META)) && !(ascii & 128) ; #else condition = (e_state & (FL_ALT | FL_META | FL_CTRL)) && !(ascii & 128) ; #endif // WIN32 -#endif // __APPLE__ // PORTME: platform character composition +#endif // __APPLE__ // PORTME: Fl_Screen_Driver - platform character composition if (condition) { del = 0; return 0;} // this stuff is to be treated as a function key del = Fl::compose_state; -#ifdef __APPLE__ // PORTME: platform character composition +#ifdef __APPLE__ // PORTME: Fl_Screen_Driver - platform character composition Fl::compose_state = Fl_X::next_marked_length; #else Fl::compose_state = 0; @@ -106,7 +106,7 @@ unsigned char ascii = (unsigned char)e_text[0]; return 1; } -#ifdef __APPLE__ // PORTME: platform character composition +#ifdef __APPLE__ // PORTME: Fl_Screen_Driver - platform character composition static int insertion_point_x = 0; static int insertion_point_y = 0; static int insertion_point_height = 0; @@ -116,7 +116,8 @@ void Fl::reset_marked_text() { Fl::compose_state = 0; Fl_X::next_marked_length = 0; insertion_point_location_is_valid = false; - } +} + int Fl_X::insertion_point_location(int *px, int *py, int *pheight) // return true if the current coordinates of the insertion point are available { @@ -126,13 +127,14 @@ int Fl_X::insertion_point_location(int *px, int *py, int *pheight) *pheight = insertion_point_height; return true; } + void Fl::insertion_point_location(int x, int y, int height) { insertion_point_location_is_valid = true; insertion_point_x = x; insertion_point_y = y; insertion_point_height = height; } -#endif // __APPLE__ // PORTME: platform character composition +#endif // __APPLE__ // PORTME: Fl_Screen_Driver - platform character composition /** If the user moves the cursor, be sure to call Fl::compose_reset(). @@ -143,7 +145,7 @@ void Fl::insertion_point_location(int x, int y, int height) { void Fl::compose_reset() { Fl::compose_state = 0; -#if defined(WIN32) || defined(__APPLE__) // PORTME: platform character composition +#if defined(WIN32) || defined(__APPLE__) // PORTME: Fl_Screen_Driver - platform character composition #elif defined(FL_PORTING) # pragma message "FL_PORTING: compose reset extra functions" #else -- cgit v1.2.3