summaryrefslogtreecommitdiff
path: root/packages/gtk2
diff options
context:
space:
mode:
authorAlmindor <Almindor@3ad0048d-3df7-0310-abae-a5850022a9f2>2008-08-03 14:48:09 +0000
committerAlmindor <Almindor@3ad0048d-3df7-0310-abae-a5850022a9f2>2008-08-03 14:48:09 +0000
commit50ccd7685964dd55c52979e854dc4e01a0fba0e7 (patch)
treea3c11ec0bb8def20ae5d6b5d898f569dfcbdf591 /packages/gtk2
parentc51f88ee10337631f561e3188f4e6958af8db461 (diff)
downloadfpc-50ccd7685964dd55c52979e854dc4e01a0fba0e7.tar.gz
* add GtkScaleButton and GtkVolumeButton
* add missing gtk2.8+ functions for GtkTextMark and GtkTextIter git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@11506 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/gtk2')
-rw-r--r--packages/gtk2/fpmake.pp8
-rw-r--r--packages/gtk2/src/gtkext/gtk2ext.pp20
-rw-r--r--packages/gtk2/src/gtkext/gtkscalebutton.inc60
-rw-r--r--packages/gtk2/src/gtkext/gtkscalebuttonh.inc23
-rw-r--r--packages/gtk2/src/gtkext/gtkstatusicon.inc152
-rw-r--r--packages/gtk2/src/gtkext/gtkstatusiconh.inc13
-rw-r--r--packages/gtk2/src/gtkext/gtktextiter.inc25
-rw-r--r--packages/gtk2/src/gtkext/gtktextiterh.inc8
-rw-r--r--packages/gtk2/src/gtkext/gtktextmark.inc19
-rw-r--r--packages/gtk2/src/gtkext/gtktextmarkh.inc5
-rw-r--r--packages/gtk2/src/gtkext/gtkvolumebutton.inc50
-rw-r--r--packages/gtk2/src/gtkext/gtkvolumebuttonh.inc18
12 files changed, 333 insertions, 68 deletions
diff --git a/packages/gtk2/fpmake.pp b/packages/gtk2/fpmake.pp
index 3b6effd79a..8e8a0c7f96 100644
--- a/packages/gtk2/fpmake.pp
+++ b/packages/gtk2/fpmake.pp
@@ -1214,6 +1214,14 @@ begin
begin
AddInclude('gtkstatusiconh.inc');
AddInclude('gtkstatusicon.inc');
+ AddInclude('gtkscalebuttonh.inc');
+ AddInclude('gtkscalebutton.inc');
+ AddInclude('gtkvolumebuttonh.inc');
+ AddInclude('gtkvolumebutton.inc');
+ AddInclude('gtktextmarkh.inc');
+ AddInclude('gtktextmark.inc');
+ AddInclude('gtktextiterh.inc');
+ AddInclude('gtktextiter.inc');
end;
T:=P.Targets.AddUnit('src/gtkhtml/gtkhtml.pas');
diff --git a/packages/gtk2/src/gtkext/gtk2ext.pp b/packages/gtk2/src/gtkext/gtk2ext.pp
index 21d2040356..79064df026 100644
--- a/packages/gtk2/src/gtkext/gtk2ext.pp
+++ b/packages/gtk2/src/gtkext/gtk2ext.pp
@@ -21,6 +21,10 @@ const
{$endif}
{$i gtkstatusiconh.inc}
+{$i gtkscalebuttonh.inc}
+{$i gtkvolumebuttonh.inc}
+{$i gtktextmarkh.inc}
+{$i gtktextiterh.inc}
implementation
@@ -31,6 +35,10 @@ var
gtkhandle : tlibhandle;
{$i gtkstatusicon.inc}
+{$i gtkscalebutton.inc}
+{$i gtkvolumebutton.inc}
+{$i gtktextmark.inc}
+{$i gtktextiter.inc}
var
libIter: Integer;
@@ -39,14 +47,22 @@ initialization
for libIter := High(GtkLibNames) downto Low(GtkLibNames) do begin
gtkhandle := LoadLibrary(GtkLibNames[libIter]);
if gtkhandle <> 0 then begin
- // add all specific component load functions here
Loadgtkstatusicon;
+ Loadgtkscalebutton;
+ Loadgtkvolumebutton;
+ Loadgtktextmark;
+ Loadgtkiter;
+ // add all specific component load functions here
Break;
end;
end;
finalization
- // add all specific component free functions here
Freegtkstatusicon;
+ Freegtkscalebutton;
+ Freegtkvolumebutton;
+ Freegtktextmark;
+ Freegtkiter;
+ // add all specific component free functions here
if gtkhandle <> 0 then
FreeLibrary(gtkhandle);
diff --git a/packages/gtk2/src/gtkext/gtkscalebutton.inc b/packages/gtk2/src/gtkext/gtkscalebutton.inc
new file mode 100644
index 0000000000..416718a787
--- /dev/null
+++ b/packages/gtk2/src/gtkext/gtkscalebutton.inc
@@ -0,0 +1,60 @@
+
+function GTK_TYPE_SCALE_BUTTON: GType; inline;
+begin
+ GTK_TYPE_SCALE_BUTTON:=gtk_scale_button_get_type();
+end;
+
+function GTK_SCALE_BUTTON(obj : pointer) : PGTypeInstance; inline;
+begin
+ GTK_SCALE_BUTTON:=G_TYPE_CHECK_INSTANCE_CAST(obj,GTK_TYPE_SCALE_BUTTON);
+end;
+
+function GTK_SCALE_BUTTON_CLASS(klass : pointer) : pointer; inline;
+begin
+ GTK_SCALE_BUTTON_CLASS:=G_TYPE_CHECK_CLASS_CAST(klass,GTK_TYPE_SCALE_BUTTON);
+end;
+
+function GTK_IS_SCALE_BUTTON(obj : pointer) : boolean; inline;
+begin
+ GTK_IS_SCALE_BUTTON:=G_TYPE_CHECK_INSTANCE_TYPE(obj,GTK_TYPE_SCALE_BUTTON);
+end;
+
+function GTK_IS_SCALE_BUTTON_CLASS(klass : pointer) : boolean; inline;
+begin
+ GTK_IS_SCALE_BUTTON_CLASS:=G_TYPE_CHECK_CLASS_TYPE(klass,GTK_TYPE_SCALE_BUTTON);
+end;
+
+function GTK_SCALE_BUTTON_GET_CLASS(obj : pointer) : PGTypeClass; inline;
+begin
+ GTK_SCALE_BUTTON_GET_CLASS:=G_TYPE_INSTANCE_GET_CLASS(obj,GTK_TYPE_SCALE_BUTTON);
+end;
+
+function Available_GtkScaleButton: Boolean;
+begin
+ Result := Assigned(gtk_scale_button_new);
+end;
+
+procedure Freegtkscalebutton;
+begin
+ gtk_scale_button_get_type:=nil;
+ gtk_scale_button_new:=nil;
+ gtk_scale_button_set_icons:=nil;
+ gtk_scale_button_get_value:=nil;
+ gtk_scale_button_set_value:=nil;
+ gtk_scale_button_get_adjustment:=nil;
+ gtk_scale_button_set_adjustment:=nil;
+end;
+
+procedure Loadgtkscalebutton;
+begin
+ Freegtkscalebutton;
+
+ pointer(gtk_scale_button_get_type):=GetProcAddress(gtkhandle,'gtk_scale_button_get_type');
+ pointer(gtk_scale_button_new):=GetProcAddress(gtkhandle,'gtk_scale_button_new');
+ pointer(gtk_scale_button_set_icons):=GetProcAddress(gtkhandle,'gtk_scale_button_set_icons');
+ pointer(gtk_scale_button_get_value):=GetProcAddress(gtkhandle,'gtk_scale_button_get_value');
+ pointer(gtk_scale_button_set_value):=GetProcAddress(gtkhandle,'gtk_scale_button_set_value');
+ pointer(gtk_scale_button_get_adjustment):=GetProcAddress(gtkhandle,'gtk_scale_button_get_adjustment');
+ pointer(gtk_scale_button_set_adjustment):=GetProcAddress(gtkhandle,'gtk_scale_button_set_adjustment');
+end;
+
diff --git a/packages/gtk2/src/gtkext/gtkscalebuttonh.inc b/packages/gtk2/src/gtkext/gtkscalebuttonh.inc
new file mode 100644
index 0000000000..9f31abfbfe
--- /dev/null
+++ b/packages/gtk2/src/gtkext/gtkscalebuttonh.inc
@@ -0,0 +1,23 @@
+
+type
+ PGtkScaleButton = pointer;
+ PGtkScaleButtonClass = pointer;
+
+var
+ gtk_scale_button_get_type : function: GType;cdecl;
+ gtk_scale_button_new : function(size:TGtkIconSize; min:gdouble; max:gdouble; step:gdouble; icons:PPgchar):PGtkWidget;cdecl;
+ gtk_scale_button_set_icons : procedure(button:PGtkScaleButton; icons:PPgchar);cdecl;
+ gtk_scale_button_get_value : function(button:PGtkScaleButton):gdouble;cdecl;
+ gtk_scale_button_set_value : procedure(button:PGtkScaleButton; value:gdouble);cdecl;
+ gtk_scale_button_get_adjustment : function(button:PGtkScaleButton):PGtkAdjustment;cdecl;
+ gtk_scale_button_set_adjustment : procedure(button:PGtkScaleButton; adjustment:PGtkAdjustment);cdecl;
+
+ function GTK_TYPE_SCALE_BUTTON: GType; inline;
+ function GTK_SCALE_BUTTON(obj : pointer) : PGTypeInstance; inline;
+ function GTK_SCALE_BUTTON_CLASS(klass : pointer) : pointer; inline;
+ function GTK_IS_SCALE_BUTTON(obj : pointer) : boolean; inline;
+ function GTK_IS_SCALE_BUTTON_CLASS(klass : pointer) : boolean; inline;
+ function GTK_SCALE_BUTTON_GET_CLASS(obj : pointer) : PGTypeClass; inline;
+
+ function Available_GtkScaleButton: Boolean;
+
diff --git a/packages/gtk2/src/gtkext/gtkstatusicon.inc b/packages/gtk2/src/gtkext/gtkstatusicon.inc
index 801c46aab0..23b7d5a37d 100644
--- a/packages/gtk2/src/gtkext/gtkstatusicon.inc
+++ b/packages/gtk2/src/gtkext/gtkstatusicon.inc
@@ -1,69 +1,95 @@
- procedure Freegtkstatusicon;
- begin
- gtk_status_icon_get_type:=nil;
- gtk_status_icon_new:=nil;
- gtk_status_icon_new_from_pixbuf:=nil;
- gtk_status_icon_new_from_file:=nil;
- gtk_status_icon_new_from_stock:=nil;
- gtk_status_icon_new_from_icon_name:=nil;
- gtk_status_icon_set_from_pixbuf:=nil;
- gtk_status_icon_set_from_file:=nil;
- gtk_status_icon_set_from_stock:=nil;
- gtk_status_icon_set_from_icon_name:=nil;
- gtk_status_icon_get_storage_type:=nil;
- gtk_status_icon_get_pixbuf:=nil;
- gtk_status_icon_get_size:=nil;
- gtk_status_icon_set_screen:=nil;
- gtk_status_icon_get_screen:=nil;
- gtk_status_icon_set_tooltip:=nil;
- gtk_status_icon_set_visible:=nil;
- gtk_status_icon_get_visible:=nil;
- gtk_status_icon_set_blinking:=nil;
- gtk_status_icon_get_blinking:=nil;
- gtk_status_icon_is_embedded:=nil;
- gtk_status_icon_position_menu:=nil;
- gtk_status_icon_get_geometry:=nil;
- end;
+procedure Freegtkstatusicon;
+begin
+ gtk_status_icon_get_type:=nil;
+ gtk_status_icon_new:=nil;
+ gtk_status_icon_new_from_pixbuf:=nil;
+ gtk_status_icon_new_from_file:=nil;
+ gtk_status_icon_new_from_stock:=nil;
+ gtk_status_icon_new_from_icon_name:=nil;
+ gtk_status_icon_set_from_pixbuf:=nil;
+ gtk_status_icon_set_from_file:=nil;
+ gtk_status_icon_set_from_stock:=nil;
+ gtk_status_icon_set_from_icon_name:=nil;
+ gtk_status_icon_get_storage_type:=nil;
+ gtk_status_icon_get_pixbuf:=nil;
+ gtk_status_icon_get_size:=nil;
+ gtk_status_icon_set_screen:=nil;
+ gtk_status_icon_get_screen:=nil;
+ gtk_status_icon_set_tooltip:=nil;
+ gtk_status_icon_set_visible:=nil;
+ gtk_status_icon_get_visible:=nil;
+ gtk_status_icon_set_blinking:=nil;
+ gtk_status_icon_get_blinking:=nil;
+ gtk_status_icon_is_embedded:=nil;
+ gtk_status_icon_position_menu:=nil;
+ gtk_status_icon_get_geometry:=nil;
+end;
- procedure Loadgtkstatusicon;
- begin
- Freegtkstatusicon;
- pointer(gtk_status_icon_get_type):=GetProcAddress(gtkhandle,'gtk_status_icon_get_type');
- pointer(gtk_status_icon_new):=GetProcAddress(gtkhandle,'gtk_status_icon_new');
- pointer(gtk_status_icon_new_from_pixbuf):=GetProcAddress(gtkhandle,'gtk_status_icon_new_from_pixbuf');
- pointer(gtk_status_icon_new_from_file):=GetProcAddress(gtkhandle,'gtk_status_icon_new_from_file');
- pointer(gtk_status_icon_new_from_stock):=GetProcAddress(gtkhandle,'gtk_status_icon_new_from_stock');
- pointer(gtk_status_icon_new_from_icon_name):=GetProcAddress(gtkhandle,'gtk_status_icon_new_from_icon_name');
- pointer(gtk_status_icon_set_from_pixbuf):=GetProcAddress(gtkhandle,'gtk_status_icon_set_from_pixbuf');
- pointer(gtk_status_icon_set_from_file):=GetProcAddress(gtkhandle,'gtk_status_icon_set_from_file');
- pointer(gtk_status_icon_set_from_stock):=GetProcAddress(gtkhandle,'gtk_status_icon_set_from_stock');
- pointer(gtk_status_icon_set_from_icon_name):=GetProcAddress(gtkhandle,'gtk_status_icon_set_from_icon_name');
- pointer(gtk_status_icon_get_storage_type):=GetProcAddress(gtkhandle,'gtk_status_icon_get_storage_type');
- pointer(gtk_status_icon_get_pixbuf):=GetProcAddress(gtkhandle,'gtk_status_icon_get_pixbuf');
- pointer(gtk_status_icon_get_stock):=GetProcAddress(gtkhandle, 'gtk_status_icon_get_stock');
- pointer(gtk_status_icon_get_icon_name):=GetProcAddress(gtkhandle, 'gtk_status_icon_get_icon_name');
- pointer(gtk_status_icon_get_size):=GetProcAddress(gtkhandle,'gtk_status_icon_get_size');
- pointer(gtk_status_icon_set_screen):=GetProcAddress(gtkhandle,'gtk_status_icon_set_screen');
- pointer(gtk_status_icon_get_screen):=GetProcAddress(gtkhandle,'gtk_status_icon_get_screen');
- pointer(gtk_status_icon_set_tooltip):=GetProcAddress(gtkhandle,'gtk_status_icon_set_tooltip');
- pointer(gtk_status_icon_set_visible):=GetProcAddress(gtkhandle,'gtk_status_icon_set_visible');
- pointer(gtk_status_icon_get_visible):=GetProcAddress(gtkhandle,'gtk_status_icon_get_visible');
- pointer(gtk_status_icon_set_blinking):=GetProcAddress(gtkhandle,'gtk_status_icon_set_blinking');
- pointer(gtk_status_icon_get_blinking):=GetProcAddress(gtkhandle,'gtk_status_icon_get_blinking');
- pointer(gtk_status_icon_is_embedded):=GetProcAddress(gtkhandle,'gtk_status_icon_is_embedded');
- pointer(gtk_status_icon_position_menu):=GetProcAddress(gtkhandle,'gtk_status_icon_position_menu');
- pointer(gtk_status_icon_get_geometry):=GetProcAddress(gtkhandle,'gtk_status_icon_get_geometry');
- end;
+procedure Loadgtkstatusicon;
+begin
+ Freegtkstatusicon;
- function GTK_TYPE_STATUS_ICON: GType;
- begin
- Result := gtk_status_icon_get_type();
- end;
+ pointer(gtk_status_icon_get_type):=GetProcAddress(gtkhandle,'gtk_status_icon_get_type');
+ pointer(gtk_status_icon_new):=GetProcAddress(gtkhandle,'gtk_status_icon_new');
+ pointer(gtk_status_icon_new_from_pixbuf):=GetProcAddress(gtkhandle,'gtk_status_icon_new_from_pixbuf');
+ pointer(gtk_status_icon_new_from_file):=GetProcAddress(gtkhandle,'gtk_status_icon_new_from_file');
+ pointer(gtk_status_icon_new_from_stock):=GetProcAddress(gtkhandle,'gtk_status_icon_new_from_stock');
+ pointer(gtk_status_icon_new_from_icon_name):=GetProcAddress(gtkhandle,'gtk_status_icon_new_from_icon_name');
+ pointer(gtk_status_icon_set_from_pixbuf):=GetProcAddress(gtkhandle,'gtk_status_icon_set_from_pixbuf');
+ pointer(gtk_status_icon_set_from_file):=GetProcAddress(gtkhandle,'gtk_status_icon_set_from_file');
+ pointer(gtk_status_icon_set_from_stock):=GetProcAddress(gtkhandle,'gtk_status_icon_set_from_stock');
+ pointer(gtk_status_icon_set_from_icon_name):=GetProcAddress(gtkhandle,'gtk_status_icon_set_from_icon_name');
+ pointer(gtk_status_icon_get_storage_type):=GetProcAddress(gtkhandle,'gtk_status_icon_get_storage_type');
+ pointer(gtk_status_icon_get_pixbuf):=GetProcAddress(gtkhandle,'gtk_status_icon_get_pixbuf');
+ pointer(gtk_status_icon_get_stock):=GetProcAddress(gtkhandle, 'gtk_status_icon_get_stock');
+ pointer(gtk_status_icon_get_icon_name):=GetProcAddress(gtkhandle, 'gtk_status_icon_get_icon_name');
+ pointer(gtk_status_icon_get_size):=GetProcAddress(gtkhandle,'gtk_status_icon_get_size');
+ pointer(gtk_status_icon_set_screen):=GetProcAddress(gtkhandle,'gtk_status_icon_set_screen');
+ pointer(gtk_status_icon_get_screen):=GetProcAddress(gtkhandle,'gtk_status_icon_get_screen');
+ pointer(gtk_status_icon_set_tooltip):=GetProcAddress(gtkhandle,'gtk_status_icon_set_tooltip');
+ pointer(gtk_status_icon_set_visible):=GetProcAddress(gtkhandle,'gtk_status_icon_set_visible');
+ pointer(gtk_status_icon_get_visible):=GetProcAddress(gtkhandle,'gtk_status_icon_get_visible');
+ pointer(gtk_status_icon_set_blinking):=GetProcAddress(gtkhandle,'gtk_status_icon_set_blinking');
+ pointer(gtk_status_icon_get_blinking):=GetProcAddress(gtkhandle,'gtk_status_icon_get_blinking');
+ pointer(gtk_status_icon_is_embedded):=GetProcAddress(gtkhandle,'gtk_status_icon_is_embedded');
+ pointer(gtk_status_icon_position_menu):=GetProcAddress(gtkhandle,'gtk_status_icon_position_menu');
+ pointer(gtk_status_icon_get_geometry):=GetProcAddress(gtkhandle,'gtk_status_icon_get_geometry');
+end;
- function Available_GtkStatusIcon: Boolean;
- begin
- Result := Assigned(gtk_status_icon_new);
- end;
+function GTK_TYPE_STATUS_ICON: GType; inline;
+begin
+ Result := gtk_status_icon_get_type();
+end;
+
+function GTK_STATUS_ICON(obj: Pointer): PGTypeInstance; inline;
+begin
+ GTK_STATUS_ICON := G_TYPE_CHECK_INSTANCE_CAST (obj, GTK_TYPE_STATUS_ICON);
+end;
+
+function GTK_STATUS_ICON_CLASS(klass: Pointer): Pointer; inline;
+begin
+ GTK_STATUS_ICON_CLASS := G_TYPE_CHECK_CLASS_CAST (klass, GTK_TYPE_STATUS_ICON);
+end;
+
+function GTK_IS_STATUS_ICON(obj: Pointer): boolean; inline;
+begin
+ GTK_IS_STATUS_ICON := G_TYPE_CHECK_INSTANCE_TYPE (obj, GTK_TYPE_STATUS_ICON);
+end;
+
+function GTK_IS_STATUS_ICON_CLASS(klass: Pointer): boolean; inline;
+begin
+ GTK_IS_STATUS_ICON_CLASS := G_TYPE_CHECK_CLASS_TYPE (klass, GTK_TYPE_STATUS_ICON);
+end;
+
+function GTK_STATUS_ICON_GET_CLASS(obj: Pointer): PGTypeClass; inline;
+begin
+ GTK_STATUS_ICON_GET_CLASS := G_TYPE_INSTANCE_GET_CLASS (obj, GTK_TYPE_STATUS_ICON);
+end;
+
+function Available_GtkStatusIcon: Boolean;
+begin
+ Result := Assigned(gtk_status_icon_new);
+end;
diff --git a/packages/gtk2/src/gtkext/gtkstatusiconh.inc b/packages/gtk2/src/gtkext/gtkstatusiconh.inc
index 851b9134f9..fb6e6f9701 100644
--- a/packages/gtk2/src/gtkext/gtkstatusiconh.inc
+++ b/packages/gtk2/src/gtkext/gtkstatusiconh.inc
@@ -23,7 +23,9 @@
*}
type
- PGtkStatusIcon = Pointer;
+ PGtkStatusIcon = Pointer;
+ PGtkStatusIconClass = Pointer;
+
PPGdkScreen = PGdkScreen;
@@ -54,7 +56,12 @@ var
gtk_status_icon_position_menu : procedure(menu:PGtkMenu; x:Pgint; y:Pgint; push_in:Pgboolean; user_data:gpointer);
gtk_status_icon_get_geometry : function(status_icon:PGtkStatusIcon; screen:PPGdkScreen; area:PGdkRectangle; orientation:PGtkOrientation):gboolean;
-function GTK_TYPE_STATUS_ICON: GType;
+ function GTK_TYPE_STATUS_ICON: GType; inline;
+ function GTK_STATUS_ICON(obj: Pointer): PGTypeInstance; inline;
+ function GTK_STATUS_ICON_CLASS(klass: Pointer): Pointer; inline;
+ function GTK_IS_STATUS_ICON(obj: Pointer): boolean; inline;
+ function GTK_IS_STATUS_ICON_CLASS(klass: Pointer): boolean; inline;
+ function GTK_STATUS_ICON_GET_CLASS(obj: Pointer): PGTypeClass; inline;
-function Available_GtkStatusIcon: Boolean;
+ function Available_GtkStatusIcon: Boolean;
diff --git a/packages/gtk2/src/gtkext/gtktextiter.inc b/packages/gtk2/src/gtkext/gtktextiter.inc
new file mode 100644
index 0000000000..fbe3c8e8d4
--- /dev/null
+++ b/packages/gtk2/src/gtkext/gtktextiter.inc
@@ -0,0 +1,25 @@
+
+procedure Freegtkiter;
+begin
+ gtk_text_iter_forward_visible_line:=nil;
+ gtk_text_iter_backward_visible_line:=nil;
+ gtk_text_iter_forward_visible_lines:=nil;
+ gtk_text_iter_backward_visible_lines:=nil;
+end;
+
+
+procedure Loadgtkiter;
+begin
+ Freegtkiter;
+
+ pointer(gtk_text_iter_forward_visible_line):=GetProcAddress(gtkhandle,'gtk_text_iter_forward_visible_line');
+ pointer(gtk_text_iter_backward_visible_line):=GetProcAddress(gtkhandle,'gtk_text_iter_backward_visible_line');
+ pointer(gtk_text_iter_forward_visible_lines):=GetProcAddress(gtkhandle,'gtk_text_iter_forward_visible_lines');
+ pointer(gtk_text_iter_backward_visible_lines):=GetProcAddress(gtkhandle,'gtk_text_iter_backward_visible_lines');
+end;
+
+function Available_GtkTextIter: Boolean;
+begin
+ Result := Assigned(gtk_text_iter_forward_visible_line);
+end;
+
diff --git a/packages/gtk2/src/gtkext/gtktextiterh.inc b/packages/gtk2/src/gtkext/gtktextiterh.inc
new file mode 100644
index 0000000000..b4d935cba3
--- /dev/null
+++ b/packages/gtk2/src/gtkext/gtktextiterh.inc
@@ -0,0 +1,8 @@
+
+var
+ gtk_text_iter_forward_visible_line: function(iter: PGtkTextIter): gboolean;cdecl;
+ gtk_text_iter_backward_visible_line: function(iter: PGtkTextIter): gboolean;cdecl;
+ gtk_text_iter_forward_visible_lines: function(iter: PGtkTextIter; count: gint): gboolean;cdecl;
+ gtk_text_iter_backward_visible_lines: function(iter: PGtkTextIter; count: gint): gboolean;cdecl;
+
+ function Available_GtkTextIter: Boolean;
diff --git a/packages/gtk2/src/gtkext/gtktextmark.inc b/packages/gtk2/src/gtkext/gtktextmark.inc
new file mode 100644
index 0000000000..6d754055b2
--- /dev/null
+++ b/packages/gtk2/src/gtkext/gtktextmark.inc
@@ -0,0 +1,19 @@
+
+procedure Freegtktextmark;
+begin
+ gtk_text_mark_new:=nil
+end;
+
+
+procedure Loadgtktextmark;
+begin
+ Freegtktextmark;
+
+ pointer(gtk_text_mark_new):=GetProcAddress(gtkhandle,'gtk_text_mark_new');
+end;
+
+function Available_GtkTextMark: Boolean;
+begin
+ Result := Assigned(gtk_text_mark_new);
+end;
+
diff --git a/packages/gtk2/src/gtkext/gtktextmarkh.inc b/packages/gtk2/src/gtkext/gtktextmarkh.inc
new file mode 100644
index 0000000000..812b9344f9
--- /dev/null
+++ b/packages/gtk2/src/gtkext/gtktextmarkh.inc
@@ -0,0 +1,5 @@
+
+var
+ gtk_text_mark_new: function(name: PGChar; left_gravity: Gboolean):PGtkTextMark;cdecl;
+
+ function Available_GtkTextMark: Boolean;
diff --git a/packages/gtk2/src/gtkext/gtkvolumebutton.inc b/packages/gtk2/src/gtkext/gtkvolumebutton.inc
new file mode 100644
index 0000000000..df1a95da65
--- /dev/null
+++ b/packages/gtk2/src/gtkext/gtkvolumebutton.inc
@@ -0,0 +1,50 @@
+procedure Freegtkvolumebutton;
+begin
+ gtk_volume_button_new:=nil;
+ gtk_volume_button_get_type:=nil;
+end;
+
+
+procedure Loadgtkvolumebutton;
+begin
+ Freegtkvolumebutton;
+
+ pointer(gtk_volume_button_get_type):=GetProcAddress(gtkhandle,'gtk_volume_button_get_type');
+ pointer(gtk_volume_button_new):=GetProcAddress(gtkhandle,'gtk_volume_button_new');
+end;
+
+function GTK_TYPE_VOLUME_BUTTON: GType; inline;
+begin
+ GTK_TYPE_VOLUME_BUTTON := gtk_volume_button_get_type();
+end;
+
+function GTK_VOLUME_BUTTON(obj : pointer) : PGTypeInstance;
+begin
+ GTK_VOLUME_BUTTON:=G_TYPE_CHECK_INSTANCE_CAST(obj,GTK_TYPE_VOLUME_BUTTON);
+end;
+
+function GTK_VOLUME_BUTTON_CLASS(klass : pointer) : pointer;
+begin
+ GTK_VOLUME_BUTTON_CLASS:=G_TYPE_CHECK_CLASS_CAST(klass,GTK_TYPE_VOLUME_BUTTON);
+end;
+
+function GTK_IS_VOLUME_BUTTON(obj : pointer) : boolean; inline;
+begin
+ GTK_IS_VOLUME_BUTTON:=G_TYPE_CHECK_INSTANCE_TYPE(obj,GTK_TYPE_VOLUME_BUTTON);
+end;
+
+function GTK_IS_VOLUME_BUTTON_CLASS(klass : pointer) : boolean; inline;
+begin
+ GTK_IS_VOLUME_BUTTON_CLASS:=G_TYPE_CHECK_CLASS_TYPE(klass,GTK_TYPE_VOLUME_BUTTON);
+end;
+
+function GTK_VOLUME_BUTTON_GET_CLASS(obj : pointer) : PGTypeClass; inline;
+begin
+ GTK_VOLUME_BUTTON_GET_CLASS:=G_TYPE_INSTANCE_GET_CLASS(obj,GTK_TYPE_VOLUME_BUTTON);
+end;
+
+function Available_GtkVolumeButton: Boolean;
+begin
+ Result := Assigned(gtk_volume_button_new);
+end;
+
diff --git a/packages/gtk2/src/gtkext/gtkvolumebuttonh.inc b/packages/gtk2/src/gtkext/gtkvolumebuttonh.inc
new file mode 100644
index 0000000000..1076d174b4
--- /dev/null
+++ b/packages/gtk2/src/gtkext/gtkvolumebuttonh.inc
@@ -0,0 +1,18 @@
+
+type
+ PGtkVolumeButtonClass = pointer;
+ PGtkVolumeButton = pointer;
+
+var
+ gtk_volume_button_get_type: function:GType;cdecl;
+ gtk_volume_button_new : function:PGtkWidget;cdecl;
+
+ function GTK_TYPE_VOLUME_BUTTON: GType; inline;
+ function GTK_VOLUME_BUTTON(obj : pointer) : PGTypeInstance; inline;
+ function GTK_VOLUME_BUTTON_CLASS(klass : pointer) : pointer; inline;
+ function GTK_IS_VOLUME_BUTTON(obj : pointer) : boolean; inline;
+ function GTK_IS_VOLUME_BUTTON_CLASS(klass : pointer) : boolean; inline;
+ function GTK_VOLUME_BUTTON_GET_CLASS(obj : pointer) : PGTypeClass; inline;
+
+ function Available_GtkVolumeButton: Boolean;
+