Remove cogl-1.0 vs cogl-2.0 vs cogl experimental API split

Mutter (and libmutter users) are the only users of this version of
cogl, and will more or less only use the cogl-1.0, cogl-2.0 and cogl
experimental API variants, and having the possibility of having
different API versions of the same API depending on what file includes
it is error prone and confusing. Lets just remove the possibility of
having different versions of the same API.

https://bugzilla.gnome.org/show_bug.cgi?id=768977
This commit is contained in:
Jonas Ådahl 2016-06-16 15:04:40 -04:00
parent eed71654ba
commit d62d780a95
57 changed files with 64 additions and 1243 deletions

View File

@ -16,7 +16,6 @@ AM_CPPFLAGS = \
-DCLUTTER_LOCALEDIR=\""$(localedir)"\" \
-DCLUTTER_SYSCONFDIR=\""$(sysconfdir)"\" \
-DCLUTTER_COMPILATION=1 \
-DCOGL_ENABLE_EXPERIMENTAL_API \
-DCOGL_DISABLE_DEPRECATION_WARNINGS \
-DG_LOG_DOMAIN=\"Clutter\" \
-I$(top_srcdir) \
@ -62,7 +61,6 @@ source_h = \
clutter-canvas.h \
clutter-child-meta.h \
clutter-click-action.h \
clutter-cogl-compat.h \
clutter-clone.h \
clutter-color-static.h \
clutter-color.h \

View File

@ -856,8 +856,6 @@ CLUTTER_AVAILABLE_IN_1_10
void clutter_actor_remove_all_transitions (ClutterActor *self);
/* Experimental API */
#ifdef CLUTTER_ENABLE_EXPERIMENTAL_API
CLUTTER_AVAILABLE_IN_1_16
gboolean clutter_actor_has_mapped_clones (ClutterActor *self);
CLUTTER_AVAILABLE_IN_1_22
@ -865,7 +863,6 @@ void clutter_actor_set_opacity_override
gint opacity);
CLUTTER_AVAILABLE_IN_1_22
gint clutter_actor_get_opacity_override (ClutterActor *self);
#endif
/**
* ClutterActorCreateChildFunc:

View File

@ -1214,7 +1214,7 @@ _clutter_backend_remove_event_translator (ClutterBackend *backend,
}
/**
* clutter_backend_get_cogl_context:
* clutter_backend_get_cogl_context: (skip)
* @backend: a #ClutterBackend
*
* Retrieves the #CoglContext associated with the given clutter

View File

@ -31,9 +31,7 @@
#include <cairo.h>
#include <pango/pango.h>
#ifdef COGL_ENABLE_EXPERIMENTAL_API
#include <cogl/cogl.h>
#endif
#include <clutter/clutter-config.h>
#include <clutter/clutter-types.h>
@ -73,10 +71,8 @@ void clutter_backend_set_font_options (Clutter
CLUTTER_AVAILABLE_IN_ALL
const cairo_font_options_t * clutter_backend_get_font_options (ClutterBackend *backend);
#if defined (COGL_ENABLE_EXPERIMENTAL_API) && defined (CLUTTER_ENABLE_EXPERIMENTAL_API)
CLUTTER_AVAILABLE_IN_1_8
CoglContext * clutter_backend_get_cogl_context (ClutterBackend *backend);
#endif
G_END_DECLS

View File

@ -6,9 +6,6 @@
/* Use Generic EGL backend */
#undef CLUTTER_EGL_BACKEND_GENERIC
/* Can use Cogl 2.0 API internally */
#undef COGL_ENABLE_EXPERIMENTAL_2_0_API
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H

View File

@ -1,52 +0,0 @@
/*
* Clutter.
*
* An OpenGL based 'interactive canvas' library.
*
* Copyright (C) 2012 Intel Corporation.
*
* 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/>.
*
*/
#ifndef __CLUTTER_COGL_COMPAT_H__
#define __CLUTTER_COGL_COMPAT_H__
#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
#error "Only <clutter/clutter.h> can be included directly."
#endif
G_BEGIN_DECLS
/* XXX: Some public Clutter apis depend on Cogl types that have been
* removed from the Cogl 2.0 experimental api.
*
* If somone has opted to use the Cogl 2.0 experimental api by
* defining COGL_ENABLE_EXPERIMENTAL_2_0_API then we need to define
* some place holder typdefs for compatability.
*
* NB: we build all clutter internals with COGL_ENABLE_EXPERIMENTAL_2_0_API
* defined.
*/
#ifdef COGL_ENABLE_EXPERIMENTAL_2_0_API
/* CoglMaterial has been replaced with CoglPipeline in Cogl 2.0 */
typedef struct _CoglMaterial CoglMaterial;
#endif
G_END_DECLS
#endif /* __CLUTTER_COGL_COMPAT_H__ */

View File

@ -131,10 +131,8 @@ gboolean clutter_image_set_bytes (ClutterImage
guint row_stride,
GError **error);
#if defined(COGL_ENABLE_EXPERIMENTAL_API) && defined(CLUTTER_ENABLE_EXPERIMENTAL_API)
CLUTTER_AVAILABLE_IN_1_10
CoglTexture * clutter_image_get_texture (ClutterImage *image);
#endif
G_END_DECLS

View File

@ -66,8 +66,6 @@
#include "clutter-build-config.h"
#endif
#define CLUTTER_ENABLE_EXPERIMENTAL_API
#include "clutter-offscreen-effect.h"
#include "cogl/cogl.h"
@ -520,7 +518,7 @@ clutter_offscreen_effect_get_texture (ClutterOffscreenEffect *effect)
}
/**
* clutter_offscreen_effect_get_target:
* clutter_offscreen_effect_get_target: (skip)
* @effect: a #ClutterOffscreenEffect
*
* Retrieves the material used as a render target for the offscreen

View File

@ -31,7 +31,6 @@
#include <cogl/cogl.h>
#include <clutter/clutter-effect.h>
#include <clutter/clutter-cogl-compat.h>
G_BEGIN_DECLS

View File

@ -884,7 +884,7 @@ clutter_paint_node_add_texture_rectangle (ClutterPaintNode *node,
}
/**
* clutter_paint_node_add_path:
* clutter_paint_node_add_path: (skip)
* @node: a #ClutterPaintNode
* @path: a Cogl path
*
@ -912,7 +912,7 @@ clutter_paint_node_add_path (ClutterPaintNode *node,
}
/**
* clutter_paint_node_add_primitive:
* clutter_paint_node_add_primitive: (skip)
* @node: a #ClutterPaintNode
* @primitive: a Cogl primitive
*

View File

@ -66,14 +66,13 @@ void clutter_paint_node_add_texture_rectangle (Clutter
float y_1,
float x_2,
float y_2);
#if defined(COGL_ENABLE_EXPERIMENTAL_API) && defined(CLUTTER_ENABLE_EXPERIMENTAL_API)
CLUTTER_AVAILABLE_IN_1_10
void clutter_paint_node_add_path (ClutterPaintNode *node,
CoglPath *path);
CLUTTER_AVAILABLE_IN_1_10
void clutter_paint_node_add_primitive (ClutterPaintNode *node,
CoglPrimitive *primitive);
#endif /* COGL_ENABLE_EXPERIMENTAL_API && CLUTTER_ENABLE_EXPERIMENTAL_API */
/**
* CLUTTER_VALUE_HOLDS_PAINT_NODE:

View File

@ -511,7 +511,7 @@ clutter_pipeline_node_init (ClutterPipelineNode *self)
}
/**
* clutter_pipeline_node_new:
* clutter_pipeline_node_new: (skip)
* @pipeline: (allow-none): a Cogl pipeline state object, or %NULL
*
* Creates a new #ClutterPaintNode that will use the @pipeline to

View File

@ -118,10 +118,8 @@ typedef struct _ClutterPipelineNodeClass ClutterPipelineNodeClass;
CLUTTER_AVAILABLE_IN_1_10
GType clutter_pipeline_node_get_type (void) G_GNUC_CONST;
#if defined(COGL_ENABLE_EXPERIMENTAL_API) && defined(CLUTTER_ENABLE_EXPERIMENTAL_API)
CLUTTER_AVAILABLE_IN_1_10
ClutterPaintNode * clutter_pipeline_node_new (CoglPipeline *pipeline);
#endif /* COGL_ENABLE_EXPERIMENTAL_API && CLUTTER_ENABLE_EXPERIMENTAL_API */
#define CLUTTER_TYPE_TEXT_NODE (clutter_text_node_get_type ())
#define CLUTTER_TEXT_NODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_TEXT_NODE, ClutterTextNode))

View File

@ -50,17 +50,8 @@
/* sadly, we are still using ClutterShader internally */
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
/* This file depends on the glib enum types which aren't exposed
* by cogl.h when COGL_ENABLE_EXPERIMENTAL_2_0_API is defined.
*
* Undefining COGL_ENABLE_EXPERIMENTAL_2_0_API will still expose
* us experimental api but will also expose Cogl 1.x api too...
*/
#undef COGL_ENABLE_EXPERIMENTAL_2_0_API
#include <cogl/cogl.h>
#define CLUTTER_ENABLE_EXPERIMENTAL_API
#include "clutter-texture.h"
#include "clutter-actor-private.h"
@ -73,6 +64,7 @@
#include "clutter-private.h"
#include "clutter-scriptable.h"
#include "clutter-stage-private.h"
#include "clutter-backend.h"
#include "deprecated/clutter-shader.h"
#include "deprecated/clutter-texture.h"

View File

@ -250,12 +250,6 @@ AS_IF([test "x$enable_wayland_egl_server" = "xyes"],
AM_CONDITIONAL(SUPPORT_WAYLAND, [test "x$enable_wayland_egl_server" = "xyes"])
dnl Instead of using AM_CFLAGS to ensure
dnl COGL_ENABLE_EXPERIMENTAL_2_0_API is defined while compiling clutter
dnl and cogl code we use a define in config.h instead. This helps ensure
dnl other tools such as glib-mkenums and gir-scanner don't end up
dnl using the define also.
AC_DEFINE([COGL_ENABLE_EXPERIMENTAL_2_0_API], [1], [Can use Cogl 2.0 API internally])
AC_DEFINE_UNQUOTED([CLUTTER_DRIVERS], ["*"], [List of Cogl drivers])
dnl strip leading spaces

View File

@ -2,7 +2,6 @@
#include <gmodule.h>
#include <stdlib.h>
#undef COGL_ENABLE_EXPERIMENTAL_2_0_API
#include <cogl/cogl.h>
#include <clutter/clutter.h>

View File

@ -81,23 +81,7 @@ CoglPango_1_0_gir_SCANNERFLAGS = \
--c-include='cogl-pango/cogl-pango.h' \
--include-uninstalled=$(top_builddir)/cogl/Cogl-1.0.gir
CoglPango-2.0.gir: libmutter-cogl-pango.la Makefile
CoglPango_2_0_gir_NAMESPACE = CoglPango
CoglPango_2_0_gir_VERSION = 2.0
CoglPango_2_0_gir_LIBS = $(top_builddir)/cogl/libmutter-cogl.la libmutter-cogl-pango.la
CoglPango_2_0_gir_FILES = $(source_h) $(source_c)
CoglPango_2_0_gir_CFLAGS = $(AM_CPPFLAGS) $(COGL_DEP_CFLAGS) $(COGL_PANGO_DEP_CFLAGS)
CoglPango_2_0_gir_INCLUDES = Pango-1.0 PangoCairo-1.0
CoglPango_2_0_gir_EXPORT_PACKAGES = mutter-cogl-pango-2.0-experimental
CoglPango_2_0_gir_SCANNERFLAGS = \
--warn-all \
--identifier-prefix=CoglPango \
--symbol-prefix=cogl_pango \
--c-include='cogl-pango/cogl-pango.h' \
--include-uninstalled=$(top_builddir)/cogl/Cogl-2.0.gir
INTROSPECTION_GIRS += CoglPango-1.0.gir CoglPango-2.0.gir
INTROSPECTION_GIRS += CoglPango-1.0.gir
girdir = $(mutterlibdir)
gir_DATA = $(INTROSPECTION_GIRS)

View File

@ -174,7 +174,7 @@ PangoRenderer *
cogl_pango_font_map_get_renderer (CoglPangoFontMap *font_map);
/**
* cogl_pango_show_layout:
* cogl_pango_show_layout: (skip)
* @framebuffer: A #CoglFramebuffer to draw too.
* @layout: a #PangoLayout
* @x: X coordinate to render the layout at
@ -195,7 +195,7 @@ cogl_pango_show_layout (CoglFramebuffer *framebuffer,
const CoglColor *color);
/**
* cogl_pango_show_layout_line:
* cogl_pango_show_layout_line: (skip)
* @framebuffer: A #CoglFramebuffer to draw too.
* @line: a #PangoLayoutLine
* @x: X coordinate to render the line at

View File

@ -39,7 +39,6 @@ cogl_tesselator_sources = \
source_c = \
$(cogl_tesselator_sources) \
cogl-path-private.h \
cogl1-path.c \
cogl-path.c \
$(NULL)
@ -51,13 +50,12 @@ EXTRA_DIST += \
source_1_x_h = \
cogl-path-types.h \
cogl1-path-functions.h \
$(NULL)
source_h = \
cogl-path.h \
$(source_1_x_h) \
cogl2-path-functions.h \
cogl-path-functions.h \
$(NULL)
# glib-mkenums rules

View File

@ -32,8 +32,8 @@
#error "Only <cogl/cogl.h> can be included directly."
#endif
#ifndef __COGL2_PATH_FUNCTIONS_H__
#define __COGL2_PATH_FUNCTIONS_H__
#ifndef __COGL_PATH_FUNCTIONS_H__
#define __COGL_PATH_FUNCTIONS_H__
#include <cogl/cogl-types.h>
#ifdef COGL_COMPILATION
@ -41,20 +41,16 @@
#else
#include <cogl/cogl.h>
#endif
#ifdef COGL_HAS_GTYPE_SUPPORT
#include <glib-object.h>
#endif
COGL_BEGIN_DECLS
#ifdef COGL_HAS_GTYPE_SUPPORT
/**
* cogl_path_get_gtype:
*
* Returns: a #GType that can be used with the GLib type system.
*/
GType cogl_path_get_gtype (void);
#endif
#define cogl_path_new cogl2_path_new
/**
@ -541,5 +537,5 @@ cogl_clip_push_from_path (CoglPath *path);
COGL_END_DECLS
#endif /* __COGL2_PATH_FUNCTIONS_H__ */
#endif /* __COGL_PATH_FUNCTIONS_H__ */

View File

@ -57,12 +57,7 @@
#endif
#include <cogl-path/cogl-path-types.h>
#ifdef COGL_ENABLE_EXPERIMENTAL_2_0_API
#include <cogl-path/cogl2-path-functions.h>
#else
#include <cogl-path/cogl1-path-functions.h>
#endif
#include <cogl-path/cogl-path-functions.h>
#endif /* __COGL_PATH_H__ */

View File

@ -1,467 +0,0 @@
/*
* Cogl
*
* A Low Level GPU Graphics and Utilities API
*
* Copyright (C) 2008,2009,2012 Intel Corporation.
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use, copy,
* modify, merge, publish, distribute, sublicense, and/or sell copies
* of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
*
*/
#if !defined(__COGL_H_INSIDE__) && !defined(COGL_COMPILATION)
#error "Only <cogl/cogl.h> can be included directly."
#endif
#ifndef __COGL_PATH_FUNCTIONS_H__
#define __COGL_PATH_FUNCTIONS_H__
/* The functions are declared separately because cogl-path.c needs to
get the function declarations from the old 1.0 API without
colliding with the enum declarations from the 2.0 API */
#include <cogl/cogl-types.h>
COGL_BEGIN_DECLS
/**
* cogl_is_path:
* @handle: A CoglHandle
*
* Gets whether the given handle references an existing path object.
*
* Return value: %TRUE if the handle references a #CoglPath,
* %FALSE otherwise
*/
CoglBool
cogl_is_path (CoglHandle handle);
/**
* cogl_path_set_fill_rule:
* @fill_rule: The new fill rule.
*
* Sets the fill rule of the current path to @fill_rule. This will
* affect how the path is filled when cogl_path_fill() is later
* called. Note that the fill rule state is attached to the path so
* calling cogl_get_path() will preserve the fill rule and calling
* cogl_path_new() will reset the fill rule back to the default.
*
* Since: 1.4
*/
void
cogl_path_set_fill_rule (CoglPathFillRule fill_rule);
/**
* cogl_path_get_fill_rule:
*
* Retrieves the fill rule set using cogl_path_set_fill_rule().
*
* Return value: the fill rule that is used for the current path.
*
* Since: 1.4
*/
CoglPathFillRule
cogl_path_get_fill_rule (void);
/**
* cogl_path_fill:
*
* Fills the interior of the constructed shape using the current
* drawing color. The current path is then cleared. To use the path
* again, call cogl_path_fill_preserve() instead.
*
* The interior of the shape is determined using the fill rule of the
* path. See %CoglPathFillRule for details.
**/
void
cogl_path_fill (void);
/**
* cogl_path_fill_preserve:
*
* Fills the interior of the constructed shape using the current
* drawing color and preserves the path to be used again. See
* cogl_path_fill() for a description what is considered the interior
* of the shape.
*
* Since: 1.0
**/
void
cogl_path_fill_preserve (void);
/**
* cogl_path_stroke:
*
* Strokes the constructed shape using the current drawing color and a
* width of 1 pixel (regardless of the current transformation
* matrix). To current path is then cleared. To use the path again,
* call cogl_path_stroke_preserve() instead.
**/
void
cogl_path_stroke (void);
/**
* cogl_path_stroke_preserve:
*
* Strokes the constructed shape using the current drawing color and
* preserves the path to be used again.
*
* Since: 1.0
**/
void
cogl_path_stroke_preserve (void);
/**
* cogl_path_new:
*
* Clears the current path and starts a new one. Creating a new path
* also resets the fill rule to the default which is
* %COGL_PATH_FILL_RULE_EVEN_ODD.
*
* Since: 1.0
*/
void
cogl_path_new (void);
/**
* cogl_path_move_to:
* @x: X coordinate of the pen location to move to.
* @y: Y coordinate of the pen location to move to.
*
* Moves the pen to the given location. If there is an existing path
* this will start a new disjoint subpath.
**/
void
cogl_path_move_to (float x,
float y);
/**
* cogl_path_rel_move_to:
* @x: X offset from the current pen location to move the pen to.
* @y: Y offset from the current pen location to move the pen to.
*
* Moves the pen to the given offset relative to the current pen
* location. If there is an existing path this will start a new
* disjoint subpath.
**/
void
cogl_path_rel_move_to (float x,
float y);
/**
* cogl_path_line_to:
* @x: X coordinate of the end line vertex
* @y: Y coordinate of the end line vertex
*
* Adds a straight line segment to the current path that ends at the
* given coordinates.
**/
void
cogl_path_line_to (float x,
float y);
/**
* cogl_path_rel_line_to:
* @x: X offset from the current pen location of the end line vertex
* @y: Y offset from the current pen location of the end line vertex
*
* Adds a straight line segment to the current path that ends at the
* given coordinates relative to the current pen location.
**/
void
cogl_path_rel_line_to (float x,
float y);
/**
* cogl_path_arc:
* @center_x: X coordinate of the elliptical arc center
* @center_y: Y coordinate of the elliptical arc center
* @radius_x: X radius of the elliptical arc
* @radius_y: Y radius of the elliptical arc
* @angle_1: Angle in degrees at which the arc begin
* @angle_2: Angle in degrees at which the arc ends
*
* Adds an elliptical arc segment to the current path. A straight line
* segment will link the current pen location with the first vertex
* of the arc. If you perform a move_to to the arcs start just before
* drawing it you create a free standing arc.
*
* The angles are measured in degrees where 0° is in the direction of
* the positive X axis and 90° is in the direction of the positive Y
* axis. The angle of the arc begins at @angle_1 and heads towards
* @angle_2 (so if @angle_2 is less than @angle_1 it will decrease,
* otherwise it will increase).
**/
void
cogl_path_arc (float center_x,
float center_y,
float radius_x,
float radius_y,
float angle_1,
float angle_2);
/**
* cogl_path_curve_to:
* @x_1: X coordinate of the second bezier control point
* @y_1: Y coordinate of the second bezier control point
* @x_2: X coordinate of the third bezier control point
* @y_2: Y coordinate of the third bezier control point
* @x_3: X coordinate of the fourth bezier control point
* @y_3: Y coordinate of the fourth bezier control point
*
* Adds a cubic bezier curve segment to the current path with the given
* second, third and fourth control points and using current pen location
* as the first control point.
**/
void
cogl_path_curve_to (float x_1,
float y_1,
float x_2,
float y_2,
float x_3,
float y_3);
/**
* cogl_path_rel_curve_to:
* @x_1: X coordinate of the second bezier control point
* @y_1: Y coordinate of the second bezier control point
* @x_2: X coordinate of the third bezier control point
* @y_2: Y coordinate of the third bezier control point
* @x_3: X coordinate of the fourth bezier control point
* @y_3: Y coordinate of the fourth bezier control point
*
* Adds a cubic bezier curve segment to the current path with the given
* second, third and fourth control points and using current pen location
* as the first control point. The given coordinates are relative to the
* current pen location.
*/
void
cogl_path_rel_curve_to (float x_1,
float y_1,
float x_2,
float y_2,
float x_3,
float y_3);
/**
* cogl_path_close:
*
* Closes the path being constructed by adding a straight line segment
* to it that ends at the first vertex of the path.
**/
void
cogl_path_close (void);
/**
* cogl_path_line:
* @x_1: X coordinate of the start line vertex
* @y_1: Y coordinate of the start line vertex
* @x_2: X coordinate of the end line vertex
* @y_2: Y coordinate of the end line vertex
*
* Constructs a straight line shape starting and ending at the given
* coordinates. If there is an existing path this will start a new
* disjoint sub-path.
**/
void
cogl_path_line (float x_1,
float y_1,
float x_2,
float y_2);
/**
* cogl_path_polyline:
* @coords: (in) (array) (transfer none): A pointer to the first element of an
* array of fixed-point values that specify the vertex coordinates.
* @num_points: The total number of vertices.
*
* Constructs a series of straight line segments, starting from the
* first given vertex coordinate. If there is an existing path this
* will start a new disjoint sub-path. Each subsequent segment starts
* where the previous one ended and ends at the next given vertex
* coordinate.
*
* The coords array must contain 2 * num_points values. The first value
* represents the X coordinate of the first vertex, the second value
* represents the Y coordinate of the first vertex, continuing in the same
* fashion for the rest of the vertices. (num_points - 1) segments will
* be constructed.
**/
void
cogl_path_polyline (const float *coords,
int num_points);
/**
* cogl_path_polygon:
* @coords: (in) (array) (transfer none): A pointer to the first element of
* an array of fixed-point values that specify the vertex coordinates.
* @num_points: The total number of vertices.
*
* Constructs a polygonal shape of the given number of vertices. If
* there is an existing path this will start a new disjoint sub-path.
*
* The coords array must contain 2 * num_points values. The first value
* represents the X coordinate of the first vertex, the second value
* represents the Y coordinate of the first vertex, continuing in the same
* fashion for the rest of the vertices.
**/
void
cogl_path_polygon (const float *coords,
int num_points);
/**
* cogl_path_rectangle:
* @x_1: X coordinate of the top-left corner.
* @y_1: Y coordinate of the top-left corner.
* @x_2: X coordinate of the bottom-right corner.
* @y_2: Y coordinate of the bottom-right corner.
*
* Constructs a rectangular shape at the given coordinates. If there
* is an existing path this will start a new disjoint sub-path.
**/
void
cogl_path_rectangle (float x_1,
float y_1,
float x_2,
float y_2);
/**
* cogl_path_ellipse:
* @center_x: X coordinate of the ellipse center
* @center_y: Y coordinate of the ellipse center
* @radius_x: X radius of the ellipse
* @radius_y: Y radius of the ellipse
*
* Constructs an ellipse shape. If there is an existing path this will
* start a new disjoint sub-path.
**/
void
cogl_path_ellipse (float center_x,
float center_y,
float radius_x,
float radius_y);
/**
* cogl_path_round_rectangle:
* @x_1: X coordinate of the top-left corner.
* @y_1: Y coordinate of the top-left corner.
* @x_2: X coordinate of the bottom-right corner.
* @y_2: Y coordinate of the bottom-right corner.
* @radius: Radius of the corner arcs.
* @arc_step: Angle increment resolution for subdivision of
* the corner arcs.
*
* Constructs a rectangular shape with rounded corners. If there is an
* existing path this will start a new disjoint sub-path.
**/
void
cogl_path_round_rectangle (float x_1,
float y_1,
float x_2,
float y_2,
float radius,
float arc_step);
/**
* cogl_get_path: (skip)
*
* Gets a pointer to the current path. The path can later be used
* again by calling cogl_path_set(). Note that the path isn't copied
* so if you later call any functions to add to the path it will
* affect the returned object too. No reference is taken on the path
* so if you want to retain it you should take your own reference with
* cogl_object_ref().
*
* Return value: a pointer to the current path.
*
* Since: 1.4
*/
CoglPath *
cogl_get_path (void);
/**
* cogl_set_path: (skip)
* @path: A #CoglPath object
*
* Replaces the current path with @path. A reference is taken on the
* object so if you no longer need the path you should unref with
* cogl_object_unref().
*
* Since: 1.4
*/
void
cogl_set_path (CoglPath *path);
/**
* cogl_path_copy: (skip)
* @path: A #CoglPath object
*
* Returns a new copy of the path in @path. The new path has a
* reference count of 1 so you should unref it with
* cogl_object_unref() if you no longer need it.
*
* Internally the path will share the data until one of the paths is
* modified so copying paths should be relatively cheap.
*
* Return value: (transfer full): a copy of the path in @path.
*/
CoglPath *
cogl_path_copy (CoglPath *path);
/**
* cogl_clip_push_from_path_preserve:
*
* Sets a new clipping area using the current path. The current path
* is then cleared. The clipping area is intersected with the previous
* clipping area. To restore the previous clipping area, call
* cogl_clip_pop().
*
* Since: 1.0
* Deprecated: 1.16: Use cogl_framebuffer_push_path_clip() instead
*/
COGL_DEPRECATED_IN_1_16_FOR (cogl_framebuffer_push_path_clip)
void
cogl_clip_push_from_path_preserve (void);
/**
* cogl_clip_push_from_path:
*
* Sets a new clipping area using the current path. The current path
* is then cleared. The clipping area is intersected with the previous
* clipping area. To restore the previous clipping area, call
* cogl_clip_pop().
*
* Since: 1.0
* Deprecated: 1.16: Use cogl_framebuffer_push_path_clip() instead
*/
COGL_DEPRECATED_IN_1_16_FOR (cogl_framebuffer_push_path_clip)
void
cogl_clip_push_from_path (void);
COGL_END_DECLS
#endif /* __COGL_PATH_FUNCTIONS_H__ */

View File

@ -1,353 +0,0 @@
/*
* Cogl
*
* A Low Level GPU Graphics and Utilities API
*
* Copyright (C) 2010,2013 Intel Corporation.
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use, copy,
* modify, merge, publish, distribute, sublicense, and/or sell copies
* of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* Authors:
* Robert Bragg <robert@linux.intel.com>
*/
#ifdef HAVE_CONFIG_H
#include "cogl-config.h"
#endif
#include "cogl-util.h"
#include "cogl-object.h"
#include "cogl-context-private.h"
#include "cogl-path-types.h"
#include "cogl2-path-functions.h"
#undef cogl_path_set_fill_rule
#undef cogl_path_get_fill_rule
#undef cogl_path_fill
#undef cogl_path_fill_preserve
#undef cogl_path_stroke
#undef cogl_path_stroke_preserve
#undef cogl_path_move_to
#undef cogl_path_rel_move_to
#undef cogl_path_line_to
#undef cogl_path_rel_line_to
#undef cogl_path_close
#undef cogl_path_new
#undef cogl_path_line
#undef cogl_path_polyline
#undef cogl_path_polygon
#undef cogl_path_rectangle
#undef cogl_path_arc
#undef cogl_path_ellipse
#undef cogl_path_round_rectangle
#undef cogl_path_curve_to
#undef cogl_path_rel_curve_to
#undef cogl_clip_push_from_path
#include "cogl1-path-functions.h"
#include <string.h>
#include <math.h>
static void
ensure_current_path (CoglContext *ctx)
{
if (ctx->current_path == NULL)
ctx->current_path = cogl2_path_new ();
}
static CoglPath *
get_current_path (CoglContext *ctx)
{
ensure_current_path (ctx);
return ctx->current_path;
}
void
cogl_path_set_fill_rule (CoglPathFillRule fill_rule)
{
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
cogl2_path_set_fill_rule (get_current_path (ctx), fill_rule);
}
CoglPathFillRule
cogl_path_get_fill_rule (void)
{
_COGL_GET_CONTEXT (ctx, COGL_PATH_FILL_RULE_EVEN_ODD);
return cogl2_path_get_fill_rule (get_current_path (ctx));
}
void
cogl_path_fill (void)
{
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
cogl2_path_fill (get_current_path (ctx));
if (ctx->current_path)
cogl_object_unref (ctx->current_path);
ctx->current_path = cogl2_path_new ();
}
void
cogl_path_fill_preserve (void)
{
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
cogl2_path_fill (get_current_path (ctx));
}
void
cogl_path_stroke (void)
{
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
cogl2_path_stroke (get_current_path (ctx));
if (ctx->current_path)
cogl_object_unref (ctx->current_path);
ctx->current_path = cogl2_path_new ();
}
void
cogl_path_stroke_preserve (void)
{
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
cogl2_path_stroke (get_current_path (ctx));
}
void
cogl_path_move_to (float x,
float y)
{
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
cogl2_path_move_to (get_current_path (ctx), x, y);
}
void
cogl_path_rel_move_to (float x,
float y)
{
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
cogl2_path_rel_move_to (get_current_path (ctx), x, y);
}
void
cogl_path_line_to (float x,
float y)
{
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
cogl2_path_line_to (get_current_path (ctx), x, y);
}
void
cogl_path_rel_line_to (float x,
float y)
{
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
cogl2_path_rel_line_to (get_current_path (ctx), x, y);
}
void
cogl_path_close (void)
{
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
cogl2_path_close (get_current_path (ctx));
}
void
cogl_path_new (void)
{
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
if (ctx->current_path)
cogl_object_unref (ctx->current_path);
ctx->current_path = cogl2_path_new ();
}
void
cogl_path_line (float x_1,
float y_1,
float x_2,
float y_2)
{
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
cogl2_path_line (get_current_path (ctx), x_1, y_1, x_2, y_2);
}
void
cogl_path_polyline (const float *coords,
int num_points)
{
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
cogl2_path_polyline (get_current_path (ctx), coords, num_points);
}
void
cogl_path_polygon (const float *coords,
int num_points)
{
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
cogl2_path_polygon (get_current_path (ctx), coords, num_points);
}
void
cogl_path_rectangle (float x_1,
float y_1,
float x_2,
float y_2)
{
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
cogl2_path_rectangle (get_current_path (ctx), x_1, y_1, x_2, y_2);
}
void
cogl_path_arc (float center_x,
float center_y,
float radius_x,
float radius_y,
float angle_1,
float angle_2)
{
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
cogl2_path_arc (get_current_path (ctx),
center_x,
center_y,
radius_x,
radius_y,
angle_1,
angle_2);
}
void
cogl_path_ellipse (float center_x,
float center_y,
float radius_x,
float radius_y)
{
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
cogl2_path_ellipse (get_current_path (ctx),
center_x,
center_y,
radius_x,
radius_y);
}
void
cogl_path_round_rectangle (float x_1,
float y_1,
float x_2,
float y_2,
float radius,
float arc_step)
{
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
cogl2_path_round_rectangle (get_current_path (ctx),
x_1, y_1, x_2, y_2, radius, arc_step);
}
void
cogl_path_curve_to (float x_1,
float y_1,
float x_2,
float y_2,
float x_3,
float y_3)
{
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
cogl2_path_curve_to (get_current_path (ctx),
x_1, y_1, x_2, y_2, x_3, y_3);
}
void
cogl_path_rel_curve_to (float x_1,
float y_1,
float x_2,
float y_2,
float x_3,
float y_3)
{
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
cogl2_path_rel_curve_to (get_current_path (ctx),
x_1, y_1, x_2, y_2, x_3, y_3);
}
CoglPath *
cogl_get_path (void)
{
_COGL_GET_CONTEXT (ctx, NULL);
return get_current_path (ctx);
}
void
cogl_set_path (CoglPath *path)
{
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
_COGL_RETURN_IF_FAIL (cogl_is_path (path));
/* Reference the new object first in case it is the same as the old
object */
cogl_object_ref (path);
if (ctx->current_path)
cogl_object_unref (ctx->current_path);
ctx->current_path = path;
}
void
cogl_clip_push_from_path_preserve (void)
{
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
cogl_framebuffer_push_path_clip (cogl_get_draw_framebuffer (),
get_current_path (ctx));
}
void
cogl_clip_push_from_path (void)
{
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
cogl_clip_push_from_path_preserve ();
if (ctx->current_path)
cogl_object_unref (ctx->current_path);
ctx->current_path = cogl2_path_new ();
}

View File

@ -54,10 +54,13 @@ cogl_deprecated_h = \
deprecated/cogl-shader.h \
deprecated/cogl-clutter.h \
deprecated/cogl-type-casts.h \
deprecated/cogl-framebuffer-deprecated.h \
deprecated/cogl-auto-texture.h \
$(NULL)
cogl_deprecated_nonintrospected_h = \
deprecated/cogl-framebuffer-deprecated.h \
$(NULL)
# public 1.x api headers
cogl_1_public_h = \
$(cogl_deprecated_h) \
@ -72,9 +75,7 @@ cogl_1_public_h = \
cogl.h \
$(NULL)
# experimental 2.0 api headers
# Note: we don't run glib-mkenums over these headers
cogl_experimental_h = \
cogl_nonintrospected_h = \
cogl-object.h \
cogl-renderer.h \
cogl-swap-chain.h \
@ -113,14 +114,10 @@ cogl_experimental_h = \
cogl-depth-state.h \
cogl-buffer.h \
cogl-pixel-buffer.h \
cogl2-experimental.h \
cogl-macros.h \
cogl-fence.h \
cogl-version.h \
cogl-error.h \
$(NULL)
cogl_additional_experimental_h = \
cogl-bitmap.h \
cogl-color.h \
cogl-matrix.h \
@ -129,7 +126,7 @@ cogl_additional_experimental_h = \
cogl-gtype-private.h \
$(NULL)
cogl_nodist_experimental_h = \
cogl_nodist_h = \
$(NULL)
# nop driver
@ -392,14 +389,14 @@ cogl_sources_c = \
deprecated/cogl-framebuffer-deprecated.c \
$(NULL)
cogl_experimental_h += cogl-glib-source.h
cogl_nonintrospected_h += cogl-glib-source.h
cogl_sources_c += cogl-glib-source.c
if SUPPORT_XLIB
cogl_deprecated_h += deprecated/cogl-clutter-xlib.h
cogl_deprecated_nonintrospected_h += deprecated/cogl-clutter-xlib.h
cogl_1_public_h += cogl-xlib-renderer.h
cogl_experimental_h += \
cogl_nonintrospected_h += \
winsys/cogl-texture-pixmap-x11.h \
cogl-xlib.h
@ -413,7 +410,7 @@ cogl_sources_c += \
winsys/cogl-texture-pixmap-x11-private.h
endif
if SUPPORT_GLX
cogl_experimental_h += cogl-glx.h
cogl_nonintrospected_h += cogl-glx.h
cogl_sources_c += \
cogl-glx-renderer-private.h \
cogl-glx-display-private.h \
@ -422,7 +419,7 @@ cogl_sources_c += \
winsys/cogl-winsys-glx.c
endif
if SUPPORT_WAYLAND_EGL_SERVER
cogl_experimental_h += cogl-wayland-server.h
cogl_nonintrospected_h += cogl-wayland-server.h
endif
if SUPPORT_EGL_PLATFORM_XLIB
cogl_sources_c += \
@ -430,8 +427,8 @@ cogl_sources_c += \
winsys/cogl-winsys-egl-x11-private.h
endif
if SUPPORT_EGL
cogl_experimental_h += cogl-egl.h
cogl_nodist_experimental_h += cogl-egl-defines.h
cogl_nonintrospected_h += cogl-egl.h
cogl_nodist_h += cogl-egl-defines.h
cogl_sources_c += \
cogl-egl-private.h \
@ -440,12 +437,6 @@ cogl_sources_c += \
winsys/cogl-winsys-egl-private.h
endif
# glib-mkenums rules
glib_enum_h = cogl-enum-types.h
glib_enum_c = cogl-enum-types.c
glib_enum_headers = $(cogl_1_public_h)
include $(top_srcdir)/build/autotools/Makefile.am.enums
mutterlibdir = $(libdir)/mutter
mutterlib_LTLIBRARIES = libmutter-cogl.la
@ -474,11 +465,11 @@ cogl_headers = \
cogl_base_includedir = $(includedir)/mutter
cogldeprecatedincludedir = $(cogl_base_includedir)/cogl/cogl/deprecated
cogldeprecatedinclude_HEADERS = $(cogl_deprecated_h)
cogldeprecatedinclude_HEADERS = $(cogl_deprecated_h) $(cogl_deprecated_nonintrospected_h)
coglincludedir = $(cogl_base_includedir)/cogl/cogl
coglinclude_HEADERS = $(cogl_headers) $(cogl_experimental_h)
nodist_coglinclude_HEADERS = $(cogl_nodist_experimental_h) cogl-defines.h cogl-enum-types.h
coglinclude_HEADERS = $(cogl_headers) $(cogl_nonintrospected_h)
nodist_coglinclude_HEADERS = $(cogl_nodist_h) cogl-defines.h
cogl_proto_includedir = $(cogl_base_includedir)/cogl/cogl/gl-prototypes
cogl_proto_include_HEADERS = $(cogl_gl_prototypes_h)
@ -499,29 +490,14 @@ Cogl_1_0_gir_LIBS = libmutter-cogl.la
if UNIT_TESTS
Cogl_1_0_gir_LIBS += $(top_builddir)/test-fixtures/libtest-fixtures.la
endif
Cogl_1_0_gir_FILES = $(cogl_1_public_h) cogl-enum-types.h
Cogl_1_0_gir_FILES = $(cogl_1_public_h)
Cogl-2.0.gir: libmutter-cogl.la Makefile
Cogl_2_0_gir_NAMESPACE = Cogl
Cogl_2_0_gir_VERSION = 2.0
Cogl_2_0_gir_LIBS = libmutter-cogl.la
if UNIT_TESTS
Cogl_2_0_gir_LIBS += $(top_builddir)/test-fixtures/libtest-fixtures.la
endif
Cogl_2_0_gir_FILES = $(cogl_experimental_h) $(cogl_additional_experimental_h) cogl-enum-types.h
Cogl_1_0_gir_CFLAGS = $(AM_CPPFLAGS) $(COGL_DEP_CFLAGS) -UCOGL_ENABLE_EXPERIMENTAL_API -UCOGL_ENABLE_EXPERIMENTAL_2_0_API -UCOGL_COMPILATION -D__COGL_H_INSIDE__ -D__COGL_XLIB_H_INSIDE__ -D__COGL_EGL_H_INSIDE__ -D__COGL_GLX_H_INSIDE__ -DCOGL_GIR_SCANNING
Cogl_1_0_gir_CFLAGS = $(AM_CPPFLAGS) $(COGL_DEP_CFLAGS) -UCOGL_COMPILATION -D__COGL_H_INSIDE__ -D__COGL_XLIB_H_INSIDE__ -D__COGL_EGL_H_INSIDE__ -D__COGL_GLX_H_INSIDE__ -DCOGL_GIR_SCANNING
Cogl_1_0_gir_INCLUDES = GL-1.0 GObject-2.0
Cogl_1_0_gir_EXPORT_PACKAGES = mutter-cogl-1.0
Cogl_1_0_gir_SCANNERFLAGS = --warn-all --c-include='cogl/cogl.h'
Cogl_2_0_gir_CFLAGS = $(AM_CPPFLAGS) $(COGL_DEP_CFLAGS) -DCOGL_ENABLE_EXPERIMENTAL_API=1 -UCOGL_COMPILATION -D__COGL_H_INSIDE__ -D__COGL_XLIB_H_INSIDE__ -DCOGL_GIR_SCANNING
Cogl_2_0_gir_INCLUDES = GL-1.0 GObject-2.0
Cogl_2_0_gir_EXPORT_PACKAGES = mutter-cogl-2.0-experimental
Cogl_2_0_gir_SCANNERFLAGS = --warn-all --c-include='cogl/cogl.h' --symbol-prefix=cogl --symbol-prefix=cogl2
INTROSPECTION_GIRS += Cogl-1.0.gir Cogl-2.0.gir
INTROSPECTION_GIRS += Cogl-1.0.gir
girdir = $(mutterlibdir)
gir_DATA = $(INTROSPECTION_GIRS)

View File

@ -87,10 +87,8 @@ CoglBitmap *
cogl_bitmap_new_from_file (const char *filename,
CoglError **error);
#if defined (COGL_ENABLE_EXPERIMENTAL_API)
/**
* cogl_bitmap_new_from_buffer:
* cogl_bitmap_new_from_buffer: (skip)
* @buffer: A #CoglBuffer containing image data
* @format: The #CoglPixelFormat defining the format of the image data
* in the given @buffer.
@ -117,7 +115,7 @@ cogl_bitmap_new_from_buffer (CoglBuffer *buffer,
int offset);
/**
* cogl_bitmap_new_with_size:
* cogl_bitmap_new_with_size: (skip)
* @context: A #CoglContext
* @width: width of the bitmap in pixels
* @height: height of the bitmap in pixels
@ -152,7 +150,7 @@ cogl_bitmap_new_with_size (CoglContext *context,
CoglPixelFormat format);
/**
* cogl_bitmap_new_for_data:
* cogl_bitmap_new_for_data: (skip)
* @context: A #CoglContext
* @width: The width of the bitmap.
* @height: The height of the bitmap.
@ -226,7 +224,7 @@ int
cogl_bitmap_get_rowstride (CoglBitmap *bitmap);
/**
* cogl_bitmap_get_buffer:
* cogl_bitmap_get_buffer: (skip)
* @bitmap: A #CoglBitmap
*
* Return value: (transfer none): the #CoglPixelBuffer that this
@ -239,8 +237,6 @@ cogl_bitmap_get_rowstride (CoglBitmap *bitmap);
CoglPixelBuffer *
cogl_bitmap_get_buffer (CoglBitmap *bitmap);
#endif /* COGL_ENABLE_EXPERIMENTAL_API */
/**
* cogl_bitmap_get_size_from_file:
* @filename: the file to check

View File

@ -94,8 +94,6 @@ COGL_BEGIN_DECLS
* context.</para></note>
*/
#ifdef COGL_ENABLE_EXPERIMENTAL_API
#define COGL_CONTEXT(OBJECT) ((CoglContext *)OBJECT)
#ifdef COGL_HAS_GTYPE_SUPPORT
@ -175,8 +173,6 @@ cogl_context_get_renderer (CoglContext *context);
CoglBool
cogl_is_context (void *object);
#endif /* COGL_ENABLE_EXPERIMENTAL_2_0_API */
/* XXX: not guarded by the EXPERIMENTAL_API defines to avoid
* upsetting glib-mkenums, but this can still be considered implicitly
* experimental since it's only useable with experimental API... */
@ -276,8 +272,6 @@ typedef enum _CoglFeatureID
} CoglFeatureID;
#ifdef COGL_ENABLE_EXPERIMENTAL_API
/**
* cogl_has_feature:
* @context: A #CoglContext pointer
@ -415,8 +409,6 @@ typedef enum _CoglGraphicsResetStatus
CoglGraphicsResetStatus
cogl_get_graphics_reset_status (CoglContext *context);
#endif /* COGL_ENABLE_EXPERIMENTAL_API */
COGL_END_DECLS
#endif /* __COGL_CONTEXT_H__ */

View File

@ -1,50 +0,0 @@
/*** BEGIN file-header ***/
#ifdef HAVE_CONFIG_H
#include "cogl-config.h"
#endif
/* We need to undefine this so that we will be sure to include
* cogl-path.h instead of cogl2-path.h when we include the framebuffer
* header. Otherwise it will include both headers and it won't
* compile. */
#undef COGL_ENABLE_EXPERIMENTAL_2_0_API
#include "cogl-enum-types.h"
/*** END file-header ***/
/*** BEGIN file-production ***/
/* enumerations from "@filename@" */
#include "@filename@"
/*** END file-production ***/
/*** BEGIN value-header ***/
GType
@enum_name@_get_type (void)
{
static volatile gsize g_enum_type_id__volatile = 0;
if (g_once_init_enter (&g_enum_type_id__volatile))
{
static const G@Type@Value values[] = {
/*** END value-header ***/
/*** BEGIN value-production ***/
{ @VALUENAME@, "@VALUENAME@", "@valuenick@" },
/*** END value-production ***/
/*** BEGIN value-tail ***/
{ 0, NULL, NULL }
};
GType g_enum_type_id;
g_enum_type_id =
g_@type@_register_static (g_intern_static_string ("@EnumName@"), values);
g_once_init_leave (&g_enum_type_id__volatile, g_enum_type_id);
}
return g_enum_type_id__volatile;
}
/*** END value-tail ***/

View File

@ -1,25 +0,0 @@
/*** BEGIN file-header ***/
#ifndef __COGL_ENUM_TYPES_H__
#define __COGL_ENUM_TYPES_H__
#include <glib-object.h>
G_BEGIN_DECLS
/*** END file-header ***/
/*** BEGIN file-production ***/
/* enumerations from "@filename@" */
/*** END file-production ***/
/*** BEGIN file-tail ***/
G_END_DECLS
#endif /* __COGL_ENUM_TYPES_H__ */
/*** END file-tail ***/
/*** BEGIN value-header ***/
GType @enum_name@_get_type (void) G_GNUC_CONST;
#define COGL_TYPE_@ENUMSHORT@ (@enum_name@_get_type())
/*** END value-header ***/

View File

@ -50,11 +50,9 @@ typedef struct _CoglFramebuffer CoglFramebuffer;
#include <cogl/cogl-pipeline.h>
#include <cogl/cogl-indices.h>
#include <cogl/cogl-bitmap.h>
#ifdef COGL_ENABLE_EXPERIMENTAL_API
#include <cogl/cogl-quaternion.h>
#include <cogl/cogl-euler.h>
#include <cogl/cogl-texture.h>
#endif
#ifdef COGL_HAS_GTYPE_SUPPORT
#include <glib-object.h>
#endif
@ -99,16 +97,12 @@ COGL_BEGIN_DECLS
* configuration.
*/
#ifdef COGL_ENABLE_EXPERIMENTAL_API
#ifdef COGL_HAS_GTYPE_SUPPORT
/**
* cogl_framebuffer_get_gtype:
*
* Returns: a #GType that can be used with the GLib type system.
*/
GType cogl_framebuffer_get_gtype (void);
#endif
/**
* cogl_framebuffer_allocate:
@ -368,8 +362,6 @@ cogl_framebuffer_rotate (CoglFramebuffer *framebuffer,
float y,
float z);
#ifdef COGL_ENABLE_EXPERIMENTAL_API
/**
* cogl_framebuffer_rotate_quaternion:
* @framebuffer: A #CoglFramebuffer pointer
@ -400,8 +392,6 @@ void
cogl_framebuffer_rotate_euler (CoglFramebuffer *framebuffer,
const CoglEuler *euler);
#endif /* COGL_ENABLE_EXPERIMENTAL_API */
/**
* cogl_framebuffer_transform:
* @framebuffer: A #CoglFramebuffer pointer
@ -1828,11 +1818,6 @@ cogl_framebuffer_read_pixels (CoglFramebuffer *framebuffer,
CoglFramebuffer *
cogl_get_draw_framebuffer (void);
#endif /* COGL_ENABLE_EXPERIMENTAL_API */
/* XXX: Note these are defined outside the COGL_ENABLE_EXPERIMENTAL_API guard since
* otherwise the glib-mkenums stuff will get upset. */
uint32_t
cogl_framebuffer_error_quark (void);

View File

@ -43,9 +43,7 @@
#include <cogl/cogl-types.h>
#include <cogl/cogl-macros.h>
#ifdef COGL_ENABLE_EXPERIMENTAL_API
#include <cogl/cogl-quaternion.h>
#endif
#ifdef COGL_HAS_GTYPE_SUPPORT
#include <glib-object.h>
#endif
@ -202,7 +200,6 @@ cogl_matrix_rotate (CoglMatrix *matrix,
float y,
float z);
#ifdef COGL_ENABLE_EXPERIMENTAL_API
/**
* cogl_matrix_rotate_quaternion:
* @matrix: A 4x4 transformation matrix
@ -230,7 +227,6 @@ cogl_matrix_rotate_quaternion (CoglMatrix *matrix,
void
cogl_matrix_rotate_euler (CoglMatrix *matrix,
const CoglEuler *euler);
#endif
/**
* cogl_matrix_translate:
@ -367,7 +363,6 @@ cogl_matrix_perspective (CoglMatrix *matrix,
float z_near,
float z_far);
#ifdef COGL_ENABLE_EXPERIMENTAL_API
/**
* cogl_matrix_orthographic:
* @matrix: A 4x4 transformation matrix
@ -395,7 +390,6 @@ cogl_matrix_orthographic (CoglMatrix *matrix,
float y_2,
float near,
float far);
#endif
/**
* cogl_matrix_ortho:
@ -425,7 +419,6 @@ cogl_matrix_ortho (CoglMatrix *matrix,
float near,
float far);
#ifdef COGL_ENABLE_EXPERIMENTAL_API
/**
* cogl_matrix_view_2d_in_frustum:
* @matrix: A 4x4 transformation matrix
@ -504,8 +497,6 @@ cogl_matrix_view_2d_in_perspective (CoglMatrix *matrix,
float width_2d,
float height_2d);
#endif
/**
* cogl_matrix_init_from_array:
* @matrix: A 4x4 transformation matrix
@ -528,7 +519,6 @@ cogl_matrix_init_from_array (CoglMatrix *matrix,
const float *
cogl_matrix_get_array (const CoglMatrix *matrix);
#ifdef COGL_ENABLE_EXPERIMENTAL_API
/**
* cogl_matrix_init_from_quaternion:
* @matrix: A 4x4 transformation matrix
@ -550,7 +540,6 @@ cogl_matrix_init_from_quaternion (CoglMatrix *matrix,
void
cogl_matrix_init_from_euler (CoglMatrix *matrix,
const CoglEuler *euler);
#endif
/**
* cogl_matrix_equal:
@ -640,7 +629,6 @@ cogl_matrix_transform_point (const CoglMatrix *matrix,
float *z,
float *w);
#ifdef COGL_ENABLE_EXPERIMENTAL_API
/**
* cogl_matrix_transform_points:
* @matrix: A transformation matrix
@ -754,8 +742,6 @@ cogl_matrix_project_points (const CoglMatrix *matrix,
void *points_out,
int n_points);
#endif /* COGL_ENABLE_EXPERIMENTAL_API */
/**
* cogl_matrix_is_identity:
* @matrix: A #CoglMatrix

View File

@ -207,8 +207,6 @@ void *
cogl_object_get_user_data (CoglObject *object,
CoglUserDataKey *key);
#ifdef COGL_ENABLE_EXPERIMENTAL_API
/**
* cogl_debug_object_foreach_type:
* @func: (scope call): A callback function for each type
@ -240,8 +238,6 @@ cogl_debug_object_foreach_type (CoglDebugObjectForeachTypeCallback func,
void
cogl_debug_object_print_instances (void);
#endif /* COGL_ENABLE_EXPERIMENTAL_API */
COGL_END_DECLS
#endif /* __COGL_OBJECT_H */

View File

@ -30,11 +30,7 @@
#ifndef __COGL_PANGO_H_COMPAT__
#define __COGL_PANGO_H_COMPAT__
#ifdef COGL_ENABLE_EXPERIMENTAL_2_0_API
#error "#include <cogl/cogl-pango.h> is unsupported; please #include <cogl-pango/cogl-pango.h>"
#else
#warning "#include <cogl/cogl-pango.h> is deprecated; please #include <cogl-pango/cogl-pango.h>"
#include <cogl-pango/cogl-pango.h>
#endif
#endif /* __COGL_PANGO_H_COMPAT__ */

View File

@ -42,8 +42,6 @@
COGL_BEGIN_DECLS
#ifdef COGL_ENABLE_EXPERIMENTAL_API
/**
* CoglPipelineFilter:
* @COGL_PIPELINE_FILTER_NEAREST: Measuring in manhatten distance from the,
@ -613,8 +611,6 @@ cogl_pipeline_add_layer_snippet (CoglPipeline *pipeline,
int layer,
CoglSnippet *snippet);
#endif /* COGL_ENABLE_EXPERIMENTAL_API */
COGL_END_DECLS
#endif /* __COGL_PIPELINE_LAYER_STATE_H__ */

View File

@ -41,8 +41,6 @@
COGL_BEGIN_DECLS
#ifdef COGL_ENABLE_EXPERIMENTAL_API
/**
* cogl_pipeline_set_color:
* @pipeline: A #CoglPipeline object
@ -973,8 +971,6 @@ void
cogl_pipeline_add_snippet (CoglPipeline *pipeline,
CoglSnippet *snippet);
#endif /* COGL_ENABLE_EXPERIMENTAL_API */
COGL_END_DECLS
#endif /* __COGL_PIPELINE_STATE_H__ */

View File

@ -50,8 +50,6 @@ typedef struct _CoglPipeline CoglPipeline;
COGL_BEGIN_DECLS
#ifdef COGL_ENABLE_EXPERIMENTAL_API
/**
* SECTION:cogl-pipeline
* @short_description: Functions for creating and manipulating the GPU
@ -186,9 +184,6 @@ int
cogl_pipeline_get_uniform_location (CoglPipeline *pipeline,
const char *uniform_name);
#endif /* COGL_ENABLE_EXPERIMENTAL_API */
COGL_END_DECLS
#endif /* __COGL_PIPELINE_H__ */

View File

@ -54,6 +54,10 @@ COGL_BEGIN_DECLS
#define COGL_PIXEL_BUFFER(buffer) ((CoglPixelBuffer *)(buffer))
/**
* CoglPixelBuffer: (skip)
*/
#ifdef COGL_HAS_GTYPE_SUPPORT
/**
* cogl_pixel_buffer_get_gtype:

View File

@ -51,9 +51,7 @@ typedef struct _CoglTexture CoglTexture;
#include <cogl/cogl-types.h>
#include <cogl/cogl-macros.h>
#include <cogl/cogl-defines.h>
#if defined (COGL_ENABLE_EXPERIMENTAL_API)
#include <cogl/cogl-pixel-buffer.h>
#endif
#include <cogl/cogl-bitmap.h>
#ifdef COGL_HAS_GTYPE_SUPPORT
@ -399,8 +397,6 @@ cogl_texture_set_region (CoglTexture *texture,
unsigned int rowstride,
const uint8_t *data);
#if defined (COGL_ENABLE_EXPERIMENTAL_API)
/**
* cogl_texture_set_data:
* @texture a #CoglTexture.
@ -495,7 +491,6 @@ cogl_texture_set_region_from_bitmap (CoglTexture *texture,
unsigned int dst_width,
unsigned int dst_height,
CoglBitmap *bitmap);
#endif
/**
* cogl_texture_allocate:

View File

@ -147,7 +147,7 @@ cogl_xlib_renderer_set_foreign_display (CoglRenderer *renderer,
Display *display);
/**
* cogl_xlib_renderer_set_event_retrieval_enabled:
* cogl_xlib_renderer_set_event_retrieval_enabled: (skip)
* @renderer: a #CoglRenderer
* @enable: The new value
*

View File

@ -42,12 +42,6 @@
#define __COGL_MUST_UNDEF_COGL_H_INSIDE__
#endif
#ifdef COGL_ENABLE_EXPERIMENTAL_2_0_API
#ifndef COGL_ENABLE_EXPERIMENTAL_API
#define COGL_ENABLE_EXPERIMENTAL_API
#endif
#endif
/* We currently keep gtype integration delimited in case we eventually
* want to split it out into a separate utility library when Cogl
* becomes a standalone project. (like cairo-gobject.so)
@ -78,10 +72,10 @@
/*
* 1.x only api...
*/
#if 0
#ifndef COGL_ENABLE_EXPERIMENTAL_2_0_API
#include <cogl/cogl-enum-types.h>
#include <cogl/deprecated/cogl-vertex-buffer.h>
#include <cogl/deprecated/cogl-material-compat.h>
#warning
#endif
#endif
/* It would be good to move these casts up into 1.x only api if we can
@ -92,15 +86,13 @@
#include <cogl/deprecated/cogl-framebuffer-deprecated.h>
#include <cogl/deprecated/cogl-auto-texture.h>
#include <cogl/deprecated/cogl-shader.h>
#include <cogl/deprecated/cogl-material-compat.h>
#include <cogl/deprecated/cogl-vertex-buffer.h>
#ifdef COGL_ENABLE_MUTTER_API
#include <cogl/cogl-mutter.h>
#endif
/*
* 2.0 api that's compatible with the 1.x api...
*/
#if defined (COGL_ENABLE_EXPERIMENTAL_API)
#include <cogl/cogl-swap-chain.h>
#include <cogl/cogl-renderer.h>
#include <cogl/cogl-output.h>
@ -135,13 +127,10 @@
#include <cogl/cogl-frame-info.h>
#include <cogl/cogl-poll.h>
#include <cogl/cogl-fence.h>
#ifdef COGL_HAS_GLIB_SUPPORT
#include <cogl/cogl-glib-source.h>
#endif
/* XXX: This will definitly go away once all the Clutter winsys
* code has been migrated down into Cogl! */
#include <cogl/deprecated/cogl-clutter.h>
#endif
/*
* API deprecations

View File

@ -1,37 +0,0 @@
/*
* Cogl
*
* A Low Level GPU Graphics and Utilities API
*
* Copyright (C) 2011 Intel Corporation.
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use, copy,
* modify, merge, publish, distribute, sublicense, and/or sell copies
* of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
*
*/
#ifndef __COGL2_EXPERIMENTAL_H__
#define __COGL2_EXPERIMENTAL_H__
#define COGL_ENABLE_EXPERIMENTAL_2_0_API
#include <cogl/cogl.h>
#endif /* __COGL2_EXPERIMENTAL_H__ */

View File

@ -33,6 +33,8 @@
COGL_BEGIN_DECLS
#include <cogl/cogl-texture.h>
/**
* cogl_texture_new_with_size:
* @width: width of texture in pixels.

View File

@ -31,12 +31,13 @@
#ifndef __COGL_FRAMEBUFFER_DEPRECATED_H__
#define __COGL_FRAMEBUFFER_DEPRECATED_H__
#include <cogl/cogl-framebuffer.h>
#include <cogl/cogl-macros.h>
COGL_BEGIN_DECLS
/**
* cogl_set_framebuffer:
* cogl_set_framebuffer: (skip)
* @buffer: A #CoglFramebuffer object, either onscreen or offscreen.
*
* This redirects all subsequent drawing to the specified framebuffer. This can
@ -53,7 +54,7 @@ void
cogl_set_framebuffer (CoglFramebuffer *buffer);
/**
* cogl_push_framebuffer:
* cogl_push_framebuffer: (skip)
* @buffer: A #CoglFramebuffer object, either onscreen or offscreen.
*
* Redirects all subsequent drawing to the specified framebuffer. This can
@ -138,7 +139,7 @@ void
cogl_push_framebuffer (CoglFramebuffer *buffer);
/**
* cogl_pop_framebuffer:
* cogl_pop_framebuffer: (skip)
*
* Restores the framebuffer that was previously at the top of the stack.
* All subsequent drawing will be redirected to this framebuffer.
@ -237,7 +238,7 @@ cogl_read_pixels (int x,
/* XXX: Since this api was marked unstable, maybe we can just
* remove this api if we can't find anyone is using it. */
/**
* cogl_framebuffer_get_color_format:
* cogl_framebuffer_get_color_format: (skip)
* @framebuffer: A #CoglFramebuffer framebuffer
*
* Queries the common #CoglPixelFormat of all color buffers attached

View File

@ -1306,8 +1306,6 @@ COGL_DEPRECATED_IN_1_16_FOR (cogl_pipeline_layer_get_wrap_mode_p)
CoglMaterialWrapMode
cogl_material_layer_get_wrap_mode_p (CoglMaterialLayer *layer);
#ifdef COGL_ENABLE_EXPERIMENTAL_API
/**
* cogl_material_set_depth_state:
* @material: A #CoglMaterial object
@ -1388,8 +1386,6 @@ cogl_material_foreach_layer (CoglMaterial *material,
CoglMaterialLayerCallback callback,
void *user_data);
#endif /* COGL_ENABLE_EXPERIMENTAL_API */
G_END_DECLS
#endif /* __COGL_MATERIAL_H__ */

View File

@ -56,8 +56,6 @@
COGL_BEGIN_DECLS
#ifdef COGL_ENABLE_EXPERIMENTAL_API
/**
* SECTION:cogl-texture-pixmap-x11
* @short_description: Functions for creating and manipulating 2D meta
@ -274,8 +272,6 @@ cogl_texture_pixmap_x11_set_damage_object (CoglTexturePixmapX11 *texture,
CoglBool
cogl_is_texture_pixmap_x11 (void *object);
#endif /* COGL_ENABLE_EXPERIMENTAL_API */
COGL_END_DECLS
/* The gobject introspection scanner seems to parse public headers in

View File

@ -930,11 +930,6 @@ done;
AC_SUBST(COGL_GL_HEADER_INCLUDES)
AM_SUBST_NOTMAKE(COGL_GL_HEADER_INCLUDES)
AC_DEFINE([COGL_ENABLE_EXPERIMENTAL_2_0_API], [1],
[Can use Cogl 2.0 API internally])
AC_DEFINE([COGL_ENABLE_EXPERIMENTAL_API], [1],
[Can use experimental API internally])
AC_SUBST(COGL_DEP_CFLAGS)
AC_SUBST(COGL_DEP_LIBS)
AC_SUBST(COGL_PANGO_DEP_CFLAGS)
@ -1019,17 +1014,3 @@ echo " Build introspection data: ${enable_introspection}"
echo " Build unit tests: ${enable_unit_tests}"
echo ""
# General warning about experimental features
if test "x$EXPERIMENTAL_CONFIG" = "xyes"; then
echo ""
echo "☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠"
echo " *WARNING*"
echo ""
echo " The stability of your build might be affected by one or more"
echo " experimental configuration options."
echo
echo " experimental options: $EXPERIMENTAL_OPTIONS"
echo "☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠"
echo ""
fi

View File

@ -1,9 +1,5 @@
#include <cogl/cogl.h>
/* These will be redefined in config.h */
#undef COGL_ENABLE_EXPERIMENTAL_2_0_API
#undef COGL_ENABLE_EXPERIMENTAL_API
#include "test-utils.h"
#include "cogl-config.h"

View File

@ -1,4 +1,3 @@
#define COGL_ENABLE_EXPERIMENTAL_2_0_API
#include <cogl/cogl.h>
#include <cogl-path/cogl-path.h>

View File

@ -1,4 +1,3 @@
#define COGL_ENABLE_EXPERIMENTAL_2_0_API
#include <cogl/cogl.h>
#include <cogl-path/cogl-path.h>

View File

@ -1,4 +1,4 @@
#include <cogl/cogl2-experimental.h>
#include <cogl/cogl.h>
#include "test-utils.h"

View File

@ -1,4 +1,4 @@
#include <cogl/cogl2-experimental.h>
#include <cogl/cogl.h>
#include "test-utils.h"

View File

@ -1,4 +1,4 @@
#include <cogl/cogl2-experimental.h>
#include <cogl/cogl.h>
#include <stdarg.h>
#include "test-utils.h"

View File

@ -1,4 +1,4 @@
#include <cogl/cogl2-experimental.h>
#include <cogl/cogl.h>
#include <string.h>
#include "test-utils.h"

View File

@ -1,4 +1,4 @@
#include <cogl/cogl2-experimental.h>
#include <cogl/cogl.h>
#include <string.h>
#include "test-utils.h"

View File

@ -1,9 +1,5 @@
#include <cogl/cogl.h>
/* These will be redefined in config.h */
#undef COGL_ENABLE_EXPERIMENTAL_2_0_API
#undef COGL_ENABLE_EXPERIMENTAL_API
#include "test-utils.h"
#include "cogl-config.h"

View File

@ -1,4 +1,4 @@
#include <cogl/cogl2-experimental.h>
#include <cogl/cogl.h>
#include <stdarg.h>
#include "test-utils.h"

View File

@ -1,11 +1,10 @@
NULL =
AM_CPPFLAGS = \
-I$(top_srcdir)
-I$(top_srcdir) \
-DCOGL_DISABLE_DEPRECATED
test_conformance_CPPFLAGS = \
-DCOGL_ENABLE_EXPERIMENTAL_API \
-DCOGL_DISABLE_DEPRECATED \
-DTESTS_DATADIR=\""$(top_srcdir)/tests/data"\"

View File

@ -1,5 +1,5 @@
#include <glib.h>
#include <cogl/cogl2-experimental.h>
#include <cogl/cogl.h>
#include <math.h>
#include "cogl/cogl-profile.h"