mutter/clutter/egl/clutter-egl.h

103 lines
2.5 KiB
C
Raw Normal View History

/*
* Clutter.
*
* An OpenGL based 'interactive canvas' library.
*
* Authored By Matthew Allum <mallum@openedhand.com>
*
* Copyright (C) 2006 OpenedHand
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*
*
*/
2009-06-09 09:47:36 -04:00
/**
* SECTION:clutter-egl
* @short_description: EGL specific API
2009-06-09 09:47:36 -04:00
*
* The EGL backend for Clutter provides some EGL specific API
*
* You need to include `clutter-egl.h` to have access to the functions documented here.
2009-06-09 09:47:36 -04:00
*/
#ifndef __CLUTTER_EGL_H__
#define __CLUTTER_EGL_H__
#include <glib.h>
#ifdef COGL_HAS_XLIB_SUPPORT
#include <X11/Xlib.h>
#include <X11/Xatom.h>
#include <X11/Xutil.h>
#endif
GLES 2 backend * clutter/eglx/clutter-stage-egl.h: * clutter/eglx/clutter-egl-headers.h: * clutter/eglx/clutter-backend-egl.h: * clutter/eglx/Makefile.am: Include the GLES and EGL headers via clutter-egl-headers.h so that the right version can be used depending on whether the GLES 2 wrapper is being used. * configure.ac: Added an automake conditional for whether the GLES 2 wrapper should be used. * clutter/eglx/clutter-stage-egl.c (clutter_stage_egl_realize): Remove the call to glGetIntegerv to get the max texture size. It was being called before the GL context was bound so it didn't work anyway and it was causing trouble for the GLES 2 simulator. * clutter/cogl/gles/stringify.sh: Shell script to convert the shaders into a C string. * clutter/cogl/gles/cogl-gles2-wrapper.h: * clutter/cogl/gles/cogl-gles2-wrapper.c: Wrappers for most of the missing GL functions in GLES 2. * clutter/cogl/gles/cogl-fixed-fragment-shader.glsl: * clutter/cogl/gles/cogl-fixed-vertex-shader.glsl: New shaders for GLES 2 * clutter/cogl/gles/cogl-defines.h.in: Use the @CLUTTER_GL_HEADER@ macro instead of always using the GLES 1 header. * clutter/cogl/gles/cogl-context.h (CoglContext): Include a field for the state of the GLES 2 wrapper. * clutter/cogl/gles/cogl-texture.c: * clutter/cogl/gles/cogl-primitives.c: * clutter/cogl/gles/cogl.c: Use wrapped versions of the GL functions where neccessary. * clutter/cogl/gles/Makefile.am: Add sources for the GLES 2 wrapper and an extra build step to put the GLSL files into a C string whenever the files change.
2008-05-27 13:42:50 -04:00
#include "clutter-egl-headers.h"
#include <clutter/clutter.h>
G_BEGIN_DECLS
/**
* clutter_eglx_display:
*
2014-03-18 10:14:22 -04:00
* Retrieves the #EGLDisplay used by Clutter,
* if Clutter has been compiled with EGL and X11 support.
*
* Return value: the EGL display
*
* Since: 0.4
*
* Deprecated: 1.6: Use clutter_egl_get_egl_display() instead
*/
CLUTTER_DEPRECATED_FOR(clutter_egl_get_egl_display)
EGLDisplay clutter_eglx_display (void);
/**
* clutter_egl_display:
*
2014-03-18 10:14:22 -04:00
* Retrieves the #EGLDisplay used by Clutter
*
* Return value: the EGL display
*
* Deprecated: 1.6: Use clutter_egl_get_egl_display() instead
*/
CLUTTER_DEPRECATED_FOR(clutter_egl_get_egl_display)
EGLDisplay clutter_egl_display (void);
/**
* clutter_egl_get_egl_display:
*
2014-03-18 10:14:22 -04:00
* Retrieves the #EGLDisplay used by Clutter.
*
* Return value: the EGL display
*
* Since: 1.6
*/
CLUTTER_AVAILABLE_IN_1_6
EGLDisplay clutter_egl_get_egl_display (void);
#ifdef COGL_HAS_EGL_PLATFORM_KMS_SUPPORT
CLUTTER_AVAILABLE_IN_1_18
void clutter_egl_set_kms_fd (int fd);
#endif
CLUTTER_AVAILABLE_IN_1_20
void clutter_egl_freeze_master_clock (void);
CLUTTER_AVAILABLE_IN_1_20
void clutter_egl_thaw_master_clock (void);
G_END_DECLS
#endif /* __CLUTTER_EGL_H__ */