/opt/cairo-dock/trunk/cairo-dock/src/cairo-dock-icons.h

Aller à la documentation de ce fichier.
00001 
00002 #ifndef __CAIRO_DOCK_ICONS__
00003 #define  __CAIRO_DOCK_ICONS__
00004 
00005 #include <glib.h>
00006 
00007 #include "cairo-dock-struct.h"
00008 
00013 #define CAIRO_DOCK_IS_LAUNCHER(icon) (icon != NULL && (icon->acCommand != NULL || (icon->pSubDock != NULL && icon->pModule == NULL && icon->Xid == 0)))
00014 
00018 #define CAIRO_DOCK_IS_APPLI(icon) (icon != NULL && icon->Xid != 0)
00019 
00023 #define CAIRO_DOCK_IS_APPLET(icon) (icon != NULL && icon->pModule != NULL)
00024 
00028 #define CAIRO_DOCK_IS_SEPARATOR(icon) (icon != NULL && ((icon->iType & 1) || (icon->pModule == NULL && icon->Xid == 0 && icon->acName == NULL)))
00029 
00034 #define CAIRO_DOCK_IS_NORMAL_LAUNCHER(icon) (CAIRO_DOCK_IS_LAUNCHER (icon) && icon->acDesktopFileName != NULL)
00035 
00039 #define CAIRO_DOCK_IS_URI_LAUNCHER(icon) (CAIRO_DOCK_IS_LAUNCHER (icon) && icon->cBaseURI != NULL)
00040 
00044 #define CAIRO_DOCK_IS_AUTOMATIC_SEPARATOR(icon) (CAIRO_DOCK_IS_SEPARATOR (icon) && icon->acDesktopFileName == NULL)
00045 
00049 #define CAIRO_DOCK_IS_USER_SEPARATOR(icon) (CAIRO_DOCK_IS_SEPARATOR (icon) && icon->acDesktopFileName != NULL)
00050 
00054 #define CAIRO_DOCK_IS_NORMAL_APPLI(icon) (CAIRO_DOCK_IS_APPLI (icon) && icon->acDesktopFileName == NULL && icon->pModule == NULL)
00055 
00060 void cairo_dock_free_icon (Icon *icon);
00065 void cairo_dock_free_icon_buffers (Icon *icon);
00066 
00067 
00068 #define cairo_dock_get_group_order(icon) (icon->iType < CAIRO_DOCK_NB_TYPES ? g_tIconTypeOrder[icon->iType] : icon->iType)
00069 
00074 CairoDockIconType cairo_dock_get_icon_type (Icon *icon);
00081 int cairo_dock_compare_icons_order (Icon *icon1, Icon *icon2);
00087 GList *cairo_dock_sort_icons_by_order (GList *pIconList);
00093 GList *cairo_dock_sort_icons_by_name (GList *pIconList);
00094 
00101 Icon *cairo_dock_get_first_icon (GList *pIconList);
00107 Icon *cairo_dock_get_last_icon (GList *pIconList);
00113 Icon *cairo_dock_get_first_drawn_icon (CairoDock *pDock);
00119 Icon *cairo_dock_get_last_drawn_icon (CairoDock *pDock);
00126 Icon *cairo_dock_get_first_icon_of_type (GList *pIconList, CairoDockIconType iType);
00133 Icon *cairo_dock_get_last_icon_of_type (GList *pIconList, CairoDockIconType iType);
00139 Icon *cairo_dock_get_pointed_icon (GList *pIconList);
00145 Icon *cairo_dock_get_bouncing_icon (GList *pIconList);
00151 Icon *cairo_dock_get_removing_or_inserting_icon (GList *pIconList);
00157 Icon *cairo_dock_get_animated_icon (GList *pIconList);
00164 Icon *cairo_dock_get_next_icon (GList *pIconList, Icon *pIcon);
00171 Icon *cairo_dock_get_previous_icon (GList *pIconList, Icon *pIcon);
00178 #define cairo_dock_get_next_element(ic, list) (ic->next == NULL ? list : ic->next)
00179 
00185 #define cairo_dock_get_previous_element(ic, list) (ic->prev == NULL ? g_list_last (list) : ic->prev)
00186 
00192 Icon *cairo_dock_get_icon_with_command (GList *pIconList, gchar *cCommand);
00199 Icon *cairo_dock_get_icon_with_base_uri (GList *pIconList, const gchar *cBaseURI);
00200 
00201 Icon *cairo_dock_get_icon_with_name (GList *pIconList, const gchar *cName);
00202 
00209 Icon *cairo_dock_get_icon_with_subdock (GList *pIconList, CairoDock *pSubDock);
00216 Icon *cairo_dock_get_icon_with_module (GList *pIconList, CairoDockModule *pModule);
00223 Icon *cairo_dock_get_icon_with_class (GList *pIconList, gchar *cClass);
00224 
00225 #define cairo_dock_none_clicked(pIconList) (cairo_dock_get_bouncing_icon (pIconList) == NULL)
00226 #define cairo_dock_none_removed_or_inserted(pIconList) (cairo_dock_get_removing_or_inserting_icon (pIconList) == NULL)
00227 #define cairo_dock_none_animated(pIconList) (cairo_dock_get_animated_icon (pIconList) == NULL)
00228 
00229 #define cairo_dock_get_first_launcher(pIconList) cairo_dock_get_first_icon_of_type (pIconList, CAIRO_DOCK_LAUNCHER)
00230 #define cairo_dock_get_last_launcher(pIconList) cairo_dock_get_last_icon_of_type (pIconList, CAIRO_DOCK_LAUNCHER)
00231 #define cairo_dock_get_first_appli(pIconList) cairo_dock_get_first_icon_of_type (pIconList, CAIRO_DOCK_APPLI)
00232 #define cairo_dock_get_last_appli(pIconList) cairo_dock_get_last_icon_of_type (pIconList, CAIRO_DOCK_APPLI)
00233 
00234 
00235 void cairo_dock_swap_icons (CairoDock *pDock, Icon *icon1, Icon *icon2);
00236 void cairo_dock_move_icon_after_icon (CairoDock *pDock, Icon *icon1, Icon *icon2);
00237 
00245 gboolean cairo_dock_detach_icon_from_dock (Icon *icon, CairoDock *pDock, gboolean bCheckUnusedSeparator);
00251 void cairo_dock_remove_one_icon_from_dock (CairoDock *pDock, Icon *icon);
00257 void cairo_dock_remove_icon_from_dock (CairoDock *pDock, Icon *icon);
00263 void cairo_dock_remove_icons_of_type (CairoDock *pDock, CairoDockIconType iType);
00268 #define cairo_dock_remove_all_applis(pDock) cairo_dock_remove_icons_of_type (pDock, CAIRO_DOCK_APPLI)
00269 
00273 #define cairo_dock_remove_all_applets(pDock) cairo_dock_remove_icons_of_type (pDock, CAIRO_DOCK_APPLET)
00274 
00282 Icon *cairo_dock_foreach_icons_of_type (GList *pIconList, CairoDockIconType iType, CairoDockForeachIconFunc pFuntion, gpointer data);
00287 void cairo_dock_remove_all_separators (CairoDock *pDock);
00288 
00293 void cairo_dock_insert_separators_in_dock (CairoDock *pDock);
00294 
00295 
00296 GList * cairo_dock_calculate_icons_positions_at_rest_linear (GList *pIconList, double fFlatDockWidth, int iXOffset);
00297 
00298 Icon * cairo_dock_calculate_wave_with_position_linear (GList *pIconList, GList *pFirstDrawnElement, int x_abs, gdouble fMagnitude, double fFlatDockWidth, int iWidth, int iHeight, double fAlign, double fLateralFactor);
00299 
00300 Icon *cairo_dock_apply_wave_effect (CairoDock *pDock);
00301 
00302 CairoDockMousePositionType cairo_dock_check_if_mouse_inside_linear (CairoDock *pDock);
00303 
00304 void cairo_dock_manage_mouse_position (CairoDock *pDock, CairoDockMousePositionType iMousePositionType);
00305 
00306 
00307 double cairo_dock_calculate_max_dock_width (CairoDock *pDock, GList *pFirstDrawnElement, double fFlatDockWidth, double fWidthConstraintFactor, double fExtraWidth);
00308 
00309 
00310 void cairo_dock_mark_icons_as_avoiding_mouse (CairoDock *pDock, CairoDockIconType iType, double fMargin);
00311 void cairo_dock_mark_avoiding_mouse_icons_linear (CairoDock *pDock);
00312 void cairo_dock_stop_marking_icons (CairoDock *pDock);
00313 
00319 void cairo_dock_update_icon_s_container_name (Icon *icon, const gchar *cNewParentDockName);
00320 
00321 #endif
00322 

Généré le Wed Apr 16 03:27:15 2008 pour Cairo-Dock par  doxygen 1.5.3