r2897 - in trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery: . data src

mickey at sita.openmoko.org mickey at sita.openmoko.org
Sun Sep 2 23:16:02 CEST 2007


Author: mickey
Date: 2007-09-02 23:15:59 +0200 (Sun, 02 Sep 2007)
New Revision: 2897

Added:
   trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/data/Battery_AC.png
Modified:
   trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/ChangeLog
   trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/data/Battery.png
   trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/data/Battery_00.png
   trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/data/Battery_01.png
   trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/data/Battery_02.png
   trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/data/Battery_03.png
   trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/data/Battery_04.png
   trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/data/Battery_05.png
   trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/data/Makefile.am
   trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/src/openmoko-panel-battery.c
Log:
openmoko-panel-battery: Precalculate images to make scaling easier. Catch up with libmokopanelui2


Modified: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/ChangeLog	2007-09-02 20:09:45 UTC (rev 2896)
+++ trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/ChangeLog	2007-09-02 21:15:59 UTC (rev 2897)
@@ -1,11 +1,18 @@
+2007-09-02	Michael Lauer <mickey at openmoko.org>
+
+	* src/openmoko-battery-plugin.c:
+	* data/Makefile.am:
+	* data/Battery*.png:
+	Precalculate images to make them scalable. Catch up with libmokopanelui2.
+
 2007-07-30  Michael Lauer <mickey at openmoko.org>
 
-        * configure.ac:
-        Import panel-plugin into 2007.2 and refer to libmokopanelui2.
+	* configure.ac:
+	Import panel-plugin into 2007.2 and refer to libmokopanelui2.
 
 2007-06-22  Stefan Schmidt <stefan at openmoko.org>
 
-        * configure.ac:
-        * data/Makefile.am:
+	* configure.ac:
+	* data/Makefile.am:
 
-        Fix make distcheck. Patch from Rodolphe Ortalo. Closes #541
+	Fix make distcheck. Patch from Rodolphe Ortalo. Closes #541

Modified: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/data/Battery.png
===================================================================
(Binary files differ)

Modified: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/data/Battery_00.png
===================================================================
(Binary files differ)

Modified: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/data/Battery_01.png
===================================================================
(Binary files differ)

Modified: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/data/Battery_02.png
===================================================================
(Binary files differ)

Modified: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/data/Battery_03.png
===================================================================
(Binary files differ)

Modified: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/data/Battery_04.png
===================================================================
(Binary files differ)

Modified: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/data/Battery_05.png
===================================================================
(Binary files differ)

Added: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/data/Battery_AC.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/data/Battery_AC.png
___________________________________________________________________
Name: svn:mime-type
   + image/png

Modified: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/data/Makefile.am
===================================================================
--- trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/data/Makefile.am	2007-09-02 20:09:45 UTC (rev 2896)
+++ trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/data/Makefile.am	2007-09-02 21:15:59 UTC (rev 2897)
@@ -1,5 +1,11 @@
 #
 # misc. data files
 #
-dist_pkgdata_DATA = Battery_00.png Battery_01.png  Battery_02.png Battery_03.png \
-                Battery_04.png  Battery_05.png Battery_Plug.png Battery.png
+dist_pkgdata_DATA = \
+  Battery_00.png \
+  Battery_01.png \
+  Battery_02.png \
+  Battery_03.png \
+  Battery_04.png \
+  Battery_05.png \
+  Battery_AC.png

Modified: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/src/openmoko-panel-battery.c
===================================================================
--- trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/src/openmoko-panel-battery.c	2007-09-02 20:09:45 UTC (rev 2896)
+++ trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/src/openmoko-panel-battery.c	2007-09-02 21:15:59 UTC (rev 2897)
@@ -32,11 +32,7 @@
 #define DEBUG_THIS_FILE
 
 typedef struct {
-    GdkPixbuf* enclosing;
-    GdkPixbuf* plug;
-    GdkPixbuf* juice[JUICE_PIXMAPS];
-    GdkPixbuf* indicator;
-    GtkImage *image;
+    MokoPanelApplet* mokoapplet;
     guint timeout_id;
 } BatteryApplet;
 
@@ -58,15 +54,8 @@
     memset (&info, 0, sizeof (apm_info));
     apm_read (&info);
 
-    /* compose new pixmap and set label */
+    char* icon;
 
-    guint w = gdk_pixbuf_get_width( applet->indicator );
-    guint h = gdk_pixbuf_get_height( applet->indicator );
-
-    gdk_pixbuf_copy_area( applet->enclosing, 0, 0, w, h, applet->indicator, 0, 0 );
-
-    GdkPixbuf* icon;
-
     //FIXME Can we actually find out, when the battery is full?
 
     // g_debug( "-- info.battery_status = %0xd", info.battery_status );
@@ -75,65 +64,37 @@
     if ( info.battery_status == BATTERY_STATUS_ABSENT ||
          info.battery_status == BATTERY_STATUS_CHARGING )
     {
-         icon = applet->plug;
+         icon = PKGDATADIR "/Battery_AC.png";
     }
     else
     {
         if (info.battery_percentage < 10)
-            icon = applet->juice[0];
+            icon = PKGDATADIR "/Battery_00.png";
         else if (info.battery_percentage < 30)
-            icon = applet->juice[1];
+            icon = PKGDATADIR "/Battery_01.png";
         else if (info.battery_percentage < 50)
-            icon = applet->juice[2];
+            icon = PKGDATADIR "/Battery_02.png";
         else if (info.battery_percentage < 70)
-            icon = applet->juice[3];
+            icon = PKGDATADIR "/Battery_03.png";
         else if (info.battery_percentage < 90)
-            icon = applet->juice[4];
+            icon = PKGDATADIR "/Battery_04.png";
         else
-            icon = applet->juice[5];
+            icon = PKGDATADIR "/Battery_05.png";
     }
 
     //FIXME Check whether we actually need to update
 
-    gdk_pixbuf_composite( icon, applet->indicator, 0, 0, w, h, 0, 0, 1, 1, GDK_INTERP_NEAREST, 255 );
-    gtk_image_set_from_pixbuf( applet->image, applet->indicator );
-
+    moko_panel_applet_set_icon( applet->mokoapplet, icon );
     return TRUE;
 }
 
 G_MODULE_EXPORT GtkWidget* mb_panel_applet_create(const char* id, GtkOrientation orientation)
 {
-    MokoPanelApplet* mokoapplet = MOKO_PANEL_APPLET(moko_panel_applet_new());
+    BatteryApplet *applet = g_slice_new (BatteryApplet);
+    MokoPanelApplet* mokoapplet = applet->mokoapplet = MOKO_PANEL_APPLET(moko_panel_applet_new());
 
-    BatteryApplet *applet;
     time_t t;
     struct tm *local_time;
-
-    applet = g_slice_new (BatteryApplet);
-
-    applet->image = GTK_IMAGE(gtk_image_new());
-    gtk_widget_set_name( GTK_WIDGET(applet->image), "MatchboxPanelBattery" );
-    g_object_weak_ref( G_OBJECT(applet->image), (GWeakNotify) battery_applet_free, applet );
-
-    /* preload pixbufs */
-    guint i = 0;
-    applet->juice[i++] = gdk_pixbuf_new_from_file( PKGDATADIR "/Battery_00.png", NULL );
-    applet->juice[i++] = gdk_pixbuf_new_from_file( PKGDATADIR "/Battery_01.png", NULL );
-    applet->juice[i++] = gdk_pixbuf_new_from_file( PKGDATADIR "/Battery_02.png", NULL );
-    applet->juice[i++] = gdk_pixbuf_new_from_file( PKGDATADIR "/Battery_03.png", NULL );
-    applet->juice[i++] = gdk_pixbuf_new_from_file( PKGDATADIR "/Battery_04.png", NULL );
-    applet->juice[i++] = gdk_pixbuf_new_from_file( PKGDATADIR "/Battery_05.png", NULL );
-    applet->enclosing = gdk_pixbuf_new_from_file( PKGDATADIR "/Battery.png", NULL );
-    applet->plug = gdk_pixbuf_new_from_file( PKGDATADIR "/Battery_Plug.png", NULL );
-
-    applet->indicator = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8,
-                                      gdk_pixbuf_get_width( applet->enclosing ),
-                                      gdk_pixbuf_get_height( applet->enclosing ) );
-
-    gtk_widget_set_size_request( GTK_WIDGET(applet->image),
-                                 gdk_pixbuf_get_width( applet->indicator ),
-                                 gdk_pixbuf_get_height( applet->indicator ) );
-
     t = time( NULL );
     local_time = localtime(&t);
 #ifndef DEBUG_THIS_FILE
@@ -143,7 +104,7 @@
 #else
     applet->timeout_id = g_timeout_add( 10 * 1000, (GSourceFunc) timeout, applet);
 #endif
-    moko_panel_applet_set_widget( MOKO_PANEL_APPLET(mokoapplet), GTK_WIDGET(applet->image) );
+    moko_panel_applet_set_icon( mokoapplet, PKGDATADIR "/Battery_00.png" );
     gtk_widget_show_all( GTK_WIDGET(mokoapplet) );
     return GTK_WIDGET(mokoapplet);
-};
+}





More information about the commitlog mailing list