Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Examples

gdkmm/gl/context.h

Go to the documentation of this file.
00001 // -*- c++ -*- 00002 // Generated by gtkmmproc -- DO NOT MODIFY! 00003 #ifndef _GDKMM_GL_CONTEXT_H 00004 #define _GDKMM_GL_CONTEXT_H 00005 00006 #include <glibmm.h> 00007 00008 // -*- C++ -*- 00009 /* gdkglextmm - C++ Wrapper for GdkGLExt 00010 * Copyright (C) 2002-2003 Naofumi Yasufuku 00011 * 00012 * This library is free software; you can redistribute it and/or 00013 * modify it under the terms of the GNU Lesser General Public 00014 * License as published by the Free Software Foundation; either 00015 * version 2.1 of the License, or (at your option) any later version. 00016 * 00017 * This library is distributed in the hope that it will be useful, 00018 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00019 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00020 * Lesser General Public License for more details. 00021 * 00022 * You should have received a copy of the GNU Lesser General Public 00023 * License along with this library; if not, write to the Free Software 00024 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 00025 */ 00026 00027 #include <gdkmm/gl/defs.h> 00028 #include <gdkmm/gl/tokens.h> 00029 #include <gdkmm/gl/config.h> 00030 #include <gdkmm/gl/drawable.h> 00031 00032 #include <GL/gl.h> 00033 00034 00035 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00036 typedef struct _GdkGLContext GdkGLContext; 00037 typedef struct _GdkGLContextClass GdkGLContextClass; 00038 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 00039 00040 00041 namespace Gdk 00042 { 00043 00044 namespace GL 00045 { class Context_Class; } // namespace GL 00046 00047 } // namespace Gdk 00048 namespace Gdk 00049 { 00050 namespace GL 00051 { 00052 00053 class Drawable; 00054 00061 class Context : public Glib::Object 00062 { 00063 00064 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00065 00066 public: 00067 typedef Context CppObjectType; 00068 typedef Context_Class CppClassType; 00069 typedef GdkGLContext BaseObjectType; 00070 typedef GdkGLContextClass BaseClassType; 00071 00072 private: friend class Context_Class; 00073 static CppClassType context_class_; 00074 00075 private: 00076 // noncopyable 00077 Context(const Context&); 00078 Context& operator=(const Context&); 00079 00080 protected: 00081 explicit Context(const Glib::ConstructParams& construct_params); 00082 explicit Context(GdkGLContext* castitem); 00083 00084 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 00085 00086 public: 00087 virtual ~Context(); 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 GdkGLContext* gobj() { return reinterpret_cast<GdkGLContext*>(gobject_); } 00096 00098 const GdkGLContext* gobj() const { return reinterpret_cast<GdkGLContext*>(gobject_); } 00099 00101 GdkGLContext* gobj_copy(); 00102 00103 private: 00104 00105 00106 protected: 00107 00108 Context(const Glib::RefPtr<const Drawable>& gldrawable, 00109 const Glib::RefPtr<const Context>& share_list, 00110 bool direct = true, 00111 int render_type = RGBA_TYPE); 00112 00113 explicit Context(const Glib::RefPtr<const Drawable>& gldrawable, 00114 bool direct = true, 00115 int render_type = RGBA_TYPE); 00116 00117 public: 00118 00129 static Glib::RefPtr<Context> create(const Glib::RefPtr<const Drawable>& gldrawable, 00130 const Glib::RefPtr<const Context>& share_list, 00131 bool direct = true, 00132 int render_type = RGBA_TYPE); 00133 00143 static Glib::RefPtr<Context> create(const Glib::RefPtr<const Drawable>& gldrawable, 00144 bool direct = true, 00145 int render_type = RGBA_TYPE); 00146 00147 public: 00148 00159 bool copy(const Glib::RefPtr<const Context>& src, 00160 unsigned long mask = GL_ALL_ATTRIB_BITS); 00161 00162 00166 Glib::RefPtr<Drawable> get_gl_drawable(); 00167 00171 Glib::RefPtr<const Drawable> get_gl_drawable() const; 00172 00173 00177 Glib::RefPtr<Config> get_gl_config(); 00178 00182 Glib::RefPtr<const Config> get_gl_config() const; 00183 00184 00189 Glib::RefPtr<Context> get_share_list(); 00190 00195 Glib::RefPtr<const Context> get_share_list() const; 00196 00197 00201 bool is_direct() const; 00202 00203 00207 int get_render_type() const; 00208 00209 00214 static Glib::RefPtr<Context> get_current(); 00215 00216 00217 public: 00218 00219 public: 00220 //C++ methods used to invoke GTK+ virtual functions: 00221 00222 protected: 00223 //GTK+ Virtual Functions (override these to change behaviour): 00224 00225 //Default Signal Handlers:: 00226 00227 00228 }; 00229 00230 } // namespace GL 00231 } // namespace Gdk 00232 00233 00234 namespace Glib 00235 { 00241 Glib::RefPtr<Gdk::GL::Context> wrap(GdkGLContext* object, bool take_copy = false); 00242 } 00243 00244 00245 #endif /* _GDKMM_GL_CONTEXT_H */ 00246

Generated on Sun Jun 20 16:59:46 2004 for gtkglextmm by doxygen 1.3.7