diff --git a/lcl/include/winapi.inc b/lcl/include/winapi.inc index d71ba3b559..96472c7cd5 100644 --- a/lcl/include/winapi.inc +++ b/lcl/include/winapi.inc @@ -113,6 +113,14 @@ begin Result := InterfaceObject.CreateBitmap(Width, Height, Planes, BitCount, BitmapBits); end; +function CreateDIBitmap(DC: HDC; var InfoHeader: TBitmapInfoHeader; + dwUsage: DWORD; InitBits: PChar; var InitInfo: TBitmapInfo; + wUsage: UINT): HBITMAP; +begin + Result := InterfaceObject.CreateDIBitmap(DC,InfoHeader,dwUsage,InitBits, + InitInfo,wUsage); +end; + function CreateBrushIndirect(const LogBrush: TLogBrush): HBRUSH; begin Result := InterfaceObject.CreateBrushIndirect(LogBrush); @@ -144,6 +152,11 @@ begin Result := InterfaceObject.CreateFontIndirectEx(LogFont,LongFontName); end; +function CreatePalette(const LogPalette: TLogPalette): HPalette; +begin + Result := InterfaceObject.CreatePalette(LogPalette); +end; + function CreatePenIndirect(const LogPen: TLogPen): HPEN; begin Result := InterfaceObject.CreatePenIndirect(LogPen); @@ -194,6 +207,11 @@ begin Result := InterfaceObject.DrawText(DC, Str, Count, Rect, Flags); end; +function DPtoLP(DC: HDC; var Points; Count: Integer): BOOL; +begin + Result := InterfaceObject.DPtoLP(DC,Points,Count); +end; + function EnableMenuItem(hndMenu: HMENU; uIDEnableItem: Integer; bEnable: Boolean): Boolean; begin Result := InterfaceObject.EnableMenuItem(hndMenu, uIDEnableItem, bEnable); @@ -255,6 +273,11 @@ begin Result := InterfaceObject.FillRect(DC, Rect, Brush); end; +function FillRgn(DC: HDC; RegionHnd: HRGN; hbr: HBRUSH): BOOL; +begin + Result := InterfaceObject.FillRgn(DC,RegionHnd,hbr); +end; + function FloodFill(DC: HDC; X, Y: Integer; Color: TColor; FillStyle: TFillStyle; Brush: HBRUSH): Boolean; begin @@ -390,6 +413,11 @@ begin Result := InterfaceObject.GetKeyState(nVirtKey); end; +function GetMapMode(DC: HDC): Integer; +begin + Result := InterfaceObject.GetMapMode(DC); +end; + function GetNotebookTabIndexAtPos(Handle: HWND; const ClientPos: TPoint): integer; begin @@ -401,6 +429,13 @@ begin Result := InterfaceObject.GetObject(GDIObject, BufSize, Buf); end; +function GetPaletteEntries(Palette: HPALETTE; StartIndex, NumEntries: UINT; + var PaletteEntries): UINT; +begin + Result := InterfaceObject.GetPaletteEntries(Palette,StartIndex,NumEntries, + PaletteEntries); +end; + Function GetParent(Handle : HWND): HWND; begin Result := InterfaceObject.GetParent(Handle); @@ -441,6 +476,13 @@ begin Result := InterfaceObject.GetSystemMetrics(nIndex); end; +function GetSystemPaletteEntries(DC: HDC; StartIndex, NumEntries: UINT; + var PaletteEntries): UINT; +begin + Result := InterfaceObject.GetSystemPaletteEntries(DC,StartIndex,NumEntries, + PaletteEntries); +end; + function GetTextColor(DC: HDC) : TColorRef; begin Result := InterfaceObject.GetTextColor(DC); @@ -452,11 +494,18 @@ begin Result := InterfaceObject.GetTextExtentExPoint(DC,Str,Count,p4,p5,p6,Size); end; -function GetTextExtentPoint(DC: HDC; Str: PChar; Count: Integer; var Size: TSize): Boolean; +function GetTextExtentPoint(DC: HDC; Str: PChar; Count: Integer; + var Size: TSize): Boolean; begin Result := InterfaceObject.GetTextExtentPoint(DC, Str, Count, Size); end; +function GetTextExtentPoint32(DC: HDC; Str: PChar; Count: Integer; + var Size: TSize): Boolean; +begin + Result := InterfaceObject.GetTextExtentPoint32(DC, Str, Count, Size); +end; + function GetTextMetrics(DC: HDC; var TM: TTextMetric): Boolean; begin Result := InterfaceObject.GetTextMetrics(DC, TM); @@ -477,7 +526,7 @@ begin Result := InterfaceObject.GetWindowSize(Handle, Width, Height); end; -Function GetWindowOrgEx(dc : hdc; var P : TPoint): Integer; +Function GetWindowOrgEx(dc : hdc; P : PPoint): Integer; begin Result := InterfaceObject.GetWindowOrgEx(dc,P); end; @@ -844,12 +893,22 @@ begin //writeln('[winapi.inc SetFocus] END'); end; +function SetMapMode(DC: HDC; MapMode: Integer): Integer; +begin + Result := InterfaceObject.SetMapMode(DC,MapMode); +end; + function SetScrollInfo(Handle : HWND; SBStyle : Integer; ScrollInfo: TScrollInfo; Redraw : Boolean): Integer; begin Result := InterfaceObject.SetSCrollInfo(Handle, SBStyle, ScrollInfo, Redraw) end; +function SetStretchBltMode(DC: HDC; StretchMode: Integer): Integer; +begin + Result := InterfaceObject.SetStretchBltMode(DC,StretchMode); +end; + function SetSysColors(cElements: Integer; const lpaElements; const lpaRgbValues): Boolean; begin Result := InterfaceObject.SetSysColors(cElements, lpaElements, lpaRgbValues); @@ -906,6 +965,14 @@ begin Result := InterfaceObject.StretchBlt(DestDC, X, Y, Width, Height, SrcDC, XSrc, YSrc, SrcWidth, SrcHeight, Rop) end; +function StretchDIBits(DC: HDC; DestX, DestY, DestWidth, DestHeight, SrcX, + SrcY, SrcWidth, SrcHeight: Integer; Bits: Pointer; var BitsInfo: TBitmapInfo; + Usage: UINT; Rop: DWORD): Integer; +begin + Result := InterfaceObject.StretchDIBits(DC,DestX,DestY,DestWidth,DestHeight, + SrcX,SrcY,SrcWidth,SrcHeight,Bits,BitsInfo,Usage,Rop); +end; + function StretchMaskBlt(DestDC: HDC; X, Y, Width, Height: Integer; SrcDC: HDC; XSrc, YSrc, SrcWidth, SrcHeight: Integer; Mask: HBITMAP; XMask, YMask: Integer; Rop: DWORD): Boolean; begin Result := InterfaceObject.StretchMaskBlt(DestDC, X, Y, Width, Height, SrcDC, XSrc, YSrc, SrcWidth, SrcHeight, Mask, XMask, YMask, Rop); @@ -1448,6 +1515,9 @@ end; { ============================================================================= $Log$ + Revision 1.68 2002/12/27 17:12:38 mattias + added more Delphi win32 compatibility functions + Revision 1.67 2002/12/26 11:00:14 mattias added included by to unitinfo and a few win32 functions diff --git a/lcl/include/winapih.inc b/lcl/include/winapih.inc index 2b81c310c0..73e7b45d5c 100644 --- a/lcl/include/winapih.inc +++ b/lcl/include/winapih.inc @@ -63,6 +63,9 @@ function CreateBrushIndirect(const LogBrush: TLogBrush): HBRUSH; {$IFDEF IF_BASE function CreateCaret(Handle: HWND; Bitmap: hBitmap; width, Height: Integer): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function CreateCompatibleBitmap(DC: HDC; Width, Height: Integer): HBITMAP; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function CreateCompatibleDC(DC: HDC): HDC; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} +function CreateDIBitmap(DC: HDC; var InfoHeader: TBitmapInfoHeader; + dwUsage: DWORD; InitBits: PChar; var InitInfo: TBitmapInfo; + wUsage: UINT): HBITMAP; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function CreateDIBSection(DC: HDC; const p2: tagBitmapInfo; p3: UINT; var p4: Pointer; p5: THandle; p6: DWORD): HBITMAP; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function CreateEllipticRgn(p1, p2, p3, p4: Integer): HRGN; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} @@ -70,6 +73,7 @@ function CreateEllipticRgn(p1, p2, p3, p4: Integer): HRGN; {$IFDEF IF_BASE_MEMBE //function CreateFont --> independent function CreateFontIndirect(const LogFont: TLogFont): HFONT; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function CreateFontIndirectEx(const LogFont: TLogFont; const LongFontName: string): HFONT; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} +function CreatePalette(const LogPalette: TLogPalette): HPalette; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} //function CreatePen --> independent function CreatePenIndirect(const LogPen: TLogPen): HPEN; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function CreatePixmapIndirect(const Data: Pointer; const TransColor: Longint): HBITMAP; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} @@ -80,6 +84,7 @@ function CreateRectRgn(X1,Y1,X2,Y2 : Integer): HRGN; {$IFDEF IF_BASE_MEMBER}virt function DeleteDC(hDC: HDC): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function DeleteObject(GDIObject: HGDIOBJ): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function DestroyCaret(Handle : HWND): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} +function DPtoLP(DC: HDC; var Points; Count: Integer): BOOL; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} Function DrawFrameControl(DC: HDC; var Rect : TRect; uType, uState : Cardinal) : Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function DrawEdge(DC: HDC; var Rect: TRect; edge: Cardinal; grfFlags: Cardinal): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function DrawText(DC: HDC; Str: PChar; Count: Integer; var Rect: TRect; Flags: Cardinal): Integer; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} @@ -95,6 +100,7 @@ function ExtTextOut(DC: HDC; X, Y: Integer; Options: Longint; Rect: PRect; Str: function ExtSelectClipRGN(dc: hdc; rgn : hrgn; Mode : Longint) : Integer; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function FillRect(DC: HDC; const Rect: TRect; Brush: HBRUSH): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} +function FillRgn(DC: HDC; RegionHnd: HRGN; hbr: HBRUSH): BOOL; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function FloodFill(DC: HDC; X, Y: Integer; Color: TColor; FillStyle: TFillStyle; Brush: HBRUSH): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function Frame3d(DC: HDC; var Rect: TRect; const FrameWidth : integer; const Style : TBevelCut): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} @@ -116,8 +122,11 @@ function GetDIBits(DC: HDC; Bitmap: HBitmap; StartScan, NumScans: UINT; Bits: Po function GetFocus: HWND; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function GetFontLanguageInfo(DC: HDC): DWord; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function GetKeyState(nVirtKey: Integer): Smallint; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} +function GetMapMode(DC: HDC): Integer; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function GetNotebookTabIndexAtPos(Handle: HWND; const ClientPos: TPoint): integer; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function GetObject(GDIObject: HGDIOBJ; BufSize: Integer; Buf: Pointer): Integer; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} +function GetPaletteEntries(Palette: HPALETTE; StartIndex, NumEntries: UINT; + var PaletteEntries): UINT; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} Function GetParent(Handle : HWND): HWND; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} Function GetProp(Handle : hwnd; Str : PChar): Pointer;{$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} Function GetRgnBox(RGN : HRGN; lpRect : PRect) : Longint; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} @@ -127,15 +136,18 @@ function GetScrollInfo(Handle: HWND; BarFlag: Integer; var ScrollInfo: TScrollIn //function GetScrollRange --> independent function GetStockObject(Value: Integer): LongInt; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function GetSysColor(nIndex: Integer): DWORD; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} +function GetSystemPaletteEntries(DC: HDC; StartIndex, NumEntries: UINT; + var PaletteEntries): UINT; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function GetSystemMetrics(nIndex: Integer): Integer; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function GetTextColor(DC: HDC) : TColorRef; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function GetTextExtentExPoint(DC: HDC; Str: PChar; Count, p4: Integer; p5, p6: PInteger; var Size: TSize): BOOL; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function GetTextExtentPoint(DC: HDC; Str: PChar; Count: Integer; var Size: TSize): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} +function GetTextExtentPoint32(DC: HDC; Str: PChar; Count: Integer; var Size: TSize): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function GetTextMetrics(DC: HDC; var TM: TTextMetric): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function GetWindowLong(Handle : hwnd; int : Integer): Longint; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function GetWindowRect(Handle : hwnd; var Rect : TRect): Integer; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} Function GetWindowSize(Handle : hwnd; var Width, Height: integer): boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} -function GetWindowOrgEx(dc : hdc; var P : TPoint): Integer; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} +function GetWindowOrgEx(dc : hdc; P : PPoint): Integer; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function GradientFill(DC: HDC; Vertices: PTriVertex; NumVertices : Longint; Meshes: Pointer; NumMeshes : Longint; Mode : Longint): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} @@ -202,12 +214,14 @@ function SetCaretPosEx(handle: HWnd; X, Y: Integer): Boolean; {$IFDEF IF_BASE_ME function SetCaretRespondToFocus(handle: HWND; ShowHideOnFocus: boolean): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function SetCursor(hCursor: HICON): HCURSOR; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function SetFocus(hWnd: HWND): HWND; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} +function SetMapMode(DC: HDC; MapMode: Integer): Integer; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} Function SetProp(Handle: hwnd; Str : PChar; Data : Pointer) : Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} //function SetRect --> independent //function SetRectEmpty --> independent function SetScrollInfo(Handle: HWND; SBStyle : Integer; ScrollInfo: TScrollInfo; Redraw : Boolean): Integer; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} //function SetScrollPos --> independent //function SetScrollRange --> independent +function SetStretchBltMode(DC: HDC; StretchMode: Integer): Integer; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function SetSysColors(cElements: Integer; const lpaElements; const lpaRgbValues): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function SetTextAlign(DC: HDC; Flags: UINT): UINT; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} Function SetTextCharacterExtra(_hdc : hdc; nCharExtra : Integer):Integer; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} @@ -220,6 +234,9 @@ function ShowCaret(hWnd: HWND): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function ShowScrollBar(Handle: HWND; wBar: Integer; bShow: Boolean): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} procedure Sleep(dwMilliseconds: DWORD); {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function StretchBlt(DestDC: HDC; X, Y, Width, Height: Integer; SrcDC: HDC; XSrc, YSrc, SrcWidth, SrcHeight: Integer; Rop: Cardinal): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} +function StretchDIBits(DC: HDC; DestX, DestY, DestWidth, DestHeight, SrcX, + SrcY, SrcWidth, SrcHeight: Integer; Bits: Pointer; var BitsInfo: TBitmapInfo; + Usage: UINT; Rop: DWORD): Integer; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function StretchMaskBlt(DestDC: HDC; X, Y, Width, Height: Integer; SrcDC: HDC; XSrc, YSrc, SrcWidth, SrcHeight: Integer; Mask: HBITMAP; XMask, YMask: Integer; Rop: DWORD): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} {$IFNDEF IF_BASE_MEMBER} @@ -345,6 +362,9 @@ Function RGB(R, G, B : Byte) : TColorRef; { ============================================================================= $Log$ + Revision 1.61 2002/12/27 17:12:38 mattias + added more Delphi win32 compatibility functions + Revision 1.60 2002/12/26 11:00:14 mattias added included by to unitinfo and a few win32 functions diff --git a/lcl/interfaces/gtk/gtkint.pp b/lcl/interfaces/gtk/gtkint.pp index 3475623b4c..8397e0a05a 100644 --- a/lcl/interfaces/gtk/gtkint.pp +++ b/lcl/interfaces/gtk/gtkint.pp @@ -131,7 +131,7 @@ type function CreateDefaultFont: PGdiObject;virtual; function CreateDefaultPen: PGdiObject;virtual; procedure UpdateDCTextMetric(DC: TDeviceContext); - + // images procedure LoadXPMFromLazResource(const ResourceName: string; Window: PGdkWindow; var PixmapImg, PixmapMask: PGdkPixmap);virtual; @@ -322,6 +322,9 @@ end. { ============================================================================= $Log$ + Revision 1.116 2002/12/27 17:12:38 mattias + added more Delphi win32 compatibility functions + Revision 1.115 2002/12/27 10:23:40 mattias implemented TListBox.TopIndex