gtk1/2: implement GetSystemMetrics(SM_CXTHUMB/SM_CYTHUMB)

git-svn-id: trunk@12753 -
This commit is contained in:
paul 2007-11-06 09:11:58 +00:00
parent a4143985e3
commit fd746ab2f9
2 changed files with 19 additions and 7 deletions

View File

@ -55,6 +55,8 @@ function g_signal_connect_after(anObject: PGtkObject; name: Pgchar;
cdecl; external gtkdll name 'gtk_signal_connect_after';
function g_signal_lookup(name: Pgchar; anObject: TGTKType): guint;
cdecl; external gtkdll name 'gtk_signal_lookup';
procedure _gtk_range_get_props(range: PGtkRange; slider_width, trough_border,
stepper_size, stepper_spacing: pgint); cdecl; external gtkdll name '_gtk_range_get_props';
function GDK_GET_CURRENT_DESKTOP(): gint;
function GDK_WINDOW_GET_DESKTOP(Window: PGdkWindowPrivate): gint;

View File

@ -5798,11 +5798,14 @@ end;
function TGtkWidgetSet.GetSystemMetrics(nIndex: Integer): Integer;
var
P: Pointer;
{$ifdef HasX}
ax,ay,ah,aw: gint;
{$endif}
auw, auh: guint;
{$ifdef GTK2}
screen: PGdkScreen;
ARect: TGdkRectangle;
AValue: TGValue;
{$else}
{$ifdef HasX}
XDisplay: PDisplay;
@ -5908,9 +5911,21 @@ begin
if P <> nil then
Result := GTK_Widget(P)^.requisition.Height;
end;
SM_CXHTHUMB:
SM_CXHTHUMB,
SM_CYVTHUMB:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CXHTHUMB ');
P := GetStyleWidget(lgsHorizontalScrollbar);
if P <> nil then
begin
{$ifdef gtk1}
_gtk_range_get_props(P, nil, nil, @Result, nil);
{$else}
FillChar(AValue, SizeOf(AValue), 0);
g_value_init(@AValue, G_TYPE_INT);
gtk_widget_style_get_property(P, 'slider-width', @AValue);
Result := AValue.data[0].v_int;
{$endif}
end;
end;
SM_CXICON:
begin
@ -6100,10 +6115,6 @@ begin
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYSMCAPTION ');
end;
SM_CYVTHUMB:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYVTHUMB ');
end;
SM_DBCSENABLED:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_DBCSENABLED ');
@ -9793,4 +9804,3 @@ end;
{$C-}
{$EndIf}