From a22cc4158fc978efbcd356f253225c5922a13968 Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Sun, 6 Mar 2016 20:31:12 +0000 Subject: Rename SDL driver files to PicoSDL. Renaming the files will keep the namespace clean if we decide to do a full blown SDL port one day. PicoSDL OTOH is merely there to explain how a Pico driver setup is started and improved. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11301 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/drivers/PicoSDL/Fl_PicoSDL_Copy_Surface.H | 1 + src/drivers/PicoSDL/Fl_PicoSDL_Copy_Surface.cxx | 1 + src/drivers/PicoSDL/Fl_PicoSDL_Graphics_Driver.H | 1 + src/drivers/PicoSDL/Fl_PicoSDL_Graphics_Driver.cxx | 1 + src/drivers/PicoSDL/Fl_PicoSDL_Image_Surface.H | 15 ++ src/drivers/PicoSDL/Fl_PicoSDL_Image_Surface.cxx | 1 + src/drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.H | 44 +++++ src/drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.cxx | 196 +++++++++++++++++++++ src/drivers/PicoSDL/Fl_PicoSDL_System_Driver.H | 1 + src/drivers/PicoSDL/Fl_PicoSDL_System_Driver.cxx | 1 + src/drivers/PicoSDL/Fl_PicoSDL_Window_Driver.H | 43 +++++ src/drivers/PicoSDL/Fl_PicoSDL_Window_Driver.cxx | 43 +++++ src/drivers/SDL/Fl_SDL_Copy_Surface.H | 15 -- src/drivers/SDL/Fl_SDL_Copy_Surface.cxx | 1 - src/drivers/SDL/Fl_SDL_Graphics_Driver.H | 1 - src/drivers/SDL/Fl_SDL_Graphics_Driver.cxx | 1 - src/drivers/SDL/Fl_SDL_Image_Surface.H | 15 -- src/drivers/SDL/Fl_SDL_Image_Surface.cxx | 1 - src/drivers/SDL/Fl_SDL_Screen_Driver.H | 44 ----- src/drivers/SDL/Fl_SDL_Screen_Driver.cxx | 193 -------------------- src/drivers/SDL/Fl_SDL_System_Driver.H | 1 - src/drivers/SDL/Fl_SDL_System_Driver.cxx | 1 - src/drivers/SDL/Fl_SDL_Window_Driver.H | 43 ----- src/drivers/SDL/Fl_SDL_Window_Driver.cxx | 43 ----- 24 files changed, 348 insertions(+), 359 deletions(-) create mode 100644 src/drivers/PicoSDL/Fl_PicoSDL_Copy_Surface.H create mode 100644 src/drivers/PicoSDL/Fl_PicoSDL_Copy_Surface.cxx create mode 100644 src/drivers/PicoSDL/Fl_PicoSDL_Graphics_Driver.H create mode 100644 src/drivers/PicoSDL/Fl_PicoSDL_Graphics_Driver.cxx create mode 100644 src/drivers/PicoSDL/Fl_PicoSDL_Image_Surface.H create mode 100644 src/drivers/PicoSDL/Fl_PicoSDL_Image_Surface.cxx create mode 100644 src/drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.H create mode 100644 src/drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.cxx create mode 100644 src/drivers/PicoSDL/Fl_PicoSDL_System_Driver.H create mode 100644 src/drivers/PicoSDL/Fl_PicoSDL_System_Driver.cxx create mode 100644 src/drivers/PicoSDL/Fl_PicoSDL_Window_Driver.H create mode 100644 src/drivers/PicoSDL/Fl_PicoSDL_Window_Driver.cxx delete mode 100644 src/drivers/SDL/Fl_SDL_Copy_Surface.H delete mode 100644 src/drivers/SDL/Fl_SDL_Copy_Surface.cxx delete mode 100644 src/drivers/SDL/Fl_SDL_Graphics_Driver.H delete mode 100644 src/drivers/SDL/Fl_SDL_Graphics_Driver.cxx delete mode 100644 src/drivers/SDL/Fl_SDL_Image_Surface.H delete mode 100644 src/drivers/SDL/Fl_SDL_Image_Surface.cxx delete mode 100644 src/drivers/SDL/Fl_SDL_Screen_Driver.H delete mode 100644 src/drivers/SDL/Fl_SDL_Screen_Driver.cxx delete mode 100644 src/drivers/SDL/Fl_SDL_System_Driver.H delete mode 100644 src/drivers/SDL/Fl_SDL_System_Driver.cxx delete mode 100644 src/drivers/SDL/Fl_SDL_Window_Driver.H delete mode 100644 src/drivers/SDL/Fl_SDL_Window_Driver.cxx (limited to 'src/drivers') diff --git a/src/drivers/PicoSDL/Fl_PicoSDL_Copy_Surface.H b/src/drivers/PicoSDL/Fl_PicoSDL_Copy_Surface.H new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/src/drivers/PicoSDL/Fl_PicoSDL_Copy_Surface.H @@ -0,0 +1 @@ + diff --git a/src/drivers/PicoSDL/Fl_PicoSDL_Copy_Surface.cxx b/src/drivers/PicoSDL/Fl_PicoSDL_Copy_Surface.cxx new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/src/drivers/PicoSDL/Fl_PicoSDL_Copy_Surface.cxx @@ -0,0 +1 @@ + diff --git a/src/drivers/PicoSDL/Fl_PicoSDL_Graphics_Driver.H b/src/drivers/PicoSDL/Fl_PicoSDL_Graphics_Driver.H new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/src/drivers/PicoSDL/Fl_PicoSDL_Graphics_Driver.H @@ -0,0 +1 @@ + diff --git a/src/drivers/PicoSDL/Fl_PicoSDL_Graphics_Driver.cxx b/src/drivers/PicoSDL/Fl_PicoSDL_Graphics_Driver.cxx new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/src/drivers/PicoSDL/Fl_PicoSDL_Graphics_Driver.cxx @@ -0,0 +1 @@ + diff --git a/src/drivers/PicoSDL/Fl_PicoSDL_Image_Surface.H b/src/drivers/PicoSDL/Fl_PicoSDL_Image_Surface.H new file mode 100644 index 000000000..05202afdd --- /dev/null +++ b/src/drivers/PicoSDL/Fl_PicoSDL_Image_Surface.H @@ -0,0 +1,15 @@ +class Fl_Image_Surface::Helper : public Fl_Widget_Surface { // class model + friend class Fl_Image_Surface; +public: + Fl_Offscreen offscreen; + int width; + int height; + Helper(int w, int h, int high_res) : 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 + Fl_RGB_Image *image() {} // to implement + void end_current() {} // to implement + int printable_rect(int *w, int *h) {*w = width; *h = height; return 0;} +}; diff --git a/src/drivers/PicoSDL/Fl_PicoSDL_Image_Surface.cxx b/src/drivers/PicoSDL/Fl_PicoSDL_Image_Surface.cxx new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/src/drivers/PicoSDL/Fl_PicoSDL_Image_Surface.cxx @@ -0,0 +1 @@ + diff --git a/src/drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.H b/src/drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.H new file mode 100644 index 000000000..6025685f0 --- /dev/null +++ b/src/drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.H @@ -0,0 +1,44 @@ +// +// "$Id: Fl_PicoSDL_Screen_Driver.H 11017 2016-01-20 21:40:12Z matt $" +// +// Definition of SDL Screen interface based on Pico +// for the Fast Light Tool Kit (FLTK). +// +// Copyright 2010-2016 by Bill Spitzak and others. +// +// This library is free software. Distribution and use rights are outlined in +// the file "COPYING" which should have been included with this file. If this +// file is missing or damaged, see the license at: +// +// http://www.fltk.org/COPYING.php +// +// Please report all bugs and problems on the following page: +// +// http://www.fltk.org/str.php +// + +/** + \file Fl_PicoSDL_Screen_Driver.H + \brief Definition of SDL Screen interface based on Pico. + */ + +#ifndef FL_PICOSDL_SCREEN_DRIVER_H +#define FL_PICOSDL_SCREEN_DRIVER_H + +#include "../Pico/Fl_Pico_Screen_Driver.H" + + +class FL_EXPORT Fl_PicoSDL_Screen_Driver : public Fl_Pico_Screen_Driver +{ +public: + Fl_PicoSDL_Screen_Driver(); + virtual ~Fl_PicoSDL_Screen_Driver(); + virtual double wait(double time_to_wait); +}; + + +#endif // FL_PICOSDL_SCREEN_DRIVER_H + +// +// End of "$Id: Fl_PicoSDL_Screen_Driver.H 11017 2016-01-20 21:40:12Z matt $". +// diff --git a/src/drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.cxx b/src/drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.cxx new file mode 100644 index 000000000..f0bdf91e2 --- /dev/null +++ b/src/drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.cxx @@ -0,0 +1,196 @@ +// +// "$Id: Fl_PicoSDL_Screen_Driver.cxx 11253 2016-03-01 00:54:21Z matt $" +// +// Definition of SDL Screen interface based on Pico +// +// Copyright 1998-2016 by Bill Spitzak and others. +// +// This library is free software. Distribution and use rights are outlined in +// the file "COPYING" which should have been included with this file. If this +// file is missing or damaged, see the license at: +// +// http://www.fltk.org/COPYING.php +// +// Please report all bugs and problems on the following page: +// +// http://www.fltk.org/str.php +// + + +#include "../../config_lib.h" +#include "Fl_PicoSDL_Screen_Driver.H" + +#include + +#define __APPLE__ +#include +#undef __APPLE__ + + +Fl_Screen_Driver* Fl_Screen_Driver::newScreenDriver() +{ + return new Fl_PicoSDL_Screen_Driver(); +} + + +Fl_PicoSDL_Screen_Driver::Fl_PicoSDL_Screen_Driver() +{ +} + +Fl_PicoSDL_Screen_Driver::~Fl_PicoSDL_Screen_Driver() +{ +} + + +double Fl_PicoSDL_Screen_Driver::wait(double time_to_wait) +{ + SDL_Event e; + if (SDL_PollEvent(&e)) { + if (e.type == SDL_QUIT) { + exit(0); + // TODO: do something + } + } + return 0.0; +} + + + +#include +#include +#include +#include +#include + +/* + * The following code should not be here! + * All this must be refactored into the driver system! + */ + +/* + + The following symbols are not found if we naively compile the core modules and + no specific platform implementations. This list is a hint at all the functions + and methods that probably need to be refactored into the driver system. + + Undefined symbols for architecture x86_64: + */ + +void fl_set_spot(int, int, int, int, int, int, Fl_Window*) { } +void fl_reset_spot() { } +const char *fl_filename_name(char const*) { return 0; } +void fl_clipboard_notify_change() { } + +//Fl_Screen_Driver *Fl_Screen_Driver::newScreenDriver() { return 0; } +Fl_Graphics_Driver *Fl_Graphics_Driver::newMainGraphicsDriver() { return 0; } +void Fl_Graphics_Driver::global_gc() { } +int Fl::dnd() { return 0; } +void Fl::copy(char const*, int, int, char const*) { } +void Fl::paste(Fl_Widget&, int, char const*) { } +void Fl::get_mouse(int&, int&) { } +void Fl::set_color(unsigned int, unsigned int) { } +int Fl_X::set_cursor(Fl_Cursor) { return 0; } +int Fl_X::set_cursor(Fl_RGB_Image const*, int, int) { return 0; } +void Fl_X::set_default_icons(Fl_RGB_Image const**, int) { } +void Fl_X::flush() { } +void Fl_X::set_icons() { } +void Fl_Window::size_range_() { } +void Fl_Window::fullscreen_x() { } +void Fl_Window::make_current() { } +void Fl_Window::fullscreen_off_x(int, int, int, int) { } + +Window fl_xid(const Fl_Window* w) +{ + Fl_X *temp = Fl_X::i(w); + return temp ? temp->xid : 0; +} + +void Fl_Window::show() { + if (!shown()) { + Fl_X::make(this); + } +} + +Fl_X* Fl_X::make(Fl_Window *w) +{ + Fl_Group::current(0); + if (w->parent() && !Fl_X::i(w->window())) { + w->set_visible(); + return 0L; + } + Window parent; + if (w->parent()) { + parent = fl_xid(w->window()); + } else { + parent = 0; + } + Fl_Window_Driver *x = Fl_Window_Driver::newWindowDriver(w); + x->other_xid = 0; + x->w = w; + x->region = 0; + if (!w->force_position()) { + x->xid = SDL_CreateWindow(w->label(), SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, w->w(), w->h(), 0); + } else { + x->xid = SDL_CreateWindow(w->label(), w->x(), w->y(), w->w(), w->h(), 0); + } + x->next = Fl_X::first; + Fl_X::first = x; + return x; +} + +void Fl_Window::label(char const*, char const*) { } +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() { } + +/* + #define __APPLE__ + #include + #undef __APPLE__ + + SDL_Window *win = NULL; + SDL_Renderer *renderer = NULL; + SDL_Texture *bitmapTex = NULL; + SDL_Surface *bitmapSurface = NULL; + int posX = 100, posY = 100, width = 320, height = 240; + + SDL_Init(SDL_INIT_VIDEO); + + win = SDL_CreateWindow("Hello World", posX, posY, width, height, 0); + + renderer = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED); + + bitmapSurface = SDL_LoadBMP("img/hello.bmp"); + bitmapTex = SDL_CreateTextureFromSurface(renderer, bitmapSurface); + SDL_FreeSurface(bitmapSurface); + + while (1) { + SDL_Event e; + if (SDL_PollEvent(&e)) { + if (e.type == SDL_QUIT) { + break; + } + } + + SDL_RenderClear(renderer); + SDL_RenderCopy(renderer, bitmapTex, NULL, NULL); + SDL_RenderPresent(renderer); + } + + SDL_DestroyTexture(bitmapTex); + SDL_DestroyRenderer(renderer); + SDL_DestroyWindow(win); + + SDL_Quit(); + + return 0; +*/ + + +// +// End of "$Id: Fl_PicoSDL_Screen_Driver.cxx 11253 2016-03-01 00:54:21Z matt $". +// + diff --git a/src/drivers/PicoSDL/Fl_PicoSDL_System_Driver.H b/src/drivers/PicoSDL/Fl_PicoSDL_System_Driver.H new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/src/drivers/PicoSDL/Fl_PicoSDL_System_Driver.H @@ -0,0 +1 @@ + diff --git a/src/drivers/PicoSDL/Fl_PicoSDL_System_Driver.cxx b/src/drivers/PicoSDL/Fl_PicoSDL_System_Driver.cxx new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/src/drivers/PicoSDL/Fl_PicoSDL_System_Driver.cxx @@ -0,0 +1 @@ + diff --git a/src/drivers/PicoSDL/Fl_PicoSDL_Window_Driver.H b/src/drivers/PicoSDL/Fl_PicoSDL_Window_Driver.H new file mode 100644 index 000000000..6246211a9 --- /dev/null +++ b/src/drivers/PicoSDL/Fl_PicoSDL_Window_Driver.H @@ -0,0 +1,43 @@ +// +// "$Id: Fl_PicoSDL_Window_Driver.H 11017 2016-01-20 21:40:12Z matt $" +// +// Definition of SDL Window interface +// for the Fast Light Tool Kit (FLTK). +// +// Copyright 2010-2016 by Bill Spitzak and others. +// +// This library is free software. Distribution and use rights are outlined in +// the file "COPYING" which should have been included with this file. If this +// file is missing or damaged, see the license at: +// +// http://www.fltk.org/COPYING.php +// +// Please report all bugs and problems on the following page: +// +// http://www.fltk.org/str.php +// + +/** + \file Fl_SDL_Window_Driver.H + \brief Definition of SDL Window interface. + */ + +#ifndef FL_PICOSDL_WINDOW_DRIVER_H +#define FL_PICOSDL_WINDOW_DRIVER_H + +#include "../Pico/Fl_Pico_Window_Driver.H" + + +class FL_EXPORT Fl_PicoSDL_Window_Driver : public Fl_Pico_Window_Driver +{ +public: + Fl_PicoSDL_Window_Driver(Fl_Window *win); + virtual ~Fl_PicoSDL_Window_Driver(); +}; + + +#endif // FL_PICOSDL_WINDOW_DRIVER_H + +// +// End of "$Id: Fl_PicoSDL_Window_Driver.H 11017 2016-01-20 21:40:12Z matt $". +// diff --git a/src/drivers/PicoSDL/Fl_PicoSDL_Window_Driver.cxx b/src/drivers/PicoSDL/Fl_PicoSDL_Window_Driver.cxx new file mode 100644 index 000000000..60b9bb383 --- /dev/null +++ b/src/drivers/PicoSDL/Fl_PicoSDL_Window_Driver.cxx @@ -0,0 +1,43 @@ +// +// "$Id: Fl_PicoSDL_Window_Driver.cxx 11253 2016-03-01 00:54:21Z matt $" +// +// Definition of SDL Window interface based on SDL +// +// Copyright 1998-2016 by Bill Spitzak and others. +// +// This library is free software. Distribution and use rights are outlined in +// the file "COPYING" which should have been included with this file. If this +// file is missing or damaged, see the license at: +// +// http://www.fltk.org/COPYING.php +// +// Please report all bugs and problems on the following page: +// +// http://www.fltk.org/str.php +// + + +#include "../../config_lib.h" +#include "Fl_PicoSDL_Window_Driver.H" + + +Fl_Window_Driver *Fl_Window_Driver::newWindowDriver(Fl_Window *win) +{ + return new Fl_PicoSDL_Window_Driver(win); +} + + +Fl_PicoSDL_Window_Driver::Fl_PicoSDL_Window_Driver(Fl_Window *win) +: Fl_Pico_Window_Driver(win) +{ +} + + +Fl_PicoSDL_Window_Driver::~Fl_PicoSDL_Window_Driver() +{ +} + + +// +// End of "$Id: Fl_PicoSDL_Window_Driver.cxx 11253 2016-03-01 00:54:21Z matt $". +// \ No newline at end of file diff --git a/src/drivers/SDL/Fl_SDL_Copy_Surface.H b/src/drivers/SDL/Fl_SDL_Copy_Surface.H deleted file mode 100644 index 9b3742023..000000000 --- a/src/drivers/SDL/Fl_SDL_Copy_Surface.H +++ /dev/null @@ -1,15 +0,0 @@ -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/SDL/Fl_SDL_Copy_Surface.cxx b/src/drivers/SDL/Fl_SDL_Copy_Surface.cxx deleted file mode 100644 index 8b1378917..000000000 --- a/src/drivers/SDL/Fl_SDL_Copy_Surface.cxx +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/drivers/SDL/Fl_SDL_Graphics_Driver.H b/src/drivers/SDL/Fl_SDL_Graphics_Driver.H deleted file mode 100644 index 8b1378917..000000000 --- a/src/drivers/SDL/Fl_SDL_Graphics_Driver.H +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/drivers/SDL/Fl_SDL_Graphics_Driver.cxx b/src/drivers/SDL/Fl_SDL_Graphics_Driver.cxx deleted file mode 100644 index 8b1378917..000000000 --- a/src/drivers/SDL/Fl_SDL_Graphics_Driver.cxx +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/drivers/SDL/Fl_SDL_Image_Surface.H b/src/drivers/SDL/Fl_SDL_Image_Surface.H deleted file mode 100644 index 05202afdd..000000000 --- a/src/drivers/SDL/Fl_SDL_Image_Surface.H +++ /dev/null @@ -1,15 +0,0 @@ -class Fl_Image_Surface::Helper : public Fl_Widget_Surface { // class model - friend class Fl_Image_Surface; -public: - Fl_Offscreen offscreen; - int width; - int height; - Helper(int w, int h, int high_res) : 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 - Fl_RGB_Image *image() {} // to implement - void end_current() {} // to implement - int printable_rect(int *w, int *h) {*w = width; *h = height; return 0;} -}; diff --git a/src/drivers/SDL/Fl_SDL_Image_Surface.cxx b/src/drivers/SDL/Fl_SDL_Image_Surface.cxx deleted file mode 100644 index 8b1378917..000000000 --- a/src/drivers/SDL/Fl_SDL_Image_Surface.cxx +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/drivers/SDL/Fl_SDL_Screen_Driver.H b/src/drivers/SDL/Fl_SDL_Screen_Driver.H deleted file mode 100644 index ef2c3b1da..000000000 --- a/src/drivers/SDL/Fl_SDL_Screen_Driver.H +++ /dev/null @@ -1,44 +0,0 @@ -// -// "$Id: Fl_SDL_Screen_Driver.H 11017 2016-01-20 21:40:12Z matt $" -// -// Definition of SDL Screen interface based on Pico -// for the Fast Light Tool Kit (FLTK). -// -// Copyright 2010-2016 by Bill Spitzak and others. -// -// This library is free software. Distribution and use rights are outlined in -// the file "COPYING" which should have been included with this file. If this -// file is missing or damaged, see the license at: -// -// http://www.fltk.org/COPYING.php -// -// Please report all bugs and problems on the following page: -// -// http://www.fltk.org/str.php -// - -/** - \file Fl_SDL_Screen_Driver.H - \brief Definition of SDL Screen interface based on Pico. - */ - -#ifndef FL_SDL_SCREEN_DRIVER_H -#define FL_SDL_SCREEN_DRIVER_H - -#include "../Pico/Fl_Pico_Screen_Driver.H" - - -class FL_EXPORT Fl_SDL_Screen_Driver : public Fl_Pico_Screen_Driver -{ -public: - Fl_SDL_Screen_Driver(); - virtual ~Fl_SDL_Screen_Driver(); - virtual double wait(double time_to_wait); -}; - - -#endif // FL_SDL_SCREEN_DRIVER_H - -// -// End of "$Id: quartz.H 11017 2016-01-20 21:40:12Z matt $". -// diff --git a/src/drivers/SDL/Fl_SDL_Screen_Driver.cxx b/src/drivers/SDL/Fl_SDL_Screen_Driver.cxx deleted file mode 100644 index d9d39eeae..000000000 --- a/src/drivers/SDL/Fl_SDL_Screen_Driver.cxx +++ /dev/null @@ -1,193 +0,0 @@ -// -// "$Id: Fl_SDL_Screen_Driver.cxx 11253 2016-03-01 00:54:21Z matt $" -// -// Definition of SDL Screen interface based on Pico -// -// Copyright 1998-2016 by Bill Spitzak and others. -// -// This library is free software. Distribution and use rights are outlined in -// the file "COPYING" which should have been included with this file. If this -// file is missing or damaged, see the license at: -// -// http://www.fltk.org/COPYING.php -// -// Please report all bugs and problems on the following page: -// -// http://www.fltk.org/str.php -// - - -#include "../../config_lib.h" -#include "Fl_SDL_Screen_Driver.H" - -#include - -#define __APPLE__ -#include -#undef __APPLE__ - - -Fl_Screen_Driver* Fl_Screen_Driver::newScreenDriver() -{ - return new Fl_SDL_Screen_Driver(); -} - - -Fl_SDL_Screen_Driver::Fl_SDL_Screen_Driver() -{ -} - -Fl_SDL_Screen_Driver::~Fl_SDL_Screen_Driver() -{ -} - - -double Fl_SDL_Screen_Driver::wait(double time_to_wait) -{ - SDL_Event e; - if (SDL_PollEvent(&e)) { - if (e.type == SDL_QUIT) { - exit(0); - // TODO: do something - } - } - return 0.0; -} - - - -#include -#include -#include -#include - -/* - * The following code should not be here! - * All this must be refactored into the driver system! - */ - -/* - - The following symbols are not found if we naively compile the core modules and - no specific platform implementations. This list is a hint at all the functions - and methods that probably need to be refactored into the driver system. - - Undefined symbols for architecture x86_64: - */ - -void fl_set_spot(int, int, int, int, int, int, Fl_Window*) { } -void fl_reset_spot() { } -const char *fl_filename_name(char const*) { return 0; } -void fl_clipboard_notify_change() { } - -//Fl_Screen_Driver *Fl_Screen_Driver::newScreenDriver() { return 0; } -Fl_Graphics_Driver *Fl_Graphics_Driver::newMainGraphicsDriver() { return 0; } -void Fl_Graphics_Driver::global_gc() { } -int Fl::dnd() { return 0; } -void Fl::copy(char const*, int, int, char const*) { } -void Fl::paste(Fl_Widget&, int, char const*) { } -void Fl::get_mouse(int&, int&) { } -void Fl::set_color(unsigned int, unsigned int) { } -int Fl_X::set_cursor(Fl_Cursor) { return 0; } -int Fl_X::set_cursor(Fl_RGB_Image const*, int, int) { return 0; } -void Fl_X::set_default_icons(Fl_RGB_Image const**, int) { } -void Fl_X::flush() { } -void Fl_X::set_icons() { } -void Fl_Window::size_range_() { } -void Fl_Window::fullscreen_x() { } -void Fl_Window::make_current() { } -void Fl_Window::fullscreen_off_x(int, int, int, int) { } - -Window fl_xid(const Fl_Window* w) -{ - Fl_X *temp = Fl_X::i(w); - return temp ? temp->xid : 0; -} - -void Fl_Window::show() { - if (!shown()) { - Fl_X::make(this); - } -} - -Fl_X* Fl_X::make(Fl_Window *w) -{ - Fl_Group::current(0); - if (w->parent() && !Fl_X::i(w->window())) { - w->set_visible(); - return 0L; - } - Window parent; - if (w->parent()) { - parent = fl_xid(w->window()); - } else { - parent = 0; - } - Fl_Window_Driver *x = Fl_Window_Driver::newWindowDriver(w); - x->other_xid = 0; - x->w = w; - x->region = 0; - if (!w->force_position()) { - x->xid = SDL_CreateWindow(w->label(), w->x(), w->y(), w->w(), w->h(), 0); - } else { - x->xid = SDL_CreateWindow(w->label(), 100, 100, w->w(), w->h(), 0); - } - x->next = Fl_X::first; - Fl_X::first = x; - return x; -} - -void Fl_Window::label(char const*, char const*) { } -void Fl_Window::resize(int, int, int, int) { } -Fl_Window *Fl_Window::current_; -char fl_show_iconic; -Window fl_window; - -/* - #define __APPLE__ - #include - #undef __APPLE__ - - SDL_Window *win = NULL; - SDL_Renderer *renderer = NULL; - SDL_Texture *bitmapTex = NULL; - SDL_Surface *bitmapSurface = NULL; - int posX = 100, posY = 100, width = 320, height = 240; - - SDL_Init(SDL_INIT_VIDEO); - - win = SDL_CreateWindow("Hello World", posX, posY, width, height, 0); - - renderer = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED); - - bitmapSurface = SDL_LoadBMP("img/hello.bmp"); - bitmapTex = SDL_CreateTextureFromSurface(renderer, bitmapSurface); - SDL_FreeSurface(bitmapSurface); - - while (1) { - SDL_Event e; - if (SDL_PollEvent(&e)) { - if (e.type == SDL_QUIT) { - break; - } - } - - SDL_RenderClear(renderer); - SDL_RenderCopy(renderer, bitmapTex, NULL, NULL); - SDL_RenderPresent(renderer); - } - - SDL_DestroyTexture(bitmapTex); - SDL_DestroyRenderer(renderer); - SDL_DestroyWindow(win); - - SDL_Quit(); - - return 0; -*/ - - -// -// End of "$Id: Fl_SDL_Screen_Driver.cxx 11253 2016-03-01 00:54:21Z matt $". -// - diff --git a/src/drivers/SDL/Fl_SDL_System_Driver.H b/src/drivers/SDL/Fl_SDL_System_Driver.H deleted file mode 100644 index 8b1378917..000000000 --- a/src/drivers/SDL/Fl_SDL_System_Driver.H +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/drivers/SDL/Fl_SDL_System_Driver.cxx b/src/drivers/SDL/Fl_SDL_System_Driver.cxx deleted file mode 100644 index 8b1378917..000000000 --- a/src/drivers/SDL/Fl_SDL_System_Driver.cxx +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/drivers/SDL/Fl_SDL_Window_Driver.H b/src/drivers/SDL/Fl_SDL_Window_Driver.H deleted file mode 100644 index 740616a64..000000000 --- a/src/drivers/SDL/Fl_SDL_Window_Driver.H +++ /dev/null @@ -1,43 +0,0 @@ -// -// "$Id: Fl_SDL_Window_Driver.H 11017 2016-01-20 21:40:12Z matt $" -// -// Definition of SDL Window interface -// for the Fast Light Tool Kit (FLTK). -// -// Copyright 2010-2016 by Bill Spitzak and others. -// -// This library is free software. Distribution and use rights are outlined in -// the file "COPYING" which should have been included with this file. If this -// file is missing or damaged, see the license at: -// -// http://www.fltk.org/COPYING.php -// -// Please report all bugs and problems on the following page: -// -// http://www.fltk.org/str.php -// - -/** - \file Fl_SDL_Window_Driver.H - \brief Definition of SDL Window interface. - */ - -#ifndef FL_SDL_WINDOW_DRIVER_H -#define FL_SDL_WINDOW_DRIVER_H - -#include "../Pico/Fl_Pico_Window_Driver.H" - - -class FL_EXPORT Fl_SDL_Window_Driver : public Fl_Pico_Window_Driver -{ -public: - Fl_SDL_Window_Driver(Fl_Window *win); - virtual ~Fl_SDL_Window_Driver(); -}; - - -#endif // FL_SDL_WINDOW_DRIVER_H - -// -// End of "$Id: Fl_SDL_Window_Driver.H 11017 2016-01-20 21:40:12Z matt $". -// diff --git a/src/drivers/SDL/Fl_SDL_Window_Driver.cxx b/src/drivers/SDL/Fl_SDL_Window_Driver.cxx deleted file mode 100644 index b251ad2c2..000000000 --- a/src/drivers/SDL/Fl_SDL_Window_Driver.cxx +++ /dev/null @@ -1,43 +0,0 @@ -// -// "$Id: Fl_SDL_Window_Driver.cxx 11253 2016-03-01 00:54:21Z matt $" -// -// Definition of SDL Window interface based on SDL -// -// Copyright 1998-2016 by Bill Spitzak and others. -// -// This library is free software. Distribution and use rights are outlined in -// the file "COPYING" which should have been included with this file. If this -// file is missing or damaged, see the license at: -// -// http://www.fltk.org/COPYING.php -// -// Please report all bugs and problems on the following page: -// -// http://www.fltk.org/str.php -// - - -#include "../../config_lib.h" -#include "Fl_SDL_Window_Driver.H" - - -Fl_Window_Driver *Fl_Window_Driver::newWindowDriver(Fl_Window *win) -{ - return new Fl_SDL_Window_Driver(win); -} - - -Fl_SDL_Window_Driver::Fl_SDL_Window_Driver(Fl_Window *win) -: Fl_Pico_Window_Driver(win) -{ -} - - -Fl_SDL_Window_Driver::~Fl_SDL_Window_Driver() -{ -} - - -// -// End of "$Id: Fl_SDL_Window_Driver.cxx 11253 2016-03-01 00:54:21Z matt $". -// \ No newline at end of file -- cgit v1.2.3