diff options
| author | michael <michael@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2008-08-12 13:03:21 +0000 |
|---|---|---|
| committer | michael <michael@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2008-08-12 13:03:21 +0000 |
| commit | 143a465a21140fe5368f9fa5ac49c1c2c136e47a (patch) | |
| tree | 6a067e5e63994abdc29446fd3f6acb23fe47553e /packages/gtk2 | |
| parent | 6ad3f224f52207ef7b196280254fbb49fe6bb48d (diff) | |
| download | fpc-143a465a21140fe5368f9fa5ac49c1c2c136e47a.tar.gz | |
* Patch from Paul Ishenin:
- adds missing gdk 2.2 symbols
- added missing types: GdkDisplayManager, GdkDisplayPointerHooks
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@11554 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/gtk2')
| -rw-r--r-- | packages/gtk2/src/gtk+/gdk/gdk2.pas | 3 | ||||
| -rw-r--r-- | packages/gtk2/src/gtk+/gdk/gdkcolor.inc | 1 | ||||
| -rw-r--r-- | packages/gtk2/src/gtk+/gdk/gdkcursor.inc | 2 | ||||
| -rw-r--r-- | packages/gtk2/src/gtk+/gdk/gdkdisplay.inc | 20 | ||||
| -rw-r--r-- | packages/gtk2/src/gtk+/gdk/gdkdisplaymanager.inc | 76 | ||||
| -rw-r--r-- | packages/gtk2/src/gtk+/gdk/gdkdnd.inc | 2 | ||||
| -rw-r--r-- | packages/gtk2/src/gtk+/gdk/gdkdrawable.inc | 2 | ||||
| -rw-r--r-- | packages/gtk2/src/gtk+/gdk/gdkevents.inc | 4 | ||||
| -rw-r--r-- | packages/gtk2/src/gtk+/gdk/gdkincludes.inc | 1 | ||||
| -rw-r--r-- | packages/gtk2/src/gtk+/gdk/gdkscreen.inc | 4 | ||||
| -rw-r--r-- | packages/gtk2/src/gtk+/gdk/gdkvisual.inc | 1 | ||||
| -rw-r--r-- | packages/gtk2/src/gtk+/gdk/gdkwindow.inc | 5 |
12 files changed, 115 insertions, 6 deletions
diff --git a/packages/gtk2/src/gtk+/gdk/gdk2.pas b/packages/gtk2/src/gtk+/gdk/gdk2.pas index 3441960018..aaa9f0f389 100644 --- a/packages/gtk2/src/gtk+/gdk/gdk2.pas +++ b/packages/gtk2/src/gtk+/gdk/gdk2.pas @@ -106,6 +106,7 @@ type procedure gdk_parse_args(argc:Pgint; var argv:PPgchar); cdecl; external gdklib; procedure gdk_init(argc:Pgint; var argv:PPgchar); cdecl; external gdklib; function gdk_init_check(argc:Pgint; var argv:PPgchar):gboolean; cdecl; external gdklib; +procedure gdk_notify_startup_complete; cdecl; external gdklib; {$ifndef GDK_DISABLE_DEPRECATED} procedure gdk_exit(error_code:gint); cdecl; external gdklib; @@ -174,8 +175,6 @@ function gdk_event_send_client_message(event:PGdkEvent; xid:guint32):gboolean; c procedure gdk_event_send_clientmessage_toall(event:PGdkEvent); cdecl; external gdklib; {$endif} -function gdk_event_send_client_message_for_display(display:PGdkDisplay; event:PGdkEvent; xid:guint32):gboolean; cdecl; external gdklib; - {$IFNDEF KYLIX} { Threading } diff --git a/packages/gtk2/src/gtk+/gdk/gdkcolor.inc b/packages/gtk2/src/gtk+/gdk/gdkcolor.inc index c0df91699b..28fbc05434 100644 --- a/packages/gtk2/src/gtk+/gdk/gdkcolor.inc +++ b/packages/gtk2/src/gtk+/gdk/gdkcolor.inc @@ -74,6 +74,7 @@ function gdk_colormap_alloc_colors(colormap:PGdkColormap; colors:PGdkColor; ncol function gdk_colormap_alloc_color(colormap:PGdkColormap; color:PGdkColor; writeable:gboolean; best_match:gboolean):gboolean; cdecl; external gdklib; procedure gdk_colormap_free_colors(colormap:PGdkColormap; colors:PGdkColor; ncolors:gint); cdecl; external gdklib; procedure gdk_colormap_query_color(colormap:PGdkColormap; pixel:gulong; result:PGdkColor); cdecl; external gdklib; +function gdk_colormap_get_screen(cmap: PGdkColormap):PGdkScreen; cdecl; external gdklib; function gdk_colormap_get_visual(colormap:PGdkColormap):PGdkVisual; cdecl; external gdklib; function gdk_color_copy(color:PGdkColor):PGdkColor; cdecl; external gdklib; procedure gdk_color_free(color:PGdkColor); cdecl; external gdklib; diff --git a/packages/gtk2/src/gtk+/gdk/gdkcursor.inc b/packages/gtk2/src/gtk+/gdk/gdkcursor.inc index b806a2e46e..a8b91f3026 100644 --- a/packages/gtk2/src/gtk+/gdk/gdkcursor.inc +++ b/packages/gtk2/src/gtk+/gdk/gdkcursor.inc @@ -105,6 +105,7 @@ function GDK_IS_CURSOR(anObject : pointer) : boolean; { Cursors } function gdk_cursor_get_type:GType; cdecl; external gdklib; +function gdk_cursor_new_for_display(display: PGdkDisplay; cursor_type:TGdkCursorType):PGdkCursor; cdecl; external gdklib; function gdk_cursor_new_for_screen(screen:PGdkScreen; cursor_type:TGdkCursorType):PGdkCursor; cdecl; external gdklib; {$ifndef GDK_MULTIHEAD_SAFE} @@ -113,6 +114,7 @@ function gdk_cursor_new(cursor_type:TGdkCursorType):PGdkCursor; cdecl; external function gdk_cursor_new_from_pixmap(source:PGdkPixmap; mask:PGdkPixmap; fg:PGdkColor; bg:PGdkColor; x:gint; y:gint):PGdkCursor; cdecl; external gdklib; +function gdk_cursor_get_display(cursor: PGdkCursor):PGdkDisplay; cdecl; external gdklib; function gdk_cursor_get_screen(cursor:PGdkCursor):PGdkScreen; cdecl; external gdklib; function gdk_cursor_ref(cursor:PGdkCursor):PGdkCursor; cdecl; external gdklib; procedure gdk_cursor_unref(cursor:PGdkCursor); cdecl; external gdklib; diff --git a/packages/gtk2/src/gtk+/gdk/gdkdisplay.inc b/packages/gtk2/src/gtk+/gdk/gdkdisplay.inc index fd4f8c065a..3c8e56f268 100644 --- a/packages/gtk2/src/gtk+/gdk/gdkdisplay.inc +++ b/packages/gtk2/src/gtk+/gdk/gdkdisplay.inc @@ -2,6 +2,7 @@ {$IFDEF read_forward_definitions} PGdkDisplay = ^TGdkDisplay; + PGdkDisplayPointerHooks = ^TGdkDisplayPointerHooks; {$ENDIF read_forward_definitions} //------------------------------------------------------------------------------ @@ -23,6 +24,12 @@ button_window : array[0..1] of PGdkWindow; button_number : array[0..1] of guint; double_click_time : guint; + core_pointer: PGdkDevice; + pointer_hooks: PGdkDisplayPointerHooks; + closed: guint; + double_click_distance: guint; + button_x: array[0..1] of guint; + button_y: array[0..1] of guint; end; PGdkDisplayClass = ^TGdkDisplayClass; @@ -33,6 +40,12 @@ get_screen : function (display:PGdkDisplay; screen_num:gint):PGdkScreen; cdecl; get_default_screen : function (display:PGdkDisplay):PGdkScreen; cdecl; end; + + TGdkDisplayPointerHooks = record + get_pointer: procedure(display: PGdkDisplay; screen: PPGdkScreen; x: Pgint; y: Pgint; mask: PGdkModifierType); cdecl; + window_get_pointer: function(display: PGdkDisplay; window: PGdkWindow; x: Pgint; y: Pgint; mask: PGdkModifierType): PGdkWindow; cdecl; + window_at_pointer: function(display: PGdkDisplay; win_x: Pgint; win_y: Pgint): PGdkWindow; cdecl; + end; {$ENDIF read_interface_types} //------------------------------------------------------------------------------ @@ -46,6 +59,7 @@ function GDK_IS_DISPLAY_CLASS(klass : pointer) : boolean; function GDK_DISPLAY_GET_CLASS(obj : pointer) : PGdkDisplayClass; //function gdk_display_get_type:GType; cdecl; external gdklib; +function gdk_display_get_default: PGdkDisplay; cdecl; external gdklib; function gdk_display_open(display_name:Pgchar):PGdkDisplay; cdecl; external gdklib; function gdk_display_get_name(display:PGdkDisplay):Pgchar; cdecl; external gdklib; function gdk_display_get_n_screens(display:PGdkDisplay):gint; cdecl; external gdklib; @@ -66,6 +80,10 @@ procedure gdk_display_set_double_click_time(display:PGdkDisplay; msec:guint); cd procedure gdk_display_set_sm_client_id(display:PGdkDisplay; sm_client_id:Pgchar); cdecl; external gdklib; procedure gdk_set_default_display(display:PGdkDisplay); cdecl; external gdklib; function gdk_get_default_display:PGdkDisplay; cdecl; external gdklib; +function gdk_display_get_core_pointer(display:PGdkDisplay): PGdkDevice; cdecl; external gdklib; +procedure gdk_display_get_pointer(display:PGdkDisplay; screen :PGdkScreen; x :Pgint; y : Pgint; mask : PGdkModifierType); cdecl; external gdklib; +function gdk_display_get_window_at_pointer(display:PGdkDisplay; win_x: Pgint; win_y: Pgint): PGdkWindow; cdecl; external gdklib; +function gdk_display_set_pointer_hooks(display: PGdkDisplay; new_hooks: PGdkDisplayPointerHooks): PGdkDisplayPointerHooks; cdecl; external gdklib; {$endif read_interface_rest} //------------------------------------------------------------------------------ @@ -73,7 +91,7 @@ function gdk_get_default_display:PGdkDisplay; cdecl; external gdklib; {$IFDEF read_implementation} function GDK_TYPE_DISPLAY : GType; begin - GDK_TYPE_DISPLAY:=0; //gdk_display_get_type; + GDK_TYPE_DISPLAY := 0; //gdk_display_get_type; end; function GDK_DISPLAY_OBJECT(anObject : pointer) : PGdkDisplay; diff --git a/packages/gtk2/src/gtk+/gdk/gdkdisplaymanager.inc b/packages/gtk2/src/gtk+/gdk/gdkdisplaymanager.inc new file mode 100644 index 0000000000..687564563d --- /dev/null +++ b/packages/gtk2/src/gtk+/gdk/gdkdisplaymanager.inc @@ -0,0 +1,76 @@ +// included by gdk2.pp + +{$IFDEF read_forward_definitions} + PGdkDisplayManager = ^TGdkDisplayManager; +{$ENDIF read_forward_definitions} + +//------------------------------------------------------------------------------ + +{$IFDEF read_interface_types} +{< private > } + TGdkDisplayManager = record + parent_instance: TGObject; + end; + + PGdkDisplayManagerClass = ^TGdkDisplayManagerClass; + TGdkDisplayManagerClass = record + parent_class : TGObjectClass; + display_opened: procedure(display_manager: PGdkDisplayManager; display: PGdkDisplay); cdecl; + end; +{$ENDIF read_interface_types} + +//------------------------------------------------------------------------------ + +{$IFDEF read_interface_rest} +function GDK_TYPE_DISPLAY_MANAGER: GType; +function GDK_DISPLAY_MANAGER(anObject: pointer): PGdkDisplayManager; +function GDK_DISPLAY_MANAGER_CLASS(klass: pointer): PGdkDisplayManagerClass; +function GDK_IS_DISPLAY_MANAGER(anObject: pointer): Boolean; +function GDK_IS_DISPLAY_MANAGER_CLASS(klass: pointer): Boolean; +function GDK_DISPLAY_MANAGER_GET_CLASS(obj: pointer): PGdkDisplayManagerClass; + +//function gdk_display_manager_get_type: GType; cdecl; external gdklib; + +function gdk_display_manager_get: PGdkDisplayManager; cdecl; external gdklib; +function gdk_display_manager_get_default_display(display_manager: PGdkDisplayManager): PGdkDisplay; cdecl; external gdklib; +procedure gdk_display_manager_set_default_display(display_manager: PGdkDisplayManager; display: PGdkDisplay); cdecl; external gdklib; +function gdk_display_manager_list_displays(display_manager: PGdkDisplayManager): PGSList; cdecl; external gdklib; +{$endif read_interface_rest} + +//------------------------------------------------------------------------------ + +{$IFDEF read_implementation} +function GDK_TYPE_DISPLAY_MANAGER: GType; +begin + GDK_TYPE_DISPLAY_MANAGER := 0; //gdk_display_manager_get_type; +end; + +function GDK_DISPLAY_MANAGER(anObject : pointer) : PGdkDisplayManager; +begin + GDK_DISPLAY_MANAGER:=PGdkDisplayManager(G_TYPE_CHECK_INSTANCE_CAST(anObject, + GDK_TYPE_DISPLAY_MANAGER)); +end; + +function GDK_DISPLAY_MANAGER_CLASS(klass : pointer) : PGdkDisplayManagerClass; +begin + GDK_DISPLAY_MANAGER_CLASS:=PGdkDisplayManagerClass(G_TYPE_CHECK_CLASS_CAST(klass, + GDK_TYPE_DISPLAY_MANAGER)); +end; + +function GDK_IS_DISPLAY_MANAGER(anObject : pointer) : boolean; +begin + GDK_IS_DISPLAY_MANAGER:=G_TYPE_CHECK_INSTANCE_TYPE(anObject,GDK_TYPE_DISPLAY_MANAGER); +end; + +function GDK_IS_DISPLAY_MANAGER_CLASS(klass : pointer) : boolean; +begin + GDK_IS_DISPLAY_MANAGER_CLASS:=G_TYPE_CHECK_CLASS_TYPE(klass,GDK_TYPE_DISPLAY_MANAGER); +end; + +function GDK_DISPLAY_MANAGER_GET_CLASS(obj : pointer) : PGdkDisplayManagerClass; +begin + GDK_DISPLAY_MANAGER_GET_CLASS:=PGdkDisplayManagerClass(G_TYPE_INSTANCE_GET_CLASS(obj, + GDK_TYPE_DISPLAY_MANAGER)); +end; + +{$ENDIF} diff --git a/packages/gtk2/src/gtk+/gdk/gdkdnd.inc b/packages/gtk2/src/gtk+/gdk/gdkdnd.inc index 03f5cfbfad..87ce8ba5bc 100644 --- a/packages/gtk2/src/gtk+/gdk/gdkdnd.inc +++ b/packages/gtk2/src/gtk+/gdk/gdkdnd.inc @@ -96,6 +96,8 @@ function gdk_drag_get_protocol(xid:guint32; protocol:PGdkDragProtocol):guint32; procedure gdk_drag_find_window(context:PGdkDragContext; drag_window:PGdkWindow; x_root:gint; y_root:gint; var dest_window:PGdkWindow; protocol:PGdkDragProtocol); cdecl; external gdklib; +procedure gdk_drag_find_window_for_screen(context:PGdkDragContext; drag_window:PGdkWindow; screen:PGdkScreen; x_root:gint; y_root:gint; var dest_window:PGdkWindow; + protocol:PGdkDragProtocol); cdecl; external gdklib; function gdk_drag_motion(context:PGdkDragContext; dest_window:PGdkWindow; protocol:TGdkDragProtocol; x_root:gint; y_root:gint; suggested_action:TGdkDragAction; possible_actions:TGdkDragAction; time:guint32):gboolean; cdecl; external gdklib; procedure gdk_drag_drop(context:PGdkDragContext; time:guint32); cdecl; external gdklib; diff --git a/packages/gtk2/src/gtk+/gdk/gdkdrawable.inc b/packages/gtk2/src/gtk+/gdk/gdkdrawable.inc index f023a228e6..71cd7a4bbd 100644 --- a/packages/gtk2/src/gtk+/gdk/gdkdrawable.inc +++ b/packages/gtk2/src/gtk+/gdk/gdkdrawable.inc @@ -125,12 +125,10 @@ procedure gdk_draw_rectangle(drawable:PGdkDrawable; gc:PGdkGC; filled:gint; x:gi procedure gdk_draw_arc(drawable:PGdkDrawable; gc:PGdkGC; filled:gint; x:gint; y:gint; width:gint; height:gint; angle1:gint; angle2:gint); cdecl; external gdklib; procedure gdk_draw_polygon(drawable:PGdkDrawable; gc:PGdkGC; filled:gint; points:PGdkPoint; npoints:gint); cdecl; external gdklib; -{$IFDEF GTK2_2} procedure gdk_draw_pixbuf(drawable: PGdkDrawable; gc:PGdkGC; src:PGdkPixbuf; xsrc:gint; ysrc:gint; xdest:gint; ydest:gint; width:gint; height:gint; dither:TGdkRgbDither; x_dither:gint; y_dither:gint); cdecl; external gdklib; -{$ENDIF} {$ifndef GDK_DISABLE_DEPRECATED} diff --git a/packages/gtk2/src/gtk+/gdk/gdkevents.inc b/packages/gtk2/src/gtk+/gdk/gdkevents.inc index 85a8e94f23..b2dcaa90fe 100644 --- a/packages/gtk2/src/gtk+/gdk/gdkevents.inc +++ b/packages/gtk2/src/gtk+/gdk/gdkevents.inc @@ -458,6 +458,10 @@ function gdk_event_get_axis(event:PGdkEvent; axis_use:TGdkAxisUse; value:Pgdoubl procedure gdk_event_handler_set(func:TGdkEventFunc; data:gpointer; notify:TGDestroyNotify); cdecl; external gdklib; procedure gdk_set_show_events(show_events:gboolean); cdecl; external gdklib; function gdk_get_show_events:gboolean; cdecl; external gdklib; +function gdk_event_get_screen(event:PGdkEvent): PGdkScreen; cdecl; external gdklib; +function gdk_event_new(_type: TGdkEventType): PGdkEvent; cdecl; external gdklib; +function gdk_event_send_client_message_for_display(display:PGdkDisplay; event:PGdkEvent; xid:guint32):gboolean; cdecl; external gdklib; +procedure gdk_event_set_screen(event: PGdkEvent; screen: PGdkScreen); cdecl; external gdklib; {$ifndef GDK_MULTIHEAD_SAFE} procedure gdk_add_client_message_filter(message_type:TGdkAtom; func:TGdkFilterFunc; data:gpointer); cdecl; external gdklib; diff --git a/packages/gtk2/src/gtk+/gdk/gdkincludes.inc b/packages/gtk2/src/gtk+/gdk/gdkincludes.inc index 1b67d22fac..3e3de69d46 100644 --- a/packages/gtk2/src/gtk+/gdk/gdkincludes.inc +++ b/packages/gtk2/src/gtk+/gdk/gdkincludes.inc @@ -20,6 +20,7 @@ {$include gdkproperty.inc} {$include gdkregion.inc} {$include gdkrgb.inc} +{$include gdkdisplaymanager.inc} {$include gdkdisplay.inc} {$include gdkscreen.inc} {$include gdkselection.inc} diff --git a/packages/gtk2/src/gtk+/gdk/gdkscreen.inc b/packages/gtk2/src/gtk+/gdk/gdkscreen.inc index 697aacbc98..4d716e2efd 100644 --- a/packages/gtk2/src/gtk+/gdk/gdkscreen.inc +++ b/packages/gtk2/src/gtk+/gdk/gdkscreen.inc @@ -1,5 +1,6 @@ // included by gdk2.pp {$IFDEF read_forward_definitions} + PPGdkScreen = ^PGdkScreen; PGdkScreen = ^TGdkScreen; TGdkScreen = record parent_instance : TGObject; @@ -66,6 +67,7 @@ function gdk_screen_get_monitor_at_window(screen:PGdkScreen; window:PGdkWindow): procedure gdk_screen_broadcast_client_message(screen:PGdkScreen; event:PGdkEvent); cdecl; external gdklib; function gdk_get_default_screen:PGdkScreen; cdecl; external gdklib; function gdk_screen_get_setting(screen:PGdkScreen; name:Pgchar; value:PGValue):gboolean; cdecl; external gdklib; +function gdk_screen_make_display_name(screen: PGdkScreen): Pgchar; cdecl; external gdklib; {$endif read_interface_rest} //------------------------------------------------------------------------------ @@ -73,7 +75,7 @@ function gdk_screen_get_setting(screen:PGdkScreen; name:Pgchar; value:PGValue):g {$IFDEF read_implementation} function GDK_TYPE_SCREEN : GType; begin - GDK_TYPE_SCREEN:=0 //;gdk_screen_get_type; + GDK_TYPE_SCREEN := 0; //gdk_screen_get_type; end; function GDK_SCREEN(anObject : Pointer) : PGdkScreen; diff --git a/packages/gtk2/src/gtk+/gdk/gdkvisual.inc b/packages/gtk2/src/gtk+/gdk/gdkvisual.inc index 774e691a15..5f2fa795d2 100644 --- a/packages/gtk2/src/gtk+/gdk/gdkvisual.inc +++ b/packages/gtk2/src/gtk+/gdk/gdkvisual.inc @@ -77,6 +77,7 @@ function gdk_visual_get_best:PGdkVisual; cdecl; external gdklib; function gdk_visual_get_best_with_depth(depth:gint):PGdkVisual; cdecl; external gdklib; function gdk_visual_get_best_with_type(visual_type:TGdkVisualType):PGdkVisual; cdecl; external gdklib; function gdk_visual_get_best_with_both(depth:gint; visual_type:TGdkVisualType):PGdkVisual; cdecl; external gdklib; +function gdk_visual_get_screen(visual: PGdkVisual): PGdkScreen; cdecl; external gdklib; procedure gdk_query_depths(var depths:Pgint; count:Pgint); cdecl; external gdklib; procedure gdk_query_visual_types(var visual_types:PGdkVisualType; count:Pgint); cdecl; external gdklib; function gdk_list_visuals:PGList; cdecl; external gdklib; diff --git a/packages/gtk2/src/gtk+/gdk/gdkwindow.inc b/packages/gtk2/src/gtk+/gdk/gdkwindow.inc index f2f6e617e2..5e81d7c63c 100644 --- a/packages/gtk2/src/gtk+/gdk/gdkwindow.inc +++ b/packages/gtk2/src/gtk+/gdk/gdkwindow.inc @@ -474,9 +474,14 @@ procedure gdk_window_unref(drawable:PGdkDrawable); procedure gdk_window_copy_area(drawable:PGdkDrawable; gc:PGdkGC; x,y: gint; source_drawable:PGdkDrawable; source_x,source_y: gint; width,height : gint); + {$endif} { GDK_DISABLE_DEPRECATED } +procedure gdk_window_fullscreen(window: PGdkWindow); cdecl; external gdklib; +procedure gdk_window_set_skip_pager_hint(window: PGdkWindow; skips_pager: gboolean); cdecl; external gdklib; +procedure gdk_window_set_skip_taskbar_hint(window: PGdkWindow; skips_taskbar: gboolean); cdecl; external gdklib; +procedure gdk_window_unfullscreen(window: PGdkWindow); cdecl; external gdklib; {$endif read_interface_rest} //------------------------------------------------------------------------------ |
