Стартовый пул
This commit is contained in:
82
LCLExtensions/include/carbon/delphicompat.inc
Normal file
82
LCLExtensions/include/carbon/delphicompat.inc
Normal file
@@ -0,0 +1,82 @@
|
||||
|
||||
{
|
||||
Carbon Interface
|
||||
|
||||
Dummy implementation. Not tested.
|
||||
Waiting for someone with a Mac to implement it
|
||||
}
|
||||
|
||||
type
|
||||
TTimerList = class
|
||||
end;
|
||||
|
||||
var
|
||||
FTimerList: TTimerList;
|
||||
|
||||
function CF_UNICODETEXT: TClipboardFormat;
|
||||
begin
|
||||
//todo
|
||||
Result := TClipboardFormat(0);
|
||||
end;
|
||||
|
||||
{
|
||||
Only a few functions are necessary to compile VirtualTreeView:
|
||||
BitBlt
|
||||
GetCurrentObject
|
||||
Set/KillTimer (Look at Qt/Gtk implementation)
|
||||
}
|
||||
|
||||
{$define HAS_GETCURRENTOBJECT}
|
||||
{.$define HAS_MAPMODEFUNCTIONS}
|
||||
{.$define HAS_GETTEXTEXTENTEXPOINT}
|
||||
{.$define HAS_GETDOUBLECLICKTIME}
|
||||
{.$define HAS_GETTEXTALIGN}
|
||||
{.$define HAS_GETWINDOWDC}
|
||||
{.$define HAS_INVERTRECT}
|
||||
{.$define HAS_OFFSETRGN}
|
||||
{.$define HAS_REDRAWWINDOW}
|
||||
{.$define HAS_SCROLLWINDOW}
|
||||
{.$define HAS_SETBRUSHORGEX}
|
||||
|
||||
|
||||
{$i ../generic/stubs.inc}
|
||||
{$i ../generic/independentfunctions.inc}
|
||||
{$i ../generic/unicodefunctions.inc}
|
||||
|
||||
|
||||
function BitBlt(DestDC: HDC; X, Y, Width, Height: Integer; SrcDC: HDC; XSrc,
|
||||
YSrc: Integer; Rop: DWORD): Boolean;
|
||||
begin
|
||||
Result := StretchMaskBlt(DestDC, X, Y, Width, Height, SrcDC, XSrc, YSrc,
|
||||
Width, Height, 0, 0, 0, Rop);
|
||||
end;
|
||||
|
||||
function GetCurrentObject(hdc: HDC; uObjectType: UINT): HGDIOBJ;
|
||||
var
|
||||
CarbonDC: TCarbonDeviceContext absolute hdc;
|
||||
begin
|
||||
Result := 0;
|
||||
with CarbonDC do
|
||||
begin
|
||||
case uObjectType of
|
||||
OBJ_BITMAP:
|
||||
begin
|
||||
if CarbonDC is TCarbonBitmapContext then
|
||||
Result := HGDIOBJ(TCarbonBitmapContext(CarbonDC).Bitmap);
|
||||
end;
|
||||
OBJ_BRUSH: Result := HGDIOBJ(CurrentBrush);
|
||||
OBJ_FONT: Result := HGDIOBJ(CurrentFont);
|
||||
OBJ_PEN: Result := HGDIOBJ(CurrentPen);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
function KillTimer(hWnd: THandle; nIDEvent: UINT_PTR):Boolean;
|
||||
begin
|
||||
Result := LCLIntf.KillTimer(hWnd, nIDEvent);
|
||||
end;
|
||||
|
||||
function SetTimer(hWnd: THandle; nIDEvent: UINT_PTR; uElapse: LongWord; lpTimerFunc: TTimerNotify): UINT_PTR;
|
||||
begin
|
||||
Result := LCLIntf.SetTimer(hWnd, nIDEvent, uElapse, nil{lpTimerFunc});
|
||||
end;
|
24
LCLExtensions/include/carbon/lclext.inc
Normal file
24
LCLExtensions/include/carbon/lclext.inc
Normal file
@@ -0,0 +1,24 @@
|
||||
|
||||
|
||||
function CreateBitmapMask(BitmapDC: HDC; Width, Height: Integer; TransparentColor: TColor): HBITMAP;
|
||||
begin
|
||||
//todo
|
||||
Result := 0;
|
||||
end;
|
||||
|
||||
function DirectMaskBlt(DestDC: HDC; X, Y, Width, Height: Integer; SrcDC: HDC; XSrc, YSrc: Integer; Mask: HBITMAP): Boolean;
|
||||
begin
|
||||
//todo: see if is possible todo it faster
|
||||
Result := StretchMaskBlt(DestDC, X, Y, Width, Height, SrcDC, XSrc, YSrc, Width, Height,
|
||||
Mask, 0, 0, SRCCOPY);
|
||||
end;
|
||||
|
||||
function OptimalPixelFormat: TPixelFormat;
|
||||
begin
|
||||
Result := pfDevice;
|
||||
end;
|
||||
|
||||
function OSSupportsUTF16: Boolean;
|
||||
begin
|
||||
Result := False;
|
||||
end;
|
1
LCLExtensions/include/carbon/uses.inc
Normal file
1
LCLExtensions/include/carbon/uses.inc
Normal file
@@ -0,0 +1 @@
|
||||
InterfaceBase, LCLIntf, Graphics, CarbonInt, CarbonCanvas, Math,
|
2
LCLExtensions/include/carbon/uses_lclext.inc
Normal file
2
LCLExtensions/include/carbon/uses_lclext.inc
Normal file
@@ -0,0 +1,2 @@
|
||||
uses
|
||||
LclIntf;
|
Reference in New Issue
Block a user