Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenregion.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
1.7.6.1
|