mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-07 23:00:15 +02:00
cocoa: implement monitor enumeration and monitor information retreiving functions
git-svn-id: trunk@33579 -
This commit is contained in:
parent
28aca06e2e
commit
66ed3e1ab7
@ -346,6 +346,19 @@ begin
|
||||
arr.release;
|
||||
end;
|
||||
|
||||
function TCocoaWidgetSet.EnumDisplayMonitors(hdc: HDC; lprcClip: PRect;
|
||||
lpfnEnum: MonitorEnumProc; dwData: LPARAM): LongBool;
|
||||
var
|
||||
i: integer;
|
||||
begin
|
||||
Result := True;
|
||||
for i := 0 to NSScreen.screens.count - 1 do
|
||||
begin
|
||||
Result := Result and lpfnEnum(HMONITOR(NSScreen.screens.objectAtIndex(i)), 0, nil, dwData);
|
||||
if not Result then break;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TCocoaWidgetSet.ExtTextOut(DC: HDC; X, Y: Integer; Options: Longint;
|
||||
Rect: PRect; Str: PChar; Count: Longint; Dx: PInteger): Boolean;
|
||||
var
|
||||
@ -456,6 +469,20 @@ begin
|
||||
Result:=False;
|
||||
end;
|
||||
|
||||
function TCocoaWidgetSet.GetMonitorInfo(hMonitor: HMONITOR; lpmi: PMonitorInfo): Boolean;
|
||||
var
|
||||
ScreenID: NSScreen absolute hMonitor;
|
||||
begin
|
||||
Result := (lpmi <> nil) and (lpmi^.cbSize >= SizeOf(TMonitorInfo));
|
||||
if not Result then Exit;
|
||||
NSToLCLRect(ScreenID.frame, lpmi^.rcMonitor);
|
||||
NSToLCLRect(ScreenID.visibleFrame, lpmi^.rcWork);
|
||||
if ScreenID = NSScreen.mainScreen then
|
||||
lpmi^.dwFlags := MONITORINFOF_PRIMARY
|
||||
else
|
||||
lpmi^.dwFlags := 0;
|
||||
end;
|
||||
|
||||
function TCocoaWidgetSet.GetParent(Handle : HWND): HWND;
|
||||
begin
|
||||
if Handle<>0 then
|
||||
|
@ -77,6 +77,7 @@ function EnableWindow(hWnd: HWND; bEnable: Boolean): Boolean; override;
|
||||
{function EndPaint(Handle: hwnd; var PS: TPaintStruct): Integer; override;}
|
||||
procedure EnterCriticalSection(var CritSection: TCriticalSection); override;
|
||||
function EnumFontFamiliesEx(DC: HDC; lpLogFont: PLogFont; Callback: FontEnumExProc; Lparam: LParam; Flags: dword): longint; override;
|
||||
function EnumDisplayMonitors(hdc: HDC; lprcClip: PRect; lpfnEnum: MonitorEnumProc; dwData: LPARAM): LongBool; override;
|
||||
{function ExcludeClipRect(dc: hdc; Left, Top, Right, Bottom : Integer) : Integer; override;
|
||||
function ExtSelectClipRGN(dc: hdc; rgn : hrgn; Mode : Longint) : Integer; override;}
|
||||
function ExtTextOut(DC: HDC; X, Y: Integer; Options: Longint; Rect: PRect; Str: PChar; Count: Longint; Dx: PInteger): Boolean; override;
|
||||
@ -103,8 +104,9 @@ function GetDeviceCaps(DC: HDC; Index: Integer): Integer; override;
|
||||
function GetDeviceSize(DC: HDC; var P: TPoint): Boolean; Override;
|
||||
function GetDIBits(DC: HDC; Bitmap: HBitmap; StartScan, NumScans: UINT; Bits: Pointer; var BitInfo: BitmapInfo; Usage: UINT): Integer; Override;
|
||||
function GetFocus: HWND; override;
|
||||
function GetKeyState(nVirtKey: Integer): Smallint; override;
|
||||
function GetObject(GDIObj: HGDIOBJ; BufSize: Integer; Buf: Pointer): Integer; override;}
|
||||
function GetKeyState(nVirtKey: Integer): Smallint; override;}
|
||||
function GetMonitorInfo(hMonitor: HMONITOR; lpmi: PMonitorInfo): Boolean; override;
|
||||
{function GetObject(GDIObj: HGDIOBJ; BufSize: Integer; Buf: Pointer): Integer; override;}
|
||||
function GetParent(Handle : HWND): HWND; override;
|
||||
function GetProp(Handle : hwnd; Str : PChar): Pointer; override;
|
||||
{function GetRgnBox(RGN : HRGN; lpRect : PRect) : Longint; override;
|
||||
|
Loading…
Reference in New Issue
Block a user