Author: fireball Date: Sat Jul 18 21:52:36 2009 New Revision: 42070
URL: http://svn.reactos.org/svn/reactos?rev=42070&view=rev Log: - Prepare for importing a new winent driver and further work on win32k: add two header files: * ntrosgdi.h (should be renamed to rosgdi.h) - RosGdi* system calls. * rosuser.h - RosUser* system calls.
Added: branches/arwinss/reactos/include/psdk/ntrosgdi.h (with props) Modified: branches/arwinss/reactos/include/reactos/win32k/rosuser.h
Added: branches/arwinss/reactos/include/psdk/ntrosgdi.h URL: http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/include/psdk/ntr... ============================================================================== --- branches/arwinss/reactos/include/psdk/ntrosgdi.h (added) +++ branches/arwinss/reactos/include/psdk/ntrosgdi.h [iso-8859-1] Sat Jul 18 21:52:36 2009 @@ -1,0 +1,171 @@ +/* + * NtRosGdi Entrypoints + */ +#ifndef _NTROSGDI_ +#define _NTROSGDI_ + +#ifndef W32KAPI +#define W32KAPI DECLSPEC_ADDRSAFE +#endif + +typedef struct _NTDRV_PDEVICE +{ + HDC hUserDC; + HDC hKernelDC; + int cache_index; /* cache of a currently selected font */ +} NTDRV_PDEVICE, *PNTDRV_PDEVICE; + +typedef struct _ROS_DCINFO +{ + WORD dwType; + SIZE szVportExt; + POINT ptVportOrg; + SIZE szWndExt; + POINT ptWndOrg; + XFORM xfWorld2Wnd; + XFORM xfWnd2Vport; +} ROS_DCINFO, *PROS_DCINFO; + +typedef struct +{ + LOGFONTW lf; + XFORM xform; + SIZE devsize; /* size in device coords */ + DWORD hash; +} LFANDSIZE; + +typedef enum { AA_None = 0, AA_Grey, AA_RGB, AA_BGR, AA_VRGB, AA_VBGR, AA_MAXVALUE } AA_Type; + +typedef struct +{ + int xOff; + int yOff; + int width; + int height; + int x; + int y; +} GlyphInfo; + +typedef struct +{ + //GlyphSet glyphset; + //XRenderPictFormat *font_format; + int nrealized; + BOOL *realized; + void **bitmaps; + GlyphInfo *gis; +} gsCacheEntryFormat; + +typedef struct +{ + LFANDSIZE lfsz; + AA_Type aa_default; + gsCacheEntryFormat * format[AA_MAXVALUE]; + INT count; + INT next; +} gsCacheEntry; + +/* bitmap.c */ + +BOOL APIENTRY RosGdiAlphaBlend(HDC devDst, INT xDst, INT yDst, INT widthDst, INT heightDst, + HDC devSrc, INT xSrc, INT ySrc, INT widthSrc, INT heightSrc, + BLENDFUNCTION blendfn); +BOOL APIENTRY RosGdiBitBlt( HDC physDevDst, INT xDst, INT yDst, + INT width, INT height, HDC physDevSrc, + INT xSrc, INT ySrc, DWORD rop ); +BOOL APIENTRY RosGdiCreateBitmap( HDC physDev, HBITMAP hBitmap, BITMAP *pBitmap, LPVOID bmBits ); +HBITMAP APIENTRY RosGdiCreateDIBSection( HDC physDev, HBITMAP hbitmap, + const BITMAPINFO *bmi, UINT usage ); +BOOL APIENTRY RosGdiDeleteBitmap( HBITMAP hbitmap ); +LONG APIENTRY RosGdiGetBitmapBits( HBITMAP hbitmap, void *buffer, LONG count ); +INT APIENTRY RosGdiGetDIBits( HDC physDev, HBITMAP hbitmap, UINT startscan, UINT lines, + LPVOID bits, BITMAPINFO *info, UINT coloruse ); +COLORREF APIENTRY RosGdiGetPixel( HDC physDev, INT x, INT y ); +BOOL APIENTRY RosGdiPatBlt( HDC physDev, INT left, INT top, INT width, INT height, DWORD rop ); +LONG APIENTRY RosGdiSetBitmapBits( HBITMAP hbitmap, const void *bits, LONG count ); +UINT APIENTRY RosGdiSetDIBColorTable( HDC physDev, UINT start, UINT count, const RGBQUAD *colors ); +INT APIENTRY RosGdiSetDIBits( HDC physDev, HBITMAP hbitmap, UINT startscan, + UINT lines, LPCVOID bits, const BITMAPINFO *info, UINT coloruse ); +INT APIENTRY RosGdiSetDIBitsToDevice( HDC physDev, INT xDest, INT yDest, DWORD cx, + DWORD cy, INT xSrc, INT ySrc, + UINT startscan, UINT lines, LPCVOID bits, + const BITMAPINFO *info, UINT coloruse ); +BOOL APIENTRY RosGdiStretchBlt( HDC physDevDst, INT xDst, INT yDst, + INT widthDst, INT heightDst, + HDC physDevSrc, INT xSrc, INT ySrc, + INT widthSrc, INT heightSrc, DWORD rop ); + +/* dc.c */ +BOOL APIENTRY RosGdiCreateDC( PROS_DCINFO dc, HDC *pdev, LPCWSTR driver, LPCWSTR device, + LPCWSTR output, const DEVMODEW* initData ); +BOOL APIENTRY RosGdiDeleteDC( HDC physDev ); +BOOL APIENTRY RosGdiGetDCOrgEx( HDC physDev, LPPOINT lpp ); +BOOL APIENTRY RosGdiPaintRgn( HDC physDev, HRGN hrgn ); +VOID APIENTRY RosGdiSelectBitmap( HDC physDev, HBITMAP hbitmap ); +VOID APIENTRY RosGdiSelectBrush( HDC physDev, LOGBRUSH *pLogBrush ); +HFONT APIENTRY RosGdiSelectFont( HDC physDev, HFONT hfont, HANDLE gdiFont ); +VOID APIENTRY RosGdiSelectPen( HDC physDev, LOGPEN *pLogPen, EXTLOGPEN *pExtLogPen ); +COLORREF APIENTRY RosGdiSetBkColor( HDC physDev, COLORREF color ); +COLORREF APIENTRY RosGdiSetDCBrushColor( HDC physDev, COLORREF crColor ); +DWORD APIENTRY RosGdiSetDCOrg( HDC physDev, INT x, INT y ); +COLORREF APIENTRY RosGdiSetDCPenColor( HDC physDev, COLORREF crColor ); +void APIENTRY RosGdiSetDeviceClipping( HDC physDev, UINT count, PRECTL pRects, PRECTL rcBounds ); +BOOL APIENTRY RosGdiSetDeviceGammaRamp(HDC physDev, LPVOID ramp); +COLORREF APIENTRY RosGdiSetPixel( HDC physDev, INT x, INT y, COLORREF color ); +BOOL APIENTRY RosGdiSetPixelFormat(HDC physDev, + int iPixelFormat, + const PIXELFORMATDESCRIPTOR *ppfd); +COLORREF APIENTRY RosGdiSetTextColor( HDC physDev, COLORREF color ); +VOID APIENTRY RosGdiSetDcRect( HDC physDev, RECT *rcDcRect ); + +/* enum.c */ +int APIENTRY RosGdiChoosePixelFormat(HDC physDev, + const PIXELFORMATDESCRIPTOR *ppfd); +int APIENTRY RosGdiDescribePixelFormat(HDC physDev, + int iPixelFormat, + UINT nBytes, + PIXELFORMATDESCRIPTOR *ppfd); +BOOL APIENTRY RosGdiEnumDeviceFonts( HDC physDev, LPLOGFONTW plf, + FONTENUMPROCW proc, LPARAM lp ); +BOOL APIENTRY RosGdiGetCharWidth( HDC physDev, UINT firstChar, UINT lastChar, + LPINT buffer ); +INT APIENTRY RosGdiGetDeviceCaps( HDC physDev, INT cap ); +BOOL APIENTRY RosGdiGetDeviceGammaRamp(HDC physDev, LPVOID ramp); +BOOL APIENTRY RosGdiGetICMProfile( HDC physDev, LPDWORD size, LPWSTR filename ); +COLORREF APIENTRY RosGdiGetNearestColor( HDC physDev, COLORREF color ); +int APIENTRY RosGdiGetPixelFormat(HDC physDev); +UINT APIENTRY RosGdiGetSystemPaletteEntries( HDC physDev, UINT start, UINT count, + LPPALETTEENTRY entries ); +BOOL APIENTRY RosGdiGetTextExtentExPoint( HDC physDev, LPCWSTR str, INT count, + INT maxExt, LPINT lpnFit, LPINT alpDx, LPSIZE size ); +BOOL APIENTRY RosGdiGetTextMetrics(HDC physDev, TEXTMETRICW *metrics); + +/* misc.c */ +BOOL APIENTRY RosGdiArc( HDC physDev, INT left, INT top, INT right, INT bottom, + INT xstart, INT ystart, INT xend, INT yend ); +BOOL APIENTRY RosGdiChord( HDC physDev, INT left, INT top, INT right, INT bottom, + INT xstart, INT ystart, INT xend, INT yend ); +BOOL APIENTRY RosGdiEllipse( HDC physDev, INT left, INT top, INT right, INT bottom ); +INT APIENTRY RosGdiExtEscape( HDC physDev, INT escape, INT in_count, LPCVOID in_data, + INT out_count, LPVOID out_data ); +BOOL APIENTRY RosGdiExtFloodFill( HDC physDev, INT x, INT y, COLORREF color, + UINT fillType ); +BOOL APIENTRY RosGdiExtTextOut( HDC physDev, INT x, INT y, UINT flags, + const RECT *lprect, LPCWSTR wstr, UINT count, + const INT *lpDx, gsCacheEntryFormat *formatEntry ); +BOOL APIENTRY RosGdiLineTo( HDC physDev, INT x1, INT y1, INT x2, INT y2 ); +BOOL APIENTRY RosGdiPie( HDC physDev, INT left, INT top, INT right, INT bottom, + INT xstart, INT ystart, INT xend, INT yend ); +BOOL APIENTRY RosGdiPolyPolygon( HDC physDev, const POINT* pt, const INT* counts, UINT polygons); +BOOL APIENTRY RosGdiPolyPolyline( HDC physDev, const POINT* pt, const DWORD* counts, DWORD polylines ); +BOOL APIENTRY RosGdiPolygon( HDC physDev, const POINT* pt, INT count ); +BOOL APIENTRY RosGdiPolyline( HDC physDev, const POINT* pt, INT count ); +UINT APIENTRY RosGdiRealizeDefaultPalette( HDC physDev ); +UINT APIENTRY RosGdiRealizePalette( HDC physDev, HPALETTE hpal, BOOL primary ); +BOOL APIENTRY RosGdiRectangle(HDC physDev, PRECT rc); +BOOL APIENTRY RosGdiRoundRect( HDC physDev, INT left, INT top, INT right, + INT bottom, INT ell_width, INT ell_height ); +BOOL APIENTRY RosGdiSwapBuffers(HDC physDev); +BOOL APIENTRY RosGdiUnrealizePalette( HPALETTE hpal ); + +#endif
Propchange: branches/arwinss/reactos/include/psdk/ntrosgdi.h ------------------------------------------------------------------------------ svn:eol-style = native
Modified: branches/arwinss/reactos/include/reactos/win32k/rosuser.h URL: http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/include/reactos/... ============================================================================== --- branches/arwinss/reactos/include/reactos/win32k/rosuser.h [iso-8859-1] (original) +++ branches/arwinss/reactos/include/reactos/win32k/rosuser.h [iso-8859-1] Sat Jul 18 21:52:36 2009 @@ -1,0 +1,43 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS Win32 Graphical Subsystem (WIN32K) + * FILE: include/win32k/rosuser.h + * PURPOSE: Win32 Shared USER Types for RosUser* + * PROGRAMMER: Aleksey Bragin aleksey@reactos.org + */ + +/* INCLUDES ******************************************************************/ + +#ifndef __WIN32K_ROSUSER_H +#define __WIN32K_ROSUSER_H + +/* DEFINES *******************************************************************/ + +/* ENUMERATIONS **************************************************************/ + +/* TYPES *********************************************************************/ + +/* FUNCTIONS *****************************************************************/ + +#if 0 +BOOL +NTAPI +RosUserEnumDisplayMonitors( + HDC hdc, + LPRECT rect, + MONITORENUMPROC proc, + LPARAM lp +); + +BOOL +NTAPI +RosUserGetMonitorInfo( + HMONITOR handle, + LPMONITORINFO info +); +#endif + +VOID NTAPI +RosUserConnectCsrss(); + +#endif /* __WIN32K_NTUSER_H */