00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00021
00022 #ifndef INTI_GTK_GL_WIDGET_H
00023 #define INTI_GTK_GL_WIDGET_H
00024
00025 #ifndef INTI_G_TYPE_H
00026 #include <inti/glib/type.h>
00027 #endif
00028 #ifndef __GTK_GL_WIDGET_H__
00029 #include <gtk/gtkglwidget.h>
00030 #endif
00031
00032 namespace Inti {
00033
00034 namespace Gdk {
00035
00036 namespace GL {
00037 class Config;
00038 class Context;
00039 class Drawable;
00040 class Window;
00041 }
00042
00043 }
00044
00045 namespace Gtk {
00046
00047 namespace GL {
00048
00053
00054 class Widget : virtual public G::TypeInstance
00055 {
00056 public:
00059
00060 virtual ~Widget() = 0;
00062
00066
00067 bool is_gl_capable() const;
00070
00071 Gdk::GL::Config* get_gl_config() const;
00074
00075 Gdk::GL::Context* get_gl_context() const;
00081
00082 Gdk::GL::Window* get_gl_window() const;
00085
00086 Gdk::GL::Drawable* get_gl_drawable() const;
00091
00095
00096 Pointer<Gdk::GL::Context> create_gl_context(bool direct = true, int render_type = GDK_GL_RGBA_TYPE);
00103
00104 Pointer<Gdk::GL::Context> create_gl_context(const Gdk::GL::Context& share_list, bool direct = true, int render_type = GDK_GL_RGBA_TYPE);
00112
00113 bool set_gl_capability(const Gdk::GL::Config& glconfig, bool direct = true, int render_type = GDK_GL_RGBA_TYPE);
00122
00123 bool set_gl_capability(const Gdk::GL::Config& glconfig, const Gdk::GL::Context& share_list, bool direct = true, int render_type = GDK_GL_RGBA_TYPE);
00132
00134 };
00135
00136 }
00137
00138 }
00139
00140 }
00141
00142 #endif // INTI_GTK_GL_WIDGET_H
00143