diff options
| author | Matthias Melcher <fltk@matthiasm.com> | 2016-03-07 20:50:18 +0000 |
|---|---|---|
| committer | Matthias Melcher <fltk@matthiasm.com> | 2016-03-07 20:50:18 +0000 |
| commit | b6b99d84e9513405ee381dbf93572914d195fc75 (patch) | |
| tree | e51561ce6f3014a058c2c1466d0a10ef55e12ad7 /src | |
| parent | b33c9cffd13dadbc1061b122e61e9f70f0153de2 (diff) | |
Fix PicoSDL.
Fixed some issues with Image_Surface and Copy_Surface for PicoSDL. Still have to virtualize the driver concept.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11307 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
| -rw-r--r-- | src/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/Fl_Copy_Surface.cxx | 4 | ||||
| -rw-r--r-- | src/Fl_Device.cxx | 4 | ||||
| -rw-r--r-- | src/Fl_Image_Surface.cxx | 5 | ||||
| -rw-r--r-- | src/drivers/Pico/Fl_Pico_Image_Surface.H | 0 | ||||
| -rw-r--r-- | src/drivers/Pico/Fl_Pico_Image_Surface.cxx | 1 | ||||
| -rw-r--r-- | src/drivers/PicoSDL/Fl_PicoSDL_Copy_Surface.H | 14 | ||||
| -rw-r--r-- | src/drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.cxx | 4 |
8 files changed, 25 insertions, 9 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 863451bbe..7e9a3dc3b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -211,6 +211,7 @@ elseif (USE_SDL) drivers/Pico/Fl_Pico_Window_Driver.cxx drivers/Pico/Fl_Pico_Graphics_Driver.cxx drivers/Pico/Fl_Pico_Copy_Surface.cxx + drivers/Pico/Fl_Pico_Image_Surface.cxx drivers/PicoSDL/Fl_PicoSDL_System_Driver.cxx drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.cxx drivers/PicoSDL/Fl_PicoSDL_Window_Driver.cxx @@ -224,6 +225,7 @@ elseif (USE_SDL) drivers/Pico/Fl_Pico_Window_Driver.H drivers/Pico/Fl_Pico_Graphics_Driver.H drivers/Pico/Fl_Pico_Copy_Surface.H + drivers/Pico/Fl_Pico_Image_Surface.H drivers/PicoSDL/Fl_PicoSDL_System_Driver.H drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.H drivers/PicoSDL/Fl_PicoSDL_Window_Driver.H diff --git a/src/Fl_Copy_Surface.cxx b/src/Fl_Copy_Surface.cxx index 53985e080..204f1d7f3 100644 --- a/src/Fl_Copy_Surface.cxx +++ b/src/Fl_Copy_Surface.cxx @@ -26,9 +26,9 @@ #include <src/drivers/GDI/Fl_GDI_Copy_Surface.H> #elif defined(USE_SDL) -#include <src/drivers/SDL/Fl_SDL_Copy_Surface.H> +#include <src/drivers/PicoSDL/Fl_PicoSDL_Copy_Surface.H> -#elif defined(FL_PORTING) +#elif defined(FL_PORTING) || defined(USE_SDL) # pragma message "FL_PORTING: implement class Fl_Copy_Surface::Helper for your platform" class Fl_Copy_Surface::Helper : public Fl_Widget_Surface { // class model diff --git a/src/Fl_Device.cxx b/src/Fl_Device.cxx index e61d74346..7d37edb61 100644 --- a/src/Fl_Device.cxx +++ b/src/Fl_Device.cxx @@ -55,9 +55,9 @@ bool Fl_Display_Device::high_res_window_ = false; This surface will receive all future graphics requests. */ void Fl_Surface_Device::set_current(void) { - fl_graphics_driver = _driver; + fl_graphics_driver = pGraphicsDriver; _surface = this; - _driver->global_gc(); + pGraphicsDriver->global_gc(); } Fl_Surface_Device* Fl_Surface_Device::_surface; // the current target surface of graphics operations diff --git a/src/Fl_Image_Surface.cxx b/src/Fl_Image_Surface.cxx index de7c7a9f0..0e31d45b1 100644 --- a/src/Fl_Image_Surface.cxx +++ b/src/Fl_Image_Surface.cxx @@ -27,10 +27,9 @@ #include <src/drivers/GDI/Fl_GDI_Image_Surface.H> #elif defined(USE_SDL) -#include <src/drivers/SDL/Fl_SDL_Image_Surface.H> +#include <src/drivers/PicoSDL/Fl_PicoSDL_Image_Surface.H> - -#elif defined(FL_PORTING) +#elif defined(FL_PORTING) || defined(USE_SDL) # pragma message "FL_PORTING: implement class Fl_Image_Surface::Helper for your platform" class Fl_Image_Surface::Helper : public Fl_Widget_Surface { // class model diff --git a/src/drivers/Pico/Fl_Pico_Image_Surface.H b/src/drivers/Pico/Fl_Pico_Image_Surface.H new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/src/drivers/Pico/Fl_Pico_Image_Surface.H diff --git a/src/drivers/Pico/Fl_Pico_Image_Surface.cxx b/src/drivers/Pico/Fl_Pico_Image_Surface.cxx new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/src/drivers/Pico/Fl_Pico_Image_Surface.cxx @@ -0,0 +1 @@ + diff --git a/src/drivers/PicoSDL/Fl_PicoSDL_Copy_Surface.H b/src/drivers/PicoSDL/Fl_PicoSDL_Copy_Surface.H index 8b1378917..ea31c3771 100644 --- a/src/drivers/PicoSDL/Fl_PicoSDL_Copy_Surface.H +++ b/src/drivers/PicoSDL/Fl_PicoSDL_Copy_Surface.H @@ -1 +1,15 @@ +class Fl_Copy_Surface::Helper : public Fl_Widget_Surface { // class model + friend class Fl_Copy_Surface; +private: + int width; + int height; + Helper(int w, int h) : Fl_Widget_Surface(NULL), width(w), height(h) {} // to implement + ~Helper() {} // to implement + void set_current(){} // to implement + void translate(int x, int y) {} // to implement + void untranslate() {} // to implement + int w() {return width;} + int h() {return height;} + int printable_rect(int *w, int *h) {*w = width; *h = height; return 0;} +}; diff --git a/src/drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.cxx b/src/drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.cxx index f0bdf91e2..671ee7b6d 100644 --- a/src/drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.cxx +++ b/src/drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.cxx @@ -143,8 +143,8 @@ void Fl_Window::resize(int, int, int, int) { } Fl_Window *Fl_Window::current_; char fl_show_iconic; Window fl_window; -void Fl_Image_Surface::translate(int x, int y) { } -void Fl_Image_Surface::untranslate() { } +//void Fl_Image_Surface::translate(int x, int y) { } +//void Fl_Image_Surface::untranslate() { } /* #define __APPLE__ |
