diff options
| author | Manolo Gouy <Manolo> | 2018-06-26 13:43:18 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2018-06-26 13:43:18 +0000 |
| commit | 7ebe8e21b0c8d4c229d192c0be66e49c7b78ed00 (patch) | |
| tree | 3554fe1b0e73fa11b558ac6903de42ae7dca621f /FL | |
| parent | 17b6e87bb7c50a5a1b5f1a5b4862f1f117cb211a (diff) | |
Move Fl_Window_Driver.H from FL/ to src/
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12974 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'FL')
| -rw-r--r-- | FL/Fl_Window_Driver.H | 204 |
1 files changed, 0 insertions, 204 deletions
diff --git a/FL/Fl_Window_Driver.H b/FL/Fl_Window_Driver.H deleted file mode 100644 index a695d422e..000000000 --- a/FL/Fl_Window_Driver.H +++ /dev/null @@ -1,204 +0,0 @@ -// -// "$Id$" -// -// A base class for platform specific window handling code -// for the Fast Light Tool Kit (FLTK). -// -// Copyright 2010-2018 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 -// - -/** - \cond DriverDev - \addtogroup DriverDeveloper - \{ - */ - -/** \file Fl_Window_Driver.H - \brief declaration of class Fl_Window_Driver. -*/ - -#ifndef FL_WINDOW_DRIVER_H -#define FL_WINDOW_DRIVER_H - -#include <FL/Fl_Export.H> -#include <FL/Fl_Window.H> -#include <FL/Fl_Overlay_Window.H> - -#include <stdlib.h> - -class Fl_X; -class Fl_Image; -class Fl_RGB_Image; - -/** - \brief A base class for platform specific window handling code. - - This class is only for internal use by the FLTK library. - - When porting FLTK to a new platform, many mothods in this class provide - a minimal default implementation. Some methods must be overridden to make - sure that the Graphics Driver will draw into the bitmap associated with - this window. -*/ -class FL_EXPORT Fl_Window_Driver -{ - friend class Fl_Window; - friend class Fl_X; -private: - static bool is_a_rescale_; // true when a top-level window is being rescaled - -protected: - Fl_Window *pWindow; - struct shape_data_type; - shape_data_type *shape_data_; ///< non-null means the window has a non-rectangular shape - void flush_Fl_Window(); // accessor to protected Fl_Window::flush() -public: - Fl_Window_Driver(Fl_Window *); - virtual ~Fl_Window_Driver(); - static Fl_Window_Driver *newWindowDriver(Fl_Window *); - int wait_for_expose_value; - Fl_Offscreen other_xid; // offscreen bitmap (overlay and double-buffered windows) - virtual int screen_num(); - virtual void screen_num(int) {} - static bool is_a_rescale() {return is_a_rescale_;}; - - - // --- frequently used accessors to public window data - /** returns the x coordinate of the window. */ - int x() const { return pWindow->x(); } - /** returns the y coordinate of the window. */ - int y() const { return pWindow->y(); } - /** returns the width of the window. */ - int w() const { return pWindow->w(); } - /** returns the height of the window. */ - int h() const { return pWindow->h(); } - /** returns whether the window has a border. */ - int border() const { return pWindow->border(); } - /** returns whether the window itself is visible(). */ - int visible() const { return pWindow->visible(); } - /** returns whether the window and all its parents are visible(). */ - int visible_r() const { return pWindow->visible_r(); } - /** returns whether the window is shown(). */ - int shown() const { return pWindow->shown(); } - /** returns the parent of the window. */ - Fl_Group *parent() const { return pWindow->parent(); } - - // --- accessors to private window data - int minw(); - int minh(); - int maxw(); - int maxh(); - int dw(); - int dh(); - int aspect(); - int fullscreen_screen_top(); - int fullscreen_screen_bottom(); - int fullscreen_screen_left(); - int fullscreen_screen_right(); - unsigned char size_range_set(); - int force_position(); - void force_position(int c); - void x(int X); - void y(int Y); - void current(Fl_Window *c); - char show_iconic() { return Fl_Window::show_iconic_; } - void show_iconic(char c) { Fl_Window::show_iconic_ = c; } - void i(Fl_X *x) { pWindow->i = x; } - /** for an Fl_Overlay_Window, returns the value of its overlay_ member variable */ - Fl_Window *overlay() { - return pWindow->as_overlay_window() ? pWindow->as_overlay_window()->overlay_ : NULL; - } - /** for an Fl_Overlay_Window, sets the value of its overlay_ member variable */ - void overlay(Fl_Window *o) { - if (pWindow->as_overlay_window()) pWindow->as_overlay_window()->overlay_ = o; - } - - void resize_after_scale_change(int ns, float old_f, float new_f); - - // --- window data - virtual int decorated_w() { return w(); } // default, should be overidden by driver - virtual int decorated_h() { return h(); } - - // --- window management - virtual void take_focus(); - virtual void flush(); // the default implementation may be enough - virtual void flush_double(); - virtual void flush_overlay(); - virtual void flush_menu(); - virtual void erase_menu() {} - /** Usable for platform-specific code executed before the platform-independent part of Fl_Window::draw() */ - virtual void draw_begin(); - /** Usable for platform-specific code executed after the platform-independent part of Fl_Window::draw() */ - virtual void draw_end(); - void draw(); - virtual void make_current(); - virtual void label(const char *name, const char *mininame); - - virtual Fl_X *makeWindow() { return 0; } - virtual void wait_for_expose(); - virtual void destroy_double_buffer(); - virtual void show(); - virtual void show_menu(); - virtual void resize(int X,int Y,int W,int H) {} - virtual void hide() {} - int hide_common(); - virtual void map() {} - virtual void unmap() {} - virtual void fullscreen_on() {} - virtual void fullscreen_off(int X, int Y, int W, int H) {} - virtual void use_border(); - virtual void size_range(); - virtual void iconize() {} - virtual void decoration_sizes(int *top, int *left, int *right, int *bottom) { - *top = *left = *right = *bottom = 0; - } - virtual void show_with_args_begin() {} - virtual void show_with_args_end(int argc, char **argv) {} - virtual int can_do_overlay(); - virtual void redraw_overlay(); - - // --- window cursor stuff - virtual int set_cursor(Fl_Cursor); - virtual int set_cursor(const Fl_RGB_Image*, int, int); - - // --- window shape stuff - void shape_pixmap_(Fl_Image* pixmap); // platform-independent, support function - virtual void shape(const Fl_Image* img) {} - virtual void shape_alpha_(Fl_Image* img, int offset) {} - - // --- window icon stuff - virtual void icons(const Fl_RGB_Image *icons[], int count) {} - virtual const void *icon() const {return NULL;} - virtual void icon(const void * ic) {} - virtual void free_icons() {} - // each platform implements this its own way - static void default_icons(const Fl_RGB_Image *icons[], int count); - - // --- window printing/drawing helper - virtual void capture_titlebar_and_borders(Fl_RGB_Image*& top, Fl_RGB_Image*& left, - Fl_RGB_Image*& bottom, Fl_RGB_Image*& right); - virtual int scroll(int src_x, int src_y, int src_w, int src_h, int dest_x, int dest_y, - void (*draw_area)(void*, int,int,int,int), void* data) { return 0; } - static inline Fl_Window_Driver* driver(const Fl_Window *win) {return win->pWindowDriver;} -}; - -#endif // FL_WINDOW_DRIVER_H - -/** - \} - \endcond - */ - -// -// End of "$Id$". -// |
