|
From: <enl...@li...> - 2002-08-02 04:29:55
|
Enlightenment CVS committal
Author : atmosphere
Project : e17
Module : apps/ebony
Dir : e17/apps/ebony/src
Modified Files:
callbacks.c ebony.h gtk_util.c main.c util.c util.h
Log Message:
Move ebony to evas2
Disabled Image exporting for now
I would suggest not using this, unless you're hacking on it cause it doesn't
quite do what it did before.
Saving has not been tested.
Two noteable weirdnesses in it since the move:
* The gradient code in ebony seems to work properly, but loading gradients out
of dbs doesn't always work right. I think the problem is in ebg
* If you open ebony up, close the bg window, and hit ctrl-n for a new one,
it segfaults.
I plan on tracking these down sometime this weekend, but if anyone finds the
problem first feel free to send patches or commit away. =)
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/callbacks.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- callbacks.c 21 Jun 2002 02:52:28 -0000 1.18
+++ callbacks.c 2 Aug 2002 04:29:54 -0000 1.19
@@ -131,8 +131,8 @@
on_bg_evas_configure_event(GtkWidget * widget, GdkEventConfigure * event,
gpointer user_data)
{
- evas_set_output_viewport(evas, 0, 0, event->width, event->height);
- evas_set_output_size(evas, event->width, event->height);
+ evas_output_viewport_set(evas, 0, 0, event->width, event->height);
+ evas_output_size_set(evas, event->width, event->height);
e_bg_set_scale(bg, export_info.screen.w * export_info.xinerama.h,
export_info.screen.h * export_info.xinerama.v);
e_bg_resize(ebony_base_bg, event->width, event->height);
@@ -179,7 +179,7 @@
on_layer_add_clicked(GtkButton * button, gpointer user_data)
{
E_Background_Layer _bl;
- Evas_List l;
+ Evas_List *l;
int size = 0;
if (!bl)
@@ -192,9 +192,10 @@
_bl->size.w = _bl->size.h = 1.0;
_bl->fg.r = _bl->fg.g = _bl->fg.b = 255;
_bl->fg.a = 80;
- _bl->obj = evas_add_rectangle(evas);
- evas_set_color(evas, _bl->obj, _bl->fg.r, _bl->fg.g, _bl->fg.b, _bl->fg.a);
- evas_show(evas, _bl->obj);
+ _bl->obj = evas_object_rectangle_add(evas);
+ evas_object_color_set(_bl->obj, _bl->fg.r, _bl->fg.g, _bl->fg.b,
+ _bl->fg.a);
+ evas_object_show(_bl->obj);
bg->layers = evas_list_append(bg->layers, _bl);
for (l = bg->layers; l; l = l->next)
size++;
@@ -230,10 +231,10 @@
_bl->type = E_BACKGROUND_TYPE_SOLID;
_bl->fg.a = _bl->fg.r = _bl->fg.g = _bl->fg.b = 255;
_bl->size.w = _bl->size.h = 1.0;
- _bl->obj = evas_add_rectangle(evas);
- evas_set_color(evas, _bl->obj, _bl->fg.r, _bl->fg.g, _bl->fg.b,
- _bl->fg.a);
- evas_show(evas, _bl->obj);
+ _bl->obj = evas_object_rectangle_add(evas);
+ evas_object_color_set(_bl->obj, _bl->fg.r, _bl->fg.g, _bl->fg.b,
+ _bl->fg.a);
+ evas_object_show(_bl->obj);
bg->layers = evas_list_append(bg->layers, _bl);
}
/* return the front */
@@ -295,9 +296,10 @@
bl->image = imlib_load_image(bl->file);
}
if (bl->obj)
- evas_del_object(evas, bl->obj);
- bl->obj = evas_add_image_from_file(evas, bl->file);
- evas_show(evas, bl->obj);
+ evas_object_del(bl->obj);
+ bl->obj = evas_object_image_add(evas);
+ evas_object_image_file_set(bl->obj, bl->file, NULL);
+ evas_object_show(bl->obj);
bl->size.w = bl->size.h = 1.0;
bl->fill.w = bl->fill.h = 1.0;
bl->inlined = 1;
@@ -808,8 +810,8 @@
on_evas_expose_event(GtkWidget * widget, GdkEventExpose * event,
gpointer user_data)
{
- evas_update_rect(evas, event->area.x, event->area.y, event->area.width,
- event->area.height);
+ evas_damage_rectangle_add(evas, event->area.x, event->area.y,
+ event->area.width, event->area.height);
DRAW();
return FALSE;
}
@@ -859,7 +861,7 @@
return;
bl->gradient.angle = get_spin_value("gradient_angle");
- evas_set_angle(evas, bl->obj, bl->gradient.angle);
+ evas_object_gradient_angle_set(bl->obj, bl->gradient.angle);
update_background(bg);
return;
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/ebony.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- ebony.h 9 Jun 2002 12:33:48 -0000 1.5
+++ ebony.h 2 Aug 2002 04:29:54 -0000 1.6
@@ -7,13 +7,14 @@
#include <stdlib.h>
#include <gtk/gtk.h>
#include <limits.h>
+#include <Evas_Engine_Software_X11.h>
GtkWidget *ebony_status;
GtkWidget *win_ref, *bg_ref;
GList *recent_bgs;
-Evas evas;
+Evas *evas;
E_Background bg; /* the bg we're manipulating */
E_Background ebony_base_bg; /* the canvases background */
E_Background_Layer bl;
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/gtk_util.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- gtk_util.c 10 Jun 2002 07:47:00 -0000 1.7
+++ gtk_util.c 2 Aug 2002 04:29:54 -0000 1.8
@@ -288,7 +288,7 @@
bl->fg.b = 255 * color[2];
bl->fg.a = 255 * color[3];
- evas_set_color(evas, bl->obj, bl->fg.r, bl->fg.g, bl->fg.b, bl->fg.a);
+ evas_object_color_set(bl->obj, bl->fg.r, bl->fg.g, bl->fg.b, bl->fg.a);
update_background(bg);
}
@@ -373,9 +373,9 @@
int size;
/* clear the evas cache */
- size = evas_get_image_cache(evas);
- evas_set_image_cache(evas, 0);
- evas_set_image_cache(evas, size);
+ size = evas_object_image_cache_get(evas);
+ evas_object_image_cache_set(evas, 0);
+ evas_object_image_cache_set(evas, size);
e_bg_add_to_evas(_bg, evas);
e_bg_set_layer(_bg, 0);
@@ -1082,8 +1082,9 @@
void
export_ok_clicked(GtkWidget * w, gpointer data)
{
+#if 0
E_Background export_bg;
- Evas export_evas;
+ Evas *export_evas;
Imlib_Image image;
gchar *file;
gchar errstr[1024];
@@ -1110,7 +1111,7 @@
/* Setup Evas and render */
export_evas = evas_new();
- evas_set_output_method(export_evas, RENDER_METHOD_IMAGE);
+ evas_output_method_set(export_evas, RENDER_METHOD_IMAGE);
evas_set_output_image(export_evas, image);
evas_set_output_viewport(export_evas, 0, 0, width, height);
evas_set_output_size(export_evas, width, height);
@@ -1136,4 +1137,5 @@
return;
UN(w);
UN(data);
+#endif
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/main.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- main.c 9 Jun 2002 12:33:50 -0000 1.14
+++ main.c 2 Aug 2002 04:29:54 -0000 1.15
@@ -34,12 +34,12 @@
evas = NULL;
bg = NULL;
- ebony_base_bg = NULL;
bl = NULL;
idle = 0;
+ ebony_base_bg = NULL;
export_info.screen.w = export_info.screen.h = 0;
export_info.xinerama.h = export_info.xinerama.v = 1;
- snprintf(image_fileselection_dir, PATH_MAX, "%s", getenv("HOME"));
+ snprintf(image_fileselection_dir, PATH_MAX, "%s/*", getenv("HOME"));
snprintf(bg_fileselection_dir, PATH_MAX, "%s", getenv("HOME"));
snprintf(save_as_fileselection_dir, PATH_MAX, "%s", getenv("HOME"));
snprintf(export_fileselection_dir, PATH_MAX, "%s", getenv("HOME"));
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/util.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- util.c 10 Jun 2002 07:47:00 -0000 1.8
+++ util.c 2 Aug 2002 04:29:54 -0000 1.9
@@ -167,7 +167,7 @@
int
move_layer_up(E_Background_Layer _bl)
{
- Evas_List l, ll;
+ Evas_List *l, *ll;
if (!bg)
return (0);
@@ -194,7 +194,7 @@
int
move_layer_down(E_Background_Layer _bl)
{
- Evas_List l, ll;
+ Evas_List *l, *ll;
if (!bg)
return (0);
@@ -218,17 +218,19 @@
* @_o - the object to outline
*/
void
-outline_evas_object(Evas_Object _o)
+outline_evas_object(Evas_Object * _o)
{
+#if 0
double x, y, w, h;
/* int colors[] = { 255, 255, 255, 255 }; */
/* int colors[] = { 0, 0, 0, 90 }; */
- Evas_Object o;
+
+ Evas_Object *o;
if (!_o)
return;
- evas_get_geometry(evas, _o, &x, &y, &w, &h);
+ evas_object_geometry_get(evas, _o, &x, &y, &w, &h);
o = evas_object_get_named(evas, "top_line");
if (o)
{
@@ -253,6 +255,7 @@
evas_set_line_xy(evas, o, x, y, x, y + h);
evas_set_layer(evas, o, 100);
}
+#endif
}
/**
@@ -262,7 +265,7 @@
void
fill_background_images(E_Background _bg)
{
- Evas_List l;
+ Evas_List *l;
E_Background_Layer _bl;
if (!_bg)
@@ -314,48 +317,68 @@
void
redraw_gradient_object(void)
{
- Evas_List l;
- Evas_Gradient og;
+ Evas_List *l;
E_Background_Gradient g;
if (!bl)
return;
if (bl->obj)
- evas_del_object(evas, bl->obj);
+ evas_object_del(bl->obj);
- bl->obj = evas_add_gradient_box(evas);
- og = evas_gradient_new();
+ bl->obj = evas_object_gradient_add(evas);
for (l = bl->gradient.colors; l; l = l->next)
{
g = (E_Background_Gradient) l->data;
- evas_gradient_add_color(og, g->r, g->g, g->b, g->a, 1);
+ evas_object_gradient_color_add(bl->obj, g->r, g->g, g->b, g->a, 1);
}
- evas_set_gradient(evas, bl->obj, og);
- evas_set_angle(evas, bl->obj, bl->gradient.angle);
- evas_gradient_free(og);
-
- evas_show(evas, bl->obj);
+ evas_object_gradient_angle_set(bl->obj, bl->gradient.angle);
+ evas_object_show(bl->obj);
return;
UN(g);
+ UN(l);
}
void
setup_evas(Display * disp, Window win, Visual * vis, Colormap cm, int w,
int h)
{
- Evas_Object o;
+ Evas_Engine_Info_Software_X11 *einfo;
- int colors[] = { 255, 255, 255, 255 };
+ /* int colors[] = { 255, 255, 255, 255 }; */
evas = evas_new();
- evas_set_output_method(evas, RENDER_METHOD_ALPHA_SOFTWARE);
- evas_set_output(evas, disp, win, vis, cm);
- evas_set_output_size(evas, w, h);
- evas_set_output_viewport(evas, 0, 0, w, h);
- evas_set_font_cache(evas, ((1024 * 1024) * 1));
- evas_set_image_cache(evas, ((1024 * 1024) * 4));
- evas_font_add_path(evas, PACKAGE_DATA_DIR "/fnt/");
+ evas_output_method_set(evas, evas_render_method_lookup("software_x11"));
+ evas_output_size_set(evas, w, h);
+ evas_output_viewport_set(evas, 0, 0, w, h);
+
+ einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas);
+ einfo->info.drawable = win;
+ einfo->info.display = disp;
+ einfo->info.visual = vis;
+ einfo->info.colormap = cm;
+ einfo->info.depth = DefaultDepth(disp, DefaultScreen(disp));
+ einfo->info.rotation = 0;
+ einfo->info.debug = 0;
+ evas_engine_info_set(evas, (Evas_Engine_Info *) einfo);
+
+ evas_object_image_cache_set(evas, (1024 * 1024) * 1);
+ evas_object_font_cache_set(evas, (1024 * 1024) * 4);
+ evas_object_font_path_append(evas, PACKAGE_DATA_DIR "/fnt");
+ ebony_base_bg = e_bg_load(PACKAGE_DATA_DIR "/pixmaps/base.bg.db");
+ if (ebony_base_bg)
+ {
+ e_bg_add_to_evas(ebony_base_bg, evas);
+ e_bg_set_layer(ebony_base_bg, -20);
+ e_bg_resize(ebony_base_bg, w, h);
+ e_bg_show(ebony_base_bg);
+ }
+ else
+ {
+ fprintf(stderr, "Unable to load %s\n",
+ PACKAGE_DATA_DIR "/pixmaps/base.bg.db");
+ }
+#if 0
o = evas_add_line(evas);
evas_object_set_name(evas, o, "top_line");
evas_set_color(evas, o, colors[0], colors[1], colors[2], colors[3]);
@@ -375,21 +398,7 @@
evas_object_set_name(evas, o, "right_line");
evas_set_color(evas, o, colors[0], colors[1], colors[2], colors[3]);
evas_show(evas, o);
-
- ebony_base_bg = e_bg_load(PACKAGE_DATA_DIR "/pixmaps/base.bg.db");
- if (ebony_base_bg)
- {
- e_bg_add_to_evas(ebony_base_bg, evas);
- e_bg_set_layer(ebony_base_bg, -20);
- e_bg_resize(ebony_base_bg, w, h);
- e_bg_show(ebony_base_bg);
- }
- else
- {
- fprintf(stderr, "Unable to load %s\n",
- PACKAGE_DATA_DIR "/pixmaps/base.bg.db");
- }
-
+#endif
}
void
@@ -442,7 +451,7 @@
static void
e_bg_resize_scaled(E_Background _bg, int width, int height, double scale)
{
- Evas_List l;
+ Evas_List *l;
int i;
if (!_bg)
@@ -450,9 +459,9 @@
if (!_bg->evas)
return;
- evas_move(_bg->evas, _bg->base_obj, _bg->x, _bg->y);
- evas_resize(_bg->evas, _bg->base_obj, (double) width * scale,
- (double) height * scale);
+ evas_object_move(_bg->base_obj, _bg->x, _bg->y);
+ evas_object_resize(_bg->base_obj, (double) width * scale,
+ (double) height * scale);
for (i = 0, l = _bg->layers; l; l = l->next, i++)
{
E_Background_Layer bl;
@@ -478,7 +487,7 @@
/* object is an image, resize and calculate fill */
if (bl->type == E_BACKGROUND_TYPE_IMAGE)
{
- evas_get_image_size(_bg->evas, bl->obj, &iw, &ih);
+ evas_object_image_size_get(bl->obj, &iw, &ih);
if (bl->size.orig.w)
w = (double) iw *bl->size.w;
@@ -520,19 +529,20 @@
x += (scale * (double) bl->abs.x);
y += (scale * (double) bl->abs.y);
- evas_move(_bg->evas, bl->obj, x, y);
- evas_resize(_bg->evas, bl->obj, w, h);
+ evas_object_move(bl->obj, x, y);
+ evas_object_resize(bl->obj, w, h);
switch (bl->type)
{
case E_BACKGROUND_TYPE_IMAGE:
- evas_set_image_fill(_bg->evas, bl->obj,
- (double) _bg->geom.sx * bl->scroll.x,
- (double) _bg->geom.sy * bl->scroll.y, fw, fh);
+ evas_object_image_fill_set(bl->obj,
+ (double) _bg->geom.sx * bl->scroll.x,
+ (double) _bg->geom.sy * bl->scroll.y,
+ fw, fh);
break;
case E_BACKGROUND_TYPE_GRADIENT:
/* FIXME Necessary to call again ? */
- evas_set_angle(_bg->evas, bl->obj, bl->gradient.angle);
+ evas_object_gradient_angle_set(bl->obj, bl->gradient.angle);
break;
case E_BACKGROUND_TYPE_SOLID:
break;
@@ -560,7 +570,7 @@
if (!_bg)
return;
- evas_get_drawable_size(evas, &ww, &wh);
+ evas_output_size_get(evas, &ww, &wh);
/* fill the evas */
if (height <= 0 || width <= 0)
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/util.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- util.h 10 Jun 2002 07:47:00 -0000 1.7
+++ util.h 2 Aug 2002 04:29:54 -0000 1.8
@@ -9,7 +9,7 @@
/* strip .bg.db off the end strip prefixing directory paths */
char *get_shortname_for(const char *s);
void update_background(E_Background _bg);
-void outline_evas_object(Evas_Object _o);
+void outline_evas_object(Evas_Object * _o);
int move_layer_up(E_Background_Layer _bl);
int move_layer_down(E_Background_Layer _bl);
void clear_bg_db_keys(E_Background _bg);
|