#endif
-void cogl_buffer_unmap_EXP (CoglBuffer *buffer);
-
gboolean
-cogl_is_buffer_EXP (const void *object)
+cogl_is_buffer (const void *object)
{
CoglObject *obj = (CoglObject *)object;
}
unsigned int
-cogl_buffer_get_size_EXP (CoglBuffer *buffer)
+cogl_buffer_get_size (CoglBuffer *buffer)
{
if (!cogl_is_buffer (buffer))
return 0;
}
void
-cogl_buffer_set_usage_hint_EXP (CoglBuffer *buffer,
- CoglBufferUsageHint hint)
+cogl_buffer_set_usage_hint (CoglBuffer *buffer,
+ CoglBufferUsageHint hint)
{
if (!cogl_is_buffer (buffer))
return;
}
CoglBufferUsageHint
-cogl_buffer_get_usage_hint_EXP (CoglBuffer *buffer)
+cogl_buffer_get_usage_hint (CoglBuffer *buffer)
{
if (!cogl_is_buffer (buffer))
return FALSE;
}
void
-cogl_buffer_set_update_hint_EXP (CoglBuffer *buffer,
- CoglBufferUpdateHint hint)
+cogl_buffer_set_update_hint (CoglBuffer *buffer,
+ CoglBufferUpdateHint hint)
{
if (!cogl_is_buffer (buffer))
return;
}
CoglBufferUpdateHint
-cogl_buffer_get_update_hint_EXP (CoglBuffer *buffer)
+cogl_buffer_get_update_hint (CoglBuffer *buffer)
{
if (!cogl_is_buffer (buffer))
return FALSE;
}
guint8 *
-cogl_buffer_map_EXP (CoglBuffer *buffer,
- CoglBufferAccess access)
+cogl_buffer_map (CoglBuffer *buffer,
+ CoglBufferAccess access)
{
if (!cogl_is_buffer (buffer))
return NULL;
}
void
-cogl_buffer_unmap_EXP (CoglBuffer *buffer)
+cogl_buffer_unmap (CoglBuffer *buffer)
{
if (!cogl_is_buffer (buffer))
return;
}
gboolean
-cogl_buffer_set_data_EXP (CoglBuffer *buffer,
- gsize offset,
- const guint8 *data,
- gsize size)
+cogl_buffer_set_data (CoglBuffer *buffer,
+ gsize offset,
+ const guint8 *data,
+ gsize size)
{
if (!cogl_is_buffer (buffer))
return FALSE;
* OpenGL implementation allows it, COGL will use Pixel Buffer Objects.
*/
+/* All of the cogl-buffer API is currently experimental so we suffix
+ * the actual symbols with _EXP so if somone is monitoring for ABI
+ * changes it will hopefully be clearer to them what's going on if any
+ * of the symbols dissapear at a later date.
+ */
+#define cogl_is_buffer cogl_is_buffer_EXP
+#define cogl_buffer_get_size cogl_buffer_get_size_EXP
+#define cogl_buffer_set_usage_hint cogl_buffer_set_usage_hint_EXP
+#define cogl_buffer_get_usage_hint cogl_buffer_get_usage_hint_EXP
+#define cogl_buffer_set_update_hint cogl_buffer_set_update_hint_EXP
+#define cogl_buffer_get_update_hint cogl_buffer_get_update_hint_EXP
+#define cogl_buffer_map cogl_buffer_map_EXP
+#define cogl_buffer_unmap cogl_buffer_unmap_EXP
+#define cogl_buffer_set_data cogl_buffer_set_data_EXP
+
typedef struct _CoglBuffer CoglBuffer;
/**
* cogl_is_buffer:
- * @handle: a #CoglHandle to test
+ * @buffer: a buffer object
*
* Checks whether @buffer is a buffer object.
*
* Stability: Unstable
*/
gboolean
-cogl_is_buffer (CoglHandle handle);
+cogl_is_buffer (const void *object);
/**
* cogl_buffer_get_size:
const guint8 *data,
gsize size);
-/* the functions above are experimental, the actual symbols are suffixed by
- * _EXP so we can ensure ABI compatibility and leave the cogl_buffer namespace
- * free for future use. A bunch of defines translates the symbols documented
- * above into the real symbols */
-
-gboolean
-cogl_is_buffer_EXP (const void *object);
-
-unsigned int
-cogl_buffer_get_size_EXP (CoglBuffer *buffer);
-
-void
-cogl_buffer_set_usage_hint_EXP (CoglBuffer *buffer,
- CoglBufferUsageHint hint);
-
-CoglBufferUsageHint
-cogl_buffer_get_usage_hint_EXP (CoglBuffer *buffer);
-
-void
-cogl_buffer_set_update_hint_EXP (CoglBuffer *buffer,
- CoglBufferUpdateHint hint);
-
-CoglBufferUpdateHint
-cogl_buffer_get_update_hint_EXP (CoglBuffer *buffer);
-
-guint8 *
-cogl_buffer_map_EXP (CoglBuffer *buffer,
- CoglBufferAccess access);
-
-void
-cogl_buffer_unmap_EXP (CoglBuffer *buffer);
-
-gboolean
-cogl_buffer_set_data_EXP (CoglBuffer *buffer,
- gsize offset,
- const guint8 *data,
- gsize size);
-
-#define cogl_is_buffer cogl_is_buffer_EXP
-#define cogl_buffer_get_size cogl_buffer_get_size_EXP
-#define cogl_buffer_set_usage_hint cogl_buffer_set_usage_hint_EXP
-#define cogl_buffer_get_usage_hint cogl_buffer_get_usage_hint_EXP
-#define cogl_buffer_set_update_hint cogl_buffer_set_update_hint_EXP
-#define cogl_buffer_get_update_hint cogl_buffer_get_update_hint_EXP
-#define cogl_buffer_map cogl_buffer_map_EXP
-#define cogl_buffer_unmap cogl_buffer_unmap_EXP
-#define cogl_buffer_set_data cogl_buffer_set_data_EXP
-
G_END_DECLS
#endif /* __COGL_BUFFER_H__ */
static const CoglBufferVtable
cogl_malloc_pixel_buffer_vtable;
-/* we don't want to use the stock COGL_HANDLE_DEFINE * for 2 reasons:
- * - it defines already deprecated symbols
- * - we want to suffix the public symbols by _EXP */
-
-#define COGL_HANDLE_DEFINE_EXP(TypeName, type_name) \
- \
-static CoglHandleClass _cogl_##type_name##_class; \
- \
-GQuark \
-_cogl_handle_##type_name##_get_type (void) \
-{ \
- static GQuark type = 0; \
- if (!type) \
- type = g_quark_from_static_string ("Cogl"#TypeName); \
- return type; \
-} \
- \
-static CoglHandle \
-_cogl_##type_name##_handle_new (Cogl##TypeName *new_obj) \
-{ \
- CoglHandleObject *obj = (CoglHandleObject *)&new_obj->_parent;\
- obj->ref_count = 1; \
- \
- obj->klass = &_cogl_##type_name##_class; \
- if (!obj->klass->type) \
- { \
- obj->klass->type = _cogl_handle_##type_name##_get_type ();\
- obj->klass->virt_free = _cogl_##type_name##_free; \
- } \
- \
- _COGL_HANDLE_DEBUG_NEW (TypeName, obj); \
- return (CoglHandle) new_obj; \
-} \
- \
-Cogl##TypeName * \
-_cogl_##type_name##_pointer_from_handle (CoglHandle handle) \
-{ \
- return (Cogl##TypeName *) handle; \
-} \
- \
-gboolean \
-cogl_is_##type_name##_EXP (CoglHandle handle) \
-{ \
- CoglHandleObject *obj = (CoglHandleObject *)handle; \
- \
- if (handle == COGL_INVALID_HANDLE) \
- return FALSE; \
- \
- return (obj->klass->type == \
- _cogl_handle_##type_name##_get_type ()); \
-}
-
-COGL_HANDLE_DEFINE_EXP(PixelBuffer, pixel_buffer)
+COGL_HANDLE_DEFINE (PixelBuffer, pixel_buffer)
CoglHandle
-cogl_pixel_buffer_new_EXP (unsigned int size)
+cogl_pixel_buffer_new (unsigned int size)
{
CoglPixelBuffer *pixel_buffer = g_slice_new0 (CoglPixelBuffer);
CoglBuffer *buffer = COGL_BUFFER (pixel_buffer);
}
CoglHandle
-cogl_pixel_buffer_new_for_size_EXP (unsigned int width,
- unsigned int height,
- CoglPixelFormat format,
- unsigned int *rowstride)
+cogl_pixel_buffer_new_for_size (unsigned int width,
+ unsigned int height,
+ CoglPixelFormat format,
+ unsigned int *rowstride)
{
CoglHandle buffer;
CoglPixelBuffer *pixel_buffer;
if (G_UNLIKELY (format == COGL_PIXEL_FORMAT_ANY))
return COGL_INVALID_HANDLE;
- /* for now we fallback to cogl_pixel_buffer_new_EXP, later, we could ask
+ /* for now we fallback to cogl_pixel_buffer_new, later, we could ask
* libdrm a tiled buffer for instance */
stride = width * _cogl_get_format_bpp (format);
if (rowstride)
*rowstride = stride;
- buffer = cogl_pixel_buffer_new_EXP (height * stride);
+ buffer = cogl_pixel_buffer_new (height * stride);
if (G_UNLIKELY (buffer == COGL_INVALID_HANDLE))
return COGL_INVALID_HANDLE;
#if 0
gboolean
-cogl_pixel_buffer_set_region_EXP (CoglHandle buffer,
- guint8 *data,
- unsigned int src_width,
- unsigned int src_height,
- unsigned int src_rowstride,
- unsigned int dst_x,
- unsigned int dst_y)
+cogl_pixel_buffer_set_region (CoglHandle buffer,
+ guint8 *data,
+ unsigned int src_width,
+ unsigned int src_height,
+ unsigned int src_rowstride,
+ unsigned int dst_x,
+ unsigned int dst_y)
{
if (!cogl_is_pixel_buffer (buffer))
return FALSE;
G_BEGIN_DECLS
+/* All of the cogl-pixel-buffer API is currently experimental so we
+ * suffix the actual symbols with _EXP so if somone is monitoring for
+ * ABI changes it will hopefully be clearer to them what's going on if
+ * any of the symbols dissapear at a later date.
+ */
+
+#define cogl_pixel_buffer_new cogl_pixel_buffer_new_EXP
+#define cogl_pixel_buffer_new_for_size cogl_pixel_buffer_new_for_size_EXP
+#define cogl_is_pixel_buffer cogl_is_pixel_buffer_EXP
+#if 0
+#define cogl_pixel_buffer_set_region cogl_pixel_buffer_set_region_EXP
+#endif
+
/**
* cogl_pixel_buffer_new:
* @size: size of the buffer in bytes
unsigned int dst_y);
#endif
-/* the functions above are experimental, the actual symbols are suffixed by
- * _EXP so we can ensure ABI compatibility and leave the cogl_buffer namespace
- * free for future use. A bunch of defines translates the symbols documented
- * above into the real symbols */
-
-CoglHandle
-cogl_pixel_buffer_new_EXP (unsigned int size);
-
-CoglHandle
-cogl_pixel_buffer_new_for_size_EXP (unsigned int width,
- unsigned int height,
- CoglPixelFormat format,
- unsigned int *stride);
-gboolean
-cogl_is_pixel_buffer_EXP (CoglHandle handle);
-
-#if 0
-gboolean
-cogl_pixel_buffer_set_region_EXP (CoglHandle buffer,
- guint8 *data,
- unsigned int src_width,
- unsigned int src_height,
- unsigned int src_rowstride,
- unsigned int dst_x,
- unsigned int dst_y);
-#endif
-
-#define cogl_pixel_buffer_new cogl_pixel_buffer_new_EXP
-#define cogl_pixel_buffer_new_for_size cogl_pixel_buffer_new_for_size_EXP
-#define cogl_is_pixel_buffer cogl_is_pixel_buffer_EXP
-#if 0
-#define cogl_pixel_buffer_set_region cogl_pixel_buffer_set_region_EXP
-#endif
-
G_END_DECLS
#endif /* __COGL_PIXEL_BUFFER_H__ */
* component float vectors.
*/
+/* All of the cogl-vector API is currently experimental so we
+ * suffix the actual symbols with _EXP so if somone is monitoring for
+ * ABI changes it will hopefully be clearer to them what's going on if
+ * any of the symbols dissapear at a later date.
+ */
+#define cogl_vector3_init cogl_vector3_init_EXP
+#define cogl_vector3_init_zero cogl_vector3_init_zero_EXP
+#define cogl_vector3_equal cogl_vector3_equal_EXP
+#define cogl_vector3_equal_with_epsilon cogl_vector3_equal_with_epsilon_EXP
+#define cogl_vector3_copy cogl_vector3_copy_EXP
+#define cogl_vector3_free cogl_vector3_free_EXP
+#define cogl_vector3_invert cogl_vector3_invert_EXP
+#define cogl_vector3_add cogl_vector3_add_EXP
+#define cogl_vector3_subtract cogl_vector3_subtract_EXP
+#define cogl_vector3_multiply_scalar cogl_vector3_multiply_scalar_EXP
+#define cogl_vector3_divide_scalar cogl_vector3_divide_scalar_EXP
+#define cogl_vector3_normalize cogl_vector3_normalize_EXP
+#define cogl_vector3_magnitude cogl_vector3_magnitude_EXP
+#define cogl_vector3_cross_product cogl_vector3_cross_product_EXP
+#define cogl_vector3_dot_product cogl_vector3_dot_product_EXP
+#define cogl_vector3_distance cogl_vector3_distance_EXP
+
typedef struct
{
/* FIXME: add sse alignment constraint? */
#ifdef COGL_ENABLE_EXPERIMENTAL_API
+/* All of the cogl-texture-pixmap-x11 API is currently experimental so
+ * we suffix the actual symbols with _EXP so if somone is monitoring
+ * for ABI changes it will hopefully be clearer to them what's going
+ * on if any of the symbols dissapear at a later date.
+ */
+#define cogl_texture_pixmap_x11_new cogl_texture_pixmap_x11_new_EXP
+#define cogl_texture_pixmap_x11_update_area \
+ cogl_texture_pixmap_x11_update_area_EXP
+#define cogl_texture_pixmap_x11_is_using_tfp_extension \
+ cogl_texture_pixmap_x11_is_using_tfp_extension_EXP
+#define cogl_texture_pixmap_x11_set_damage_object \
+ cogl_texture_pixmap_x11_set_damage_object_EXP
+#define cogl_is_texture_pixmap_x11 cogl_is_texture_pixmap_x11_EXP
+
typedef enum
{
COGL_TEXTURE_PIXMAP_X11_DAMAGE_RAW_RECTANGLES,
gboolean
cogl_is_texture_pixmap_x11 (CoglHandle handle);
-/* All of the cogl-texture-pixmap-x11 API is currently experimental so
- we suffix the actual symbols with _EXP to ensure ABI
- compatibility. A bunch of defines translates the symbols documented
- above into the real symbols */
-
-CoglHandle
-cogl_texture_pixmap_x11_new_EXP (guint32 pixmap,
- gboolean automatic_updates);
-
-#define cogl_texture_pixmap_x11_new cogl_texture_pixmap_x11_new_EXP
-
-void
-cogl_texture_pixmap_x11_update_area_EXP (CoglHandle handle,
- int x,
- int y,
- int width,
- int height);
-
-#define cogl_texture_pixmap_x11_update_area \
- cogl_texture_pixmap_x11_update_area_EXP
-
-gboolean
-cogl_texture_pixmap_x11_is_using_tfp_extension_EXP (CoglHandle handle);
-
-#define cogl_texture_pixmap_x11_is_using_tfp_extension \
- cogl_texture_pixmap_x11_is_using_tfp_extension_EXP
-
-gboolean
-cogl_is_texture_pixmap_x11_EXP (CoglHandle handle);
-
-#define cogl_is_texture_pixmap_x11 \
- cogl_is_texture_pixmap_x11_EXP
-
-void
-cogl_texture_pixmap_x11_set_damage_object_EXP (CoglHandle handle,
- guint32 damage,
- CoglTexturePixmapX11ReportLevel
- report_level);
-
-#define cogl_texture_pixmap_x11_set_damage_object \
- cogl_texture_pixmap_x11_set_damage_object_EXP
-
#endif /* COGL_ENABLE_EXPERIMENTAL_API */
#endif /* __COGL_TEXTURE_PIXMAP_X11_H */