Преглед изворни кода

+ added the win16api gdi region support functions

git-svn-id: trunk@31618 -
nickysn пре 10 година
родитељ
комит
df0ae96738
2 измењених фајлова са 57 додато и 0 уклоњено
  1. 40 0
      rtl/win16/winprocsh.inc
  2. 17 0
      rtl/win16/wintypes.inc

+ 40 - 0
rtl/win16/winprocsh.inc

@@ -392,3 +392,43 @@ function CreateBrushIndirect(var lb: LOGBRUSH): HBRUSH; external 'GDI';
 
 function SetBrushOrg(hdc: HDC; nXOrg, nYOrg: SmallInt): DWORD; external 'GDI';
 function GetBrushOrg(hdc: HDC): DWORD; external 'GDI';
+
+{ Region support }
+
+function CreateRectRgn(nLeftRect, nTopRect, nRightRect, nBottomRect: SmallInt): HRGN; external 'GDI';
+function CreateRectRgnIndirect(lprc: LPRECT): HRGN; external 'GDI';
+{$ifdef VAR_PARAMS_ARE_FAR}
+function CreateRectRgnIndirect(var rc: RECT): HRGN; external 'GDI';
+{$endif}
+function CreateEllipticRgnIndirect(lprc: LPRECT): HRGN; external 'GDI';
+{$ifdef VAR_PARAMS_ARE_FAR}
+function CreateEllipticRgnIndirect(var rc: RECT): HRGN; external 'GDI';
+{$endif}
+function CreateEllipticRgn(nLeftRect, nTopRect, nRightRect, nBottomRect: SmallInt): HRGN; external 'GDI';
+function CreatePolygonRgn(lppt: LPPOINT; cPoints, fnPolyFillMode: SmallInt): HRGN; external 'GDI';
+{$ifdef VAR_PARAMS_ARE_FAR}
+function CreatePolygonRgn(var pt; cPoints, fnPolyFillMode: SmallInt): HRGN; external 'GDI';
+{$endif}
+function CreatePolyPolygonRgn(lppt: LPPOINT; lpnPolyCount: LPINT; cIntegers, fnPolyFillMode: SmallInt): HRGN; external 'GDI';
+{$ifdef VAR_PARAMS_ARE_FAR}
+function CreatePolyPolygonRgn(var pt; var nPolyCount; cIntegers, fnPolyFillMode: SmallInt): HRGN; external 'GDI';
+{$endif}
+function CreateRoundRectRgn(nLeftRect, nTopRect, nRightRect, nBottomRect, nWidthEllipse, nHeightEllipse: SmallInt): HRGN; external 'GDI';
+
+procedure SetRectRgn(hrgn: HRGN; nLeftRect, nTopRect, nRightRect, nBottomRect: SmallInt); external 'GDI';
+
+function CombineRgn(hrgnDest, hrgnSrc1, hrgnSrc2: HRGN; fCombineMode: SmallInt): SmallInt; external 'GDI';
+
+function EqualRgn(hrgnSrc1, hrgnSrc2: HRGN): BOOL; external 'GDI';
+function OffsetRgn(hrgn: HRGN; nXOffset, nYOffset: SmallInt): SmallInt; external 'GDI';
+
+function GetRgnBox(hrgn: HRGN; lprc: LPRECT): SmallInt; external 'GDI';
+{$ifdef VAR_PARAMS_ARE_FAR}
+function GetRgnBox(hrgn: HRGN; var rc: RECT): SmallInt; external 'GDI';
+{$endif}
+
+function RectInRegion(hrgn: HRGN; lprc: LPRECT): BOOL; external 'GDI';
+{$ifdef VAR_PARAMS_ARE_FAR}
+function RectInRegion(hrgn: HRGN; var rc: RECT): BOOL; external 'GDI';
+{$endif}
+function PtInRegion(hrgn: HRGN; nXPos, nYPos: SmallInt): BOOL; external 'GDI';

+ 17 - 0
rtl/win16/wintypes.inc

@@ -616,3 +616,20 @@ const
   BLACK_BRUSH  = 4;
   NULL_BRUSH   = 5;
   HOLLOW_BRUSH = NULL_BRUSH;
+
+{ Region support }
+
+{ Region type flags }
+{$ifndef SYSTEMUNIT}
+  ERROR         = 0;
+{$endif SYSTEMUNIT}
+  NULLREGION    = 1;
+  SIMPLEREGION  = 2;
+  COMPLEXREGION = 3;
+
+{ CombineRgn() command values }
+  RGN_AND  = 1;
+  RGN_OR   = 2;
+  RGN_XOR  = 3;
+  RGN_DIFF = 4;
+  RGN_COPY = 5;