X-Git-Url: http://git.jankratochvil.net/?p=reactos.git;a=blobdiff_plain;f=subsys%2Fwin32k%2Finclude%2Fobject.h;h=39ec620422a9674756ea63aa911b60e72d97d000;hp=c8762c9bd61fcf2683894ffbb7a53c87cb00f269;hb=HEAD;hpb=7c0db166f81fbe8c8b913d7f26048e337d383605 diff --git a/subsys/win32k/include/object.h b/subsys/win32k/include/object.h index c8762c9..39ec620 100644 --- a/subsys/win32k/include/object.h +++ b/subsys/win32k/include/object.h @@ -2,11 +2,15 @@ #define __WIN32K_OBJECT_H #include +#include +#include +#include typedef enum { otUnknown = 0, otClass, - otWindow + otWindow, + otMenu } USER_OBJECT_TYPE; typedef struct _USER_OBJECT_HEADER @@ -40,77 +44,100 @@ typedef struct _USER_HANDLE_TABLE } USER_HANDLE_TABLE, *PUSER_HANDLE_TABLE; -ULONG +ULONG FASTCALL ObmGetReferenceCount( PVOID ObjectBody); -ULONG +ULONG FASTCALL ObmGetHandleCount( PVOID ObjectBody); -VOID +VOID FASTCALL ObmReferenceObject( PVOID ObjectBody); -VOID +VOID FASTCALL ObmDereferenceObject( PVOID ObjectBody); -NTSTATUS +NTSTATUS FASTCALL ObmReferenceObjectByPointer( PVOID ObjectBody, USER_OBJECT_TYPE ObjectType); -PVOID +PVOID FASTCALL ObmCreateObject( PUSER_HANDLE_TABLE HandleTable, PHANDLE Handle, USER_OBJECT_TYPE ObjectType, ULONG ObjectSize); -NTSTATUS +NTSTATUS FASTCALL ObmCreateHandle( PUSER_HANDLE_TABLE HandleTable, PVOID ObjectBody, PHANDLE HandleReturn); -NTSTATUS +NTSTATUS FASTCALL ObmReferenceObjectByHandle( PUSER_HANDLE_TABLE HandleTable, HANDLE Handle, USER_OBJECT_TYPE ObjectType, PVOID* Object); -NTSTATUS +NTSTATUS FASTCALL ObmCloseHandle( PUSER_HANDLE_TABLE HandleTable, HANDLE Handle); -VOID +VOID FASTCALL ObmInitializeHandleTable( PUSER_HANDLE_TABLE HandleTable); -VOID +VOID FASTCALL ObmFreeHandleTable( PUSER_HANDLE_TABLE HandleTable); -PUSER_HANDLE_TABLE +PUSER_HANDLE_TABLE FASTCALL ObmCreateHandleTable(VOID); -VOID -ObmDestroyHandleTable( - PUSER_HANDLE_TABLE HandleTable); +VOID FASTCALL ObmDestroyHandleTable (PUSER_HANDLE_TABLE HandleTable); + +ULONG FASTCALL CreateGDIHandle (ULONG InternalSize, ULONG UserSize); +VOID FASTCALL FreeGDIHandle (ULONG Handle); + +PVOID FASTCALL AccessUserObject (ULONG Handle); +PVOID FASTCALL AccessInternalObject (ULONG Handle); + +PVOID FASTCALL AccessInternalObjectFromUserObject (PVOID UserObject); +ULONG FASTCALL AccessHandleFromUserObject (PVOID UserObject); + +VOID FASTCALL InitEngHandleTable (VOID); +VOID FASTCALL InitGdiObjectHandleTable (VOID); + +VOID FASTCALL CreateStockObjects (VOID); + +BOOL FASTCALL CleanupForProcess (struct _EPROCESS *Process, INT Pid); + +VOID FASTCALL GDIOBJ_MarkObjectGlobal (HGDIOBJ ObjectHandle); +VOID FASTCALL GDIOBJ_UnmarkObjectGlobal (HGDIOBJ ObjectHandle); +BOOL FASTCALL GDIOBJ_LockMultipleObj (PGDIMULTILOCK pList, INT nObj); + +PPOINT FASTCALL GDI_Bezier (const POINT *Points, INT count, PINT nPtsOut); -ULONG CreateGDIHandle(ULONG InternalSize, ULONG UserSize); -VOID FreeGDIHandle(ULONG Handle); +/* objects/objconv.c */ -PVOID AccessUserObject(ULONG Handle); -PVOID AccessInternalObject(ULONG Handle); +BRUSHOBJ* +FASTCALL +PenToBrushObj(BRUSHOBJ *brush, PENOBJ *pen); -PVOID AccessInternalObjectFromUserObject(PVOID UserObject); -ULONG AccessHandleFromUserObject(PVOID UserObject); +BRUSHOBJ* +FASTCALL +HPenToBrushObj ( BRUSHOBJ *brush, HPEN hpen ); -VOID InitEngHandleTable( void ); +HBITMAP +FASTCALL +BitmapToSurf ( PBITMAPOBJ BitmapObj ); #endif /* __WIN32K_OBJECT_H */