X-Git-Url: https://git.distorted.org.uk/~mdw/clg/blobdiff_plain/34f9e1d49c0b952ab3042362c54d85520992927f..cab97f15ae5940cd20884ed8c5ca99a9afc0f226:/gtk/alien/glue.c diff --git a/gtk/alien/glue.c b/gtk/alien/glue.c index bcdbb34..17b73f7 100644 --- a/gtk/alien/glue.c +++ b/gtk/alien/glue.c @@ -1,22 +1,27 @@ -/* Common Lisp bindings for GTK+ v2.0 - * Copyright (C) 1999-2002 Espen S. Johnsen +/* Common Lisp bindings for GTK+ v2.x + * Copyright 1999-2005 Espen S. Johnsen * - * 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.9 2007-09-06 14:27:07 espen Exp $ */ #include @@ -51,12 +56,13 @@ gtk_widget_get_state (GtkWidget *widget) return widget->state; } -gboolean -gtk_widget_mapped_p (GtkWidget *widget) +gint32 +gtk_widget_flags (GtkWidget *widget) { - return GTK_WIDGET_MAPPED (widget); + return GTK_WIDGET_FLAGS (widget); } + void gtk_widget_get_size_allocation (GtkWidget *widget, int *width, int *height) { @@ -73,6 +79,12 @@ gtk_container_get_focus_child (GtkContainer *container) return container->focus_child; } +gboolean +gtk_container_get_reallocate_redraws (GtkContainer *container) +{ + return container->reallocate_redraws; +} + /* Dialog */ @@ -90,22 +102,6 @@ gtk_dialog_get_action_area (GtkDialog *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* @@ -114,110 +110,40 @@ gtk_window_get_default (GtkWindow *window) 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 */ +/* Menu */ -gtk_color_selection_set_color_by_values (GtkColorSelection *colorsel, - gdouble red, - gdouble green, - gdouble blue, - gdouble opacity) +GdkScreen* +gtk_menu_get_screen (GtkMenu *menu) { - gdouble color[4]; - - color[0] = red; - color[1] = green; - color[2] = blue; - color[3] = opacity; - - gtk_color_selection_set_color (colorsel, color); + return (GdkScreen*)g_object_get_data (G_OBJECT (menu), "gtk-menu-explicit-screen"); } -void -gtk_color_selection_get_color_as_values (GtkColorSelection *colorsel, - gdouble *red, - gdouble *green, - gdouble *blue, - gdouble *opacity) -{ - gdouble color[4]; - - gtk_color_selection_get_color (colorsel, color); - - *red = color[0]; - *green = color[1]; - *blue = color[2]; - *opacity = color[3]; -} - - -/* 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; } @@ -230,62 +156,6 @@ gtk_layout_get_bin_window (GtkLayout *layout) } -/* 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 { @@ -296,6 +166,7 @@ typedef enum { GTK_COLOR_MID, GTK_COLOR_TEXT, GTK_COLOR_BASE, + GTK_COLOR_TEXT_AA, GTK_COLOR_WHITE, GTK_COLOR_BLACK } GtkColorType; @@ -324,11 +195,13 @@ gtk_style_get_color (GtkStyle *style, GtkColorType color_type, 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) { @@ -352,25 +225,11 @@ gtk_style_set_color (GtkStyle *style, GtkColorType color_type, 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) @@ -395,5 +254,16 @@ 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; +} +