/* Copyright 2006 Guillaume Duhamel1Copyright 2006 Fabien Coulon23This file is part of Yabause.45Yabause is free software; you can redistribute it and/or modify6it under the terms of the GNU General Public License as published by7the Free Software Foundation; either version 2 of the License, or8(at your option) any later version.910Yabause is distributed in the hope that it will be useful,11but WITHOUT ANY WARRANTY; without even the implied warranty of12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the13GNU General Public License for more details.1415You should have received a copy of the GNU General Public License16along with Yabause; if not, write to the Free Software17Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA18*/1920#ifndef YUI_GL_H21#define YUI_GL_H2223#include <gtk/gtk.h>2425#ifdef HAVE_LIBGTKGLEXT26#include <GL/gl.h>27#include <gtk/gtkgl.h>28#endif2930G_BEGIN_DECLS3132#define YUI_GL_TYPE (yui_gl_get_type ())33#define YUI_GL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), YUI_GL_TYPE, YuiGl))34#define YUI_GL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), YUI_GL_TYPE, YuiGlClass))35#define IS_YUI_GL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), YUI_GL_TYPE))36#define IS_YUI_GL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), YUI_GL_TYPE))3738typedef struct _YuiGl YuiGl;39typedef struct _YuiGlClass YuiGlClass;4041struct _YuiGl42{43GtkDrawingArea hbox;4445guint * pixels;46gint pixels_width;47gint pixels_height;48gint pixels_rowstride;49gint is_init;50};5152struct _YuiGlClass53{54GtkDrawingAreaClass parent_class;55};5657GType yui_gl_get_type (void);58GtkWidget * yui_gl_new (void);5960void yui_gl_draw (YuiGl *);61void yui_gl_draw_pause (YuiGl *);62void yui_gl_dump_screen (YuiGl *);6364G_END_DECLS6566#endif676869