[rep-gtk] added support for GdkSegment type (guile-gtk 2.1)



commit 8fa2e32c28163e15da76fd50cfa36ab1ecc46925
Author: Christopher Roy Bratusek <chris nanolx org>
Date:   Tue Oct 6 18:04:29 2009 +0200

    added support for GdkSegment type (guile-gtk 2.1)
    more gtk_style_* functions
    renamed rect type to GdkRectangle

 ChangeLog    |   15 +++++++++++++++
 Makefile.in  |    2 +-
 build-gtk.jl |    7 +++++--
 gtk.defs     |   45 +++++++++++++++++++++++++++++++++++++--------
 rep-gtk.c    |   32 ++++++++++++++++++++++++++++++--
 rep-gtk.h    |    4 ++++
 6 files changed, 92 insertions(+), 13 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 7ca4baf..0652a58 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2009-10-03  Christopher Bratusek <zanghar freenet de>
+	* rep-gtk.c
+	* rep-gtk.h
+	* build-gtk.jl: added new types [ported from guile-gtk 2.1]:
+			- GdkSegment
+			renamed types:
+			- rect -> GdkRectangle
+
 2009-10-02  Christopher Bratusek <zanghar freenet de>
 	* gtkcombobox.defs: GtkComboBoxEntry implemented
 	*********** gtkcomboboxentry.h ***********
@@ -6,6 +14,13 @@
 	gtk_combo_box_entry_set_text_column
 	gtk_combo_box_entry_get_text_column
 	== GtkComboBoxEntry 2.12 API complete ==
+	* gtk.defs:
+	gtk_container_foreach_full [removed (deprecated)]
+	********** gtkstyle.h *********************
+	gtk_style_new
+	gtk_style_copy
+	gtk_style_attach
+	gtk_style_set_background
 
 2009-10-01  Christopher Bratusek <zanghar freenet de>
 	* gtkcombobox.defs: GtkComboBox implemented
diff --git a/Makefile.in b/Makefile.in
index 6da4a5b..35d01b3 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -105,4 +105,4 @@ gtk-2 :
 	mkdir gtk-2
 
 # hand-needed dependences
-gtk-glue.c : gtk.defs gtktext.defs gtktree.defs gtkbuilder.defs gtkuimanager.defs gtkcombobox.defs build-gtk.jlc
+gtk-glue.c : glib.defs gdk.defs gdk-pixbuf.defs gtk.defs gtktext.defs gtktree.defs gtkbuilder.defs gtkuimanager.defs gtkcombobox.defs build-gtk.jlc
diff --git a/build-gtk.jl b/build-gtk.jl
index 668f662..daef385 100644
--- a/build-gtk.jl
+++ b/build-gtk.jl
@@ -1084,7 +1084,7 @@
     (when (gtk-get-option 'gerror-arg options)
       (@ "  if (error != NULL)\n" )
       (@ "    sgtk_throw_gerror (\"%s\", error);\n" fname))
-    
+
     ;; output return statement
     (if (eq ret 'none)
 	(@ "  return Qnil;\n")
@@ -1354,7 +1354,10 @@
 (define-type 'GdkPoint "GdkPoint" "sgtk_rep_to_point"
 	     "sgtk_point_to_rep" "sgtk_valid_point")
 
-(define-type 'rect "GdkRectangle" "sgtk_rep_to_rect"
+(define-type 'GdkRectangle "GdkRectangle" "sgtk_rep_to_rect"
 	     "sgtk_rect_to_rep" "sgtk_valid_rect")
 
+(define-type 'GdkSegment "GdkSegment" "sgtk_rep_to_segment"
+             "sgtk_segment_to_rep" "sgtk_valid_segment")
+
 (define-type 'SCM "repv" "" "" nil)
diff --git a/gtk.defs b/gtk.defs
index b63cb3e..1021352 100644
--- a/gtk.defs
+++ b/gtk.defs
@@ -4,7 +4,8 @@
 
 ;; GtkButton, GtkToggleButton, GtkCheckButton, GtkRadioButton, GtkFontButton
 ;; GtkLinkButton, GtkColorButton, GtkVolumeButton, GtkStatusIcon
-;; GtkBuilder GtkUIManager GtkActionGroup GtkAction GtkComboBox
+;; GtkBuilder, GtkUIManager, GtkActionGroup, GtkAction, GtkComboBox
+;; GtkComboBoxEntry
 
 ;; updated for gtk+ 1.3:
 
@@ -447,6 +448,8 @@
 ;; GtkAccelGroup
 
 (define-object GtkAccelGroup (GObject))
+(define-boxed GtkAccelGroupEntry
+  ())
 
 (define-func gtk_accel_group_new
   GtkAccelGroup
@@ -546,8 +549,41 @@
    (GdkModifierType modifier)
    ((ret uint) entries)))
 
+;; GtkStyle
+
 (define-object GtkStyle (GObject))
 
+(define-func gtk_style_new
+  GtkStyle
+  ())
+
+(define-func gtk_style_copy
+  GtkStyle
+  ((GtkStyle style)))
+
+(define-func gtk_style_attach
+  GtkStyle
+  ((GtkStyle style)
+   (GdkWindow window)))
+
+(define-func gtk_style_set_background
+  none
+  ((GtkStyle style)
+   (GdkWindow window)
+   (GtkStateType state)))
+
+(define-func gtk_style_apply_default_background
+  void
+  ((GtkStyle style)
+   (GdkWindow window)
+   (bool setbg)
+   (GtkStateType state)
+   (GdkRectangle rect)
+   (int x)
+   (int y)
+   (int width)
+   (int height)))
+
 (define-func gtk_style_get_white_interp
   GdkColor
   ((GtkStyle style)))
@@ -1109,13 +1145,6 @@
   none
   ((GtkContainer container)))
 
-;; XXX this is deprecated?
-(define-func gtk_container_foreach_full
-  none
-  ((GtkContainer container)
-   (full-callback function (protect-during)))
-  (scm-name "gtk-container-foreach"))
-
 (define-func gtk_container_get_children
   ((list GtkWidget))
   ((GtkContainer container)))
diff --git a/rep-gtk.c b/rep-gtk.c
index 73ed346..b225836 100644
--- a/rep-gtk.c
+++ b/rep-gtk.c
@@ -172,6 +172,8 @@ sgtk_try_missing_type (char *name)
 {
   static sgtk_type_info missing[] = {
     { "GdkGC", G_TYPE_BOXED },
+    { "GdkSegment", G_TYPE_BOXED },
+    { "GdkSpan", G_TYPE_BOXED },
     { "GdkPixbuf", G_TYPE_BOXED },	/* XXX okay? */
     { "GtkTextIter", G_TYPE_BOXED },
     { "GtkTreeIter", G_TYPE_BOXED },
@@ -849,7 +851,7 @@ sgtk_rep_to_flags (repv obj, sgtk_enum_info *info)
   return ans;
 }
 
-
+
 /* String enums.
 
    A string enum is like an enum, but the values are strings.  The
@@ -1127,7 +1129,33 @@ sgtk_type_to_rep (GType t)
   return sgtk_uint_to_rep (t);
 }
 
-
+int
+sgtk_valid_segment (repv obj)
+{
+  return scm_is_pair (obj)
+    && sgtk_valid_point (SCM_CAR (obj))
+    && sgtk_valid_point (SCM_CDR (obj));
+}
+
+GdkSegment
+sgtk_rep_to_segment (repv obj)
+{
+  GdkSegment seg;
+  seg.x1 = rep_INT (rep_CAAR (obj));
+  seg.y1 = rep_INT (rep_CDAR (obj));
+  seg.x2 = rep_INT (rep_CADR (obj));
+  seg.y2 = rep_INT (rep_CDDR (obj));
+  return seg;
+}
+
+repv
+sgtk_segment_to_rep (GdkSegment seg)
+{
+  return Fcons (Fcons (rep_MAKE_INT (seg.x1),
+			     rep_MAKE_INT (seg.y1)),
+		   Fcons (rep_MAKE_INT (seg.x2),
+			     rep_MAKE_INT (seg.y2)));
+}
 
 /* Callbacks.
 
diff --git a/rep-gtk.h b/rep-gtk.h
index 7d068ea..c9d8fa8 100644
--- a/rep-gtk.h
+++ b/rep-gtk.h
@@ -151,6 +151,10 @@ int sgtk_valid_rect (repv obj);
 GdkRectangle sgtk_rep_to_rect (repv obj);
 repv sgtk_rect_to_rep (GdkRectangle p);
 
+int sgtk_valid_segment (repv obj);
+GdkSegment sgtk_scm2segment (repv obj);
+repv sgtk_segment2scm (GdkSegment seg);
+
 GType sgtk_type_from_name (char *name);
 int sgtk_valid_type (repv obj);
 GType sgtk_rep_to_type (repv obj);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]