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 
00100   GdkGLContext* gobj_copy();
00101 
00102 private:
00103 
00104 
00105 protected:
00106 
00107   Context(const Glib::RefPtr<const Drawable>& gldrawable,
00108           const Glib::RefPtr<const Context>& share_list,
00109           bool direct = true,
00110           int render_type = RGBA_TYPE);
00111 
00112   explicit Context(const Glib::RefPtr<const Drawable>& gldrawable,
00113                    bool direct = true,
00114                    int render_type = RGBA_TYPE);
00115 
00116 public:
00117 
00128   static Glib::RefPtr<Context> create(const Glib::RefPtr<const Drawable>& gldrawable,
00129                                       const Glib::RefPtr<const Context>& share_list,
00130                                       bool direct = true,
00131                                       int render_type = RGBA_TYPE);
00132 
00142   static Glib::RefPtr<Context> create(const Glib::RefPtr<const Drawable>& gldrawable,
00143                                       bool direct = true,
00144                                       int render_type = RGBA_TYPE);
00145 
00146 public:
00147 
00158   bool copy(const Glib::RefPtr<const Context>& src,
00159             unsigned long mask = GL_ALL_ATTRIB_BITS);
00160 
00161   
00165   Glib::RefPtr<Drawable> get_gl_drawable();
00166   
00170   Glib::RefPtr<const Drawable> get_gl_drawable() const;
00171 
00172   
00176   Glib::RefPtr<Config> get_gl_config();
00177   
00181   Glib::RefPtr<const Config> get_gl_config() const;
00182 
00183   
00188   Glib::RefPtr<Context> get_share_list();
00189   
00194   Glib::RefPtr<const Context> get_share_list() const;
00195 
00196   
00200   bool is_direct() const;
00201 
00202   
00206   int get_render_type() const;
00207 
00208   
00213   static Glib::RefPtr<Context> get_current();
00214 
00215 
00216 public:
00217 
00218 public:
00219   //C++ methods used to invoke GTK+ virtual functions:
00220 
00221 protected:
00222   //GTK+ Virtual Functions (override these to change behaviour):
00223 
00224   //Default Signal Handlers::
00225 
00226 
00227 };
00228 
00229 } // namespace GL
00230 } // namespace Gdk
00231 
00232 
00233 namespace Glib
00234 {
00236   Glib::RefPtr<Gdk::GL::Context> wrap(GdkGLContext* object, bool take_copy = false);
00237 }
00238 
00239 
00240 #endif /* _GDKMM_GL_CONTEXT_H */
00241 

Generated on Thu Nov 20 22:46:32 2003 for gtkglextmm by doxygen 1.3.4