File: gauche-gtkgl.h

package info (click to toggle)
gauche-gtk 0.6%2Bgit20160927-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 1,452 kB
  • sloc: ansic: 7,097; lisp: 5,659; sh: 2,829; makefile: 338
file content (90 lines) | stat: -rw-r--r-- 3,267 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
/*
 * gauche-gtkgl.h - Gauche+GtkGLExt extension
 *
 *  Copyright(C) 2002 by Shiro Kawai (shiro@acm.org)
 *
 *  Permission to use, copy, modify, distribute this software and
 *  accompanying documentation for any purpose is hereby granted,
 *  provided that existing copyright notices are retained in all
 *  copies and that this notice is included verbatim in all
 *  distributions.
 *  This software is provided as is, without express or implied
 *  warranty.  In no circumstances the author(s) shall be liable
 *  for any damages arising out of the use of this software.
 *
 *  $Id: gauche-gtkgl.h,v 1.5 2007/01/13 01:36:30 maruska Exp $
 */

#ifndef GAUCHE_GTKGL_H
#define GAUCHE_GTKGL_H

#include <gtkglext-1.0/gdk/gdkgl.h>
#include <gtkglext-1.0/gtk/gtkgl.h>
#include "../src/gauche-gtk.h"
#include "../src/gtk-config.h"

#ifdef HAVE_GTKGL


SCM_DECL_BEGIN

/*====================================================================
 * Basic data converters
 */

extern int *Scm_ListToGdkGLAttribList(ScmObj attrib);

/*====================================================================
 * gdkgl classes
 */

/* GdkGLConfig */

SCM_CLASS_DECL(Scm_GdkGLConfigClass);
#define SCM_CLASS_GDK_GL_CONFIG     (&Scm_GdkGLConfigClass)
#define SCM_GDK_GL_CONFIG_P(obj)    (Scm_TypeP(obj, SCM_CLASS_GDK_GL_CONFIG))
#define SCM_GDK_GL_CONFIG(obj)      SCM_GOBJECT_UNBOX(GDK_GL_CONFIG, obj)
#define SCM_MAKE_GDK_GL_CONFIG(obj) SCM_GOBJECT_BOX(obj)
#define SCM_GDK_GL_CONFIG_OR_NULL_P(obj) (SCM_FALSEP(obj)||SCM_GDK_GL_CONFIG_P(obj))

/* GdkGLContext */

SCM_CLASS_DECL(Scm_GdkGLContextClass);
#define SCM_CLASS_GDK_GL_CONTEXT     (&Scm_GdkGLContextClass)
#define SCM_GDK_GL_CONTEXT_P(obj)    (Scm_TypeP(obj, SCM_CLASS_GDK_GL_CONTEXT))
#define SCM_GDK_GL_CONTEXT(obj)      SCM_GOBJECT_UNBOX(GDK_GL_CONTEXT, obj)
#define SCM_MAKE_GDK_GL_CONTEXT(obj) SCM_GOBJECT_BOX(obj)
#define SCM_GDK_GL_CONTEXT_OR_NULL_P(obj) (SCM_FALSEP(obj)||SCM_GDK_GL_CONTEXT_P(obj))

/* GdkGLDrawable */

SCM_CLASS_DECL(Scm_GdkGLDrawableClass);
#define SCM_CLASS_GDK_GL_DRAWABLE     (&Scm_GdkGLDrawableClass)
#define SCM_GDK_GL_DRAWABLE_P(obj)    (Scm_TypeP(obj, SCM_CLASS_GDK_GL_DRAWABLE))
#define SCM_GDK_GL_DRAWABLE(obj)      SCM_GOBJECT_UNBOX(GDK_GL_DRAWABLE, obj)
#define SCM_MAKE_GDK_GL_DRAWABLE(obj) SCM_GOBJECT_BOX(obj)
#define SCM_GDK_GL_DRAWABLE_OR_NULL_P(obj) (SCM_FALSEP(obj)||SCM_GDK_GL_DRAWABLE_P(obj))

/* GdkGLPixmap */

SCM_CLASS_DECL(Scm_GdkGLPixmapClass);
#define SCM_CLASS_GDK_GL_PIXMAP     (&Scm_GdkGLPixmapClass)
#define SCM_GDK_GL_PIXMAP_P(obj)    (Scm_TypeP(obj, SCM_CLASS_GDK_GL_PIXMAP))
#define SCM_GDK_GL_PIXMAP(obj)      SCM_GOBJECT_UNBOX(GDK_GL_PIXMAP, obj)
#define SCM_MAKE_GDK_GL_PIXMAP(obj) SCM_GOBJECT_BOX(obj)
#define SCM_GDK_GL_PIXMAP_OR_NULL_P(obj) (SCM_FALSEP(obj)||SCM_GDK_GL_PIXMAP_P(obj))

/* GdkGLWindow */

SCM_CLASS_DECL(Scm_GdkGLWindowClass);
#define SCM_CLASS_GDK_GL_WINDOW     (&Scm_GdkGLWindowClass)
#define SCM_GDK_GL_WINDOW_P(obj)    (Scm_TypeP(obj, SCM_CLASS_GDK_GL_WINDOW))
#define SCM_GDK_GL_WINDOW(obj)      SCM_GOBJECT_UNBOX(GDK_GL_WINDOW, obj)
#define SCM_MAKE_GDK_GL_WINDOW(obj) SCM_GOBJECT_BOX(obj)
#define SCM_GDK_GL_WINDOW_OR_NULL_P(obj) (SCM_FALSEP(obj)||SCM_GDK_GL_WINDOW_P(obj))

SCM_DECL_END

#endif /*HAVE_GTKGL*/
#endif /*GAUCHE_GTK_H*/