-/* Common Lisp bindings for GTK+ v2.0
- * Copyright (C) 1999-2002 Espen S. Johnsen <espen@users.sourceforge.net>
+/* Common Lisp bindings for GTK+ v2.x
+ * Copyright 1999-2005 Espen S. Johnsen <espen@users.sf.net>
*
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
*
- * 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
- * Lesser General Public License for more details.
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
*
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
-/* $Id: glue.c,v 1.2 2004-11-01 00:08:50 espen Exp $ */
+/* $Id: glue.c,v 1.8 2005-04-23 16:48:52 espen Exp $ */
#include <gtk/gtk.h>
return container->focus_child;
}
+gboolean
+gtk_container_get_reallocate_redraws (GtkContainer *container)
+{
+ return container->reallocate_redraws;
+}
+
/* Dialog */
-/* Check menu item */
-
-gboolean
-gtk_check_menu_item_get_active (GtkCheckMenuItem* check_menu_item)
-{
- return check_menu_item->active;
-}
-
-gboolean
-gtk_check_menu_item_get_show_toggle (GtkCheckMenuItem* check_menu_item)
-{
- return check_menu_item->always_show_toggle;
-}
-
-
-
/* Window */
GtkWidget*
return window->default_widget;
}
-
-/* File selection */
-
-GtkWidget*
-gtk_file_selection_get_action_area (GtkFileSelection *filesel)
-{
- return filesel->action_area;
-}
-
-GtkWidget*
-gtk_file_selection_get_ok_button (GtkFileSelection *filesel)
+GtkWindowGroup*
+gtk_window_get_group (GtkWindow *window)
{
- return filesel->ok_button;
+ return window->group;
}
-GtkWidget*
-gtk_file_selection_get_cancel_button (GtkFileSelection *filesel)
-{
- return filesel->cancel_button;
-}
-
-
-/* Color selection */
-
-gtk_color_selection_set_color_by_values (GtkColorSelection *colorsel,
- gdouble red,
- gdouble green,
- gdouble blue,
- gdouble opacity)
-{
- gdouble color[4];
- color[0] = red;
- color[1] = green;
- color[2] = blue;
- color[3] = opacity;
- gtk_color_selection_set_color (colorsel, color);
-}
+/* Menu */
-void
-gtk_color_selection_get_color_as_values (GtkColorSelection *colorsel,
- gdouble *red,
- gdouble *green,
- gdouble *blue,
- gdouble *opacity)
+GdkScreen*
+gtk_menu_get_screen (GtkMenu *menu)
{
- gdouble color[4];
-
- gtk_color_selection_get_color (colorsel, color);
-
- *red = color[0];
- *green = color[1];
- *blue = color[2];
- *opacity = color[3];
+ return (GdkScreen*)g_object_get_data (G_OBJECT (menu), "gtk-menu-explicit-screen");
}
-/* Combo */
-
-GtkWidget*
-gtk_combo_get_entry (GtkCombo *combo)
-{
- return combo->entry;
-}
-
-gboolean
-gtk_combo_get_use_arrows (GtkCombo *combo)
-{
- return combo->use_arrows;
-}
-gboolean
-gtk_combo_get_use_arrows_always (GtkCombo *combo)
-{
- return combo->use_arrows_always;
-}
+/* Toolbar */
-gboolean
-gtk_combo_get_case_sensitive (GtkCombo *combo)
+GtkTooltips*
+gtk_toolbar_get_tooltips_object (GtkToolbar *toolbar)
{
- return combo->case_sensitive;
+ return toolbar->tooltips;
}
-/* Paned */
-
-GtkWidget*
-gtk_paned_child1 (GtkPaned *paned, guint *resize, guint *shrink)
-{
- *resize = paned->child1_resize;
- *shrink = paned->child1_shrink;
-
- return paned->child1;
-}
+/* Tooltips */
-GtkWidget*
-gtk_paned_child2 (GtkPaned *paned, guint *resize, guint *shrink)
+gint
+gtk_tooltips_get_enabled (GtkTooltips *tooltips)
{
- *resize = paned->child2_resize;
- *shrink = paned->child2_shrink;
-
- return paned->child2;
+ return tooltips->enabled;
}
}
-/* List */
-
-GList*
-gtk_list_selection (GtkList *list)
-{
- return list->selection;
-}
-
-
-
-/* Toolbar */
-
-gint
-gtk_toolbar_get_tooltips (GtkToolbar *toolbar)
-{
- return toolbar->tooltips->enabled;
-}
-
-
-/* Drawing area */
-
-void
-gtk_drawing_area_get_size (GtkDrawingArea *darea, gint *width, gint *height)
-{
- GtkWidget *widget;
-
- widget = GTK_WIDGET (darea);
- *width = widget->allocation.width;
- *height = widget->allocation.height;
-}
-
-
-/* Progress */
-
-gchar*
-gtk_progress_get_format_string (GtkProgress *progress)
-{
- return progress->format;
-}
-
-GtkAdjustment*
-gtk_progress_get_adjustment (GtkProgress *progress)
-{
- return progress->adjustment;
-}
-
-
-/* Tooltips */
-
-gboolean
-gtk_tooltips_get_enabled (GtkTooltips *tooltips)
-{
- return tooltips->enabled;
-}
-
-
/* GtkStyle accessor functions */
typedef enum {
GTK_COLOR_MID,
GTK_COLOR_TEXT,
GTK_COLOR_BASE,
+ GTK_COLOR_TEXT_AA,
GTK_COLOR_WHITE,
GTK_COLOR_BLACK
} GtkColorType;
return &style->text[state];
case GTK_COLOR_BASE:
return &style->base[state];
+ case GTK_COLOR_TEXT_AA:
+ return &style->text_aa[state];
}
}
-GdkColor*
+void
gtk_style_set_color (GtkStyle *style, GtkColorType color_type,
GtkStateType state, GdkColor *color)
{
style->text[state] = *color; break;
case GTK_COLOR_BASE:
style->base[state] = *color; break;
+ case GTK_COLOR_TEXT_AA:
+ style->text_aa[state] = *color; break;
}
-
- return gtk_style_get_color (style, color_type, state);
}
-/*
-GdkFont*
-gtk_style_get_font (GtkStyle *style)
-{
- return style->font;
-}
-
-
-GdkFont*
-gtk_style_set_font (GtkStyle *style, GdkFont *font)
-{
- return style->font = font;
-}
-*/
GdkGC*
gtk_style_get_gc (GtkStyle *style, GtkColorType color_type, GtkStateType state)
return style->text_gc[state];
case GTK_COLOR_BASE:
return style->base_gc[state];
+ case GTK_COLOR_TEXT_AA:
+ return style->text_aa_gc[state];
}
}
+
+int
+gtk_style_font_desc_offset ()
+{
+ GtkStyle style;
+
+ return (int)&style.font_desc - (int)&style;
+}
+