00001
00002
00003 #ifndef _GDKMM_GL_WINDOW_H
00004 #define _GDKMM_GL_WINDOW_H
00005
00006 #include <glibmm.h>
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #include <gdkmm/gl/defs.h>
00028
00029 #include <gdkmm/drawable.h>
00030 #include <gdkmm/window.h>
00031
00032 #include <gdkmm/gl/config.h>
00033 #include <gdkmm/gl/drawable.h>
00034
00035
00036 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00037 typedef struct _GdkGLWindow GdkGLWindow;
00038 typedef struct _GdkGLWindowClass GdkGLWindowClass;
00039 #endif
00040
00041
00042 namespace Gdk
00043 {
00044
00045 namespace GL
00046 { class Window_Class; }
00047
00048 }
00049 namespace Gdk
00050 {
00051 namespace GL
00052 {
00053
00060 class Window : public Gdk::Drawable,
00061 public Gdk::GL::Drawable
00062 {
00063
00064 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00065
00066 public:
00067 typedef Window CppObjectType;
00068 typedef Window_Class CppClassType;
00069 typedef GdkGLWindow BaseObjectType;
00070 typedef GdkGLWindowClass BaseClassType;
00071
00072 private: friend class Window_Class;
00073 static CppClassType window_class_;
00074
00075 private:
00076
00077 Window(const Window&);
00078 Window& operator=(const Window&);
00079
00080 protected:
00081 explicit Window(const Glib::ConstructParams& construct_params);
00082 explicit Window(GdkGLWindow* castitem);
00083
00084 #endif
00085
00086 public:
00087 virtual ~Window();
00088
00089 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00090 static GType get_type() G_GNUC_CONST;
00091 static GType get_base_type() G_GNUC_CONST;
00092 #endif
00093
00095 GdkGLWindow* gobj() { return reinterpret_cast<GdkGLWindow*>(gobject_); }
00096
00098 const GdkGLWindow* gobj() const { return reinterpret_cast<GdkGLWindow*>(gobject_); }
00099
00101 GdkGLWindow* gobj_copy();
00102
00103 private:
00104
00105
00106 protected:
00107 Window(const Glib::RefPtr<const Config>& glconfig,
00108 const Glib::RefPtr<const Gdk::Window>& window,
00109 const int* attrib_list = 0);
00110
00111 public:
00112
00113 static Glib::RefPtr<Window> create(const Glib::RefPtr<const Config>& glconfig, const Glib::RefPtr<const Gdk::Window>& window, const int* attrib_list = 0);
00114
00115
00116 public:
00117
00118
00125 Glib::RefPtr<Gdk::Window> get_window();
00126
00127
00134 Glib::RefPtr<const Gdk::Window> get_window() const;
00135
00136
00137 public:
00138
00139 public:
00140
00141
00142 protected:
00143
00144
00145
00146
00147
00148 };
00149
00150 }
00151 }
00152
00153
00154 namespace Glib
00155 {
00161 Glib::RefPtr<Gdk::GL::Window> wrap(GdkGLWindow* object, bool take_copy = false);
00162 }
00163
00164
00165 #endif
00166