view finch/libgnt/gntutils.h @ 18016:33da621d4b1f

propagate from branch 'org.maemo.garage.pidgin.pidgin.pidgin-create-window' (head a6aaab6e6f2d91496d8d55a77000e33d0914749e) to branch 'im.pidgin.rlaager.merging.for_2_1_0' (head 1fb0f0a3d73311d3ad68b718e7eca4c57fabf1b0)
author Richard Laager <rlaager@wiktel.com>
date Sun, 20 May 2007 14:55:19 +0000
parents 5f204f55af09
children 8410511f4dbb
line wrap: on
line source

#include <glib.h>

#include "gnt.h"
#include "gntwidget.h"

typedef gpointer (*GDupFunc)(gconstpointer data);

void gnt_util_get_text_bound(const char *text, int *width, int *height);

/* excluding *end */
int gnt_util_onscreen_width(const char *start, const char *end);

const char *gnt_util_onscreen_width_to_pointer(const char *str, int len, int *w);

/* Inserts newlines in 'string' where necessary so that its onscreen width is
 * no more than 'maxw'.
 * 'maxw' can be <= 0, in which case the maximum screen width is considered.
 *
 * Returns a newly allocated string.
 */
char *gnt_util_onscreen_fit_string(const char *string, int maxw);

GHashTable *g_hash_table_duplicate(GHashTable *src, GHashFunc hash,
		GEqualFunc equal, GDestroyNotify key_d, GDestroyNotify value_d,
		GDupFunc key_dup, GDupFunc value_dup);


/**
 * To be used with g_signal_new. Look in the key_pressed signal-definition in
 * gntwidget.c for usage.
 */
gboolean gnt_boolean_handled_accumulator(GSignalInvocationHint *ihint,
				  GValue                *return_accu,
				  const GValue          *handler_return,
				  gpointer               dummy);

/**
 * Returns a GntTree populated with "key" -> "binding" for the widget.
 */
GntWidget *gnt_widget_bindings_view(GntWidget *widget);

/**
 * Parse widgets from 'string'.
 */
void gnt_util_parse_widgets(const char *string, int num, ...);