Enlightenment CVS committal

Author  : devilhorns
Project : e_modules
Module  : rain

Dir     : e_modules/rain


Modified Files:
        Makefile.am e_mod_main.c e_mod_main.h 
Added Files:
        e_mod_config.c e_mod_config.h 


Log Message:
Config Dialog for Rain Module
===================================================================
RCS file: /cvsroot/enlightenment/e_modules/rain/Makefile.am,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- Makefile.am 12 Dec 2005 05:12:13 -0000      1.1
+++ Makefile.am 12 Dec 2005 20:38:47 -0000      1.2
@@ -20,7 +20,9 @@
 pkgdir                 = $(datadir)/$(MODULE_ARCH)
 pkg_LTLIBRARIES        = module.la
 module_la_SOURCES      = e_mod_main.c \
-                        e_mod_main.h
+                        e_mod_main.h \
+                        e_mod_config.c \
+                        e_mod_config.h
 module_la_LIBADD       = @e_libs@ -lm
 module_la_LDFLAGS      = -module -avoid-version
 module_la_DEPENDENCIES = $(top_builddir)/config.h
===================================================================
RCS file: /cvsroot/enlightenment/e_modules/rain/e_mod_main.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- e_mod_main.c        12 Dec 2005 05:12:13 -0000      1.1
+++ e_mod_main.c        12 Dec 2005 20:38:47 -0000      1.2
@@ -1,6 +1,7 @@
 #include "e.h"
 #include "config.h"
 #include "e_mod_main.h"
+#include "e_mod_config.h"
 
 /* module private routines */
 static Rain       *_rain_init(E_Module *m);
@@ -14,12 +15,13 @@
 static void        _rain_cb_density_medium(void *data, E_Menu *m, E_Menu_Item 
*i);
 static void        _rain_cb_density_dense(void *data, E_Menu *m, E_Menu_Item 
*mi);
 static void        _rain_cb_show_clouds(void *data, E_Menu *m, E_Menu_Item 
*mi);
+static void            _rain_menu_cb_configure(void *data, E_Menu *m, 
E_Menu_Item *mi);
 
 /* public module routines. all modules must have these */
 E_Module_Api e_modapi =
 {
    E_MODULE_API_VERSION,
-     "Rain"
+   "Rain"
 };
 
 void *e_modapi_init(E_Module *m)
@@ -113,7 +115,7 @@
             E_Container *con;
 
             con = l2->data;
-            rain->cons = evas_list_append(rain->cons, con);
+            rain->con = con;
             rain->canvas = con->bg_evas;
          }
      }
@@ -159,13 +161,6 @@
 {
    free(rain->conf);
    E_CONFIG_DD_FREE(rain->conf_edd);
-   while (rain->cons)
-     {
-       E_Container *con;
-
-       con = rain->cons->data;
-       rain->cons = evas_list_remove_list(rain->cons, rain->cons);
-     }
    _rain_clouds_free(rain);
    _rain_drops_free(rain);
    if (rain->animator)
@@ -181,34 +176,8 @@
    mn = e_menu_new();
 
    mi = e_menu_item_new(mn);
-   e_menu_item_label_set(mi, "Sprinkle");
-   e_menu_item_radio_set(mi, 1);
-   e_menu_item_radio_group_set(mi, 2);
-   if (rain->conf->cloud_count == 5) e_menu_item_toggle_set(mi, 1);
-   e_menu_item_callback_set(mi, _rain_cb_density_sparse, rain);
-
-   mi = e_menu_item_new(mn);
-   e_menu_item_label_set(mi, "Drizzle");
-   e_menu_item_radio_set(mi, 1);
-   e_menu_item_radio_group_set(mi, 2);
-   if (rain->conf->cloud_count == 10) e_menu_item_toggle_set(mi, 1);
-   e_menu_item_callback_set(mi, _rain_cb_density_medium, rain);
-
-   mi = e_menu_item_new(mn);
-   e_menu_item_label_set(mi, "Downpour");
-   e_menu_item_radio_set(mi, 1);
-   e_menu_item_radio_group_set(mi, 2);
-   if (rain->conf->cloud_count == 20) e_menu_item_toggle_set(mi, 1);
-   e_menu_item_callback_set(mi, _rain_cb_density_dense, rain);
-
-   mi = e_menu_item_new(mn);
-   e_menu_item_separator_set(mi, 1);
-
-   mi = e_menu_item_new(mn);
-   e_menu_item_label_set(mi, "Show Clouds");
-   e_menu_item_check_set(mi, 1);
-   e_menu_item_toggle_set(mi, rain->conf->show_clouds);
-   e_menu_item_callback_set(mi, _rain_cb_show_clouds, rain);
+   e_menu_item_label_set(mi, "Config Dialog");
+   e_menu_item_callback_set(mi, _rain_menu_cb_configure, rain);
 
    return mn;
 }
@@ -224,46 +193,6 @@
    _rain_drops_load('l', rain);
 }
 
-static void _rain_cb_density_sparse(void *data, E_Menu *m, E_Menu_Item *mi)
-{
-   Rain *rain;
-
-   rain = data;
-   rain->conf->cloud_count = 5;
-   rain->conf->drop_count = 20;
-
-   _rain_canvas_reset(rain);
-}
-
-static void _rain_cb_density_medium(void *data, E_Menu *m, E_Menu_Item *mi)
-{
-   Rain *rain;
-
-   rain = data;
-   rain->conf->cloud_count = 10;
-   rain->conf->drop_count = 60;
-   _rain_canvas_reset(rain);
-}
-
-static void _rain_cb_density_dense(void *data, E_Menu *m, E_Menu_Item *mi)
-{
-   Rain *rain;
-
-   rain = data;
-   rain->conf->cloud_count = 20;
-   rain->conf->drop_count = 150;
-   _rain_canvas_reset(rain);
-}
-
-static void _rain_cb_show_clouds(void *data, E_Menu *m, E_Menu_Item *mi)
-{
-   Rain *rain;
-
-   rain = data;
-   rain->conf->show_clouds = e_menu_item_toggle_get(mi);
-   _rain_canvas_reset(rain);
-}
-
 static void _rain_clouds_load(Rain *rain)
 {
    Evas_Object *o;
@@ -286,7 +215,7 @@
        evas_object_image_fill_set(o, 0, 0, tw, th);
 
        tx = random() % (rain->width - tw);
-       ty = random() % (rain->height - th);
+       ty = random() % ((rain->height/3) - th);
        evas_object_move(o, tx, ty);
        evas_object_pass_events_set(o, 1);
        evas_object_show(o);
@@ -323,8 +252,9 @@
        evas_object_image_alpha_set(o, 1);
        evas_object_image_fill_set(o, 0, 0, tw, th);
        
-       tx = random() % ww;
-       ty = random() % hh;
+       tx = random() % (ww - tw);
+       ty = random() % (hh - th);
+       
        evas_object_move(o, tx, ty);
        evas_object_pass_events_set(o, 1);
        evas_object_show(o);
@@ -343,7 +273,7 @@
             break;
          }
        rain->drops = evas_list_append(rain->drops, drop);
-     }
+     }     
 }
 
 static int _rain_cb_animator(void *data)
@@ -371,3 +301,21 @@
      }
    return 1;
 }
+
+static void _rain_menu_cb_configure(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+       Rain *r;
+
+   r = (Rain *)data;
+   if (!r) return;
+   e_int_config_rain(r->con, r);
+}
+
+void _rain_cb_config_updated(void *data)
+{
+       Rain *r;
+       
+       r = (Rain *)data;
+       if (!r) return;
+   _rain_canvas_reset(r);
+}
===================================================================
RCS file: /cvsroot/enlightenment/e_modules/rain/e_mod_main.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- e_mod_main.h        12 Dec 2005 05:12:13 -0000      1.1
+++ e_mod_main.h        12 Dec 2005 20:38:47 -0000      1.2
@@ -15,7 +15,7 @@
 struct _Rain
 {
    E_Module       *module;
-   Evas_List      *cons;
+   E_Container *con;
    Evas           *canvas;
    Ecore_Animator *animator;
    Evas_List      *clouds;
@@ -41,4 +41,6 @@
 EAPI int   e_modapi_info     (E_Module *m);
 EAPI int   e_modapi_about    (E_Module *m);
 
+EAPI void _rain_cb_config_updated(void *data);
+
 #endif




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to