Exemplo n.º 1
0
void
e_entry_set_layer(E_Entry *entry, int l)
{
   if (entry->obj_base) ebits_set_layer(entry->obj_base, l);
   evas_object_layer_set(entry->clip_box, l);
   evas_object_layer_set(entry->text, l);
   if (entry->obj_selection) ebits_set_layer(entry->obj_selection, l);
   if (entry->obj_cursor) ebits_set_layer(entry->obj_cursor, l);
   evas_object_layer_set(entry->event_box, l);
}
Exemplo n.º 2
0
void
_engage_element_object_layer_set(Evas_Object * o, int l)
{
  Engage_Element *data;

  if ((data = evas_object_smart_data_get(o))) {
    evas_object_layer_set(data->clip, l);
    evas_object_layer_set(data->icon, l);
    evas_object_layer_set(data->behavior, l);
  }
}
Exemplo n.º 3
0
Panel_Button *panel_button(Evas *_e, char *_label, Eina_List *tests)
{
	Evas_Object *o;
	static int y = 200;

	/*
	 * Create the new panel button's information
	 */
	pbutton = malloc(sizeof(Panel_Button));
	pbutton->box = NULL;
	pbutton->label = NULL;

	/*
	 * Now initialize it's fields, create the appearance, and add it to
	 * the evas.
	 */
	o = evas_object_image_add(evas);
	evas_object_image_file_set(o, IM "panel_button1.png",
			IM "panel_button1.png");
	evas_object_image_border_set(o, 3, 3, 3, 3);
	evas_object_resize(o, 85, 30);
	evas_object_image_fill_set(o, 0, 0, 85, 30);
	evas_object_move(o, 10, y);
	evas_object_layer_set(o, 250);
	evas_object_show(o);
	pbutton->box = o;

	o = evas_object_text_add(_e);
	evas_object_text_font_set(o, "andover", 24);
	evas_object_text_text_set(o, _label);
	evas_object_color_set(o, 0, 0, 0, 160);
	evas_object_layer_set(o, 251);
	evas_object_move(o, 15, y + 5);
	evas_object_show(o);
	pbutton->label = o;

	/*
	 * Attach the buttons callbacks
	 */
	evas_object_event_callback_add(pbutton->label, EVAS_CALLBACK_MOUSE_IN,
			  button_mouse_in, NULL);
	evas_object_event_callback_add(pbutton->label, EVAS_CALLBACK_MOUSE_OUT,
			  button_mouse_out, NULL);

	evas_object_event_callback_add(pbutton->label, EVAS_CALLBACK_MOUSE_DOWN,
			  button_mouse_down, tests);

	y += 60;

	return pbutton;
}
Exemplo n.º 4
0
int
enna_mediaplayer_init(void)
{
    mp = calloc(1, sizeof(Enna_Mediaplayer));

    mp->uri = NULL;
    mp->label = NULL;

    mp->engine = strdup(mp_cfg.engine);
    mp->player = emotion_object_add(evas_object_evas_get(enna->layout));
    emotion_object_init(mp->player, mp->engine);
    evas_object_layer_set(mp->player, -1);
    mp->play_state = STOPPED;

    /* Create Ecore Event ID */
    ENNA_EVENT_MEDIAPLAYER_EOS = ecore_event_type_new();
    ENNA_EVENT_MEDIAPLAYER_METADATA_UPDATE = ecore_event_type_new();
    ENNA_EVENT_MEDIAPLAYER_START = ecore_event_type_new();
    ENNA_EVENT_MEDIAPLAYER_STOP = ecore_event_type_new();
    ENNA_EVENT_MEDIAPLAYER_PAUSE = ecore_event_type_new();
    ENNA_EVENT_MEDIAPLAYER_UNPAUSE = ecore_event_type_new();
    ENNA_EVENT_MEDIAPLAYER_PREV = ecore_event_type_new();
    ENNA_EVENT_MEDIAPLAYER_NEXT = ecore_event_type_new();
    ENNA_EVENT_MEDIAPLAYER_SEEK = ecore_event_type_new();

    return 1;
}
Exemplo n.º 5
0
/**
 * Add a text object to the screen.
 */
Evas_Object *
label_add(Evas *e, int x, int y, const char *fmt, bool anim){
	Evas_Object *o;
	Ecore_Timer *timer;

	if (!e) return NULL;

	o = evas_object_text_add(e);
	evas_object_text_font_set(o, "Vera", 15);
	evas_object_text_style_set(o, EVAS_TEXT_STYLE_SOFT_OUTLINE);
	evas_object_color_set(o, 0,0,0,255);
	evas_object_text_outline_color_set(o,255,255,255,255);

	evas_object_layer_set(o, 1);
	evas_object_text_text_set(o,fmt);
	evas_object_move(o,x,y);
	if (visible) evas_object_show(o);

	labels = eina_list_append(labels, o);

	if (!anim) return o;

	timer = ecore_timer_add(0.1, label_move, o);

	return o;
}
/* a nice easy setup function that does the dirty work */
E_API void
e_int_client_locks(E_Client *ec)
{
   E_Config_Dialog *cfd;
   E_Config_Dialog_View *v;

   v = E_NEW(E_Config_Dialog_View, 1);
   if (v)
     {
        /* methods */
        v->create_cfdata = _create_data;
        v->free_cfdata = _free_data;
        v->basic.apply_cfdata = _basic_apply_data;
        v->basic.create_widgets = _basic_create_widgets;
        v->advanced.apply_cfdata = _advanced_apply_data;
        v->advanced.create_widgets = _advanced_create_widgets;
        v->override_auto_apply = 1;
        /* create config diaolg for bd object/data */
        cfd = e_config_dialog_new(NULL,
                                  _("Window Locks"),
                                  "E", "_border_locks_dialog",
                                  NULL, 0, v, ec);
        ec->border_locks_dialog = cfd;
        evas_object_layer_set(e_win_client_get(cfd->dia->win)->frame, ec->layer);
     }
}
Exemplo n.º 7
0
Arquivo: bg.c Projeto: Limsik/e17
static Game_Bg_Obj *
_bg_obj_add(Game_Bg *bg, const char *name, int x, int y,
            int w, int h, int delta)
{
   Game_Bg_Obj *bg_obj;
   char buf[1024];
   Evas *evas;

   bg_obj = calloc(1, sizeof(Game_Bg_Obj));
   if (!bg_obj)
     {
        ERR("Failed to create bg obj");
        return NULL;
     }

   bg_obj->delta = delta;
   bg_obj->x = x;

   evas = evas_object_evas_get(bg->event);
   bg_obj->obj = evas_object_image_filled_add(evas);
   snprintf(buf, sizeof(buf), PACKAGE_DATA_DIR "/%s.png", name);
   evas_object_image_file_set(bg_obj->obj, buf, NULL);
   evas_object_move(bg_obj->obj, x, FLOOR_Y + y);
   evas_object_resize(bg_obj->obj, w, h);
   evas_object_layer_set(bg_obj->obj, LAYER_BG);
   evas_object_show(bg_obj->obj);

   bg->objs = eina_list_append(bg->objs, bg_obj);
   return bg_obj;
}
Exemplo n.º 8
0
static void
_elm_ews_border_layer_apply(Ecore_Evas *ee, Evas_Object *o)
{
   Evas_Object *bs_o = ecore_evas_ews_backing_store_get(ee);
   evas_object_layer_set(o, evas_object_layer_get(bs_o));
   _elm_ews_border_stack_apply(ee, o);
}
Exemplo n.º 9
0
static Evas_Object*
create_licence_section(view_sys *p_sys)
{
    Evas *e_webview = evas_object_evas_get(p_sys->nf_toolbar);
    Evas_Object *browser = ewk_view_add(e_webview);
    evas_object_layer_set(browser, EVAS_LAYER_MIN);

    ewk_view_url_set(browser, "file://"RES_DIR"/license.html");

    evas_object_show(browser);
    return browser;
}
Exemplo n.º 10
0
Scrolling *
scrolling_new(Game *g, int nbr)
{
  Scrolling *s;
  Evas_Coord gw;
  Evas_Coord gh;

  if (nbr <= 0) return NULL;

  s = (Scrolling *)calloc(1, sizeof(Scrolling));
  if (!s) return NULL;

  game_size_get(g, &gw, &gh);

  s->elts[0] = elements_new(game_evas_get(g), gw, gh, nbr, SCROLLING_LEFT);
  if (!s->elts[0])
    goto free_s;

  s->elts[1] = elements_new(game_evas_get(g), gw, gh, nbr, SCROLLING_RIGHT);
  if (!s->elts[1])
    goto free_elts_0;

  s->g = g;

  s->nebula = edje_object_add(game_evas_get(s->g));
  if (edje_object_file_set(s->nebula, "theme.edj", "nebula"))
    {
      double r;
      Evas_Coord w;
      Evas_Coord h;

      srand(time(NULL));
      edje_object_size_min_get(s->nebula, &w, &h);
      r = (double)(gw - 40 - w) * (double)rand() / (double)RAND_MAX;
      evas_object_move (s->nebula, 20 + (Evas_Coord)r, -h);
      evas_object_resize(s->nebula, w, h);
      evas_object_layer_set(s->nebula, -8);
      evas_object_show (s->nebula);
      ecore_timer_add(0.06, _nebula_move_cb, s);
    }

  return s;

 free_elts_0:
  elements_free(s->elts[0]);
 free_s:
  free(s);

  return NULL;
}
Exemplo n.º 11
0
/** ghost line **/
void
ghost_line_create(void)
{
    Evas               *e;

    e = shell->evas;
    if (!o_line)
      {
          o_line = evas_object_line_add(e);
          evas_object_color_set(o_line, ALPHA2, ALPHA2/5, ALPHA2/5, ALPHA2);
          evas_object_layer_set(o_line, 17);
          evas_object_pass_events_set(o_line, 1);
      }
}
Exemplo n.º 12
0
static void
_systray_xembed_restack(Instance_Xembed *xembed)
{
   E_Layer layer;
   E_Shelf *es = xembed->inst->gcc->gadcon->shelf;

   if (es)
     {
        layer = e_comp_canvas_layer_map_to(e_comp_canvas_layer_map(es->cfg->layer) + 1);
     }
   else
     layer = E_LAYER_CLIENT_DESKTOP;
   layer = E_CLAMP(layer, E_LAYER_CLIENT_DESKTOP, E_LAYER_CLIENT_ABOVE);
   evas_object_layer_set(xembed->ec->frame, layer);
}
Exemplo n.º 13
0
void
etox_line_set_layer(Etox_Line *line, int layer)
{
  Eina_List *l;

  if (!line->bits) return;
  
  for (l = line->bits; l; l = l->next)
  {
    Evas_Object *bit;

    bit = l->data;
    evas_object_layer_set(bit, layer);
  }
}
Exemplo n.º 14
0
E_API void
e_drag_object_set(E_Drag *drag, Evas_Object *object)
{
   EINA_SAFETY_ON_NULL_RETURN(object);
   EINA_SAFETY_ON_TRUE_RETURN(!!drag->object);
   if (drag->visible)
     evas_object_show(object);
   else
     evas_object_hide(object);
   drag->object = object;
   drag->comp_object = e_comp_object_util_add(object, E_COMP_OBJECT_TYPE_NONE);
   evas_object_layer_set(drag->comp_object, drag->layer);
   evas_object_name_set(drag->comp_object, "E Drag");
   evas_object_pass_events_set(drag->comp_object, 1);
}
Exemplo n.º 15
0
void setup_panel(Evas *_e)
{
	int w;
	Panel_Button *pbutton1, *pbutton2, *pbutton3;

	o_panel = evas_object_image_add(_e);
	evas_object_image_file_set(o_panel, IM "panel.png",
			IM "panel.png");

	evas_object_image_size_get(o_panel, &w, NULL);
	evas_object_move(o_panel, 0, 0);
	evas_object_resize(o_panel, w, win_h);
	evas_object_image_fill_set(o_panel, 0, 0, w, win_h);
	evas_object_layer_set(o_panel, 200);

	evas_object_show(o_panel);

	/* Panel title */
	o_txt_paneltitle = evas_object_text_add(_e);
	evas_object_text_font_set(o_txt_paneltitle, "sinon", 17);
	evas_object_text_text_set(o_txt_paneltitle, "Etox Test");
	evas_object_color_set(o_txt_paneltitle, 255, 255, 255, 255);
	evas_object_layer_set(o_txt_paneltitle, 250);
	evas_object_show(o_txt_paneltitle);

	/* Panel buttons */
	pbutton1 = panel_button(evas, "Basic", basic_tests());
	pbuttons = eina_list_append(pbuttons, pbutton1);

	pbutton2 = panel_button(evas, "Style", style_tests());
	pbuttons = eina_list_append(pbuttons, pbutton2);

	pbutton3 = panel_button(evas, "Callbacks", callback_tests());
	pbuttons = eina_list_append(pbuttons, pbutton3);

}
Exemplo n.º 16
0
static bool ui_init_dragger(ePlayer *player) {
	Evas_Object *dragger;

	if (!(dragger = esmart_draggies_new(player->gui.ee)))
		return false;

	esmart_draggies_button_set(dragger, 1);

	evas_object_name_set(dragger, "dragger");
	evas_object_move(dragger, 0, 0);
	evas_object_layer_set(dragger, 0);
	evas_object_show(dragger);

	esmart_draggies_event_callback_add(dragger, EVAS_CALLBACK_MOUSE_UP,
	                                   cb_dragger_mouse_up, player);

	return true;
}
Exemplo n.º 17
0
E_API void
e_int_client_prop(E_Client *ec)
{
   E_Dialog *dia;

   if (ec->border_prop_dialog) return;

   dia = e_dialog_new(NULL, "E", "_window_props");
   e_object_del_attach_func_set(E_OBJECT(dia), _ec_cb_dialog_del);

   _create_data(dia, ec);

   _ec_go(dia, (void *)0);

   e_dialog_button_add(dia, _("Close"), NULL, _ec_cb_dialog_close, dia);
   elm_win_center(dia->win, 1, 1);
   e_dialog_show(dia);
   e_dialog_border_icon_set(dia, "preferences-system-windows");
   evas_object_layer_set(e_win_client_get(dia->win)->frame, ec->layer);
}
Exemplo n.º 18
0
/* setup */
static void _setup(void)
{
   int i;
   Evas_Object *o,*src;

   for (i = 0; i < OBNUM; i++)
     {
	o = evas_object_image_add(evas);
	evas_object_image_file_set(o, build_path("image.png"), NULL);
	evas_object_image_fill_set(o, 0, 0, 120, 160);
	evas_object_resize(o, 120, 160);
	evas_object_filter_set(o, EVAS_FILTER_BLUR);
	evas_object_filter_param_int_set(o, "radius", 5);
	evas_object_layer_set(o,1);
	evas_object_show(o);
	src = o;
	o_images[i] = src;
     }

   done = 0;
}
Exemplo n.º 19
0
Evas_Object    *
engage_element_new(Evas * e, const char *bfile, const char *bgroup,
                   const char *ifile, const char *igroup)
{
  char            buf[PATH_MAX];
  int             w = 48, h = 48;
  Evas_Object    *result = NULL;
  Engage_Element *data = NULL;

  if ((result = engage_element_object_new(e))) {
    if ((data = evas_object_smart_data_get(result))) {
      data->clip = evas_object_rectangle_add(e);
      evas_object_color_set(data->clip, 255, 255, 255, 255);
      evas_object_layer_set(data->clip, 0);
      evas_object_show(data->clip);

      if ((data->behavior = engage_element_behavior_new(e, bfile, bgroup))) {
        evas_object_clip_set(data->behavior, data->clip);
        if ((data->icon = engage_element_icon_new(e, ifile, igroup))) {
          if (!strcmp(evas_object_type_get(data->icon), "image")) {
            evas_object_image_size_get(data->icon, &data->iw, &data->ih);
            evas_object_image_fill_set(data->icon, 0.0, 0.0,
                                       (Evas_Coord) data->iw,
                                       (Evas_Coord) data->ih);

          }
          evas_object_clip_set(data->icon, data->clip);
        } else {
          evas_object_del(result);
          result = NULL;
        }
      }
    }
  }
  return (result);
}
Exemplo n.º 20
0
void Object::setLayer( int layer )
{
  Dout( dc::notice, *this << " layer_set" << " layer=" << layer );
  evas_object_layer_set( o, layer );
}
Exemplo n.º 21
0
void
e_login_session_bar_init(E_Login_Session e)
{
   int w, h;
   Evas *evas;
   Estyle *es = NULL;
   double bgx, bgy, bgw, bgh;
   int ix = 0, iy = 0;
   int iw = 0, ih = 0;
   Evas_List *l = NULL;
   Evas_Object *o = NULL;

   Session_Bar *sb = session_bar_new();

   /* Session list background image */
   evas = e->evas;

   o = evas_object_image_add(evas);
   evas_object_image_file_set(o, PACKAGE_DATA_DIR "/data/images/parch.png",
                              NULL);
   iw = ih = 0;
   evas_object_image_fill_set(o, 0.0, 0.0, (double) iw, (double) ih);
   evas_object_resize(o, iw, ih);
   evas_object_layer_set(o, 15);
   evas_object_color_set(o, e->config->greeting.font.r,
                         e->config->greeting.font.g,
                         e->config->greeting.font.b, 100);
   ix = ((((e->geom.w / e->config->screens.w) - w) * 0.5));
   iy = 120;
   evas_object_move(o, ix, iy);
   sb->listbg = o;

   /* Session list heading */
   es = estyle_new(evas, "XSessions", "raised");
   estyle_set_color(es, e->config->greeting.font.r,
                    e->config->greeting.font.g, e->config->greeting.font.b,
                    e->config->greeting.font.a);
   estyle_set_font(es, e->config->greeting.font.name,
                   e->config->greeting.font.size);
   estyle_callback_add(es, EVAS_CALLBACK_MOUSE_UP,
                       session_bar_toggle_visibility, sb);
   estyle_set_layer(es, 25);
   estyle_geometry(es, NULL, NULL, &w, &h);
   ix = ((((e->geom.w / e->config->screens.w) - w) * 0.9));
   iy = ((((e->geom.h / e->config->screens.h) - h) * 1.0));
   estyle_move(es, ix, iy);
   estyle_show(es);
   sb->header = es;

   /* Build session list */
   iy = 125;
   evas_object_geometry_get(sb->listbg, &bgx, &bgy, &bgw, &bgh);
   for (l = e->config->sessions; l && iy <= 330; l = l->next)
   {
      char *session_name = ((E_Login_Session_Type *) evas_list_data(l))->name;

      es = estyle_new(evas, session_name, "raised");
      estyle_set_color(es, e->config->greeting.font.r,
                       e->config->greeting.font.g, e->config->greeting.font.b,
                       e->config->greeting.font.a);
      estyle_set_font(es, e->config->greeting.font.name,
                      e->config->greeting.font.size);
      estyle_set_layer(es, 25);
      estyle_callback_add(es, EVAS_CALLBACK_MOUSE_UP,
                          session_bar_session_clicked_cb, e);
      estyle_callback_add(es, EVAS_CALLBACK_MOUSE_IN,
                          session_bar_session_mouse_in_cb, e);
      estyle_callback_add(es, EVAS_CALLBACK_MOUSE_OUT,
                          session_bar_session_mouse_out_cb, e);
      sb->sessions = evas_list_append(sb->sessions, es);
      estyle_geometry(es, NULL, NULL, &w, &h);
      ix = ((((e->geom.w / e->config->screens.w) - w) * 0.5));
      estyle_move(es, ix, iy);
      iy += h + 5;
      bgh += h + 5;
      if (w > bgw)
      {
         bgw = w + 12;
	 ix = ((((e->geom.w / e->config->screens.w) - bgw) * 0.5));
         evas_object_move(sb->listbg, ix, 120);
      }
      evas_object_image_fill_set(sb->listbg, 0.0, 0.0, (double) bgw,
                                 (double) bgh);
      evas_object_resize(sb->listbg, bgw, bgh);
   }

   /* Bullet */
   o = evas_object_image_add(evas);
   evas_object_image_file_set(o, PACKAGE_DATA_DIR "/data/images/bullet.png",
                              NULL);
   evas_object_image_size_get(o, &iw, &ih);
   evas_object_resize(o, iw, ih);
   evas_object_image_fill_set(o, 0.0, 0.0, (double) iw, (double) ih);
   evas_object_image_alpha_set(o, 1);
   evas_object_color_set(o, e->config->greeting.font.r,
                         e->config->greeting.font.g,
                         e->config->greeting.font.b,
                         e->config->greeting.font.a);
   evas_object_layer_set(o, 15);
   evas_object_move(o, -99999, -99999);
   sb->bullet = o;

   /* Set default session to first in list (for now) */ ;
   e->xsession = evas_list_data(e->config->sessions);

   sb->win_geom.w = e->geom.w;
   sb->win_geom.h = e->geom.h;
}
Exemplo n.º 22
0
int
main (int argc, char *argv[])
{
  Evas *evas = NULL;
  Ecore_Evas *ee = NULL;
  Ecore_X_Window win = 0;
  Evas_Object *o = NULL;
  Evas_Object *cont = NULL;
  Evas_Object *image = NULL;
  int iw, ih;

  ecore_init ();
  ecore_app_args_set (argc, (const char **) argv);

  ecore_event_handler_add (ECORE_EVENT_SIGNAL_EXIT, exit_cb, NULL);

  if (ecore_evas_init ())
    {
      ee = ecore_evas_software_x11_new (NULL, 0, 0, 0, 300, 120);
      win = ecore_evas_software_x11_window_get(ee);
      ecore_evas_title_set (ee, "Enlightenment Thumbnail Test");
      ecore_evas_callback_delete_request_set (ee, window_del_cb);
      ecore_evas_callback_resize_set (ee, window_resize_cb);
      ecore_evas_callback_move_set (ee, window_move_cb);

      evas = ecore_evas_get (ee);
      o = esmart_trans_x11_new (evas);
      esmart_trans_x11_type_set(o, Esmart_Trans_X11_Type_Background);
      esmart_trans_x11_window_set(o, win);
      evas_object_move (o, 0, 0);
      evas_object_resize (o, 300, 120);
      evas_object_layer_set (o, -5);
      evas_object_name_set (o, "root_background");
      evas_object_show (o);

      o = evas_object_rectangle_add (evas);
      evas_object_move (o, 0, 0);
      evas_object_resize (o, 300, 120);
      evas_object_layer_set (o, -6);
      evas_object_color_set (o, 255, 255, 255, 0);
      evas_object_name_set (o, "background");
      evas_object_show (o);

      o = esmart_draggies_new (ee);
      evas_object_move (o, 0, 0);
      evas_object_resize (o, 300, 120);
      evas_object_layer_set (o, 255);
      evas_object_color_set (o, 255, 255, 255, 0);
      evas_object_name_set (o, "dragger");
      esmart_draggies_button_set (o, 1);
      evas_object_show (o);


      if (argc < 2)
	{
	  image = evas_object_image_add (evas);
	  evas_object_image_file_set (image, PACKAGE_DATA_DIR "/esmart.png",
				      NULL);
	  evas_object_image_size_get (image, &iw, &ih);
	  evas_object_resize (image, iw, ih);
	  evas_object_image_fill_set (image, 0.0, 0.0, (Evas_Coord) iw,
				      (Evas_Coord) ih);
	  evas_object_layer_set (image, 1000);
	  evas_object_pass_events_set (image, 1);
	  evas_object_show (image);
	}


      cont = esmart_container_new (evas);
      evas_object_move (cont, 0, 0);
      evas_object_resize (cont, 300, 120);
      evas_object_layer_set (cont, 0);
      evas_object_name_set (cont, "container");
      evas_object_show (cont);
      esmart_container_padding_set (cont, 10, 10, 10, 10);
      esmart_container_spacing_set (cont, 5);
      esmart_container_fill_policy_set (cont,
				   CONTAINER_FILL_POLICY_FILL_Y |
				   CONTAINER_FILL_POLICY_KEEP_ASPECT);

      evas_object_event_callback_add (o, EVAS_CALLBACK_MOUSE_DOWN, bg_down_cb,
				      cont);
      evas_object_event_callback_add (o, EVAS_CALLBACK_MOUSE_UP, bg_up_cb,
				      cont);


      while (--argc)
	{
	  if ((o = esmart_thumb_new (ecore_evas_get (ee), argv[argc])))
	    {
	      evas_object_layer_set (o, 2);
	      evas_object_show (o);
	      esmart_container_element_append (cont, o);
	    }
	}
      evas_object_resize (cont, 300, 120);
      ecore_evas_show (ee);

      if (ecore_x_composite_query())
        {
           ee = ecore_evas_software_x11_new (NULL, 0, 0, 0, 320, 120);
           ecore_evas_title_set (ee, "Enlightenment Pixmap Test");
           ecore_evas_callback_delete_request_set (ee, window_del_cb);
           ecore_evas_callback_resize_set (ee, window_resize_cb);
           ecore_evas_callback_move_set (ee, window_move_cb);

           evas = ecore_evas_get (ee);
           o = esmart_xpixmap_new (evas, 0, win);
           evas_object_move (o, 0, 0);
           evas_object_resize (o, 320, 120);
           evas_object_layer_set (o, -5);
           evas_object_name_set (o, "xpixmap");
           evas_object_show (o);

           o = evas_object_rectangle_add (evas);
           evas_object_move (o, 0, 0);
           evas_object_resize (o, 150, 30);
           evas_object_layer_set (o, -3);
           evas_object_color_set (o, 50, 50, 50, 50);
           evas_object_name_set (o, "white_transparent_rect");
           evas_object_show (o);

           ecore_evas_show (ee);
        }

      ecore_main_loop_begin ();
    }
  return (0);
}
Exemplo n.º 23
0
void setup(void)
{
	Evas_Coord pw;
	int ex, ey, ew, eh;
	Evas_Coord width, height;
	char msg[] =
	    "The Etox Test utility consists in a series "
	    "of test suites designed to exercise all of "
	    "the etox functions.\n"
	    "Informational messages will be displayed here, "
	    "the test text will be presented in the colored "
	    "rectangle below.\n"
	    "To start a test suite, select it from the "
	    "navigation panel on the left.\n";

	/* Create interface */

	/* Background */
	o_bg = evas_object_image_add(evas);
	evas_object_image_file_set(o_bg, IM "bg.png", IM "bg.png");
	evas_object_resize(o_bg, win_w, win_h);
	evas_object_image_fill_set(o_bg, 0, 0, win_w, win_h);
	evas_object_move(o_bg, 0, 0);
	evas_object_layer_set(o_bg, 0);
	evas_object_show(o_bg);

	/* Panel */
	setup_panel(evas);

	evas_object_geometry_get(o_panel, NULL, NULL, &pw, NULL);

	ey = win_h / 2;
	ew = win_w - pw - 20;
	eh = ey - 10;
	ex = pw + 10;
	ey += 10;

	/* Create message etox */
	e_msg = etox_new_all(evas, ex, 10, ew, eh , 255, ETOX_ALIGN_LEFT);
	etox_context_set_align(etox_get_context(e_msg), ETOX_ALIGN_LEFT);
	etox_context_set_font(etox_get_context(e_msg), "sinon", 14);
	etox_context_set_style(etox_get_context(e_msg), "shadow");
	etox_context_set_color(etox_get_context(e_msg), 225, 225, 225, 255);
	etox_set_soft_wrap(e_msg, 1);
	etox_set_text(e_msg, msg);
	etox_set_alpha(e_msg, 255);
	evas_object_layer_set(e_msg, 1000);
	evas_object_show(e_msg);

	/* Setup test etox */
	/* Setup test etox background */
	o_bg_etox = evas_object_rectangle_add(evas);
	evas_object_move(o_bg_etox, ex, ey);
	evas_object_resize(o_bg_etox, ew, eh);
	evas_object_color_set(o_bg_etox, 0, 100, 100, 100);
	evas_object_layer_set(o_bg_etox, 100);
	evas_object_show(o_bg_etox);

	/* Clip rectangle for bounding where the test text is drawn */
	clip_test = evas_object_rectangle_add(evas);
	evas_object_move(clip_test, ex, ey);
	evas_object_resize(clip_test, ew, eh);
	evas_object_show(clip_test);

	/* Create test etox */
	e_test = etox_new_all(evas, ex, ey, ew, eh, 255, ETOX_ALIGN_CENTER);
	etox_context_set_font(etox_get_context(e_test), "sinon", 14);
	etox_context_set_style(etox_get_context(e_test), "plain");
	etox_context_set_color(etox_get_context(e_test), 225, 225, 225, 255);
	etox_set_text(e_test, "");
	evas_object_clip_set(e_test, clip_test);
	etox_set_alpha(e_test, 255);
	evas_object_layer_set(e_test, 1000);

	/*
	 * Create the next test button
	 */
	o_next_box = evas_object_image_add(evas);
	evas_object_image_file_set(o_next_box,
			IM "panel_button1.png",
			IM "panel_button1.png");
	evas_object_image_border_set(o_next_box, 3, 3, 3, 3);
	evas_object_layer_set(o_next_box, 1000);
	evas_object_hide(o_next_box);

	o_txt_next_box = evas_object_text_add(evas);
	evas_object_text_font_set(o_txt_next_box, "andover", 24);
       	evas_object_text_text_set(o_txt_next_box, "Next");
	evas_object_color_set(o_txt_next_box, 0, 0, 0, 160);
	evas_object_layer_set(o_txt_next_box, 1000);
	evas_object_move(o_next_box, 516, 150);
	evas_object_move(o_txt_next_box, 519, 152);

	width = evas_object_text_horiz_advance_get(o_txt_next_box);
	height = evas_object_text_vert_advance_get(o_txt_next_box);

	width += 10;
	height += 5;

	evas_object_resize(o_next_box, width, height);
	evas_object_image_fill_set(o_next_box, 0, 0, width, height);
	evas_object_hide(o_txt_next_box);
	evas_object_event_callback_add(o_txt_next_box, EVAS_CALLBACK_MOUSE_DOWN,
			  next_test, NULL);

	/*
	 * Create the previous test button
	 */
	o_prev_box = evas_object_image_add(evas);
	evas_object_image_file_set(o_prev_box,
			IM "panel_button1.png",
			IM "panel_button1.png");
	evas_object_image_border_set(o_prev_box, 3, 3, 3, 3);
	evas_object_layer_set(o_prev_box, 1000);
	evas_object_hide(o_prev_box);

	o_txt_prev_box = evas_object_text_add(evas);
	evas_object_text_font_set(o_txt_prev_box, "andover", 24);
	evas_object_text_text_set(o_txt_prev_box, "Previous");
	evas_object_color_set(o_txt_prev_box, 0, 0, 0, 160);
	evas_object_layer_set(o_txt_prev_box, 1000);
	evas_object_move(o_prev_box, 416, 150);
	evas_object_move(o_txt_prev_box, 419, 152);

	width = evas_object_text_horiz_advance_get(o_txt_prev_box);
	height = evas_object_text_vert_advance_get(o_txt_prev_box);

	width += 10;
	height += 5;

	evas_object_resize(o_prev_box, width, height);
	evas_object_image_fill_set(o_prev_box, 0, 0, width, height);
	evas_object_hide(o_txt_prev_box);
	evas_object_event_callback_add(o_txt_prev_box, EVAS_CALLBACK_MOUSE_DOWN,
			  prev_test, NULL);
}
Exemplo n.º 24
0
void
_shell_bg_create(void)
{
    Evas               *e;
    Evas_Object        *o;
    int                 r, g, b, a, res;
    char *s;
    
    e = shell->evas;
    
    
    E_DB_STR_GET (shell->rcfile, "/bgimage", s, res);
    
    if (!res)
    {
	E_DB_INT_GET (shell->rcfile, "/main_win/bgcolor/r", r, res);
	ENGY_ASSERT (res);
	E_DB_INT_GET (shell->rcfile, "/main_win/bgcolor/g", g, res);
	ENGY_ASSERT (res);
	E_DB_INT_GET (shell->rcfile, "/main_win/bgcolor/b", b, res);
	ENGY_ASSERT (res);
	E_DB_INT_GET (shell->rcfile, "/main_win/bgcolor/a", a, res);
	ENGY_ASSERT (res);
	
	o = evas_object_rectangle_add(e);
	evas_object_color_set (o, r*a/255, g*a/255, b*a/255, a);
    }
    else
    {
	char buf[4096];
	
	if (s[0] != '/')
	{
	    snprintf (buf, 4000, "%s/%s", shell->home, s);
	    FREE (s);
	    s = DUP (buf);
	}
	o = evas_image_load(s);
	FREE (s);
    }    
    
    evas_object_move(o, 0, 0);
    evas_object_resize(o, shell->w, shell->h);
    evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_MOVE, bg_mouse_move, NULL);
    evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, bg_mouse_down, NULL);
    evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_UP, bg_mouse_up, NULL);
    evas_object_event_callback_add(o, EVAS_CALLBACK_KEY_DOWN, bg_key_down, NULL);
    evas_object_event_callback_add(o, EVAS_CALLBACK_KEY_UP, bg_key_up, NULL);
    evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_WHEEL, bg_mouse_wheel, NULL);
    evas_object_layer_set(o, 0);
    evas_object_show(o);
    evas_object_focus_set(o, 1);

    shell->o_bg = o;
    shell->context.color.red = 0;
    shell->context.color.green = 0;
    shell->context.color.blue = 0;
    shell->context.color.alpha = 255;
    shell->context.line_style = DUP("dashed2");
    shell->context.thickness = 0.5;
    shell->context.show_thickness = 1;
    shell->context.line_scale = 1.0;
    shell->context.textstyle = DUP("gost");
    shell->context.text_height = 5.0;
    shell->context.point_style = DUP("cross");
    shell->context.dim_style = DUP("gost-5-3");
    shell->context.hatch_style = DUP("glass");
    shell->context.gravity = GRAVITY_C | GRAVITY_M;
    shell->prec = 10.0;
    shell->segnum = 8;
    shell->arcnum = 20;
    shell->monitor = 96;
    shell->paper = 100;
    shell->float_prec = 3;
    shell->snap = 0.005;
}
Exemplo n.º 25
0
static Elements *
elements_new(Evas *evas, Evas_Coord gw, Evas_Coord gh, int nbr, Scrolling_Pos pos)
{
  Elements *elts;
  int i;

  if (nbr <= 0) return NULL;

  elts = (Elements *)calloc(1, sizeof(Elements));
  if (!elts) return NULL;

  elts->objs = (Evas_Object **)calloc(nbr, sizeof(Evas_Object *));
  if (!elts->objs)
    goto free_elts;

  elts->heights = (int *)calloc(nbr, sizeof(int));
  if (!elts->heights)
    goto free_objs;

  elts->pos = pos;

  srand(time(NULL) + pos);
  i = 0;
  while (i < nbr)
    {
      int r;
      Evas_Coord h;

      elts->objs[i] = evas_object_rectangle_add(evas);
      evas_object_layer_set(elts->objs[i], 5);

      r = rand();
      if (r < (RAND_MAX / 3))
        {
          evas_object_resize(elts->objs[i], 20, 40);
          evas_object_color_set(elts->objs[i], 255, 0, 0, 255);
        }
      else if (r < 2 * (RAND_MAX / 3))
        {
          evas_object_resize(elts->objs[i], 30, 60);
          evas_object_color_set(elts->objs[i], 0, 255, 0, 255);
        }
      else
        {
          evas_object_resize(elts->objs[i], 15, 80);
          evas_object_color_set(elts->objs[i], 0, 0, 255, 255);
        }

      if (i != 0)
        {
          evas_object_geometry_get(elts->objs[i - 1], NULL, NULL, NULL, &h);
          elts->heights[i] = elts->heights[i - 1] + h;
        }

      i++;
    }

  i = 0;
  elts->n_min = 0;
  while (1)
    {
      if (elts->heights[i] < gh)
        {
          Evas_Coord w;

          evas_object_geometry_get(elts->objs[i], NULL, NULL, &w, NULL);
          switch (elts->pos)
            {
            case SCROLLING_LEFT:
              evas_object_move(elts->objs[i], 0, gh - elts->heights[i + 1] - 1);
              break;
            case SCROLLING_RIGHT:
              evas_object_move(elts->objs[i], gw - w, gh - elts->heights[i + 1] - 1);
              break;
            case SCROLLING_CENTER:
              evas_object_move(elts->objs[i], 0, gh - elts->heights[i + 1] - 1);
              break;
            default:
              evas_object_move(elts->objs[i], 0, gh - elts->heights[i + 1] - 1);
              break;
            }
          evas_object_show(elts->objs[i]);
          i++;
        }
      else
        {
          elts->n_max = i - 1;
          break;
        }
    }

  return elts;

 free_objs:
  free(elts->objs);
 free_elts:
  free(elts);

  return NULL;
}
Exemplo n.º 26
0
static Erss_Tooltip *erss_tooltip_new (char *description)
{
	Erss_Tooltip *tt;
	int x, y, w, h;
	Evas_Coord ew, eh;

	if(description == NULL)
		return NULL;
	
	tt = malloc (sizeof (Erss_Tooltip));
	memset (tt, 0, sizeof (Erss_Tooltip));

	tt->ee = ecore_evas_software_x11_new (NULL, 0, 0, 0, 250, 80);
	ecore_evas_override_set(tt->ee, 1);
	ecore_evas_borderless_set (tt->ee, TRUE);
	tt->win = ecore_evas_software_x11_window_get(ee);
	ecore_x_netwm_window_type_set (tt->win, ECORE_X_WINDOW_TYPE_UTILITY);
	ecore_evas_geometry_get (tt->ee, &x, &y, &w, &h);

	tt->evas = ecore_evas_get (tt->ee);
	evas_font_path_append (tt->evas, PACKAGE_DATA_DIR"/fonts/");

	tt->bg = esmart_trans_x11_new (tt->evas);
	evas_object_move (tt->bg, 0, 0);
	evas_object_layer_set (tt->bg, -5);
	evas_object_resize (tt->bg, w, h);
	evas_object_name_set(tt->bg, "root_background");
	evas_object_show (tt->bg);
	
	tt->bg = evas_object_rectangle_add(tt->evas);
	evas_object_move (tt->bg, 0, 0);
	evas_object_layer_set (tt->bg, -6);
	evas_object_resize (tt->bg, w, h);
	evas_object_color_set(tt->bg, 255, 255, 255, 20);
	evas_object_name_set(tt->bg, "background");
	evas_object_show (tt->bg);

	tt->etox = etox_new_all(tt->evas, x + 5, y + 5, w - 10 , h - 10, 
			255, ETOX_ALIGN_LEFT);
	etox_context_set_wrap_marker(etox_get_context(tt->etox), NULL, NULL);
	etox_context_set_align(etox_get_context(tt->etox), ETOX_ALIGN_LEFT);
	etox_context_set_font(etox_get_context(tt->etox), "Vera", 10);
	etox_context_set_style(etox_get_context(tt->etox), "shadow");
	etox_context_set_color(etox_get_context(tt->etox), 225, 225, 225, 255);
	etox_set_soft_wrap(tt->etox, 1);
	etox_set_word_wrap(tt->etox, 1);
	etox_set_alpha(tt->etox, 255);
	evas_object_layer_set(tt->etox, 1000);
	etox_set_text (tt->etox, description);
	evas_object_show (tt->etox);
	evas_object_geometry_get(tt->etox, NULL, NULL, &ew, &eh);

	if (eh > ew) {
		double scale = (double)ew / (double)eh;
		ew = ew / scale;
		eh *= scale;
		evas_object_resize(tt->etox, ew, eh);
		evas_object_geometry_get(tt->etox, NULL, NULL, &ew, &eh);
	}

	ecore_evas_callback_move_set (tt->ee, erss_window_move_tooltip);
	ecore_evas_callback_resize_set(tt->ee, erss_window_resize);
	ecore_evas_resize(tt->ee, ew + 10, eh + 10);

	return tt;
}
Exemplo n.º 27
0
void
_create_tiled_line(Line * line)
{
    int                 flag, sign = 1;
    Eina_List          *list = NULL, *l, *lo;
    Evas               *e;
    Evas_Object        *o;
    Drawing            *d;
    float               x, y, dx, dy, len;
    double              x1, y1, x2, y2;
    XY                 *xy;

    d = drawing;

    dx = line->x2 - line->x1;
    if (dx == 0)
        dx = 1e-40;             /* ok for 1200 dpi? */
    sign = fabs(dx) / dx;

    dy = line->y2 - line->y1;
    len = hypot(dx, dy);

    flag = linestyle_get_odd();

    list = linestyle_get_points(len, line->line_scale);
    ENGY_ASSERT(list);

    trans_rotate(list, atan(-dy / dx) + M_PI * (sign - 1) / 2);
    trans_move(list, line->x1, line->y1);

    e = shell->evas;

    lo = line->list;

    for (l = list->next; l; l = l->next)
      {
          XY                 *a, *b;

          a = (XY *) l->prev->data;
          b = (XY *) l->data;

          flag = !flag;

          if (flag)
            {
                if (!lo || !lo->data)
                  {
                      o = _line_item(e, line->thickness *
                                     shell->context.show_thickness * d->scale);
                      evas_object_layer_set(o, 10);
                      evas_object_pass_events_set(o, 1);
                      line->list = eina_list_append(line->list, o);
                      lo = eina_list_last(line->list);
                  }
                o = lo->data;
                lo = lo->next;
                x1 = w2s_x(a->x);
                y1 = w2s_y(a->y);
                x2 = w2s_x(b->x);
                y2 = w2s_y(b->y);
                if (line->flags & FLAG_VISIBLE)
                  {
                      evas_object_color_set(o,
			line->color.red*line->color.alpha/255,
			line->color.green*line->color.alpha/255,
			line->color.blue*line->color.alpha/255, 
			line->color.alpha);
                  }
                else
                  {
                      evas_object_color_set(o, 0, 0, 0, 0);
                  }

                if (line->flags & FLAG_SELECTED)
                    evas_object_color_set(o, 
				    ALPHA5, 
				    ALPHA5/5, 
				    ALPHA5/5, 
				    ALPHA5);
                if (line->flags & FLAG_DELETED)
                    evas_object_color_set(o, 0, 0, 0, 0);
                _line_item_xy(e, o, x1, y1, x2, y2,
                              line->thickness *
                              shell->context.show_thickness * d->scale);
                evas_object_show(o);
            }
      }

    for (l = list; l; l = l->next)
        FREE(l->data);
    list = eina_list_free(list);
}
Exemplo n.º 28
0
void
setup_cc_with_pos(int x, int y)
{
	ControlCentre  *cc;
	char           *edjefn = malloc(PATH_MAX);
	char           *fontpath = malloc(PATH_MAX);
	Evas_Coord      edje_w, edje_h;
	CCPos          *pos;

	cc = malloc(sizeof(ControlCentre));
	controlcentre = cc;

	pos = get_cc_pos();

	if (x >= 0 || y >= 0) {
		pos->x = x;
		pos->y = y;
	}

	/* Setup the Window */
	if (!strcmp(main_config->render_method, "gl")) {
#ifdef HAVE_ECORE_EVAS_GL
		cc->win =
			ecore_evas_gl_x11_new(NULL, 0, pos->x, pos->y,
					      pos->width, pos->height);
#else
		dml("GL not in Ecore_Evas module.  Falling back on software!",
		    1);
		free(main_config->render_method);
		main_config->render_method = strdup("software");
		cc->win =
			ecore_evas_software_x11_new(NULL, 0, pos->x, pos->y,
						    pos->width, pos->height);
#endif
	} else
		cc->win =
			ecore_evas_software_x11_new(NULL, 0, pos->x, pos->y,
						    pos->width, pos->height);

	ecore_evas_title_set(cc->win, "Enotes");
	ecore_evas_name_class_set(cc->win, "Enotes", "Enotes");

	if (main_config->ontop == 1)
		ecore_evas_layer_set(cc->win, 7);
	else
		ecore_evas_layer_set(cc->win, 2);

	if (main_config->sticky == 1)
		ecore_evas_sticky_set(cc->win, 1);
	else
		ecore_evas_sticky_set(cc->win, 0);

	ecore_evas_borderless_set(cc->win, 1);
	ecore_evas_shaped_set(cc->win, 1);
	if (pos->x != 0 && pos->y != 0)
		ecore_evas_resize(cc->win, pos->x, pos->y);
	ecore_evas_show(cc->win);

//      if(main_config->ontop==1)

	/* Moving the damn thing */
	ecore_evas_move(cc->win, pos->x, pos->y);

	/* Setup the Canvas, Render-Method and Font Path */
	cc->evas = ecore_evas_get(cc->win);
	evas_output_method_set(cc->evas,
			       evas_render_method_lookup(main_config->
							 render_method));
	snprintf(fontpath, PATH_MAX, "%s/fonts", PACKAGE_DATA_DIR);
	evas_font_path_append(cc->evas, fontpath);
	free(fontpath);

	/* Draggable Setup */
	cc->dragger = esmart_draggies_new(cc->win);
	evas_object_name_set(cc->dragger, "dragger");
	evas_object_move(cc->dragger, 0, 0);
	evas_object_layer_set(cc->dragger, 0);
	evas_object_color_set(cc->dragger, 255, 255, 255, 0);
	esmart_draggies_button_set(cc->dragger, 1);
	evas_object_show(cc->dragger);

	/* Setup the EDJE */
	cc->edje = edje_object_add(cc->evas);
	snprintf(edjefn, PATH_MAX, CC_EDJE, PACKAGE_DATA_DIR,
		 main_config->theme);
	edje_object_file_set(cc->edje, edjefn, CC_PART);
	free(edjefn);
	evas_object_move(cc->edje, 0, 0);
	evas_object_layer_set(cc->edje, 1);
	evas_object_name_set(cc->edje, "edje");
	evas_object_pass_events_set(cc->edje, 0);
	evas_object_show(cc->edje);
	if (pos->shaded)
		edje_object_signal_emit(cc->edje, EDJE_SIGNAL_CC_SHADE "_GO",
					"");
	else
		edje_object_signal_emit(cc->edje, EDJE_SIGNAL_CC_UNSHADE "_GO",
					"");

	/* EDJE and ECORE min, max and resizing */
	edje_object_size_max_get(cc->edje, &edje_w, &edje_h);
	ecore_evas_size_max_set(cc->win, edje_w, edje_h);
	edje_object_size_min_get(cc->edje, &edje_w, &edje_h);
	ecore_evas_size_min_set(cc->win, edje_w, edje_h);
	ecore_evas_resize(cc->win, (int) edje_w, (int) edje_h);
	evas_object_resize(cc->edje, edje_w, edje_h);
	evas_object_resize(cc->dragger, edje_w, edje_h);

	/* Ecore Callbacks */
	ecore_evas_callback_resize_set(cc->win, cc_resize);
	ecore_evas_callback_destroy_set(cc->win, cc_close_win);
	ecore_evas_callback_delete_request_set(cc->win, cc_close_win);

	/* Edje Callbacks */
	edje_object_signal_callback_add(cc->edje,
					EDJE_SIGNAL_CC_MINIMIZE, "",
					(void *) cc_minimize, cc->win);
	edje_object_signal_callback_add(cc->edje, EDJE_SIGNAL_CC_CLOSE, "",
					(void *) cc_close, NULL);
	edje_object_signal_callback_add(cc->edje, EDJE_SIGNAL_CC_SAVELOAD, "",
					(void *) cc_saveload, NULL);
	edje_object_signal_callback_add(cc->edje, EDJE_SIGNAL_CC_SETTINGS, "",
					(void *) cc_settings, NULL);
	edje_object_signal_callback_add(cc->edje, EDJE_SIGNAL_CC_NEW, "",
					(void *) cc_newnote, NULL);
	edje_object_signal_callback_add(cc->edje, EDJE_SIGNAL_CC_SHADE, "",
					(void *) cc_shade, NULL);
	edje_object_signal_callback_add(cc->edje, EDJE_SIGNAL_CC_UNSHADE, "",
					(void *) cc_unshade, NULL);

	free(pos);
	return;
}