From: SooChan Lim Date: Thu, 16 Sep 2021 13:22:11 +0000 (+0900) Subject: object: add create/destroy api for external object X-Git-Tag: submit/tizen_6.5/20210604.093338~14 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=29f3b235eab9501d4d032a63824f68ef54cf98cc;p=platform%2Fcore%2Fuifw%2Fpepper.git object: add create/destroy api for external object The pepper exposes the create/destroy object api. The pepper_object_create() generates an external object. The pepper user can create an external object and destroy it. Change-Id: Icceb20653573dea69e258932cb42b7ed833994f9 --- diff --git a/src/lib/pepper/object.c b/src/lib/pepper/object.c index f9be9cb..d786d20 100644 --- a/src/lib/pepper/object.c +++ b/src/lib/pepper/object.c @@ -76,6 +76,23 @@ pepper_object_fini(pepper_object_t *object) pepper_id_allocator_free(&id_allocator, object->id); } +PEPPER_API pepper_object_t * +pepper_object_create(size_t size) +{ + pepper_object_t *object; + + object = pepper_object_alloc(PEPPER_OBJECT_EXTERNAL, size); + PEPPER_CHECK(object, return NULL, "pepper_object_alloc() failed.\n"); + + return object; +} + +PEPPER_API void +pepper_object_destroy(pepper_object_t *object) +{ + pepper_object_fini(object); +} + /** * Get the type of the given object * diff --git a/src/lib/pepper/pepper.h b/src/lib/pepper/pepper.h index 597b4e9..3672e17 100644 --- a/src/lib/pepper/pepper.h +++ b/src/lib/pepper/pepper.h @@ -288,6 +288,7 @@ typedef enum pepper_object_type { PEPPER_OBJECT_PLANE, /**< #pepper_plane_t (internally used) */ PEPPER_OBJECT_HWC, /**< #pepper_hwc_t (internally used) */ PEPPER_OBJECT_SUBCOMPOSITOR,/**< #pepper_compositor_t */ + PEPPER_OBJECT_EXTERNAL, /**< #object created outside pepper */ } pepper_object_type_t; enum pepper_built_in_events { @@ -807,6 +808,12 @@ struct pepper_input_event { double value; /**< pointer axis value. */ }; +PEPPER_API pepper_object_t * +pepper_object_create(size_t size); + +PEPPER_API void +pepper_object_destroy(pepper_object_t *object); + PEPPER_API pepper_object_type_t pepper_object_get_type(pepper_object_t *object);