Enlightenment CVS committal

Author  : andreas99
Project : misc
Module  : elapse

Dir     : misc/elapse/src


Modified Files:
        Elapse.h gui.c main.c time.c util.c 


Log Message:
-> for changes see Changelog file... (new theme is on the way...)
(changed two dates in Changelog from 2003 to 2004, because I think it was a 
typo)

===================================================================
RCS file: /cvsroot/enlightenment/misc/elapse/src/Elapse.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- Elapse.h    26 May 2004 04:06:27 -0000      1.4
+++ Elapse.h    27 Mar 2005 23:31:29 -0000      1.5
@@ -21,25 +21,29 @@
 #define DEBUG_INFO     4       /* Information Only */
 
 typedef struct {
-       int             sticky;
-       int             lower;
-       char            theme[PATH_MAX];
-       int             debug;
-       char            *format;
+    int                    sticky;
+    int                lower;
+    int         below;
+    enum        {TRANSPARENT, SHAPE} alpha;
+    char               theme[PATH_MAX];
+    int                    debug;
+    char               *format;
 } Config;
 
 typedef struct {
-       Config          conf;
-       Evas            *evas;
-       Ecore_Evas      *ee;
-       Ecore_Timer     *timer;
-       Evas_Object     *edje;
-       Evas_Object     *smart;
+    Config             conf;
+    Evas               *evas;
+    Ecore_Evas         *ee;
+    Ecore_Timer        *timer;
+    Evas_Object        *edje;
+    Evas_Object        *smart;
+    Evas_Object        *shape;
 } Elapse;
 
 /* gui.c */
 void elapse_gui_init(Elapse *elapse, int argc, const char **argv);
 void elapse_cb_window_move(Ecore_Evas *ee);
+void resize_cb(Ecore_Evas *ee);
 
 /* main.c */
 void show_help(void);
===================================================================
RCS file: /cvsroot/enlightenment/misc/elapse/src/gui.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- gui.c       26 May 2004 04:06:27 -0000      1.6
+++ gui.c       27 Mar 2005 23:31:29 -0000      1.7
@@ -2,76 +2,154 @@
 
 void elapse_gui_init(Elapse *elapse, int argc, const char **argv)
 {
-       Evas_Coord iw, ih;
-       int x, y, w, h;
-       Ecore_X_Window win;
-       debug(DEBUG_INFO, elapse, "elapse_gui_init()");
-
-       debug(DEBUG_INFO, elapse, "ecore_init()");
-       ecore_init();
-       ecore_app_args_set(argc, argv);
-
-       debug(DEBUG_INFO, elapse, "ecore_evas_init()");
-       ecore_evas_init();
-       elapse->ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, 0, 0);
-       ecore_evas_title_set(elapse->ee, "Elapse");
-       ecore_evas_name_class_set(elapse->ee, "Elapse", "Elapse");
-       ecore_evas_borderless_set(elapse->ee, 1);
-       win = ecore_evas_software_x11_window_get(elapse->ee);
-       ecore_x_window_prop_layer_set(win, ECORE_X_WINDOW_LAYER_BELOW);
-       if (elapse->conf.sticky)
-               ecore_x_window_prop_sticky_set(win, 1);
-       
-       elapse->evas = ecore_evas_get(elapse->ee);
-       
-       debug(DEBUG_INFO, elapse, "esmart_trans_x11_new()");
-       elapse->smart = esmart_trans_x11_new(elapse->evas);
-       evas_object_move(elapse->smart, 0, 0);
-       evas_object_layer_set(elapse->smart, -5);
-       evas_object_name_set(elapse->smart, "root_bg");
-       evas_object_show(elapse->smart);
-
-       debug(DEBUG_INFO, elapse, "edje_init()");
-       edje_init();
-       elapse->edje = edje_object_add(elapse->evas);
-       x = edje_object_file_set(elapse->edje, elapse->conf.theme, "elapse");
-       if (!x) {
-               debug(DEBUG_FUCKED, elapse, "Could not load theme");
-               exit(1);
-       }
-       evas_object_move(elapse->edje, 0, 0);
-       edje_object_size_min_get(elapse->edje, &iw, &ih);
-       evas_object_show(elapse->edje);
-
-       debug(DEBUG_INFO, elapse, "object resize");
-       evas_object_resize(elapse->edje, (int)iw, (int)ih);
-       evas_object_resize(elapse->smart, (int)iw, (int)ih);
-       ecore_evas_resize(elapse->ee, (int)iw, (int)ih);
-
-       debug(DEBUG_INFO, elapse, "ecore_evas_show()");
-       ecore_evas_show(elapse->ee);
-
-       ecore_evas_geometry_get(elapse->ee, &x, &y, &w, &h);
-       esmart_trans_x11_freshen(elapse->smart, x, y, w, h);
-
-       ecore_evas_callback_move_set(elapse->ee, elapse_cb_window_move);
-       edje_object_signal_callback_add(elapse->edje, "quit", "quit", 
-                       (void *)ecore_main_loop_quit, NULL);
+    Evas_Coord iw, ih;
+    int load;
+    const char *conf_string;
+    Ecore_X_Window win;
+    int x, y, w, h;
+
+    debug(DEBUG_INFO, elapse, "elapse_gui_init()");
+
+    debug(DEBUG_INFO, elapse, "ecore_init()");
+    ecore_init();
+    ecore_app_args_set(argc, argv);
+
+    debug(DEBUG_INFO, elapse, "ecore_evas_init()");
+    ecore_evas_init();
+
+    debug(DEBUG_INFO, elapse, "edje_init()");
+    edje_init();
+
+    if (ecore_evas_engine_type_supported_get(ECORE_EVAS_ENGINE_SOFTWARE_X11))
+        elapse->ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, 0, 0);
+    else
+    {
+        if 
(ecore_evas_engine_type_supported_get(ECORE_EVAS_ENGINE_SOFTWARE_FB))
+            elapse->ee = ecore_evas_fb_new(NULL, 0, 0, 0);
+    }
+    if (!elapse->ee)
+    {
+        if 
(ecore_evas_engine_type_supported_get(ECORE_EVAS_ENGINE_SOFTWARE_FB))
+            elapse->ee = ecore_evas_fb_new(NULL, 0, 0, 0);
+        if (!elapse->ee)
+            elapse->ee = ecore_evas_gl_x11_new(NULL, 0, 0, 0, 0, 0);
+        if (!elapse->ee)
+        {
+            fprintf(stderr, "Cannot create Canvas!\n");
+            exit(-1);
+        }
+    }
+
+    ecore_evas_title_set(elapse->ee, "Elapse");
+    ecore_evas_name_class_set(elapse->ee, "Elapse", "Elapse");
+    ecore_evas_borderless_set(elapse->ee, 1);
+    if (elapse->conf.sticky)
+        ecore_evas_sticky_set(elapse->ee, 1);
+
+    elapse->evas = ecore_evas_get(elapse->ee);
+
+    elapse->edje = edje_object_add(elapse->evas);
+
+    load = edje_object_file_set(elapse->edje, elapse->conf.theme, "elapse");
+    if (!load) {
+        debug(DEBUG_FUCKED, elapse, "Could not load theme");
+        exit(1);
+    }
+
+    conf_string = edje_object_data_get (elapse->edje, "alpha");
+    if (conf_string)
+    {
+        if (!strcmp (conf_string, "shape"))
+            elapse->conf.alpha = SHAPE;
+    }
+
+    evas_object_move(elapse->edje, 0, 0);
+
+    edje_object_size_min_get(elapse->edje, &iw, &ih);
+
+    win = ecore_evas_software_x11_window_get(elapse->ee);
+
+    if (elapse->conf.below)
+        ecore_x_window_prop_layer_set(win, ECORE_X_WINDOW_LAYER_BELOW);
+
+    if (elapse->conf.alpha == TRANSPARENT)
+    {
+        debug(DEBUG_INFO, elapse, "esmart_trans_x11_new()");
+        elapse->smart = esmart_trans_x11_new(elapse->evas);
+        evas_object_move(elapse->smart, 0, 0);
+        evas_object_layer_set(elapse->smart, -5);
+        evas_object_name_set(elapse->smart, "root_bg");
+        evas_object_show(elapse->smart);
+
+        debug(DEBUG_INFO, elapse, "smart object resize");
+        evas_object_resize(elapse->smart, (int)iw, (int)ih);
+
+        ecore_evas_geometry_get(elapse->ee, &x, &y, &w, &h);
+        esmart_trans_x11_freshen(elapse->smart, x, y, w, h);
+
+        ecore_evas_callback_move_set(elapse->ee, elapse_cb_window_move);
+    }
+    else if (elapse->conf.alpha == SHAPE)
+    {
+        ecore_evas_shaped_set (elapse->ee, 1);
+
+        elapse->shape = evas_object_rectangle_add(elapse->evas);
+        evas_object_move(elapse->shape, 0, 0);
+        evas_object_resize(elapse->shape, (int)iw, (int)ih);
+
+        evas_object_color_set(elapse->shape, 0, 0, 0, 0);
+        evas_object_focus_set(elapse->shape, 1);
+
+        evas_object_show(elapse->shape);
+    }
+
+    debug(DEBUG_INFO, elapse, "object resize");
+    evas_object_resize(elapse->edje, (int)iw, (int)ih);
+    ecore_evas_resize(elapse->ee, (int)iw, (int)ih);
+
+    ecore_evas_data_set(elapse->ee, "elapse", elapse);
+    ecore_evas_callback_resize_set(elapse->ee, resize_cb);
+
+    debug(DEBUG_INFO, elapse, "ecore_evas_show()");
+    ecore_evas_show(elapse->ee);
+    evas_object_show(elapse->edje);
+
+    edje_object_signal_callback_add(elapse->edje, "quit", "quit",
+                                    (void *)ecore_main_loop_quit, NULL);
 }
 
 void elapse_cb_window_move(Ecore_Evas *ee)
 {
-       int x, y, w, h;
-       Evas_Object *o;
-       Elapse elapse;
-       
-       elapse.conf.debug = 1;
-       
-       ecore_evas_geometry_get(ee, &x, &y, &w, &h);
+    int x, y, w, h;
+    Evas_Object *o;
+    Elapse elapse;
+
+    elapse.conf.debug = 1;
+
+    ecore_evas_geometry_get(ee, &x, &y, &w, &h);
+
+    o = evas_object_name_find(ecore_evas_get(ee), "root_bg");
+
+    if (!o) debug(DEBUG_FUCKED, &elapse, "Smart Object Not Found");
+
+    esmart_trans_x11_freshen(o, x, y, w, h);
+}
+
+void resize_cb(Ecore_Evas *ee)
+{
+    Evas_Coord w, h, x, y;
+    Elapse *elapse;
+
+    elapse = ecore_evas_data_get(ee, "elapse");
 
-       o = evas_object_name_find(ecore_evas_get(ee), "root_bg");
+    evas_output_viewport_get(elapse->evas, NULL, NULL, &w, &h);
+    ecore_evas_geometry_get(elapse->ee, &x, &y, &w, &h);
 
-       if (!o) debug(DEBUG_FUCKED, &elapse, "Smart Object Not Found");
+    evas_object_resize(elapse->edje, w, h);
 
-       esmart_trans_x11_freshen(o, x, y, w, h);
+    if (elapse->conf.alpha == TRANSPARENT)
+    {
+        evas_object_resize(elapse->smart, w, h);
+        esmart_trans_x11_freshen(elapse->smart, x, y, w, h);
+    }
 }
===================================================================
RCS file: /cvsroot/enlightenment/misc/elapse/src/main.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- main.c      19 Apr 2004 19:33:54 -0000      1.4
+++ main.c      27 Mar 2005 23:31:29 -0000      1.5
@@ -3,84 +3,91 @@
 
 int main(int argc, const char *argv[])
 {
-       Elapse elapse;
-       int i = 0;
+    Elapse elapse;
+    int i = 0;
 
-       elapse.conf.sticky = 1;
-       elapse.conf.lower = 1;
-       strncpy(elapse.conf.theme, PACKAGE_DATA_DIR "/themes/elapse.eet",
-                       PATH_MAX);
-       elapse.conf.debug = DEBUG_LEVEL;
-       elapse.conf.format = NULL;
-
-       while (++i < argc) {
-               if (!strcmp(argv[i], "-h") || 
-                   !strcmp(argv[i], "--help")) {
-                       show_help();
-               }
-               
-               if (!strcmp(argv[i], "-q") ||
-                   !strcmp(argv[i], "--quiet")) {
-                       elapse.conf.debug = 1;
-               }
-               
-               if (!strcmp(argv[i], "-v") ||
-                   !strcmp(argv[i], "--verbose")) {
-                       if (i < argc - 1) {
-                               int tmp = atoi(argv[i + 1]);
-                               if (tmp < 0 ) elapse.conf.debug = 1;
-                               else {
-                                       elapse.conf.debug = tmp;
-                                       i++;
-                               }
-                       }
-               }
-
-               if (!strcmp(argv[i], "-f") ||
-                   !strcmp(argv[i], "--format")) {
-                       if (++i == argc) show_help();
-                       elapse.conf.format = strdup(argv[i]);
-               }
-
-               if (!strcmp(argv[i], "-n") ||
-                   !strcmp(argv[i], "--not-sticky")) {
-                       elapse.conf.sticky = 0;
-               }
-
-               if (!strcmp(argv[i], "-t") ||
-                   !strcmp(argv[i], "--theme")) {
-                       if (++i == argc) show_help();
-                       strncpy(elapse.conf.theme, argv[i], PATH_MAX);
-               }
-       }
-
-       elapse_gui_init(&elapse, argc, argv);
-
-       debug(DEBUG_INFO, &elapse, "ecore_timer_add()");
-       elapse.timer = ecore_timer_add(1, (void *)elapse_time_set, &elapse);
+    elapse.conf.sticky = 1;
+    elapse.conf.lower = 1;
+    elapse.conf.below = 1;
+    elapse.conf.alpha = TRANSPARENT;
+    strncpy(elapse.conf.theme, PACKAGE_DATA_DIR "/themes/elapse.eet",
+            PATH_MAX);
+    elapse.conf.debug = DEBUG_LEVEL;
+    elapse.conf.format = NULL;
+
+    while (++i < argc) {
+        if (!strcmp(argv[i], "-h") ||
+                !strcmp(argv[i], "--help")) {
+            show_help();
+        }
+
+        if (!strcmp(argv[i], "-q") ||
+                !strcmp(argv[i], "--quiet")) {
+            elapse.conf.debug = 1;
+        }
+
+        if (!strcmp(argv[i], "-v") ||
+                !strcmp(argv[i], "--verbose")) {
+            if (i < argc - 1) {
+                int tmp = atoi(argv[i + 1]);
+                if (tmp < 0 ) elapse.conf.debug = 1;
+                else {
+                    elapse.conf.debug = tmp;
+                    i++;
+                }
+            }
+        }
+
+        if (!strcmp(argv[i], "-f") ||
+                !strcmp(argv[i], "--format")) {
+            if (++i == argc) show_help();
+            elapse.conf.format = strdup(argv[i]);
+        }
+
+        if (!strcmp(argv[i], "-s") ||
+                !strcmp(argv[i], "--not-sticky")) {
+            elapse.conf.sticky = 0;
+        }
+        if (!strcmp(argv[i], "-b") ||
+                !strcmp(argv[i], "--not-below")) {
+            elapse.conf.below = 0;
+        }
+
+        if (!strcmp(argv[i], "-t") ||
+                !strcmp(argv[i], "--theme")) {
+            if (++i == argc) show_help();
+            strncpy(elapse.conf.theme, argv[i], PATH_MAX);
+        }
+    }
+
+    elapse_gui_init(&elapse, argc, argv);
+
+    debug(DEBUG_INFO, &elapse, "ecore_timer_add()");
+    elapse.timer = ecore_timer_add(1, (void *)elapse_time_set, &elapse);
 
-       debug(DEBUG_INFO, &elapse, "ecore_main_loop_begin()");
-       ecore_main_loop_begin();
+    debug(DEBUG_INFO, &elapse, "ecore_main_loop_begin()");
+    ecore_main_loop_begin();
 
-       debug(DEBUG_INFO, &elapse, "freeing memory");
-       free(elapse.conf.format);
+    debug(DEBUG_INFO, &elapse, "freeing memory");
+    free(elapse.conf.format);
 
-       debug(DEBUG_INFO, &elapse, "exiting elapse");   
-       return 0;
+    debug(DEBUG_INFO, &elapse, "exiting elapse");
+    return 0;
 }
 
 void show_help(void)
 {
-       printf("Elapse - The Enlightened Clock\n");
-       printf("By DigitalFallout\n");
-       printf("=-=-=-=-=-=-=-=-=\n");
-       printf("Runtime Options\n");
-       printf("-f   --format\t\tSpecify a time format, see strftime(3)\n");
-       printf("-h   --help\t\tPrint this help screen and exit\n");
-       printf("-n   --not-sticky\tDisable sticky behaviour\n");
-       printf("-q   --quiet\t\tSurpress all output\n");
-       printf("-t   --theme\t\tPath to the theme you wish to use\n");
-       printf("-v   --verbose\t\tSet a new verbosity level (1-4)\n");
-       exit(1);
+    printf("Elapse - The Enlightened Clock\n");
+    printf("By DigitalFallout\n");
+    printf("=-=-=-=-=-=-=-=-=\n");
+    printf("Runtime Options\n");
+    printf("-f   --format\t\tSpecify a time format, see strftime(3)\n");
+    printf("-h   --help\t\tPrint this help screen and exit\n");
+    printf("-s   --not-sticky\tDisable sticky behaviour\n");
+    printf("-b   --not-below\tDisable below behaviour\n");
+    printf("-q   --quiet\t\tSurpress all output\n");
+    printf("-t   --theme\t\tPath to the theme you wish to use\n");
+    printf("-v   --verbose\t\tSet a new verbosity level (1-4)\n");
+    exit(1);
 }
-       
+
===================================================================
RCS file: /cvsroot/enlightenment/misc/elapse/src/time.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- time.c      26 Apr 2004 15:20:04 -0000      1.2
+++ time.c      27 Mar 2005 23:31:29 -0000      1.3
@@ -2,20 +2,20 @@
 
 int elapse_time_set(Elapse *elapse)
 {
-       struct  tm *ts;
-       time_t  ctime;
-       char    str[PATH_MAX];
+    struct     tm *ts;
+    time_t     ctime;
+    char       str[PATH_MAX];
 
-       ctime = time(NULL);
-       ts = localtime(&ctime);
-       if (elapse->conf.format) {
-               strftime(str, PATH_MAX, elapse->conf.format, ts);
-       } else {
-               strncpy(str, asctime(ts), PATH_MAX);
-               str[strlen(str)-1] = '\0';
-       }
-       
-       edje_object_part_text_set(elapse->edje, "time", str);
+    ctime = time(NULL);
+    ts = localtime(&ctime);
+    if (elapse->conf.format) {
+        strftime(str, PATH_MAX, elapse->conf.format, ts);
+    } else {
+        strncpy(str, asctime(ts), PATH_MAX);
+        str[strlen(str)-1] = '\0';
+    }
 
-       return 1;
+    edje_object_part_text_set(elapse->edje, "time", str);
+
+    return 1;
 }
===================================================================
RCS file: /cvsroot/enlightenment/misc/elapse/src/util.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- util.c      9 Apr 2004 20:14:23 -0000       1.1
+++ util.c      27 Mar 2005 23:31:29 -0000      1.2
@@ -2,8 +2,8 @@
 
 void debug(int level, Elapse *elapse, char *message)
 {
-       if (level <= elapse->conf.debug ) {
-               printf("Debug [%d/%d] %s\n", 
-               elapse->conf.debug, level, message);
-       }
+    if (level <= elapse->conf.debug ) {
+        printf("Debug [%d/%d] %s\n",
+               elapse->conf.debug, level, message);
+    }
 }




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to