started work on guides (for rubber banding etc.) and changed code to match
ebits changes... (sorry everyone.. ebtis changes needed doing) SVN revision: 5333
This commit is contained in:
parent
6228476075
commit
349a1016c6
|
@ -26,6 +26,7 @@ enlightenment_SOURCES = \
|
||||||
exec.h exec.c \
|
exec.h exec.c \
|
||||||
fs.h fs.c \
|
fs.h fs.c \
|
||||||
$(ferite_c) \
|
$(ferite_c) \
|
||||||
|
guides.h guides.c \
|
||||||
icccm.h icccm.c \
|
icccm.h icccm.c \
|
||||||
icons.c \
|
icons.c \
|
||||||
ipc.h ipc.c \
|
ipc.h ipc.c \
|
||||||
|
@ -42,7 +43,7 @@ enlightenment_SOURCES = \
|
||||||
view.h view.c \
|
view.h view.c \
|
||||||
e.h
|
e.h
|
||||||
|
|
||||||
enlightenment_LDADD = @evas_libs@ @edb_libs@ @ebits_libs@ @ecore_libs@ @efsd_libs@ @ferite_libs@ -lm -lc -ldl $(INTLLIBS)
|
enlightenment_LDADD = @evas_libs@ @edb_libs@ @ebits_libs@ @ecore_libs@ @efsd_libs@ @ferite_libs@ -lm -lc $(INTLLIBS)
|
||||||
|
|
||||||
e_ferite_gen_core.c: e_ferite.fec
|
e_ferite_gen_core.c: e_ferite.fec
|
||||||
rm -f e_ferite_gen_* ; \
|
rm -f e_ferite_gen_* ; \
|
||||||
|
|
18
src/border.c
18
src/border.c
|
@ -1699,11 +1699,11 @@ e_border_set_bits(E_Border *b, char *file)
|
||||||
e_border_set_color_class(b, "Title BG", 100, 200, 255, 255);
|
e_border_set_color_class(b, "Title BG", 100, 200, 255, 255);
|
||||||
|
|
||||||
#define HOOK_CB(_class) \
|
#define HOOK_CB(_class) \
|
||||||
ebits_set_bit_callback(b->bits.t, _class, CALLBACK_MOUSE_IN, e_cb_mouse_in, b); \
|
ebits_set_classed_bit_callback(b->bits.t, _class, CALLBACK_MOUSE_IN, e_cb_mouse_in, b); \
|
||||||
ebits_set_bit_callback(b->bits.t, _class, CALLBACK_MOUSE_OUT, e_cb_mouse_out, b); \
|
ebits_set_classed_bit_callback(b->bits.t, _class, CALLBACK_MOUSE_OUT, e_cb_mouse_out, b); \
|
||||||
ebits_set_bit_callback(b->bits.t, _class, CALLBACK_MOUSE_DOWN, e_cb_mouse_down, b); \
|
ebits_set_classed_bit_callback(b->bits.t, _class, CALLBACK_MOUSE_DOWN, e_cb_mouse_down, b); \
|
||||||
ebits_set_bit_callback(b->bits.t, _class, CALLBACK_MOUSE_UP, e_cb_mouse_up, b); \
|
ebits_set_classed_bit_callback(b->bits.t, _class, CALLBACK_MOUSE_UP, e_cb_mouse_up, b); \
|
||||||
ebits_set_bit_callback(b->bits.t, _class, CALLBACK_MOUSE_MOVE, e_cb_mouse_move, b);
|
ebits_set_classed_bit_callback(b->bits.t, _class, CALLBACK_MOUSE_MOVE, e_cb_mouse_move, b);
|
||||||
HOOK_CB("Title_Bar");
|
HOOK_CB("Title_Bar");
|
||||||
HOOK_CB("Resize");
|
HOOK_CB("Resize");
|
||||||
HOOK_CB("Resize_Horizontal");
|
HOOK_CB("Resize_Horizontal");
|
||||||
|
@ -2062,25 +2062,25 @@ e_border_update(E_Border *b)
|
||||||
{
|
{
|
||||||
double tx, ty, tw, th;
|
double tx, ty, tw, th;
|
||||||
|
|
||||||
ebits_get_bit_geometry(b->bits.l, "Title_Area", &tx, &ty, &tw, &th);
|
ebits_get_named_bit_geometry(b->bits.l, "Title_Area", &tx, &ty, &tw, &th);
|
||||||
evas_set_text(b->evas.l, b->obj.title.l, b->client.title);
|
evas_set_text(b->evas.l, b->obj.title.l, b->client.title);
|
||||||
evas_move(b->evas.l, b->obj.title.l, tx, ty);
|
evas_move(b->evas.l, b->obj.title.l, tx, ty);
|
||||||
evas_move(b->evas.l, b->obj.title_clip.l, tx, ty);
|
evas_move(b->evas.l, b->obj.title_clip.l, tx, ty);
|
||||||
evas_resize(b->evas.l, b->obj.title_clip.l, tw, th);
|
evas_resize(b->evas.l, b->obj.title_clip.l, tw, th);
|
||||||
|
|
||||||
ebits_get_bit_geometry(b->bits.r, "Title_Area", &tx, &ty, &tw, &th);
|
ebits_get_named_bit_geometry(b->bits.r, "Title_Area", &tx, &ty, &tw, &th);
|
||||||
evas_set_text(b->evas.r, b->obj.title.r, b->client.title);
|
evas_set_text(b->evas.r, b->obj.title.r, b->client.title);
|
||||||
evas_move(b->evas.r, b->obj.title.r, tx, ty);
|
evas_move(b->evas.r, b->obj.title.r, tx, ty);
|
||||||
evas_move(b->evas.r, b->obj.title_clip.r, tx, ty);
|
evas_move(b->evas.r, b->obj.title_clip.r, tx, ty);
|
||||||
evas_resize(b->evas.r, b->obj.title_clip.r, tw, th);
|
evas_resize(b->evas.r, b->obj.title_clip.r, tw, th);
|
||||||
|
|
||||||
ebits_get_bit_geometry(b->bits.t, "Title_Area", &tx, &ty, &tw, &th);
|
ebits_get_named_bit_geometry(b->bits.t, "Title_Area", &tx, &ty, &tw, &th);
|
||||||
evas_set_text(b->evas.t, b->obj.title.t, b->client.title);
|
evas_set_text(b->evas.t, b->obj.title.t, b->client.title);
|
||||||
evas_move(b->evas.t, b->obj.title.t, tx, ty);
|
evas_move(b->evas.t, b->obj.title.t, tx, ty);
|
||||||
evas_move(b->evas.t, b->obj.title_clip.t, tx, ty);
|
evas_move(b->evas.t, b->obj.title_clip.t, tx, ty);
|
||||||
evas_resize(b->evas.t, b->obj.title_clip.t, tw, th);
|
evas_resize(b->evas.t, b->obj.title_clip.t, tw, th);
|
||||||
|
|
||||||
ebits_get_bit_geometry(b->bits.b, "Title_Area", &tx, &ty, &tw, &th);
|
ebits_get_named_bit_geometry(b->bits.b, "Title_Area", &tx, &ty, &tw, &th);
|
||||||
evas_set_text(b->evas.b, b->obj.title.b, b->client.title);
|
evas_set_text(b->evas.b, b->obj.title.b, b->client.title);
|
||||||
evas_move(b->evas.b, b->obj.title.b, tx, ty);
|
evas_move(b->evas.b, b->obj.title.b, tx, ty);
|
||||||
evas_move(b->evas.b, b->obj.title_clip.b, tx, ty);
|
evas_move(b->evas.b, b->obj.title_clip.b, tx, ty);
|
||||||
|
|
|
@ -0,0 +1,316 @@
|
||||||
|
#include "guides.h"
|
||||||
|
#include "text.h"
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
static struct
|
||||||
|
{
|
||||||
|
int changed;
|
||||||
|
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
int loc;
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
double x, y;
|
||||||
|
} align;
|
||||||
|
char *text;
|
||||||
|
char *icon;
|
||||||
|
} display;
|
||||||
|
int x, y, w, h;
|
||||||
|
int visible;
|
||||||
|
int mode;
|
||||||
|
} current, prev;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
Window display;
|
||||||
|
Window l, r, t, b;
|
||||||
|
} win;
|
||||||
|
struct {
|
||||||
|
Evas evas;
|
||||||
|
Ebits_Object bg;
|
||||||
|
E_Text *text;
|
||||||
|
Evas_Object icon;
|
||||||
|
Imlib_Image image;
|
||||||
|
} disp;
|
||||||
|
} guides;
|
||||||
|
|
||||||
|
static void e_guides_idle(void *data);
|
||||||
|
static void e_guides_update(void);
|
||||||
|
|
||||||
|
static void
|
||||||
|
e_guides_idle(void *data)
|
||||||
|
{
|
||||||
|
e_guides_update();
|
||||||
|
UN(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
e_guides_update(void)
|
||||||
|
{
|
||||||
|
int max_colors = 216;
|
||||||
|
int font_cache = 1024 * 1024;
|
||||||
|
int image_cache = 8192 * 1024;
|
||||||
|
char *font_dir;
|
||||||
|
int redraw;
|
||||||
|
|
||||||
|
if (!guides.changed) return;
|
||||||
|
|
||||||
|
redraw = 0;
|
||||||
|
if (guides.prev.visible != guides.current.visible)
|
||||||
|
{
|
||||||
|
if (guides.current.visible)
|
||||||
|
{
|
||||||
|
if (!guides.win.display)
|
||||||
|
{
|
||||||
|
guides.win.display = e_window_new(0, 0, 0, 1, 1);
|
||||||
|
guides.win.l = e_window_new(0, 0, 0, 1, 1);
|
||||||
|
guides.win.r = e_window_new(0, 0, 0, 1, 1);
|
||||||
|
guides.win.t = e_window_new(0, 0, 0, 1, 1);
|
||||||
|
guides.win.b = e_window_new(0, 0, 0, 1, 1);
|
||||||
|
redraw = 1;
|
||||||
|
}
|
||||||
|
if (!guides.disp.evas)
|
||||||
|
{
|
||||||
|
font_dir = e_config_get("fonts");
|
||||||
|
guides.disp.evas = evas_new();
|
||||||
|
evas_set_output_method(guides.disp.evas, RENDER_METHOD_IMAGE);
|
||||||
|
|
||||||
|
guides.disp.image = imlib_create_image(1, 1);
|
||||||
|
imlib_context_set_image(guides.disp.image);
|
||||||
|
imlib_image_set_has_alpha(1);
|
||||||
|
imlib_image_clear();
|
||||||
|
|
||||||
|
evas_set_output_image(guides.disp.evas, guides.disp.image);
|
||||||
|
evas_font_add_path(guides.disp.evas, font_dir);
|
||||||
|
evas_set_output_size(guides.disp.evas, 1, 1);
|
||||||
|
evas_set_output_viewport(guides.disp.evas, 0, 0, 1, 1);
|
||||||
|
evas_set_font_cache(guides.disp.evas, font_cache);
|
||||||
|
evas_set_image_cache(guides.disp.evas, image_cache);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (guides.win.display)
|
||||||
|
{
|
||||||
|
e_window_destroy(guides.win.display);
|
||||||
|
e_window_destroy(guides.win.l);
|
||||||
|
e_window_destroy(guides.win.r);
|
||||||
|
e_window_destroy(guides.win.t);
|
||||||
|
e_window_destroy(guides.win.b);
|
||||||
|
}
|
||||||
|
if (guides.disp.evas)
|
||||||
|
{
|
||||||
|
if (guides.disp.bg) ebits_free(guides.disp.bg);
|
||||||
|
if (guides.disp.text) e_text_free(guides.disp.text);
|
||||||
|
if (guides.disp.image)
|
||||||
|
{
|
||||||
|
imlib_context_set_image(guides.disp.image);
|
||||||
|
imlib_free_image();
|
||||||
|
}
|
||||||
|
evas_free(guides.disp.evas);
|
||||||
|
guides.disp.evas = NULL;
|
||||||
|
guides.disp.bg = NULL;
|
||||||
|
guides.disp.text = NULL;
|
||||||
|
guides.disp.icon = NULL;
|
||||||
|
guides.disp.image = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (guides.current.x != guides.prev.x) redraw = 1;
|
||||||
|
if (guides.current.y != guides.prev.y) redraw = 1;
|
||||||
|
if (guides.current.w != guides.prev.w) redraw = 1;
|
||||||
|
if (guides.current.h != guides.prev.h) redraw = 1;
|
||||||
|
if (guides.current.display.loc != guides.prev.display.loc) redraw = 1;
|
||||||
|
if (guides.current.display.align.x != guides.prev.display.align.x) redraw = 1;
|
||||||
|
if (guides.current.display.align.y != guides.prev.display.align.y) redraw = 1;
|
||||||
|
if (guides.current.display.text != guides.prev.display.text) redraw = 1;
|
||||||
|
if (guides.current.display.icon != guides.prev.display.icon) redraw = 1;
|
||||||
|
if (guides.current.mode != guides.prev.mode) redraw = 1;
|
||||||
|
|
||||||
|
if ((guides.win.display) && (redraw))
|
||||||
|
{
|
||||||
|
int dx, dy, dw, dh;
|
||||||
|
int iw, ih;
|
||||||
|
double tw, th;
|
||||||
|
char file[4096];
|
||||||
|
|
||||||
|
if (!guides.disp.text)
|
||||||
|
{
|
||||||
|
guides.disp.text = e_text_new(guides.disp.evas, guides.current.display.text, "guides");
|
||||||
|
e_text_set_layer(guides.disp.text, 100);
|
||||||
|
e_text_show(guides.disp.text);
|
||||||
|
}
|
||||||
|
if (!guides.disp.bg)
|
||||||
|
{
|
||||||
|
guides.disp.bg = ebits_load(file);
|
||||||
|
if (guides.disp.bg)
|
||||||
|
{
|
||||||
|
ebits_add_to_evas(guides.disp.bg, guides.disp.evas);
|
||||||
|
ebits_set_layer(guides.disp.bg, 0);
|
||||||
|
ebits_show(guides.disp.bg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ((!guides.current.display.text) && (guides.disp.icon))
|
||||||
|
{
|
||||||
|
evas_del_object(guides.disp.evas, guides.disp.icon);
|
||||||
|
guides.disp.icon = NULL;
|
||||||
|
}
|
||||||
|
if ((guides.current.display.icon) && (!guides.disp.icon))
|
||||||
|
{
|
||||||
|
guides.disp.icon = evas_add_image_from_file(guides.disp.evas, guides.current.display.icon);
|
||||||
|
}
|
||||||
|
if (guides.disp.icon)
|
||||||
|
{
|
||||||
|
evas_set_image_file(guides.disp.evas, guides.disp.icon, guides.current.display.icon);
|
||||||
|
evas_get_image_size(guides.disp.evas, guides.disp.icon, &iw, &ih);
|
||||||
|
}
|
||||||
|
e_text_set_text(guides.disp.text, guides.current.display.text);
|
||||||
|
e_text_get_min_size(guides.disp.text, &tw, &th);
|
||||||
|
|
||||||
|
if (guides.current.mode == E_GUIDES_BOX)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (guides.prev.visible != guides.current.visible)
|
||||||
|
{
|
||||||
|
if (guides.current.visible)
|
||||||
|
{
|
||||||
|
e_window_raise(guides.win.display);
|
||||||
|
e_window_show(guides.win.display);
|
||||||
|
e_window_raise(guides.win.l);
|
||||||
|
e_window_show(guides.win.l);
|
||||||
|
e_window_raise(guides.win.r);
|
||||||
|
e_window_show(guides.win.r);
|
||||||
|
e_window_raise(guides.win.t);
|
||||||
|
e_window_show(guides.win.t);
|
||||||
|
e_window_raise(guides.win.b);
|
||||||
|
e_window_show(guides.win.b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
guides.prev = guides.current;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
e_guides_show(void)
|
||||||
|
{
|
||||||
|
if (guides.current.visible) return;
|
||||||
|
guides.changed = 1;
|
||||||
|
guides.current.visible = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
e_guides_hide(void)
|
||||||
|
{
|
||||||
|
if (!guides.current.visible) return;
|
||||||
|
guides.changed = 1;
|
||||||
|
guides.current.visible = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
e_guides_move(int x, int y)
|
||||||
|
{
|
||||||
|
if ((guides.current.x == x) &&
|
||||||
|
(guides.current.y == y)) return;
|
||||||
|
guides.changed = 1;
|
||||||
|
guides.current.x = x;
|
||||||
|
guides.current.y = y;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
e_guides_resize(int w, int h)
|
||||||
|
{
|
||||||
|
if ((guides.current.w == w) &&
|
||||||
|
(guides.current.h == h)) return;
|
||||||
|
guides.changed = 1;
|
||||||
|
guides.current.w = w;
|
||||||
|
guides.current.h = h;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
e_guides_display_text(char *text)
|
||||||
|
{
|
||||||
|
if ((guides.current.display.text) && (text) &&
|
||||||
|
(!strcmp(guides.current.display.text, text))) return;
|
||||||
|
guides.changed = 1;
|
||||||
|
IF_FREE(guides.current.display.text);
|
||||||
|
guides.current.display.text = NULL;
|
||||||
|
guides.prev.display.text = (char *)1;
|
||||||
|
if (text)
|
||||||
|
guides.current.display.text = strdup(text);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
e_guides_display_icon(char *icon)
|
||||||
|
{
|
||||||
|
if ((guides.current.display.icon) && (icon) &&
|
||||||
|
(!strcmp(guides.current.display.icon, icon))) return;
|
||||||
|
guides.changed = 1;
|
||||||
|
IF_FREE(guides.current.display.icon);
|
||||||
|
guides.current.display.icon = NULL;
|
||||||
|
guides.prev.display.icon = (char *)1;
|
||||||
|
if (icon)
|
||||||
|
guides.current.display.icon = strdup(icon);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
e_guides_set_display_location(int loc)
|
||||||
|
{
|
||||||
|
if (guides.current.display.loc == loc) return;
|
||||||
|
guides.changed = 1;
|
||||||
|
guides.current.display.loc = loc;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
e_guides_set_display_alignment(double x, double y)
|
||||||
|
{
|
||||||
|
if ((guides.current.display.align.x == x) &&
|
||||||
|
(guides.current.display.align.y == y)) return;
|
||||||
|
guides.changed = 1;
|
||||||
|
guides.current.display.align.x = x;
|
||||||
|
guides.current.display.align.y = y;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
e_guides_set_mode(int mode)
|
||||||
|
{
|
||||||
|
if (guides.current.mode == mode) return;
|
||||||
|
guides.changed = 1;
|
||||||
|
guides.current.mode = mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
void e_guides_init(void)
|
||||||
|
{
|
||||||
|
guides.changed = 0;
|
||||||
|
|
||||||
|
guides.current.display.loc = E_GUIDES_DISPLAY_LOCATION_SCREEN_MIDDLE;
|
||||||
|
guides.current.display.text = NULL;
|
||||||
|
guides.current.display.icon = NULL;
|
||||||
|
guides.current.display.align.x = 0.5;
|
||||||
|
guides.current.display.align.y = 0.5;
|
||||||
|
guides.current.x = 0;
|
||||||
|
guides.current.y = 0;
|
||||||
|
guides.current.w = 0;
|
||||||
|
guides.current.h = 0;
|
||||||
|
guides.current.visible = 0;
|
||||||
|
guides.current.mode = E_GUIDES_BOX;
|
||||||
|
|
||||||
|
guides.prev = guides.current;
|
||||||
|
|
||||||
|
guides.win.display = 0;
|
||||||
|
guides.win.l = 0;
|
||||||
|
guides.win.r = 0;
|
||||||
|
guides.win.t = 0;
|
||||||
|
guides.win.b = 0;
|
||||||
|
|
||||||
|
guides.disp.evas = NULL;
|
||||||
|
guides.disp.bg = NULL;
|
||||||
|
guides.disp.text = NULL;
|
||||||
|
guides.disp.icon = NULL;
|
||||||
|
guides.disp.image = NULL;
|
||||||
|
|
||||||
|
e_event_filter_idle_handler_add(e_guides_idle, NULL);
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
#ifndef E_GUIDES_H
|
||||||
|
#define E_GUIDES_H
|
||||||
|
|
||||||
|
#include "e.h"
|
||||||
|
|
||||||
|
#define E_GUIDES_OPAQUE 0 /* configure window border & client */
|
||||||
|
#define E_GUIDES_BORDER 1 /* unmap client and configure window border */
|
||||||
|
#define E_GUIDES_BOX 2 /* box outline */
|
||||||
|
#define E_GUIDES_TECHNICAL 3 /* lots of lines & info */
|
||||||
|
|
||||||
|
#define E_GUIDES_DISPLAY_LOCATION_WINDOW_MIDDLE 0
|
||||||
|
#define E_GUIDES_DISPLAY_LOCATION_SCREEN_MIDDLE 1
|
||||||
|
|
||||||
|
void e_guides_show(void);
|
||||||
|
void e_guides_hide(void);
|
||||||
|
void e_guides_move(int x, int y);
|
||||||
|
void e_guides_resize(int w, int h);
|
||||||
|
void e_guides_display_text(char *text);
|
||||||
|
void e_guides_display_icon(char *icon);
|
||||||
|
void e_guides_set_display_location(int loc);
|
||||||
|
void e_guides_set_display_alignment(double x, double y);
|
||||||
|
void e_guides_set_mode(int mode);
|
||||||
|
void e_guides_init(void);
|
||||||
|
|
||||||
|
#endif
|
|
@ -127,6 +127,7 @@ main(int argc, char **argv)
|
||||||
e_view_init();
|
e_view_init();
|
||||||
e_entry_init();
|
e_entry_init();
|
||||||
e_keys_init();
|
e_keys_init();
|
||||||
|
e_guides_init();
|
||||||
|
|
||||||
#ifdef USE_FERITE
|
#ifdef USE_FERITE
|
||||||
e_ferite_init();
|
e_ferite_init();
|
||||||
|
|
|
@ -17,7 +17,7 @@ e_scrollbar_recalc(E_Scrollbar *sb)
|
||||||
{
|
{
|
||||||
double x, y, w, h;
|
double x, y, w, h;
|
||||||
|
|
||||||
ebits_get_bit_geometry(sb->base, "Trough_Area",
|
ebits_get_named_bit_geometry(sb->base, "Trough_Area",
|
||||||
&x, &y, &w, &h);
|
&x, &y, &w, &h);
|
||||||
sb->bar_area.x = x + sb->x;
|
sb->bar_area.x = x + sb->x;
|
||||||
sb->bar_area.y = y + sb->y;
|
sb->bar_area.y = y + sb->y;
|
||||||
|
@ -76,19 +76,19 @@ e_scrollbar_setup_bits(E_Scrollbar *sb)
|
||||||
if (sb->base)
|
if (sb->base)
|
||||||
{
|
{
|
||||||
ebits_add_to_evas(sb->base, sb->evas);
|
ebits_add_to_evas(sb->base, sb->evas);
|
||||||
ebits_set_bit_callback(sb->base, "Scrollbar_Trough", CALLBACK_MOUSE_DOWN, e_sb_base_down_cb, sb);
|
ebits_set_classed_bit_callback(sb->base, "Scrollbar_Trough", CALLBACK_MOUSE_DOWN, e_sb_base_down_cb, sb);
|
||||||
ebits_set_bit_callback(sb->base, "Scrollbar_Trough", CALLBACK_MOUSE_UP, e_sb_base_up_cb, sb);
|
ebits_set_classed_bit_callback(sb->base, "Scrollbar_Trough", CALLBACK_MOUSE_UP, e_sb_base_up_cb, sb);
|
||||||
ebits_set_bit_callback(sb->base, "Scrollbar_Arrow1", CALLBACK_MOUSE_DOWN, e_sb_base_down_cb, sb);
|
ebits_set_classed_bit_callback(sb->base, "Scrollbar_Arrow1", CALLBACK_MOUSE_DOWN, e_sb_base_down_cb, sb);
|
||||||
ebits_set_bit_callback(sb->base, "Scrollbar_Arrow1", CALLBACK_MOUSE_UP, e_sb_base_up_cb, sb);
|
ebits_set_classed_bit_callback(sb->base, "Scrollbar_Arrow1", CALLBACK_MOUSE_UP, e_sb_base_up_cb, sb);
|
||||||
ebits_set_bit_callback(sb->base, "Scrollbar_Arrow2", CALLBACK_MOUSE_DOWN, e_sb_base_down_cb, sb);
|
ebits_set_classed_bit_callback(sb->base, "Scrollbar_Arrow2", CALLBACK_MOUSE_DOWN, e_sb_base_down_cb, sb);
|
||||||
ebits_set_bit_callback(sb->base, "Scrollbar_Arrow2", CALLBACK_MOUSE_UP, e_sb_base_up_cb, sb);
|
ebits_set_classed_bit_callback(sb->base, "Scrollbar_Arrow2", CALLBACK_MOUSE_UP, e_sb_base_up_cb, sb);
|
||||||
}
|
}
|
||||||
if (sb->bar)
|
if (sb->bar)
|
||||||
{
|
{
|
||||||
ebits_add_to_evas(sb->bar, sb->evas);
|
ebits_add_to_evas(sb->bar, sb->evas);
|
||||||
ebits_set_bit_callback(sb->bar, "Scrollbar_Bar", CALLBACK_MOUSE_DOWN, e_sb_bar_down_cb, sb);
|
ebits_set_classed_bit_callback(sb->bar, "Scrollbar_Bar", CALLBACK_MOUSE_DOWN, e_sb_bar_down_cb, sb);
|
||||||
ebits_set_bit_callback(sb->bar, "Scrollbar_Bar", CALLBACK_MOUSE_UP, e_sb_bar_up_cb, sb);
|
ebits_set_classed_bit_callback(sb->bar, "Scrollbar_Bar", CALLBACK_MOUSE_UP, e_sb_bar_up_cb, sb);
|
||||||
ebits_set_bit_callback(sb->bar, "Scrollbar_Bar", CALLBACK_MOUSE_MOVE, e_sb_bar_move_cb, sb);
|
ebits_set_classed_bit_callback(sb->bar, "Scrollbar_Bar", CALLBACK_MOUSE_MOVE, e_sb_bar_move_cb, sb);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
19
src/view.c
19
src/view.c
|
@ -1728,11 +1728,30 @@ e_view_icon_apply_xy(E_Icon *ic)
|
||||||
ic->geom.text.w + pl + pr, ic->geom.text.h + pt + pb);
|
ic->geom.text.w + pl + pr, ic->geom.text.h + pt + pb);
|
||||||
ebits_show(ic->obj.sel.over.text);
|
ebits_show(ic->obj.sel.over.text);
|
||||||
}
|
}
|
||||||
|
if ((ic->geom.x != ic->prev_geom.x) || (ic->geom.y != ic->prev_geom.y))
|
||||||
|
{
|
||||||
|
char buf[4096];
|
||||||
|
|
||||||
|
sprintf(buf, "%s/%s", ic->view->dir, ic->file);
|
||||||
|
printf("write meta xy for icon for file %s\n", ic->file);
|
||||||
|
/*
|
||||||
|
efsd_set_metadata_int(e_fs_get_connection(),
|
||||||
|
"/pos/x", buf,
|
||||||
|
ic->geom.x);
|
||||||
|
efsd_set_metadata_int(e_fs_get_connection(),
|
||||||
|
"/pos/y", buf,
|
||||||
|
ic->geom.y);
|
||||||
|
*/ }
|
||||||
if (ic->geom.x != ic->prev_geom.x) ic->view->extents.valid = 0;
|
if (ic->geom.x != ic->prev_geom.x) ic->view->extents.valid = 0;
|
||||||
else if (ic->geom.y != ic->prev_geom.y) ic->view->extents.valid = 0;
|
else if (ic->geom.y != ic->prev_geom.y) ic->view->extents.valid = 0;
|
||||||
else if (ic->geom.w != ic->prev_geom.w) ic->view->extents.valid = 0;
|
else if (ic->geom.w != ic->prev_geom.w) ic->view->extents.valid = 0;
|
||||||
else if (ic->geom.h != ic->prev_geom.h) ic->view->extents.valid = 0;
|
else if (ic->geom.h != ic->prev_geom.h) ic->view->extents.valid = 0;
|
||||||
|
|
||||||
ic->prev_geom = ic->geom;
|
ic->prev_geom = ic->geom;
|
||||||
|
ic->prev_geom.x = ic->geom.x;
|
||||||
|
ic->prev_geom.y = ic->geom.y;
|
||||||
|
ic->prev_geom.w = ic->geom.w;
|
||||||
|
ic->prev_geom.h = ic->geom.h;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
|
Loading…
Reference in New Issue