コード例 #1
0
ファイル: elu_ews_wm.c プロジェクト: Limsik/e17
static void
_elm_ews_border_config_apply(Ecore_Evas *ee, Evas_Object *o, Elm_Theme *th)
{
   const char *title, *name = NULL, *class = NULL, *style = NULL;
   const char *sig;

   if (ecore_evas_borderless_get(ee))
     style = "borderless";

   _elm_theme_set(th, o, "ews", "decoration", style ? style : "default");

   if (ecore_evas_shaped_get(ee) || ecore_evas_alpha_get(ee) ||
       ecore_evas_transparent_get(ee))
     sig = "elm,state,alpha,on";
   else
     sig = "elm,state,alpha,off";
   edje_object_signal_emit(o, sig, "elm");

   title = ecore_evas_title_get(ee);
   ecore_evas_name_class_get(ee, &name, &class);
   edje_object_part_text_escaped_set(o, "elm.text.title", title);
   edje_object_part_text_escaped_set(o, "elm.text.name", name);
   edje_object_part_text_escaped_set(o, "elm.text.class", class);

   _elm_ews_border_geo_apply(ee, o);
   _elm_ews_border_focus_apply(ee, o);
   _elm_ews_border_stack_apply(ee, o);
   _elm_ews_border_iconified_apply(ee, o);
   _elm_ews_border_maximized_apply(ee, o);
   _elm_ews_border_layer_apply(ee, o);
   _elm_ews_border_fullscreen_apply(ee, o);
}
コード例 #2
0
ファイル: tsuite_evas_hook.c プロジェクト: Limsik/e17
/**
 * @internal
 *
 * This function takes actual shot and saves it in PNG
 * @param data Tsuite_Data pointer initiated by user
 * @param obj  Window pointer
 * @param obj  name file name. Will use name_+serial if NULL
 *
 * @ingroup Tsuite
 */
void
tsuite_shot_do(char *name, Evas *e)
{
   if (!e)
     return;

   Ecore_Evas *ee, *ee_orig;
   Evas_Object *o;
   unsigned int *pixels;
   int w, h,dir_name_len = 0;
   char *filename;
   if (_hook_setting->dest_dir)
     dir_name_len = strlen(_hook_setting->dest_dir) + 1; /* includes space of a '/' */

   if (name)
     {
        filename = malloc(strlen(name) + strlen(IMAGE_FILENAME_EXT) +
              dir_name_len + 4);

        if (_hook_setting->dest_dir)
          sprintf(filename, "%s/", _hook_setting->dest_dir);

        sprintf(filename + dir_name_len, "%s%s", name, IMAGE_FILENAME_EXT);
     }
   else
     {
        filename = malloc(strlen(_hook_setting->test_name) + strlen(IMAGE_FILENAME_EXT) +
              dir_name_len + 8); /* also space for serial */

        ts.serial++;
        if (_hook_setting->dest_dir)
          sprintf(filename, "%s/", _hook_setting->dest_dir);

        sprintf(filename + dir_name_len, "%s_%d%s", _hook_setting->test_name,
              ts.serial, IMAGE_FILENAME_EXT);
     }

   ee_orig = ecore_evas_ecore_evas_get(e);

   ecore_evas_manual_render(ee_orig);
   pixels = (void *)ecore_evas_buffer_pixels_get(ee_orig);
   if (!pixels) return;
   ecore_evas_geometry_get(ee_orig, NULL, NULL, &w, &h);
   if ((w < 1) || (h < 1)) return;
   ee = ecore_evas_buffer_new(1, 1);
   o = evas_object_image_add(ecore_evas_get(ee));
   evas_object_image_alpha_set(o, ecore_evas_alpha_get(ee_orig));
   evas_object_image_size_set(o, w, h);
   evas_object_image_data_set(o, pixels);

   if (!evas_object_image_save(o, filename, NULL, NULL))
     {
        printf("Cannot save widget to <%s>\n", filename);
     }
   ecore_evas_free(ee);
   free(filename);
}
コード例 #3
0
bool EcoreEvasWindow::hasAlpha () const
{
  return ecore_evas_alpha_get( _ee );
}