add tdm_helper_clear_buffer_color function 92/145292/1
authorBoram Park <boram1288.park@samsung.com>
Tue, 22 Aug 2017 04:24:19 +0000 (13:24 +0900)
committerBoram Park <boram1288.park@samsung.com>
Tue, 22 Aug 2017 04:26:27 +0000 (13:26 +0900)
Change-Id: I033f2212eb057b9896cb5d37e0d6eacb059994a5

include/tdm_helper.h
src/tdm_helper.c

index 176279b052c8a022c5fcc0fc26269b12d9f4b3b5..1459e7215c8c12f8f1f6b7a881983fc52ffb331f 100644 (file)
@@ -86,6 +86,17 @@ tdm_helper_dump_buffer(tbm_surface_h buffer, const char *file);
 void
 tdm_helper_clear_buffer_pos(tbm_surface_h buffer, tdm_pos *pos);
 
+/**
+ * @brief fill a buffer with 0 for given pos.
+ * @details
+ * This function supports only if a buffer has below formats.
+ * - TBM_FORMAT_ARGB8888
+ * - TBM_FORMAT_XRGB8888
+ * @param[in] buffer A TDM buffer
+ */
+void
+tdm_helper_clear_buffer_color(tbm_surface_h buffer, tdm_pos *pos, unsigned int color);
+
 /**
  * @brief fill a buffer with 0.
  * @details
index 947d41e46c0c086278c04e3cc3d0d57bb3862153..fc271fb6f0f04e657de3f36ea7db8b0fa73b5d58 100644 (file)
@@ -350,8 +350,8 @@ tdm_helper_dump_buffer(tbm_surface_h buffer, const char *file)
        TDM_INFO("dump %s", file);
 }
 
-void
-tdm_helper_clear_buffer_pos(tbm_surface_h buffer, tdm_pos *pos)
+EXTERN void
+tdm_helper_clear_buffer_color(tbm_surface_h buffer, tdm_pos *pos, unsigned int color)
 {
        tbm_surface_info_s info;
        int ret;
@@ -372,8 +372,8 @@ tdm_helper_clear_buffer_pos(tbm_surface_h buffer, tdm_pos *pos)
                        for (y = pos->y; y <= (pos->y + pos->h); y++) {
                                p = info.planes[0].ptr + info.planes[0].stride * y;
                                for (x = pos->x; x <= (pos->x + pos->w); x++) {
-                                       int *ibuf = (int*)p;
-                                       ibuf[x] = 0x00000000;
+                                       unsigned int *ibuf = (unsigned int*)p;
+                                       ibuf[x] = color;
                                }
                        }
                }
@@ -413,6 +413,14 @@ tdm_helper_clear_buffer_pos(tbm_surface_h buffer, tdm_pos *pos)
        tbm_surface_unmap(buffer);
 }
 
+EXTERN void
+tdm_helper_clear_buffer_pos(tbm_surface_h buffer, tdm_pos *pos)
+{
+       TDM_RETURN_IF_FAIL(buffer != NULL);
+
+       tdm_helper_clear_buffer_color(buffer, pos, 0);
+}
+
 EXTERN void
 tdm_helper_clear_buffer(tbm_surface_h buffer)
 {