/*  GIMP Toolkit (GTK) Binding for Haskell: Additional routines for widgets; 
 *    header file
 *
 *  Author : Manuel M T Chakravarty
 *  Created: 10 February 1999
 *
 *  Version $Revision: 1.3 $ from $Date: 2001/10/08 14:53:50 $
 *
 *  Copyright (c) [1999..2001] Manuel M T Chakravarty
 *
 *  This library is free software; you can redistribute it and/or
 *  modify it under the terms of the GNU Library General Public
 *  License as published by the Free Software Foundation; either
 *  version 2 of the License, or (at your option) any later version.
 *
 *  This library is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *  Library General Public License for more details.
 *
 *  DESCRIPTION ---------------------------------------------------------------
 *
 *  Defines helper routines for `GtkWidget.hs'.
 *
 *  DOCU ----------------------------------------------------------------------
 *
 *  language: ANSI C
 *
 *  TODO ----------------------------------------------------------------------
 *
 */

#include <glib.h>
#include <gtk/gtkwidget.h>

/*  get a widgets position and size
 */
void gtkHS_widget_get_allocation (GtkWidget *wid,   
				  gint16    *x,
				  gint16    *y,
				  guint16   *width,
				  guint16   *height);

/*  set the flag bits of `flags' for the given widget
 */
void gtkHS_widget_set_flags (GtkWidget *wid, guint32 flags);

/*  unset the flag bits of `flags' for the given widget
 */
void gtkHS_widget_unset_flags (GtkWidget *wid, guint32 flags);

/*  test whether the flag bit set in `flag' is set for the widget
 *
 *  * only one bit of `flag' may be set
 */
gboolean gtkHS_widget_test_flag (GtkWidget *wid, guint32 flag);


/* functions to access fields in `GtkWidget'
 */
guint8     gtkHS_widget_get_state  (GtkWidget *wid);
GdkWindow *gtkHS_widget_get_window (GtkWidget *wid);
