e9f721216e
When splitting out the CoglPath api we saw that we would be left with inconsistent drawing apis if the drawing apis in core Cogl were lumped into the cogl_framebuffer_ api considering other Cogl sub-libraries or that others will want to create higher level drawing apis outside of Cogl but can't use the same namespace. So that we can aim for a more consistent style this adds a cogl_primitive_draw() api, comparable to cogl_path_fill() or cogl_pango_show_layout() that's intended to replace cogl_framebuffer_draw_primitive() Note: the attribute and rectangle drawing apis are still in the cogl_framebuffer_ namespace and this might potentially change but in these cases there is no single object representing the thing being drawn so it seems a more reasonable they they live in the framebuffer namespace for now. Note: the cogl_framebuffer_draw_primitive() api isn't removed by this patch so it can more conveniently be cherry picked to the 1.16 branch so we can mark it deprecated for a short while. Even though it's marked as experimental api we know that there are people using the api so we'd like to give them a chance to switch to the new api. Reviewed-by: Neil Roberts <neil@linux.intel.com> (cherry picked from commit 418912b93ff81a47f9b38114d05335ab76277c48) Conflicts: cogl-pango/cogl-pango-display-list.c cogl/Makefile.am cogl/cogl-framebuffer.c cogl/cogl-pipeline-layer-state.h cogl/cogl2-path.c cogl/driver/gl/cogl-clip-stack-gl.c
50 lines
1.2 KiB
C
50 lines
1.2 KiB
C
/*** BEGIN file-header ***/
|
|
#ifdef HAVE_CONFIG_H
|
|
#include "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 ***/
|