From 40ec6f1a01887945fbfc95b69106d7d802d2515a Mon Sep 17 00:00:00 2001 From: Michael Dominic Kostrzewa Date: Thu, 18 Jan 2007 14:35:20 +0000 Subject: [PATCH] Cleaning up hildon-defines. --- ChangeLog.2 | 5 + src/hildon-defines.c | 392 ++++++++++++++++++++++++++------------------------ src/hildon-defines.h | 312 ++++++++++++++++++++++++++-------------- 3 files changed, 412 insertions(+), 297 deletions(-) diff --git a/ChangeLog.2 b/ChangeLog.2 index f5260fc..07f75bb 100644 --- a/ChangeLog.2 +++ b/ChangeLog.2 @@ -1,5 +1,10 @@ 2007-01-18 Michael Dominic Kostrzewa + * src/hildon-defines.c: + * src/hildon-defines.h: Cleaning up hildon-defines. + +2007-01-18 Michael Dominic Kostrzewa + * src/hildon-find-toolbar.c: * src/hildon-program.c: * src/hildon-volumebar.c: diff --git a/src/hildon-defines.c b/src/hildon-defines.c index 541dd23..a8f1307 100644 --- a/src/hildon-defines.c +++ b/src/hildon-defines.c @@ -24,161 +24,168 @@ /** * SECTION:hildon-defines - * @short_description: Not a widget, just a helper + * @short_description: A collection of usefull defines. * */ -#include -#include -#include "hildon-defines.h" +#ifdef HAVE_CONFIG_H +#include +#endif -const HildonIconSizes *hildoniconsizes = NULL; -static HildonIconSizes iis; /* hildon internal icon sizes */ +#include +#include "hildon-defines.h" -/** - * hildon_icon_sizes_init: - * - * Initializes the icon sizes. This is automatically - * called when the icon sizes have not been initialized - * and one is requested. - **/ -void hildon_icon_sizes_init (void) +const HildonIconSizes* hildoniconsizes = NULL; + +static HildonIconSizes iis; /* hildon internal icon sizes */ + +typedef struct _HildonLogicalData HildonLogicalData; + +void +hildon_icon_sizes_init (void) { - if (hildoniconsizes != NULL) - return; - - hildoniconsizes = &iis; - - iis.icon_size_list = gtk_icon_size_register ("hildon_icon_size_list", 64, 64); - iis.icon_size_small = gtk_icon_size_register ("*icon_size_small", 26, 26); - iis.icon_size_toolbar = gtk_icon_size_register ("icon_size_toolbar", 26, 26); - iis.icon_size_widg = gtk_icon_size_register ("icon_size_widg", 26, 26); - iis.icon_size_widg_wizard = gtk_icon_size_register ("icon_size_widg_wizard", 50, 50); - iis.icon_size_grid = gtk_icon_size_register ("icon_size_grid", 64, 64); - iis.icon_size_big_note = gtk_icon_size_register ("icon_size_big_note", 50, 50); - iis.icon_size_note = gtk_icon_size_register ("icon_size_note", 26, 26); - iis.icon_size_statusbar = gtk_icon_size_register ("icon_size_statusbar", 40, 40); - iis.icon_size_indi_video_player_pre_roll = gtk_icon_size_register ("icon_size_indi_video_player_pre_roll", 64, 64); - iis.icon_size_indi_key_pad_lock = gtk_icon_size_register ("icon_size_indi_key_pad_lock", 50, 50); - iis.icon_size_indi_copy = gtk_icon_size_register ("icon_size_indi_copy", 64, 64); - iis.icon_size_indi_delete = gtk_icon_size_register ("icon_size_indi_delete", 64, 64); - iis.icon_size_indi_process = gtk_icon_size_register ("icon_size_indi_process", 64, 64); - iis.icon_size_indi_progressball = gtk_icon_size_register ("icon_size_indi_progressball", 64, 64); - iis.icon_size_indi_send = gtk_icon_size_register ("icon_size_indi_send", 64, 64); - iis.icon_size_indi_offmode_charging = gtk_icon_size_register ("icon_size_indi_offmode_charging", 50, 50); - iis.icon_size_indi_tap_and_hold = gtk_icon_size_register ("icon_size_indi_tap_and_hold", 34, 34); - iis.icon_size_indi_send_receive = gtk_icon_size_register ("icon_size_indi_send_receive", 64, 64); - iis.icon_size_indi_wlan_strength = gtk_icon_size_register ("icon_size_indi_wlan_strength", 64, 64); - - iis.image_size_indi_nokia_logo = gtk_icon_size_register ("image_size_indi_nokia_logo", 64, 64); - iis.image_size_indi_startup_failed = gtk_icon_size_register ("image_size_indi_startup_failed", 64, 64); - iis.image_size_indi_startup_nokia_logo = gtk_icon_size_register ("image_size_indi_startup_nokia_logo", 64, 64); - iis.image_size_indi_nokia_hands = gtk_icon_size_register ("image_size_indi_nokia_hands", 64, 64); -} + if (hildoniconsizes != NULL) + return; + + hildoniconsizes = &iis; -typedef struct _HildonLogicalData HildonLogicalData; + iis.icon_size_list = gtk_icon_size_register ("hildon_icon_size_list", 64, 64); + iis.icon_size_small = gtk_icon_size_register ("*icon_size_small", 26, 26); + iis.icon_size_toolbar = gtk_icon_size_register ("icon_size_toolbar", 26, 26); + iis.icon_size_widg = gtk_icon_size_register ("icon_size_widg", 26, 26); + iis.icon_size_widg_wizard = gtk_icon_size_register ("icon_size_widg_wizard", 50, 50); + iis.icon_size_grid = gtk_icon_size_register ("icon_size_grid", 64, 64); + iis.icon_size_big_note = gtk_icon_size_register ("icon_size_big_note", 50, 50); + iis.icon_size_note = gtk_icon_size_register ("icon_size_note", 26, 26); + iis.icon_size_statusbar = gtk_icon_size_register ("icon_size_statusbar", 40, 40); + iis.icon_size_indi_video_player_pre_roll = gtk_icon_size_register ("icon_size_indi_video_player_pre_roll", 64, 64); + iis.icon_size_indi_key_pad_lock = gtk_icon_size_register ("icon_size_indi_key_pad_lock", 50, 50); + iis.icon_size_indi_copy = gtk_icon_size_register ("icon_size_indi_copy", 64, 64); + iis.icon_size_indi_delete = gtk_icon_size_register ("icon_size_indi_delete", 64, 64); + iis.icon_size_indi_process = gtk_icon_size_register ("icon_size_indi_process", 64, 64); + iis.icon_size_indi_progressball = gtk_icon_size_register ("icon_size_indi_progressball", 64, 64); + iis.icon_size_indi_send = gtk_icon_size_register ("icon_size_indi_send", 64, 64); + iis.icon_size_indi_offmode_charging = gtk_icon_size_register ("icon_size_indi_offmode_charging", 50, 50); + iis.icon_size_indi_tap_and_hold = gtk_icon_size_register ("icon_size_indi_tap_and_hold", 34, 34); + iis.icon_size_indi_send_receive = gtk_icon_size_register ("icon_size_indi_send_receive", 64, 64); + iis.icon_size_indi_wlan_strength = gtk_icon_size_register ("icon_size_indi_wlan_strength", 64, 64); -struct _HildonLogicalData + iis.image_size_indi_nokia_logo = gtk_icon_size_register ("image_size_indi_nokia_logo", 64, 64); + iis.image_size_indi_startup_failed = gtk_icon_size_register ("image_size_indi_startup_failed", 64, 64); + iis.image_size_indi_startup_nokia_logo = gtk_icon_size_register ("image_size_indi_startup_nokia_logo", 64, 64); + iis.image_size_indi_nokia_hands = gtk_icon_size_register ("image_size_indi_nokia_hands", 64, 64); +} + +struct _HildonLogicalData { - GtkRcFlags rcflags; - GtkStateType state; - gchar *logicalcolorstring; - gchar *logicalfontstring; + GtkRcFlags rcflags; + GtkStateType state; + gchar *logicalcolorstring; + gchar *logicalfontstring; }; - -static void hildon_change_style_recursive_from_ld (GtkWidget *widget, GtkStyle *prev_style, HildonLogicalData *ld) +static void +hildon_change_style_recursive_from_ld (GtkWidget *widget, + GtkStyle *prev_style, + HildonLogicalData *ld) { - /* Change the style for child widgets */ - if (GTK_IS_CONTAINER (widget)) { - GList *iterator = gtk_container_get_children (GTK_CONTAINER (widget)); - for (iterator = iterator; iterator != NULL; iterator = g_list_next (iterator)) - hildon_change_style_recursive_from_ld (GTK_WIDGET (iterator->data), prev_style, ld); - } - - /* gtk_widget_modify_*() emit "style_set" signals, so if we got here from - "style_set" signal, we need to block this function from being called - again or we get into inifinite loop. - - FIXME: Compiling with gcc > 3.3 and -pedantic won't allow - conversion between function and object pointers. GLib API however - requires an object pointer for a function, so we have to work - around this. - See http://bugzilla.gnome.org/show_bug.cgi?id=310175 - */ - G_GNUC_EXTENSION - g_signal_handlers_block_matched (G_OBJECT (widget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC, - g_signal_lookup ("style_set", G_TYPE_FROM_INSTANCE (widget)), - 0, NULL, - (gpointer) hildon_change_style_recursive_from_ld, - NULL); - - if (ld->logicalcolorstring != NULL) + g_assert (GTK_IS_WIDGET (widget)); + + /* Change the style for child widgets */ + if (GTK_IS_CONTAINER (widget)) { + GList *iterator = gtk_container_get_children (GTK_CONTAINER (widget)); + for (iterator = iterator; iterator != NULL; iterator = g_list_next (iterator)) + hildon_change_style_recursive_from_ld (GTK_WIDGET (iterator->data), prev_style, ld); + } + + /* gtk_widget_modify_*() emit "style_set" signals, so if we got here from + "style_set" signal, we need to block this function from being called + again or we get into inifinite loop. + + FIXME: Compiling with gcc > 3.3 and -pedantic won't allow + conversion between function and object pointers. GLib API however + requires an object pointer for a function, so we have to work + around this. + See http://bugzilla.gnome.org/show_bug.cgi?id=310175 + */ + + G_GNUC_EXTENSION + g_signal_handlers_block_matched (G_OBJECT (widget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC, + g_signal_lookup ("style_set", G_TYPE_FROM_INSTANCE (widget)), + 0, NULL, + (gpointer) hildon_change_style_recursive_from_ld, + NULL); + + if (ld->logicalcolorstring != NULL) { - /* Changing logical color */ - GdkColor color; - gtk_widget_ensure_style (widget); - if (gtk_style_lookup_color (widget->style, ld->logicalcolorstring, &color) == TRUE) - switch (ld->rcflags) - { - case GTK_RC_FG: - gtk_widget_modify_fg (widget, ld->state, &color); - break; - case GTK_RC_BG: - gtk_widget_modify_bg (widget, ld->state, &color); - break; - case GTK_RC_TEXT: - gtk_widget_modify_text (widget, ld->state, &color); - break; - case GTK_RC_BASE: - gtk_widget_modify_base (widget, ld->state, &color); - break; - } else - { - g_warning ("Failed to lookup '%s' color!", ld->logicalcolorstring); - } + /* Changing logical color */ + GdkColor color; + gtk_widget_ensure_style (widget); + if (gtk_style_lookup_color (widget->style, ld->logicalcolorstring, &color) == TRUE) + switch (ld->rcflags) + { + case GTK_RC_FG: + gtk_widget_modify_fg (widget, ld->state, &color); + break; + + case GTK_RC_BG: + gtk_widget_modify_bg (widget, ld->state, &color); + break; + + case GTK_RC_TEXT: + gtk_widget_modify_text (widget, ld->state, &color); + break; + + case GTK_RC_BASE: + gtk_widget_modify_base (widget, ld->state, &color); + break; + + } else { + g_warning ("Failed to lookup '%s' color!", ld->logicalcolorstring); + } } - if (ld->logicalfontstring != NULL) + if (ld->logicalfontstring != NULL) { - /* Changing logical font */ - GtkStyle *fontstyle = gtk_rc_get_style_by_paths (gtk_settings_get_default (), ld->logicalfontstring, NULL, G_TYPE_NONE); - if (fontstyle != NULL) - { - PangoFontDescription *fontdesc = fontstyle->font_desc; - - if (fontdesc != NULL) - gtk_widget_modify_font (widget, fontdesc); - } + /* Changing logical font */ + GtkStyle *fontstyle = gtk_rc_get_style_by_paths (gtk_settings_get_default (), ld->logicalfontstring, NULL, G_TYPE_NONE); + if (fontstyle != NULL) + { + PangoFontDescription *fontdesc = fontstyle->font_desc; + + if (fontdesc != NULL) + gtk_widget_modify_font (widget, fontdesc); + } } - - - /* FIXME: Compilation workaround for gcc > 3.3 + -pedantic again */ - G_GNUC_EXTENSION - g_signal_handlers_unblock_matched (G_OBJECT (widget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC, - g_signal_lookup ("style_set", G_TYPE_FROM_INSTANCE (widget)), - 0, NULL, - (gpointer) hildon_change_style_recursive_from_ld, - NULL); + + /* FIXME: Compilation workaround for gcc > 3.3 + -pedantic again */ + + G_GNUC_EXTENSION + g_signal_handlers_unblock_matched (G_OBJECT (widget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC, + g_signal_lookup ("style_set", G_TYPE_FROM_INSTANCE (widget)), + 0, NULL, + (gpointer) hildon_change_style_recursive_from_ld, + NULL); } -static void hildon_logical_data_free (HildonLogicalData *ld) +static void +hildon_logical_data_free (HildonLogicalData *ld) { - g_return_if_fail (ld != NULL); - - if (ld->logicalcolorstring) - g_free(ld->logicalcolorstring); - - if (ld->logicalfontstring) - g_free(ld->logicalfontstring); - - g_free(ld); + g_return_if_fail (ld != NULL); + + if (ld->logicalcolorstring) + g_free (ld->logicalcolorstring); + + if (ld->logicalfontstring) + g_free (ld->logicalfontstring); + + g_free (ld); } /** * hildon_gtk_widget_set_logical_font: * @widget : A @GtkWidget to assign this logical font for. - * @logicalfontname : A gchar* with the logical font name to assign to the widget with an "osso-" -prefix. + * @logicalfontname : A gchar* with the logical font name to assign to the widget. * * This function assigns a defined logical font to the @widget and all its child widgets. * It also connects to the "style_set" signal which will retrieve & assign the new font for the given logical name each time the theme is changed. @@ -187,36 +194,38 @@ static void hildon_logical_data_free (HildonLogicalData *ld) * * Return value : The signal id that is triggered every time theme is changed. 0 if font set failed. **/ -gulong hildon_gtk_widget_set_logical_font (GtkWidget *widget, const gchar *logicalfontname) +gulong +hildon_gtk_widget_set_logical_font (GtkWidget *widget, + const gchar *logicalfontname) { - HildonLogicalData *ld; - gulong signum = 0; - - g_return_val_if_fail (GTK_IS_WIDGET (widget), 0); - g_return_val_if_fail (logicalfontname != NULL, 0); - - ld = g_malloc (sizeof (HildonLogicalData)); - - ld->rcflags = 0; - ld->state = 0; - ld->logicalcolorstring = NULL; - ld->logicalfontstring = g_strdup(logicalfontname); - - /* Disconnects the previously connected signals. That calls the closure notify - * and effectively disposes the allocated data (hildon_logical_data_free) */ - g_signal_handlers_disconnect_matched (G_OBJECT (widget), G_SIGNAL_MATCH_FUNC, - 0, 0, NULL, - G_CALLBACK (hildon_change_style_recursive_from_ld), NULL); - - /* Change the font now */ - hildon_change_style_recursive_from_ld (widget, NULL, ld); - - /* Connect to "style_set" so that the font gets changed whenever theme changes. */ - signum = g_signal_connect_data (G_OBJECT (widget), "style_set", - G_CALLBACK (hildon_change_style_recursive_from_ld), - ld, (GClosureNotify) hildon_logical_data_free, 0); - - return signum; + HildonLogicalData *ld; + gulong signum = 0; + + g_return_val_if_fail (GTK_IS_WIDGET (widget), 0); + g_return_val_if_fail (logicalfontname != NULL, 0); + + ld = g_malloc (sizeof (HildonLogicalData)); + + ld->rcflags = 0; + ld->state = 0; + ld->logicalcolorstring = NULL; + ld->logicalfontstring = g_strdup(logicalfontname); + + /* Disconnects the previously connected signals. That calls the closure notify + * and effectively disposes the allocated data (hildon_logical_data_free) */ + g_signal_handlers_disconnect_matched (G_OBJECT (widget), G_SIGNAL_MATCH_FUNC, + 0, 0, NULL, + G_CALLBACK (hildon_change_style_recursive_from_ld), NULL); + + /* Change the font now */ + hildon_change_style_recursive_from_ld (widget, NULL, ld); + + /* Connect to "style_set" so that the font gets changed whenever theme changes. */ + signum = g_signal_connect_data (G_OBJECT (widget), "style_set", + G_CALLBACK (hildon_change_style_recursive_from_ld), + ld, (GClosureNotify) hildon_logical_data_free, 0); + + return signum; } /** @@ -235,35 +244,40 @@ gulong hildon_gtk_widget_set_logical_font (GtkWidget *widget, const gchar *logic * * Return value : The signal id that is triggered every time theme is changed. 0 if color set failed. **/ -gulong hildon_gtk_widget_set_logical_color (GtkWidget *widget, GtkRcFlags rcflags, - GtkStateType state, const gchar *logicalcolorname) +gulong +hildon_gtk_widget_set_logical_color (GtkWidget *widget, + GtkRcFlags rcflags, + GtkStateType state, + const gchar *logicalcolorname) { - HildonLogicalData *ld; - gulong signum = 0; - - g_return_val_if_fail (GTK_IS_WIDGET (widget), 0); - g_return_val_if_fail (logicalcolorname != NULL, 0); - - ld = g_malloc (sizeof (HildonLogicalData)); - - ld->rcflags = rcflags; - ld->state = state; - ld->logicalcolorstring = g_strdup(logicalcolorname); - ld->logicalfontstring = NULL; - - /* Disconnects the previously connected signals. That calls the closure notify - * and effectively disposes the allocated data (hildon_logical_data_free) */ - g_signal_handlers_disconnect_matched (G_OBJECT (widget), G_SIGNAL_MATCH_FUNC, - 0, 0, NULL, - G_CALLBACK (hildon_change_style_recursive_from_ld), NULL); - - /* Change the colors now */ - hildon_change_style_recursive_from_ld (widget, NULL, ld); - - /* Connect to "style_set" so that the colors gets changed whenever theme */ - signum = g_signal_connect_data (G_OBJECT (widget), "style_set", - G_CALLBACK (hildon_change_style_recursive_from_ld), - ld, (GClosureNotify) hildon_logical_data_free, 0); - - return signum; + HildonLogicalData *ld; + gulong signum = 0; + + g_return_val_if_fail (GTK_IS_WIDGET (widget), 0); + g_return_val_if_fail (logicalcolorname != NULL, 0); + + ld = g_malloc (sizeof (HildonLogicalData)); + + ld->rcflags = rcflags; + ld->state = state; + ld->logicalcolorstring = g_strdup (logicalcolorname); + ld->logicalfontstring = NULL; + + /* Disconnects the previously connected signals. That calls the closure notify + * and effectively disposes the allocated data (hildon_logical_data_free) */ + g_signal_handlers_disconnect_matched (G_OBJECT (widget), G_SIGNAL_MATCH_FUNC, + 0, 0, NULL, + G_CALLBACK (hildon_change_style_recursive_from_ld), NULL); + + /* Change the colors now */ + hildon_change_style_recursive_from_ld (widget, NULL, ld); + + /* Connect to "style_set" so that the colors gets changed whenever theme */ + signum = g_signal_connect_data (G_OBJECT (widget), "style_set", + G_CALLBACK (hildon_change_style_recursive_from_ld), + ld, (GClosureNotify) hildon_logical_data_free, 0); + + return signum; } + + diff --git a/src/hildon-defines.h b/src/hildon-defines.h index 4d4737f..5c09096 100644 --- a/src/hildon-defines.h +++ b/src/hildon-defines.h @@ -22,121 +22,217 @@ * */ -#ifndef __HILDON_DEFINES_H__ -#define __HILDON_DEFINES_H__ +#ifndef __HILDON_DEFINES_H__ +#define __HILDON_DEFINES_H__ -#include -#include +#include +#include G_BEGIN_DECLS -void hildon_icon_sizes_init (void); +typedef struct _HildonIconSizes HildonIconSizes; -typedef struct _HildonIconSizes HildonIconSizes; - -struct _HildonIconSizes +struct _HildonIconSizes { - GtkIconSize icon_size_list; - GtkIconSize icon_size_small; - GtkIconSize icon_size_toolbar; - GtkIconSize icon_size_widg; - GtkIconSize icon_size_widg_wizard; - GtkIconSize icon_size_grid; - GtkIconSize icon_size_big_note; - GtkIconSize icon_size_note; - GtkIconSize icon_size_statusbar; - GtkIconSize icon_size_indi_video_player_pre_roll; - GtkIconSize icon_size_indi_key_pad_lock; - GtkIconSize icon_size_indi_copy; - GtkIconSize icon_size_indi_delete; - GtkIconSize icon_size_indi_process; - GtkIconSize icon_size_indi_progressball; - GtkIconSize icon_size_indi_send; - GtkIconSize icon_size_indi_offmode_charging; - GtkIconSize icon_size_indi_tap_and_hold; - GtkIconSize icon_size_indi_send_receive; - GtkIconSize icon_size_indi_wlan_strength; - GtkIconSize image_size_indi_nokia_logo; - GtkIconSize image_size_indi_startup_failed; - GtkIconSize image_size_indi_startup_nokia_logo; - GtkIconSize image_size_indi_nokia_hands; + GtkIconSize icon_size_list; + GtkIconSize icon_size_small; + GtkIconSize icon_size_toolbar; + GtkIconSize icon_size_widg; + GtkIconSize icon_size_widg_wizard; + GtkIconSize icon_size_grid; + GtkIconSize icon_size_big_note; + GtkIconSize icon_size_note; + GtkIconSize icon_size_statusbar; + GtkIconSize icon_size_indi_video_player_pre_roll; + GtkIconSize icon_size_indi_key_pad_lock; + GtkIconSize icon_size_indi_copy; + GtkIconSize icon_size_indi_delete; + GtkIconSize icon_size_indi_process; + GtkIconSize icon_size_indi_progressball; + GtkIconSize icon_size_indi_send; + GtkIconSize icon_size_indi_offmode_charging; + GtkIconSize icon_size_indi_tap_and_hold; + GtkIconSize icon_size_indi_send_receive; + GtkIconSize icon_size_indi_wlan_strength; + GtkIconSize image_size_indi_nokia_logo; + GtkIconSize image_size_indi_startup_failed; + GtkIconSize image_size_indi_startup_nokia_logo; + GtkIconSize image_size_indi_nokia_hands; }; -extern const HildonIconSizes *hildoniconsizes; - -#define HILDON_ICON_SIZE_CHECK_AND_GET(iconvar) (!hildoniconsizes ? hildon_icon_sizes_init (), hildoniconsizes->iconvar : hildoniconsizes->iconvar) - -#define HILDON_ICON_SIZE_LIST HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_list) -#define HILDON_ICON_SIZE_SMALL HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_small) -#define HILDON_ICON_SIZE_TOOLBAR HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_toolbar) -#define HILDON_ICON_SIZE_WIDG HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_widg) -#define HILDON_ICON_SIZE_WIDG_WIZARD HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_widg_wizard) -#define HILDON_ICON_SIZE_GRID HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_grid) -#define HILDON_ICON_SIZE_BIG_NOTE HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_big_note) -#define HILDON_ICON_SIZE_NOTE HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_note) -#define HILDON_ICON_SIZE_STATUSBAR HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_statusbar) -#define HILDON_ICON_SIZE_INDI_VIDEO_PLAYER_PRE_ROLL HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_video_player_pre_roll) -#define HILDON_ICON_SIZE_INDI_COPY HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_copy) -#define HILDON_ICON_SIZE_INDI_DELETE HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_delete) -#define HILDON_ICON_SIZE_INDI_PROCESS HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_process) -#define HILDON_ICON_SIZE_INDI_PROGRESSBALL HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_progressball) -#define HILDON_ICON_SIZE_INDI_SEND HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_send) -#define HILDON_ICON_SIZE_INDI_OFFMODE_CHARGING HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_offmode) -#define HILDON_ICON_SIZE_INDI_TAP_AND_HOLD HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_tap_and_hold) -#define HILDON_ICON_SIZE_INDI_SEND_RECEIVE HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_send_receive) -#define HILDON_ICON_SIZE_INDI_WLAN_STRENGTH HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_wlan_strength) - -#define HILDON_IMAGE_SIZE_INDI_NOKIA_LOGO HILDON_ICON_SIZE_CHECK_AND_GET(image_size_indi_nokia_logo) -#define HILDON_IMAGE_SIZE_INDI_STARTUP_FAILED HILDON_ICON_SIZE_CHECK_AND_GET(image_size_indi_startup_nokia_failed) -#define HILDON_IMAGE_SIZE_INDI_STARTUP_NOKIA_LOGO HILDON_ICON_SIZE_CHECK_AND_GET(image_size_indi_startup_nokia_logo) -#define HILDON_IMAGE_SIZE_INDI_NOKIA_HAND HILDON_ICON_SIZE_CHECK_AND_GET(image_size_indi_nokia_hands) - -#define HILDON_ICON_PIXEL_SIZE_LIST 64 -#define HILDON_ICON_PIXEL_SIZE_SMALL 26 -#define HILDON_ICON_PIXEL_SIZE_TOOLBAR 26 -#define HILDON_ICON_PIXEL_SIZE_WIDG 26 -#define HILDON_ICON_PIXEL_SIZE_WIDG_WIZARD 50 -#define HILDON_ICON_PIXEL_SIZE_GRID 64 -#define HILDON_ICON_PIXEL_SIZE_BIG_NOTE 50 -#define HILDON_ICON_PIXEL_SIZE_NOTE 26 -#define HILDON_ICON_PIXEL_SIZE_STATUSBAR 40 -#define HILDON_ICON_PIXEL_SIZE_INDI_VIDEO_PLAYER_PRE_ROLL 64 -#define HILDON_ICON_PIXEL_SIZE_INDI_KEY_PAD_LOCK 50 -#define HILDON_ICON_PIXEL_SIZE_INDI_COPY 64 -#define HILDON_ICON_PIXEL_SIZE_INDI_DELETE 64 -#define HILDON_ICON_PIXEL_SIZE_INDI_PROCESS 64 -#define HILDON_ICON_PIXEL_SIZE_INDI_PROGRESSBALL 64 -#define HILDON_ICON_PIXEL_SIZE_INDI_SEND 64 -#define HILDON_ICON_PIXEL_SIZE_INDI_OFFMODE_CHARGING 50 -#define HILDON_ICON_PIXEL_SIZE_INDI_TAP_AND_HOLD 34 -#define HILDON_ICON_PIXEL_SIZE_INDI_SEND_RECEIVE 64 -#define HILDON_ICON_PIXEL_SIZE_INDI_WLAN_STRENGTH 64 - -#define HILDON_IMAGE_PIXEL_SIZE_INDI_NOKIA_LOGO 64 -#define HILDON_IMAGE_PIXEL_SIZE_INDI_STARTUP_FAILED 64 -#define HILDON_IMAGE_PIXEL_SIZE_INDI_STARTUP_NOKIA_LOGO 64 -#define HILDON_IMAGE_PIXEL_SIZE_INDI_NOKIA_HANDS 64 - -#define HILDON_MARGIN_HALF 3 -#define HILDON_MARGIN_DEFAULT 6 -#define HILDON_MARGIN_DOUBLE 12 -#define HILDON_MARGIN_TRIPLE 18 - -#define HILDON_HARDKEY_UP GDK_Up -#define HILDON_HARDKEY_LEFT GDK_Left -#define HILDON_HARDKEY_RIGHT GDK_Right -#define HILDON_HARDKEY_DOWN GDK_Down -#define HILDON_HARDKEY_SELECT GDK_Return -#define HILDON_HARDKEY_MENU GDK_F4 -#define HILDON_HARDKEY_HOME GDK_F5 -#define HILDON_HARDKEY_ESC GDK_Escape -#define HILDON_HARDKEY_FULLSCREEN GDK_F6 -#define HILDON_HARDKEY_INCREASE GDK_F7 -#define HILDON_HARDKEY_DECREASE GDK_F8 - -gulong hildon_gtk_widget_set_logical_font (GtkWidget *widget, const gchar *logicalfontname); -gulong hildon_gtk_widget_set_logical_color (GtkWidget *widget, GtkRcFlags rcflags, - GtkStateType state, const gchar *logicalcolorname); +extern const HildonIconSizes *hildoniconsizes; + +#define HILDON_ICON_SIZE_CHECK_AND_GET(iconvar) \ + (!hildoniconsizes ? \ + hildon_icon_sizes_init (), hildoniconsizes->iconvar : \ + hildoniconsizes->iconvar) + +#define HILDON_ICON_SIZE_LIST \ + HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_list) + +#define HILDON_ICON_SIZE_SMALL \ + HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_small) + +#define HILDON_ICON_SIZE_TOOLBAR \ + HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_toolbar) + +#define HILDON_ICON_SIZE_WIDG \ + HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_widg) + +#define HILDON_ICON_SIZE_WIDG_WIZARD \ + HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_widg_wizard) + +#define HILDON_ICON_SIZE_GRID \ + HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_grid) + +#define HILDON_ICON_SIZE_BIG_NOTE \ + HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_big_note) + +#define HILDON_ICON_SIZE_NOTE \ + HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_note) + +#define HILDON_ICON_SIZE_STATUSBAR \ + HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_statusbar) + +#define HILDON_ICON_SIZE_INDI_VIDEO_PLAYER_PRE_ROLL \ + HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_video_player_pre_roll) + +#define HILDON_ICON_SIZE_INDI_COPY \ + HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_copy) + +#define HILDON_ICON_SIZE_INDI_DELETE \ + HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_delete) + +#define HILDON_ICON_SIZE_INDI_PROCESS \ + HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_process) + +#define HILDON_ICON_SIZE_INDI_PROGRESSBALL \ + HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_progressball) + +#define HILDON_ICON_SIZE_INDI_SEND \ + HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_send) + +#define HILDON_ICON_SIZE_INDI_OFFMODE_CHARGING \ + HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_offmode) + +#define HILDON_ICON_SIZE_INDI_TAP_AND_HOLD \ + HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_tap_and_hold) + +#define HILDON_ICON_SIZE_INDI_SEND_RECEIVE \ + HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_send_receive) + +#define HILDON_ICON_SIZE_INDI_WLAN_STRENGTH \ + HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_wlan_strength) + +#define HILDON_IMAGE_SIZE_INDI_NOKIA_LOGO \ + HILDON_ICON_SIZE_CHECK_AND_GET(image_size_indi_nokia_logo) + +#define HILDON_IMAGE_SIZE_INDI_STARTUP_FAILED \ + HILDON_ICON_SIZE_CHECK_AND_GET(image_size_indi_startup_nokia_failed) + +#define HILDON_IMAGE_SIZE_INDI_STARTUP_NOKIA_LOGO \ + HILDON_ICON_SIZE_CHECK_AND_GET(image_size_indi_startup_nokia_logo) + +#define HILDON_IMAGE_SIZE_INDI_NOKIA_HAND \ + HILDON_ICON_SIZE_CHECK_AND_GET(image_size_indi_nokia_hands) + +/* Actual icon sizes */ + +#define HILDON_ICON_PIXEL_SIZE_LIST 64 + +#define HILDON_ICON_PIXEL_SIZE_SMALL 26 + +#define HILDON_ICON_PIXEL_SIZE_TOOLBAR 26 + +#define HILDON_ICON_PIXEL_SIZE_WIDG 26 + +#define HILDON_ICON_PIXEL_SIZE_WIDG_WIZARD 50 + +#define HILDON_ICON_PIXEL_SIZE_GRID 64 + +#define HILDON_ICON_PIXEL_SIZE_BIG_NOTE 50 + +#define HILDON_ICON_PIXEL_SIZE_NOTE 26 + +#define HILDON_ICON_PIXEL_SIZE_STATUSBAR 40 + +#define HILDON_ICON_PIXEL_SIZE_INDI_VIDEO_PLAYER_PRE_ROLL 64 + +#define HILDON_ICON_PIXEL_SIZE_INDI_KEY_PAD_LOCK 50 + +#define HILDON_ICON_PIXEL_SIZE_INDI_COPY 64 + +#define HILDON_ICON_PIXEL_SIZE_INDI_DELETE 64 + +#define HILDON_ICON_PIXEL_SIZE_INDI_PROCESS 64 + +#define HILDON_ICON_PIXEL_SIZE_INDI_PROGRESSBALL 64 + +#define HILDON_ICON_PIXEL_SIZE_INDI_SEND 64 + +#define HILDON_ICON_PIXEL_SIZE_INDI_OFFMODE_CHARGING 50 + +#define HILDON_ICON_PIXEL_SIZE_INDI_TAP_AND_HOLD 34 + +#define HILDON_ICON_PIXEL_SIZE_INDI_SEND_RECEIVE 64 + +#define HILDON_ICON_PIXEL_SIZE_INDI_WLAN_STRENGTH 64 + +/* Actual image sizes */ + +#define HILDON_IMAGE_PIXEL_SIZE_INDI_NOKIA_LOGO 64 + +#define HILDON_IMAGE_PIXEL_SIZE_INDI_STARTUP_FAILED 64 + +#define HILDON_IMAGE_PIXEL_SIZE_INDI_STARTUP_NOKIA_LOGO 64 + +#define HILDON_IMAGE_PIXEL_SIZE_INDI_NOKIA_HANDS 64 + +#define HILDON_MARGIN_HALF 3 + +#define HILDON_MARGIN_DEFAULT 6 + +#define HILDON_MARGIN_DOUBLE 12 + +#define HILDON_MARGIN_TRIPLE 18 + +/* Hard keys */ + +#define HILDON_HARDKEY_UP GDK_Up + +#define HILDON_HARDKEY_LEFT GDK_Left + +#define HILDON_HARDKEY_RIGHT GDK_Right + +#define HILDON_HARDKEY_DOWN GDK_Down + +#define HILDON_HARDKEY_SELECT GDK_Return + +#define HILDON_HARDKEY_MENU GDK_F4 + +#define HILDON_HARDKEY_HOME GDK_F5 + +#define HILDON_HARDKEY_ESC GDK_Escape + +#define HILDON_HARDKEY_FULLSCREEN GDK_F6 + +#define HILDON_HARDKEY_INCREASE GDK_F7 + +#define HILDON_HARDKEY_DECREASE GDK_F8 + +gulong +hildon_gtk_widget_set_logical_font (GtkWidget *widget, + const gchar *logicalfontname); + +gulong +hildon_gtk_widget_set_logical_color (GtkWidget *widget, + GtkRcFlags rcflags, + GtkStateType state, + const gchar *logicalcolorname); + +void +hildon_icon_sizes_init (void); G_END_DECLS -#endif /* HILDON_DEFINES_H */ + +#endif /* HILDON_DEFINES_H */ -- 1.7.9.5