diff pidgin/gtkdocklet.h @ 20882:38c4fe48ebb5

Add new API to the docklet for retrieving the geometry (x,y,w,h) and the GdkScreen (if available). The win32 implementation of this is really ugly and could use some testing. Refs #521 and #1632.
author Casey Harkins <charkins@pidgin.im>
date Fri, 12 Oct 2007 02:47:48 +0000
parents 44b4e8bd759b
children d3e0eb05ac94
line wrap: on
line diff
--- a/pidgin/gtkdocklet.h	Fri Oct 12 02:33:31 2007 +0000
+++ b/pidgin/gtkdocklet.h	Fri Oct 12 02:47:48 2007 +0000
@@ -35,6 +35,8 @@
 	void (*blank_icon)(void);
 	void (*set_tooltip)(gchar *);
 	GtkMenuPositionFunc position_menu;
+	gboolean (*get_geometry)(gint *x, gint *y, gint *w, gint *h);
+	GObject *(*get_gdk_screen)(void);
 };
 
 
@@ -49,6 +51,28 @@
 void pidgin_docklet_uninit(void);
 void*pidgin_docklet_get_handle(void);
 
+/**
+ * Get the geometry of the docklet. Any of the parameters may be
+ * NULL if that value is not desired.
+ *
+ * @param x x coordinate of the top left corner of the docklet in screen coordinates
+ * @param y y coordinate of the top left corner of the docklet in screen coordinates
+ * @param w width of the docklet
+ * @param h height of the docklet
+ *
+ * @return TRUE if the geometry was found, otherwise FALSE
+ */
+gboolean pidgin_docklet_get_geometry(gint *x, gint *y, gint *w, gint *h);
+
+/**
+ * Get the GdkScreen of the docklet. If the GdkScreen is not available, including
+ * running on versions of Gtk/Gdk where GdkScreen does not exist (<2.2), NULL is
+ * returned.
+ *
+ * @return GdkScreen if available, otherwise NULL
+ */
+GObject *pidgin_docklet_get_gdk_screen(void);
+
 /* function in gtkdocklet-{x11,win32}.c */
 void docklet_ui_init(void);