Enlightenment CVS committal
Author : tsauerbeck
Project : misc
Module : eplayer
Dir : misc/eplayer/src
Modified Files:
callbacks.c callbacks.h interface.c
Log Message:
Added resize handlers and stuff. The ePlayer window can be raised now by clicking the
titlebar.
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/callbacks.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- callbacks.c 25 Nov 2003 17:50:57 -0000 1.18
+++ callbacks.c 30 Nov 2003 14:44:20 -0000 1.19
@@ -223,6 +223,13 @@
ecore_main_loop_quit();
}
+void cb_eplayer_raise(void *udata, Evas_Object *obj,
+ const char *emission, const char *src) {
+ ePlayer *player = udata;
+
+ ecore_evas_raise(player->gui.ee);
+}
+
void cb_switch_group(void *udata, Evas_Object *obj,
const char *emission, const char *src) {
ePlayer *player = udata;
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/callbacks.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- callbacks.h 25 Nov 2003 17:50:57 -0000 1.8
+++ callbacks.h 30 Nov 2003 14:44:20 -0000 1.9
@@ -41,6 +41,8 @@
void cb_eplayer_quit(void *udata, Evas_Object *obj,
const char *emission, const char *src);
+void cb_eplayer_raise(void *udata, Evas_Object *obj,
+ const char *emission, const char *src);
void cb_switch_group(void *udata, Evas_Object *obj,
const char *emission, const char *src);
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/interface.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -3 -r1.19 -r1.20
--- interface.c 26 Nov 2003 21:36:51 -0000 1.19
+++ interface.c 30 Nov 2003 14:44:20 -0000 1.20
@@ -24,6 +24,20 @@
edje_freeze();
}
+/**
+ * Resizes the Edje to the size of our Ecore Evas
+ *
+ * @param ee
+ */
+static void cb_ee_resize(Ecore_Evas *ee) {
+ Evas *evas = ecore_evas_get(ee);
+ Evas_Object *edje = evas_object_name_find(evas, "main_edje");
+ int w = 0, h = 0;
+
+ ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
+ evas_object_resize(edje, (Evas_Coord) w, (Evas_Coord) h);
+}
+
int setup_gui(ePlayer *player) {
debug(DEBUG_LEVEL_INFO, "Starting setup\n");
@@ -39,7 +53,6 @@
player->gui.ee = ecore_evas_software_x11_new(NULL, 0, 0, 0,
500, 500);
-
if (!player->gui.ee) {
debug(DEBUG_LEVEL_CRITICAL,
"Cannot create Ecore Evas (using %s engine)\n",
@@ -58,6 +71,7 @@
cb_ee_pre_render);
ecore_evas_callback_post_render_set(player->gui.ee,
cb_ee_post_render);
+ ecore_evas_callback_resize_set(player->gui.ee, cb_ee_resize);
ecore_evas_show(player->gui.ee);
@@ -79,6 +93,7 @@
debug(DEBUG_LEVEL_INFO, "EDJE: Defining Edje \n");
player->gui.edje = edje_object_add(player->gui.evas);
+ evas_object_name_set(player->gui.edje, "main_edje");
snprintf(eet, sizeof(eet), DATA_DIR "/themes/%s.eet",
player->cfg.theme);
@@ -90,16 +105,26 @@
}
evas_object_move(player->gui.edje, 0, 0);
- edje_object_size_min_get(player->gui.edje, &edje_w, &edje_h);
- evas_object_resize(player->gui.edje, edje_w, edje_h);
evas_object_show(player->gui.edje);
- ecore_evas_resize(player->gui.ee, (int) edje_w, (int) edje_h);
+ /* set max size */
+ edje_object_size_max_get(player->gui.edje, &edje_w, &edje_h);
+ ecore_evas_size_max_set(player->gui.ee, edje_w, edje_h);
+ /* set min size */
+ edje_object_size_min_get(player->gui.edje, &edje_w, &edje_h);
+ ecore_evas_size_min_set(player->gui.ee, edje_w, edje_h);
+
+ /* resize to the min size */
+ ecore_evas_resize(player->gui.ee, (int) edje_w, (int) edje_h);
+
/*** Edje Callbacks ***************************/
edje_object_signal_callback_add(player->gui.edje,
"QUIT", "quit",
cb_eplayer_quit, player);
+ edje_object_signal_callback_add(player->gui.edje,
+ "RAISE", "*",
+ cb_eplayer_raise, player);
edje_object_signal_callback_add(player->gui.edje,
"PLAY_PREVIOUS", "previous_button",
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs