From 5d12ea5ab12d3b911777bb8cbdeb70c3d183267c Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Thu, 31 Mar 2016 19:23:38 +0000 Subject: Move marked text-related data to the Fl_Cocoa_Screen_Driver class. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11488 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.H | 6 +++++- src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx | 11 ++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) (limited to 'src/drivers') diff --git a/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.H b/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.H index ff0dcb062..60e2355d8 100644 --- a/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.H +++ b/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.H @@ -48,7 +48,10 @@ protected: XRectangle screens[MAX_SCREENS]; float dpi_h[MAX_SCREENS]; float dpi_v[MAX_SCREENS]; - + static int insertion_point_x; + static int insertion_point_y; + static int insertion_point_height; + static bool insertion_point_location_is_valid; public: // --- display management // --- screen configuration @@ -79,6 +82,7 @@ public: virtual int has_marked_text(); virtual void reset_marked_text(); virtual void insertion_point_location(int x, int y, int height); + int insertion_point_location(int *px, int *py, int *pheight); }; diff --git a/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx b/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx index 0e8f480d1..3ca490153 100644 --- a/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx +++ b/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx @@ -235,10 +235,10 @@ int Fl_Cocoa_Screen_Driver::has_marked_text() { } -static int insertion_point_x = 0; -static int insertion_point_y = 0; -static int insertion_point_height = 0; -static bool insertion_point_location_is_valid = false; +int Fl_Cocoa_Screen_Driver::insertion_point_x = 0; +int Fl_Cocoa_Screen_Driver::insertion_point_y = 0; +int Fl_Cocoa_Screen_Driver::insertion_point_height = 0; +bool Fl_Cocoa_Screen_Driver::insertion_point_location_is_valid = false; void Fl_Cocoa_Screen_Driver::reset_marked_text() { Fl::compose_state = 0; @@ -246,7 +246,8 @@ void Fl_Cocoa_Screen_Driver::reset_marked_text() { insertion_point_location_is_valid = false; } -int Fl_X::insertion_point_location(int *px, int *py, int *pheight) +// computes window coordinates & height of insertion point +int Fl_Cocoa_Screen_Driver::insertion_point_location(int *px, int *py, int *pheight) // return true if the current coordinates of the insertion point are available { if ( ! insertion_point_location_is_valid ) return false; -- cgit v1.2.3