- added some missed function to extra
- correct GetWindowRect

git-svn-id: trunk@13665 -
This commit is contained in:
paul 2008-01-08 09:33:43 +00:00
parent a1153ebae0
commit bdb8aa451e
2 changed files with 5 additions and 17 deletions

View File

@ -6295,29 +6295,15 @@ end;
------------------------------------------------------------------------------} ------------------------------------------------------------------------------}
function TGtkWidgetSet.GetWindowRect(Handle: hwnd; var ARect: TRect): Integer; function TGtkWidgetSet.GetWindowRect(Handle: hwnd; var ARect: TRect): Integer;
var var
X, Y, W, H: Integer;
Widget: PGTKWidget; Widget: PGTKWidget;
Window: PGdkWindow;
begin begin
//DebugLn('GetWindowRect'); //DebugLn('GetWindowRect');
Result := 0; //default Result := 0; //default
if Handle <> 0 then if Handle <> 0 then
begin begin
Widget := pgtkwidget(Handle); Widget := PGtkWidget(Handle);
Window:=GetControlWindow(Widget); ARect.TopLeft := GetWidgetOrigin(Widget);
if Window <> nil then Begin ARect.BottomRight := Point(ARect.Left + Widget^.allocation.width, ARect.Top + Widget^.allocation.height);
gdk_window_get_origin(Window, @X, @Y);
gdk_window_get_size(Window, @W, @H);
end
else
Begin
X := 0;
Y := 0;
W := 100;
Y := 200;
end;
ARect:=Rect(X,Y,X+W,Y+H);
end; end;
end; end;

View File

@ -71,6 +71,7 @@ function gdk_display_get_default:PGdkDisplay; cdecl; external gdklib;
procedure gdk_draw_pixbuf(drawable : PGdkDrawable; gc : PGdkGC; pixbuf : PGdkPixbuf; src_x, src_y, dest_x, dest_y, width, height : gint; procedure gdk_draw_pixbuf(drawable : PGdkDrawable; gc : PGdkGC; pixbuf : PGdkPixbuf; src_x, src_y, dest_x, dest_y, width, height : gint;
dither : TGdkRgbDither; x_dither, y_dither : gint); cdecl; external gdklib; dither : TGdkRgbDither; x_dither, y_dither : gint); cdecl; external gdklib;
function gdk_screen_get_default: PGdkScreen; cdecl; external gdklib; function gdk_screen_get_default: PGdkScreen; cdecl; external gdklib;
function gdk_screen_get_rgb_colormap(screen: PGdkScreen): PGdkColormap; cdecl; external gdklib;
// gdk 2.4 // gdk 2.4
function gdk_cursor_new_from_pixbuf(display: PGdkDisplay; pixbuf: PGdkPixbuf; x, y: gint): PGdkCursor; cdecl; external gdklib name 'gdk_cursor_new_from_pixbuf'; function gdk_cursor_new_from_pixbuf(display: PGdkDisplay; pixbuf: PGdkPixbuf; x, y: gint): PGdkCursor; cdecl; external gdklib name 'gdk_cursor_new_from_pixbuf';
@ -80,6 +81,7 @@ procedure gdk_display_get_maximal_cursor_size(display: PGdkDisplay; w, h: pguint
{$ifdef GTK_2_8} {$ifdef GTK_2_8}
// gdk 2.8 // gdk 2.8
procedure gdk_display_warp_pointer(display: PGdkDisplay; screen: PGdkScreen; x, y: gint); cdecl; external gdklib; procedure gdk_display_warp_pointer(display: PGdkDisplay; screen: PGdkScreen; x, y: gint); cdecl; external gdklib;
function gdk_screen_get_rgba_colormap(screen: PGdkScreen): PGdkColormap; cdecl; external gdklib;
{$endif} {$endif}
{ for future use { for future use
function gdk_display_supports_cursor_alpha(display: PGdkDisplay): gBoolean; cdecl; external gdklib; function gdk_display_supports_cursor_alpha(display: PGdkDisplay): gBoolean; cdecl; external gdklib;