1 /* GdkGLExt - OpenGL Extension to GDK
2  * Copyright (C) 2002-2004  Naofumi Yasufuku
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA.
17  */
18 
19 #ifndef __GDK_GL_CONTEXT_WIN32_H__
20 #define __GDK_GL_CONTEXT_WIN32_H__
21 
22 #include <gdk/gdkglcontext.h>
23 #include <gdk/win32/gdkglwin32.h>
24 
25 G_BEGIN_DECLS
26 
27 typedef struct _GdkGLContextImplWin32      GdkGLContextImplWin32;
28 typedef struct _GdkGLContextImplWin32Class GdkGLContextImplWin32Class;
29 
30 #define GDK_TYPE_GL_CONTEXT_IMPL_WIN32              (gdk_gl_context_impl_win32_get_type ())
31 #define GDK_GL_CONTEXT_IMPL_WIN32(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_GL_CONTEXT_IMPL_WIN32, GdkGLContextImplWin32))
32 #define GDK_GL_CONTEXT_IMPL_WIN32_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_GL_CONTEXT_IMPL_WIN32, GdkGLContextImplWin32Class))
33 #define GDK_IS_GL_CONTEXT_IMPL_WIN32(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_GL_CONTEXT_IMPL_WIN32))
34 #define GDK_IS_GL_CONTEXT_IMPL_WIN32_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_GL_CONTEXT_IMPL_WIN32))
35 #define GDK_GL_CONTEXT_IMPL_WIN32_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_GL_CONTEXT_IMPL_WIN32, GdkGLContextImplWin32Class))
36 
37 struct _GdkGLContextImplWin32
38 {
39   GdkGLContext parent_instance;
40 
41   HGLRC hglrc;
42   GdkGLContext *share_list;
43   int render_type;
44 
45   GdkGLConfig *glconfig;
46 
47   GdkGLDrawable *gldrawable;
48   GdkGLDrawable *gldrawable_read; /* currently unused. */
49 
50   guint is_destroyed : 1;
51   guint is_foreign   : 1;
52 };
53 
54 struct _GdkGLContextImplWin32Class
55 {
56   GdkGLContextClass parent_class;
57 };
58 
59 GType gdk_gl_context_impl_win32_get_type (void);
60 
61 G_END_DECLS
62 
63 #endif /* __GDK_GL_CONTEXT_WIN32_H__ */
64