virtual (client): Added implementation for setting available format.
[platform/core/uifw/libtdm.git] / src / tdm_helper.c
index c7e0983..5b5d96b 100644 (file)
@@ -9,7 +9,7 @@
  *          Taeheon Kim <th908.kim@samsung.com>,
  *          YoungJun Cho <yj44.cho@samsung.com>,
  *          SooChan Lim <sc1.lim@samsung.com>,
- *          Boram Park <sc1.lim@samsung.com>
+ *          Boram Park <boram1288.park@samsung.com>
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the
@@ -44,7 +44,7 @@
 
 #define PNG_DEPTH 8
 
-static const char *file_exts[2] = {"png", "yuv"};
+static const char *file_exts[2] = {"png", "raw"};
 
 int tdm_dump_enable;
 char *tdm_debug_dump_dir;
@@ -291,6 +291,11 @@ tdm_helper_dump_buffer(tbm_surface_h buffer, const char *file)
                strncat(p, ext, 3);
                p += 3;
                *p = '\0';
+       } else {
+               len = strnlen(file, TDM_PATH_LEN - 1);
+               strncat(p, file, len);
+               p += len;
+               *p = '\0';
        }
 
        tdm_helper_get_buffer_full_size(buffer, &bw, &bh);
@@ -326,17 +331,15 @@ tdm_helper_dump_buffer(tbm_surface_h buffer, const char *file)
                                                         info.planes[1].size, NULL,
                                                         0);
                break;
-       case TBM_FORMAT_YUYV:
-       case TBM_FORMAT_UYVY:
+       default:
                _tdm_helper_dump_raw((const char*)temp,
                                                         info.planes[0].ptr,
-                                                        info.planes[0].size, NULL, 0,
-                                                        NULL, 0);
+                                                        info.planes[0].size,
+                                                        info.planes[1].ptr,
+                                                        info.planes[1].size,
+                                                        info.planes[2].ptr,
+                                                        info.planes[2].size);
                break;
-       default:
-               TDM_ERR("can't dump %c%c%c%c buffer", FOURCC_STR(info.format));
-               tbm_surface_unmap(buffer);
-               return;
        }
 
        tbm_surface_unmap(buffer);
@@ -383,22 +386,6 @@ tdm_helper_clear_buffer_color(tbm_surface_h buffer, tdm_pos *pos, unsigned int c
                memset((char*)info.planes[0].ptr, 0x10, info.planes[0].stride * info.height);
                memset((char*)info.planes[1].ptr, 0x80, info.planes[1].stride * (info.height >> 1));
                break;
-       case TBM_FORMAT_YUYV: {
-               int *ibuf = (int*)info.planes[0].ptr;
-               int i, size = info.planes[0].stride * info.height / 4;
-
-               for (i = 0 ; i < size ; i++)
-                       ibuf[i] = 0x10801080;
-       }
-       break;
-       case TBM_FORMAT_UYVY: {
-               int *ibuf = (int*)info.planes[0].ptr;
-               int i, size = info.planes[0].stride * info.height / 4;
-
-               for (i = 0 ; i < size ; i++)
-                       ibuf[i] = 0x80108010; /* YUYV -> 0xVYUY */
-       }
-       break;
        default:
                TDM_ERR("can't clear %c%c%c%c buffer", FOURCC_STR(info.format));
                break;
@@ -859,6 +846,8 @@ _tdm_helper_get_backend_information(tdm_private_module *private_module, char *re
                        }
                }
        }
+       if (LIST_IS_EMPTY(&private_module->output_list))
+               TDM_SNPRINTF(reply, len, "(no output)\n");
        TDM_SNPRINTF(reply, len, "\n");
 
        /* layer information */
@@ -961,6 +950,8 @@ _tdm_helper_get_backend_information(tdm_private_module *private_module, char *re
                        }
                }
        }
+       if (LIST_IS_EMPTY(&private_module->output_list))
+               TDM_SNPRINTF(reply, len, "(no layer)\n");
        TDM_SNPRINTF(reply, len, "\n");
 
        if (private_module->capabilities & TDM_DISPLAY_CAPABILITY_PP) {
@@ -1095,4 +1086,4 @@ tdm_helper_output_vblank_timer_expired(tdm_output *output)
        TDM_RETURN_VAL_IF_FAIL(private_output != NULL, -1);
 
        return private_output->vblank_timeout_timer_expired;
-}
\ No newline at end of file
+}