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

path.h
Go to the documentation of this file.
00001 #pragma once
00002 
00003   /* DCPATH flPath */
00004 #define DCPATH_ACTIVE    0x0001
00005 #define DCPATH_SAVE      0x0002
00006 #define DCPATH_CLOCKWISE 0x0004
00007 // ReactOS only
00008 #define DCPATH_SAVESTATE 0x80000000
00009 
00010 typedef HGDIOBJ HPATH, *PHPATH;
00011 
00012 typedef enum tagGdiPathState
00013 {
00014    PATH_Null,
00015    PATH_Open,
00016    PATH_Closed
00017 } GdiPathState;
00018 
00019 typedef struct _PATH
00020 {
00021   BASEOBJECT   BaseObject;
00022 
00023   RECTFX       rcfxBoundBox;
00024   POINTFX      ptfxSubPathStart;
00025 
00026   // Things to convert from:
00027   DWORD        state;
00028   POINT        *pPoints;
00029   BYTE         *pFlags;
00030   int          numEntriesUsed;
00031   int          numEntriesAllocated;
00032   BOOL         newStroke;
00033 } PATH, *PPATH;
00034 
00035 typedef struct _EPATHOBJ
00036 {
00037   PATHOBJ po;
00038   PPATH   pPath;
00039 } EPATHOBJ, *PEPATHOBJ;
00040 
00041 #define  PATH_AllocPath() ((PPATH) GDIOBJ_AllocObj(GDIObjType_PATH_TYPE))
00042 #define  PATH_AllocPathWithHandle() ((PPATH) GDIOBJ_AllocObjWithHandle (GDI_OBJECT_TYPE_PATH, sizeof(PATH)))
00043 #define  PATH_FreePath(pPath)  GDIOBJ_FreeObj((POBJ)pPath, GDIObjType_PATH_TYPE)
00044 #define  PATH_FreeExtPathByHandle(hPath) GDIOBJ_FreeObjByHandle((HGDIOBJ) hPath, GDI_OBJECT_TYPE_PATH)
00045 #define  PATH_LockPath(hPath) ((PPATH)GDIOBJ_ShareLockObj((HGDIOBJ)hPath, GDI_OBJECT_TYPE_PATH))
00046 #define  PATH_UnlockPath(pPath) GDIOBJ_vDereferenceObject((POBJ)pPath)
00047 
00048 
00049 #define PATH_IsPathOpen(dclevel) ( ((dclevel).hPath) && ((dclevel).flPath & DCPATH_ACTIVE) )
00050 
00051 BOOL FASTCALL PATH_Arc (PDC dc, INT x1, INT y1, INT x2, INT y2, INT xStart, INT yStart, INT xEnd, INT yEnd, INT lines);
00052 BOOL FASTCALL PATH_Ellipse (PDC dc, INT x1, INT y1, INT x2, INT y2);
00053 VOID FASTCALL PATH_EmptyPath (PPATH pPath);
00054 BOOL FASTCALL PATH_LineTo (PDC dc, INT x, INT y);
00055 BOOL FASTCALL PATH_MoveTo (PDC dc);
00056 BOOL FASTCALL PATH_PolyBezier (PDC dc, const POINT *pts, DWORD cbPoints);
00057 BOOL FASTCALL PATH_PolyBezierTo (PDC dc, const POINT *pts, DWORD cbPoints);
00058 BOOL FASTCALL PATH_PolyDraw(PDC dc, const POINT *pts, const BYTE *types, DWORD cbPoints);
00059 BOOL FASTCALL PATH_Polygon (PDC dc, const POINT *pts, DWORD cbPoints);
00060 BOOL FASTCALL PATH_Polyline (PDC dc, const POINT *pts, DWORD cbPoints);
00061 BOOL FASTCALL PATH_PolylineTo (PDC dc, const POINT *pts, DWORD cbPoints);
00062 BOOL FASTCALL PATH_PolyPolygon ( PDC dc, const POINT* pts, const INT* counts, UINT polygons);
00063 BOOL FASTCALL PATH_PolyPolyline( PDC dc, const POINT* pts, const DWORD* counts, DWORD polylines);
00064 BOOL FASTCALL PATH_Rectangle (PDC dc, INT x1, INT y1, INT x2, INT y2);
00065 BOOL FASTCALL PATH_RoundRect(DC *dc, INT x1, INT y1, INT x2, INT y2, INT ell_width, INT ell_height);
00066 BOOL FASTCALL PATH_PathToRegion (PPATH pPath, INT nPolyFillMode, HRGN *pHrgn);
00067 BOOL FASTCALL PATH_ExtTextOut(PDC dc,INT x,INT y,UINT flags,const RECTL *lprc,LPCWSTR str,UINT count,const INT *dx);
00068 
00069 BOOL FASTCALL PATH_AddEntry (PPATH pPath, const POINT *pPoint, BYTE flags);
00070 BOOL FASTCALL PATH_AddFlatBezier (PPATH pPath, POINT *pt, BOOL closed);
00071 BOOL FASTCALL PATH_DoArcPart (PPATH pPath, FLOAT_POINT corners[], double angleStart, double angleEnd, BYTE startEntryType);
00072 BOOL FASTCALL PATH_FillPath( PDC dc, PPATH pPath );
00073 BOOL FASTCALL PATH_FlattenPath (PPATH pPath);
00074 VOID FASTCALL PATH_NormalizePoint (FLOAT_POINT corners[], const FLOAT_POINT *pPoint, double *pX, double *pY);
00075 
00076 BOOL FASTCALL PATH_ReserveEntries (PPATH pPath, INT numEntries);
00077 VOID FASTCALL PATH_ScaleNormalizedPoint (FLOAT_POINT corners[], double x, double y, POINT *pPoint);
00078 BOOL FASTCALL PATH_StrokePath(DC *dc, PPATH pPath);
00079 BOOL PATH_CheckCorners(DC *dc, POINT corners[], INT x1, INT y1, INT x2, INT y2);
00080 
00081 VOID FASTCALL IntGdiCloseFigure(PPATH pPath);
00082 BOOL FASTCALL PATH_Delete(HPATH hPath);
00083 
00084 VOID FASTCALL IntGetCurrentPositionEx(PDC dc, LPPOINT pt);

Generated on Sat May 26 2012 04:37:15 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.