X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=reactos%2Fdll%2Fwin32%2Fgdiplus%2Fgdiplus_private.h;h=658f15e488e988341cef95e4ff3390a45367ab4e;hp=80fc5a6f0ce66454a4004ee8bce68e5cb7a51a4b;hb=22ad6867b2f183349209cb583753631d4c527aa2;hpb=6186f98f1435f5357b840197ccfc6146d3c3683c;ds=inline diff --git a/reactos/dll/win32/gdiplus/gdiplus_private.h b/reactos/dll/win32/gdiplus/gdiplus_private.h index 80fc5a6f0ce..658f15e488e 100644 --- a/reactos/dll/win32/gdiplus/gdiplus_private.h +++ b/reactos/dll/win32/gdiplus/gdiplus_private.h @@ -52,6 +52,13 @@ extern void calc_curve_bezier(CONST GpPointF *pts, REAL tension, REAL *x1, extern void calc_curve_bezier_endp(REAL xend, REAL yend, REAL xadj, REAL yadj, REAL tension, REAL *x, REAL *y); +extern BOOL lengthen_path(GpPath *path, INT len); + +extern GpStatus trace_path(GpGraphics *graphics, GpPath *path); + +typedef struct region_element region_element; +extern inline void delete_element(region_element *element); + static inline INT roundr(REAL x) { return (INT) floor(x + 0.5); @@ -93,6 +100,9 @@ struct GpGraphics{ GpUnit unit; /* page unit */ REAL scale; /* page scale */ GpMatrix * worldtrans; /* world transform */ + BOOL busy; /* hdc handle obtained by GdipGetDC */ + GpRegion *clip; + UINT textcontrast; /* not used yet. get/set only */ }; struct GpBrush{ @@ -101,6 +111,13 @@ struct GpBrush{ LOGBRUSH lb; }; +struct GpHatch{ + GpBrush brush; + HatchStyle hatchstyle; + ARGB forecol; + ARGB backcol; +}; + struct GpSolidFill{ GpBrush brush; ARGB color; @@ -131,6 +148,8 @@ struct GpLineGradient{ struct GpTexture{ GpBrush brush; + GpMatrix *transform; + WrapMode wrap; /* not used yet */ }; struct GpPath{ @@ -160,6 +179,10 @@ struct GpCustomLineCap{ REAL scale; }; +struct GpAdustableArrowCap{ + GpCustomLineCap cap; +}; + struct GpImage{ IPicture* picture; ImageType type; @@ -182,6 +205,10 @@ struct GpBitmap{ BYTE *bitmapbits; /* pointer to the buffer we passed in BitmapLockBits */ }; +struct GpCachedBitmap{ + GpImage *image; +}; + struct GpImageAttributes{ WrapMode wrap; }; @@ -189,6 +216,8 @@ struct GpImageAttributes{ struct GpFont{ LOGFONTW lfw; REAL emSize; + UINT height; + LONG line_spacing; Unit unit; }; @@ -207,7 +236,8 @@ struct GpStringFormat{ }; struct GpFontCollection{ - GpFontFamily* FontFamilies; + GpFontFamily **FontFamilies; + INT count; }; struct GpFontFamily{ @@ -215,7 +245,16 @@ struct GpFontFamily{ WCHAR FamilyName[LF_FACESIZE]; }; -typedef struct region_element +/* internal use */ +typedef enum RegionType +{ + RegionDataRect = 0x10000000, + RegionDataPath = 0x10000001, + RegionDataEmptyRect = 0x10000002, + RegionDataInfiniteRect = 0x10000003, +} RegionType; + +struct region_element { DWORD type; /* Rectangle, Path, SpecialRectangle, or CombineMode */ union @@ -238,7 +277,7 @@ typedef struct region_element struct region_element *right; /* what *left was combined with */ } combine; } elementdata; -} region_element; +}; struct GpRegion{ struct