ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

region.h
Go to the documentation of this file.
00001 #pragma once
00002 
00003 /* Type definitions ***********************************************************/
00004 
00005 /* Internal region data.
00006    Can't use RGNDATA structure because buffer is allocated statically */
00007 typedef struct _ROSRGNDATA
00008 {
00009   /* Header for all gdi objects in the handle table.
00010      Do not (re)move this. */
00011   BASEOBJECT    BaseObject;
00012   PRGN_ATTR prgnattr;
00013   RGN_ATTR rgnattr;
00014 
00015   RGNDATAHEADER rdh;
00016   RECTL        *Buffer;
00017 } ROSRGNDATA, *PROSRGNDATA, *LPROSRGNDATA, REGION, *PREGION;
00018 
00019 
00020 /* Functions ******************************************************************/
00021 
00022 #define  REGION_FreeRgn(pRgn)  GDIOBJ_FreeObj((POBJ)pRgn, GDIObjType_RGN_TYPE)
00023 #define  REGION_FreeRgnByHandle(hRgn)  GDIOBJ_FreeObjByHandle((HGDIOBJ)hRgn, GDI_OBJECT_TYPE_REGION)
00024 
00025 PROSRGNDATA FASTCALL REGION_AllocRgnWithHandle(INT n);
00026 PROSRGNDATA FASTCALL REGION_AllocUserRgnWithHandle(INT n);
00027 VOID FASTCALL REGION_UnionRectWithRgn(ROSRGNDATA *rgn, const RECTL *rect);
00028 INT FASTCALL REGION_GetRgnBox(PROSRGNDATA Rgn, RECTL *pRect);
00029 BOOL FASTCALL REGION_RectInRegion(PROSRGNDATA Rgn, const RECTL *rc);
00030 BOOL FASTCALL REGION_CropAndOffsetRegion(PROSRGNDATA rgnDst, PROSRGNDATA rgnSrc, const RECTL *rect, const POINT *off);
00031 VOID FASTCALL REGION_SetRectRgn(PROSRGNDATA pRgn, INT LeftRect, INT TopRect, INT RightRect, INT BottomRect);
00032 BOOL NTAPI REGION_Cleanup(PVOID ObjectBody);
00033 
00034 extern PROSRGNDATA prgnDefault;
00035 extern HRGN        hrgnDefault;
00036 
00037 VOID FASTCALL REGION_Delete(PROSRGNDATA);
00038 VOID FASTCALL IntGdiReleaseRaoRgn(PDC);
00039 VOID FASTCALL IntGdiReleaseVisRgn(PDC);
00040 
00041 INT APIENTRY IntGdiGetRgnBox(HRGN, RECTL*);
00042 BOOL FASTCALL IntGdiPaintRgn(PDC, HRGN );
00043 HRGN FASTCALL IntCreatePolyPolygonRgn(PPOINT, PULONG, INT, INT);
00044 INT FASTCALL IntGdiOffsetRgn(PROSRGNDATA,INT,INT);
00045 BOOL FASTCALL IntRectInRegion(HRGN,LPRECTL);
00046 
00047 INT FASTCALL IntGdiCombineRgn(PROSRGNDATA, PROSRGNDATA, PROSRGNDATA, INT);
00048 INT FASTCALL REGION_Complexity(PROSRGNDATA);
00049 PROSRGNDATA FASTCALL RGNOBJAPI_Lock(HRGN,PRGN_ATTR *);
00050 VOID FASTCALL RGNOBJAPI_Unlock(PROSRGNDATA);
00051 HRGN FASTCALL IntSysCreateRectRgn(INT,INT,INT,INT);
00052 PROSRGNDATA FASTCALL IntSysCreateRectpRgn(INT,INT,INT,INT);
00053 BOOL FASTCALL IntGdiSetRegionOwner(HRGN,DWORD);
00054 
00055 #define IntSysCreateRectRgnIndirect(prc) \
00056   IntSysCreateRectRgn((prc)->left, (prc)->top, (prc)->right, (prc)->bottom)
00057 
00058 #define IntSysCreateRectpRgnIndirect(prc) \
00059   IntSysCreateRectpRgn((prc)->left, (prc)->top, (prc)->right, (prc)->bottom)
00060 
00061 PROSRGNDATA
00062 FASTCALL
00063 IntSysCreateRectpRgn(INT LeftRect, INT TopRect, INT RightRect, INT BottomRect);
00064 
00065 FORCEINLINE
00066 PREGION
00067 REGION_LockRgn(HRGN hrgn)
00068 {
00069     return GDIOBJ_LockObject(hrgn, GDIObjType_RGN_TYPE);
00070 }
00071 
00072 FORCEINLINE
00073 VOID
00074 REGION_UnlockRgn(PREGION prgn)
00075 {
00076     GDIOBJ_vUnlockObject(&prgn->BaseObject);
00077 }

Generated on Sun May 27 2012 04:38:27 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.