1{%MainUnit gtk2int.pp}
2{ $Id$ }
3
4{******************************************************************************
5                 All GTK2 interface communication implementations.
6                   Initial Revision  : Sat Jan 17 19:00:00 2004
7
8
9  !! Keep alphabetical !!
10
11  Support routines go to gtk2proc.pp
12
13 ******************************************************************************
14 Interface
15 ******************************************************************************
16
17 *****************************************************************************
18  This file is part of the Lazarus Component Library (LCL)
19
20  See the file COPYING.modifiedLGPL.txt, included in this distribution,
21  for details about the license.
22 *****************************************************************************
23}
24
25//##apiwiz##sps##   // Do not remove
26function AddEventHandler(AHandle: THandle; AFlags: dword;
27  AEventHandler: TWaitHandleEvent; AData: PtrInt): PEventHandler; override;
28function AddPipeEventHandler(AHandle: THandle;
29  AEventHandler: TPipeEvent; AData: PtrInt): PPipeEventHandler; override;
30function AddProcessEventHandler(AHandle: THandle;
31  AEventHandler: TChildExitEvent; AData: PtrInt): PProcessEventHandler; override;
32function AskUser(const DialogCaption, DialogMessage: string; DialogType:
33   LongInt; Buttons: TDialogButtons; {%H-}HelpCtx: Longint): LongInt; override;
34
35function CreateStandardCursor(ACursor: SmallInt): hCursor; override;
36function CreateRubberBand(const ARect: TRect; const ABrush: HBrush = 0): HWND; override;
37procedure DestroyRubberBand(ARubberBand: HWND); override;
38procedure DrawDefaultDockImage({%H-}AOldRect, ANewRect: TRect; AOperation: TDockImageOperation); override;
39procedure DrawGrid(DC: HDC; const R: TRect; DX, DY: Integer); override;
40
41function ExtUTF8Out(DC: HDC; X, Y: Integer; Options: Longint; Rect: PRect;
42                    Str: PChar; Count: Longint; Dx: PInteger): Boolean; override;
43function FontIsMonoSpace(Font: HFont): boolean; override;
44
45function GetAcceleratorString(const AVKey: Byte; const AShiftState: TShiftState): String; override;
46function GetControlConstraints(Constraints: TObject): boolean; override;
47function GetLCLOwnerObject(Handle: HWnd): TObject; override;
48
49function PromptUser(const DialogCaption : string;
50                    const DialogMessage : string;
51                          DialogType    : LongInt;
52                          Buttons       : PLongInt;
53                          ButtonCount   : LongInt;
54                          DefaultIndex  : LongInt;
55                          EscapeResult  : LongInt) : LongInt; override;
56
57function RawImage_CreateBitmaps(const ARawImage: TRawImage; out ABitmap, AMask: HBitmap; ASkipMask: boolean = False): boolean; override;
58function RawImage_DescriptionFromBitmap(ABitmap: HBITMAP; out ADesc: TRawImageDescription): boolean; override;
59function RawImage_DescriptionFromDevice(ADC: HDC; out ADesc: TRawImageDescription): Boolean; override;
60function RawImage_FromBitmap(out ARawImage: TRawImage; ABitmap, AMask: HBITMAP; ARect: PRect = nil): Boolean; override;
61function RawImage_FromDevice(out ARawImage: TRawImage; ADC: HDC; const ARect: TRect): Boolean; override;
62function RawImage_QueryDescription(AFlags: TRawImageQueryFlags; var ADesc: TRawImageDescription): Boolean; override;
63
64procedure RemoveEventHandler(var AHandler: PEventHandler); override;
65procedure RemovePipeEventHandler(var AHandler: PPipeEventHandler); override;
66procedure RemoveProcessEventHandler(var AHandler: PProcessEventHandler); override;
67
68function SetComboMinDropDownSize(Handle: HWND; MinItemsWidth, MinItemsHeight, MinItemCount: integer): boolean; override;
69procedure SetEventHandlerFlags(AHandler: PEventHandler; NewFlags: dword); override;
70procedure SetRubberBandRect(const ARubberBand: HWND; const ARect: TRect); override;
71
72function TextUTF8Out(DC: HDC; X, Y: Integer; Str: PChar; Count: Longint): Boolean; override;
73//##apiwiz##eps##   // Do not remove, no wizard declaration after this line
74