diff options
| author | Manolo Gouy <Manolo> | 2018-06-26 14:23:51 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2018-06-26 14:23:51 +0000 |
| commit | 3199e3331b4c779a9ed77966a51c5182f0dbda7d (patch) | |
| tree | b770feb56349d076f74818a8c61b0edcd68874b4 /FL | |
| parent | 7046e99f96810a1be310b1dd1b1b6d4c336ed814 (diff) | |
Move Fl_Gl_Window_Driver.H from FL/ to src/
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12977 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'FL')
| -rw-r--r-- | FL/Fl_Gl_Window_Driver.H | 214 |
1 files changed, 0 insertions, 214 deletions
diff --git a/FL/Fl_Gl_Window_Driver.H b/FL/Fl_Gl_Window_Driver.H deleted file mode 100644 index 88d2c14dc..000000000 --- a/FL/Fl_Gl_Window_Driver.H +++ /dev/null @@ -1,214 +0,0 @@ -// -// "$Id$" -// -// Definition of class Fl_Gl_Window_Driver, and of its platform-specific derived classes -// for the Fast Light Tool Kit (FLTK). -// -// Copyright 2016-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 - \{ - */ - -#ifndef Fl_Gl_Window_Driver_H -#define Fl_Gl_Window_Driver_H - -#include <FL/Fl_Gl_Window.H> - -class Fl_Gl_Choice; -class Fl_Font_Descriptor; - -/* The constructor of each Fl_Gl_Window object creates also an object from a - platform-specific derived class from this class. - */ -class Fl_Gl_Window_Driver { -protected: - Fl_Gl_Window *pWindow; -public: - Fl_Gl_Choice* g() {return pWindow->g;} - void g(Fl_Gl_Choice *c) {pWindow->g = c;} - int mode() {return pWindow->mode_;} - void mode(int m) { pWindow->mode_ = m;} - const int *alist() {return pWindow->alist;} - void alist(const int *l) { pWindow->alist = l;} - void* overlay() {return pWindow->overlay;} - void draw_overlay() {pWindow->draw_overlay();} - - Fl_Gl_Window_Driver(Fl_Gl_Window *win) : pWindow(win) {} - virtual ~Fl_Gl_Window_Driver() {} - static Fl_Gl_Window_Driver *newGlWindowDriver(Fl_Gl_Window *w); - static Fl_Gl_Window_Driver *global(); - virtual float pixels_per_unit() {return 1;} - virtual void before_show(int& need_redraw) {} - virtual void after_show(int need_redraw) {} - virtual void invalidate(); - virtual int mode_(int m, const int *a) {return 0;} - virtual void make_current_before() {} - virtual void make_current_after() {} - virtual void swap_buffers() {} - virtual void resize(int is_a_resize, int w, int h) {} - virtual char swap_type(); - virtual int flush_begin(char& valid_f) {return 0;} - virtual void hide_overlay(void *& overlay) {} - static Fl_Gl_Choice *find_begin(int m, const int *alistp); - // Return one of these structures for a given gl mode. - // The second argument is a glX attribute list, and is used if mode is zero. - // This is not supported on Win32: - virtual Fl_Gl_Choice *find(int mode, const int *alistp) {return NULL;} - virtual GLContext create_gl_context(Fl_Window* window, const Fl_Gl_Choice* g, int layer = 0) {return 0;} - virtual void set_gl_context(Fl_Window* w, GLContext context) {} - virtual void delete_gl_context(GLContext) {} - virtual void make_overlay(void* &o); - virtual void hide_overlay() {} - virtual void make_overlay_current() {} - virtual void redraw_overlay() {} - virtual int can_do_overlay() {return 0;} - virtual void waitGL() {} // support for gl_finish() function - virtual void gl_visual(Fl_Gl_Choice*); // support for Fl::gl_visual() function - virtual void gl_start() {} // support for gl_start() function - virtual void* GetProcAddress(const char *procName); // support for glutGetProcAddress() - virtual void draw_string_legacy(const char* str, int n); // support for gl_draw() - void draw_string_legacy_get_list(const char* str, int n); // support for gl_draw() - static void draw_string_legacy_glut(const char* str, int n); // support for gl_draw() - virtual void get_list(Fl_Font_Descriptor* fd, int r) {} // support for gl_draw() without textures - virtual void gl_bitmap_font(Fl_Font_Descriptor *fl_fontsize) {} // support for gl_font() without textures - virtual int overlay_color(Fl_Color i) {return 0;} // support for gl_color() with HAVE_GL_OVERLAY - static void draw_string_with_texture(const char* str, int n); // cross-platform - // support for gl_draw(). The cross-platform version may be enough. - virtual char *alpha_mask_for_string(const char *str, int n, int w, int h); - virtual int genlistsize() { return 0; } // support for gl_draw() - virtual Fl_Font_Descriptor** fontnum_to_fontdescriptor(int fnum); -}; - -#ifdef FL_CFG_GFX_QUARTZ -#ifdef __OBJC__ -@class NSOpenGLPixelFormat; -#else -class NSOpenGLPixelFormat; -#endif // __OBJC__ - -class Fl_Cocoa_Gl_Window_Driver : public Fl_Gl_Window_Driver { - friend class Fl_Gl_Window_Driver; - friend class Fl_OpenGL_Display_Device; - Fl_Cocoa_Gl_Window_Driver(Fl_Gl_Window *win) : Fl_Gl_Window_Driver(win) {} - virtual float pixels_per_unit(); - virtual void before_show(int& need_redraw); - virtual void after_show(int need_redraw); - virtual int mode_(int m, const int *a); - virtual void make_current_before(); - virtual void swap_buffers(); - virtual void resize(int is_a_resize, int w, int h); - virtual char swap_type(); - void flush_context(); - virtual Fl_Gl_Choice *find(int m, const int *alistp); - virtual GLContext create_gl_context(Fl_Window* window, const Fl_Gl_Choice* g, int layer = 0); - virtual void set_gl_context(Fl_Window* w, GLContext context); - virtual void delete_gl_context(GLContext); - virtual void make_overlay_current(); - virtual void redraw_overlay(); - virtual void gl_start(); - static NSOpenGLContext* create_GLcontext_for_window(NSOpenGLPixelFormat *pixelformat, NSOpenGLContext *shared_ctx, Fl_Window *window); - static NSOpenGLPixelFormat *mode_to_NSOpenGLPixelFormat(int mode, const int*); // uses Objective-c - static void GLcontext_update(NSOpenGLContext*); // uses Objective-c - static void GLcontext_release(NSOpenGLContext*); // uses Objective-c - static void GLcontext_makecurrent(NSOpenGLContext*); // uses Objective-c - static void GL_cleardrawable(void); // uses Objective-c - virtual char *alpha_mask_for_string(const char *str, int n, int w, int h); -}; -#endif // FL_CFG_GFX_QUARTZ - - -#ifdef FL_CFG_GFX_GDI - -class Fl_WinAPI_Gl_Window_Driver : public Fl_Gl_Window_Driver { - friend class Fl_Gl_Window_Driver; - Fl_WinAPI_Gl_Window_Driver(Fl_Gl_Window *win) : Fl_Gl_Window_Driver(win) {} - virtual float pixels_per_unit(); - virtual int mode_(int m, const int *a); - virtual void make_current_after(); - virtual void swap_buffers(); - virtual void invalidate() {} - virtual int flush_begin(char& valid_f); - virtual void hide_overlay(void *& overlay); - virtual Fl_Gl_Choice *find(int m, const int *alistp); - virtual GLContext create_gl_context(Fl_Window* window, const Fl_Gl_Choice* g, int layer = 0); - virtual void set_gl_context(Fl_Window* w, GLContext context); - virtual void delete_gl_context(GLContext); - virtual void make_overlay_current(); - virtual void redraw_overlay(); - virtual void* GetProcAddress(const char *procName); - virtual void draw_string_legacy(const char* str, int n); - virtual void gl_bitmap_font(Fl_Font_Descriptor *fl_fontsize); - virtual void get_list(Fl_Font_Descriptor *fd, int r); - virtual int genlistsize(); -#if HAVE_GL_OVERLAY - virtual int can_do_overlay(); - virtual int overlay_color(Fl_Color i); -#endif -}; - -#endif // FL_CFG_GFX_GDI - - -#ifdef FL_CFG_GFX_XLIB -#include <X11/Xutil.h> // for XVisualInfo -class Fl_X11_Gl_Window_Driver : public Fl_Gl_Window_Driver { - friend class Fl_Gl_Window_Driver; - Fl_X11_Gl_Window_Driver(Fl_Gl_Window *win) : Fl_Gl_Window_Driver(win) {} - virtual float pixels_per_unit(); - virtual void before_show(int& need_redraw); - virtual int mode_(int m, const int *a); - virtual void swap_buffers(); - virtual void resize(int is_a_resize, int w, int h); - virtual char swap_type(); - virtual Fl_Gl_Choice *find(int m, const int *alistp); - virtual GLContext create_gl_context(Fl_Window* window, const Fl_Gl_Choice* g, int layer = 0); - virtual void set_gl_context(Fl_Window* w, GLContext context); - virtual void delete_gl_context(GLContext); -#if HAVE_GL_OVERLAY - virtual void make_overlay(void *&o); - virtual int can_do_overlay(); - virtual void hide_overlay(); - virtual int overlay_color(Fl_Color i); -#endif - virtual void make_overlay_current(); - virtual void redraw_overlay(); - virtual void waitGL(); - virtual void gl_visual(Fl_Gl_Choice*); // support for Fl::gl_visual() - virtual void gl_start(); - virtual void draw_string_legacy(const char* str, int n); - virtual void gl_bitmap_font(Fl_Font_Descriptor *fl_fontsize); - virtual void get_list(Fl_Font_Descriptor *fd, int r); - virtual int genlistsize(); -#if !USE_XFT - virtual Fl_Font_Descriptor** fontnum_to_fontdescriptor(int fnum); -#endif - public: - static GLContext create_gl_context(XVisualInfo* vis); -}; - -#endif // FL_CFG_GFX_XLIB - -#endif /* Fl_Gl_Window_Driver_H */ - -/** - \} - \endcond - */ - -// -// End of "$Id$". -// |
