ReactOS 0.4.15-dev-7889-g76290a6
gdiplus_private.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2007 Google (Evan Stade)
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19#ifndef __WINE_GP_PRIVATE_H_
20#define __WINE_GP_PRIVATE_H_
21
22#include <math.h>
23#include <stdarg.h>
24
25#include "windef.h"
26#include "wingdi.h"
27#include "winbase.h"
28#include "winuser.h"
29
30#include "objbase.h"
31#include "ocidl.h"
32#include "wincodecsdk.h"
33#include "wine/heap.h"
34#include "wine/list.h"
35
36#include "gdiplus.h"
37
38#define GP_DEFAULT_PENSTYLE (PS_GEOMETRIC | PS_SOLID | PS_ENDCAP_FLAT | PS_JOIN_MITER)
39#define MAX_ARC_PTS (13)
40#define MAX_DASHLEN (16) /* this is a limitation of gdi */
41#define INCH_HIMETRIC (2540)
42
43#define VERSION_MAGIC 0xdbc01001
44#define VERSION_MAGIC2 0xdbc01002
45#define VALID_MAGIC(x) (((x) & 0xfffff000) == 0xdbc01000)
46#define TENSION_CONST (0.3)
47
48#define GIF_DISPOSE_UNSPECIFIED 0
49#define GIF_DISPOSE_DO_NOT_DISPOSE 1
50#define GIF_DISPOSE_RESTORE_TO_BKGND 2
51#define GIF_DISPOSE_RESTORE_TO_PREV 3
52
53
57 REAL startAngle, REAL sweepAngle) DECLSPEC_HIDDEN;
63
64#define WineCoordinateSpaceGdiDevice ((GpCoordinateSpace)4)
65
72
75
93 GDIPCONST GpRectF *srcrect, GpUnit unit, DWORD StackIndex) DECLSPEC_HIDDEN;
100 GDIPCONST GpPointF *points, INT count, REAL srcx, REAL srcy, REAL srcwidth,
101 REAL srcheight, GpUnit srcUnit, GDIPCONST GpImageAttributes* imageAttributes,
107
108extern void calc_curve_bezier(const GpPointF *pts, REAL tension, REAL *x1,
110extern void calc_curve_bezier_endp(REAL xend, REAL yend, REAL xadj, REAL yadj,
111 REAL tension, REAL *x, REAL *y) DECLSPEC_HIDDEN;
112
113extern void free_installed_fonts(void) DECLSPEC_HIDDEN;
114
116
117extern DWORD write_region_data(const GpRegion *region, void *data) DECLSPEC_HIDDEN;
119
121
124
125extern GpStatus get_hatch_data(GpHatchStyle hatchstyle, const char **result) DECLSPEC_HIDDEN;
126
127static inline INT gdip_round(REAL x)
128{
129 return (INT) floorf(x + 0.5);
130}
131
132static inline INT ceilr(REAL x)
133{
134 return (INT) ceilf(x);
135}
136
137static inline REAL deg2rad(REAL degrees)
138{
139 return M_PI * degrees / 180.0;
140}
141
142static inline ARGB color_over(ARGB bg, ARGB fg)
143{
144 BYTE b, g, r, a;
145 BYTE bg_alpha, fg_alpha;
146
147 fg_alpha = (fg>>24)&0xff;
148
149 if (fg_alpha == 0xff) return fg;
150
151 if (fg_alpha == 0) return bg;
152
153 bg_alpha = (((bg>>24)&0xff) * (0xff-fg_alpha)) / 0xff;
154
155 if (bg_alpha == 0) return fg;
156
157 a = bg_alpha + fg_alpha;
158 b = ((bg&0xff)*bg_alpha + (fg&0xff)*fg_alpha)/a;
159 g = (((bg>>8)&0xff)*bg_alpha + ((fg>>8)&0xff)*fg_alpha)/a;
160 r = (((bg>>16)&0xff)*bg_alpha + ((fg>>16)&0xff)*fg_alpha)/a;
161
162 return (a<<24)|(r<<16)|(g<<8)|b;
163}
164
165/* fg is premult, bg and return value are not */
166static inline ARGB color_over_fgpremult(ARGB bg, ARGB fg)
167{
168 BYTE b, g, r, a;
169 BYTE bg_alpha, fg_alpha;
170
171 fg_alpha = (fg>>24)&0xff;
172
173 if (fg_alpha == 0) return bg;
174
175 bg_alpha = (((bg>>24)&0xff) * (0xff-fg_alpha)) / 0xff;
176
177 a = bg_alpha + fg_alpha;
178 b = ((bg&0xff)*bg_alpha + (fg&0xff)*0xff)/a;
179 g = (((bg>>8)&0xff)*bg_alpha + ((fg>>8)&0xff)*0xff)/a;
180 r = (((bg>>16)&0xff)*bg_alpha + ((fg>>16)&0xff)*0xff)/a;
181
182 return (a<<24)|(r<<16)|(g<<8)|b;
183}
184
185extern const char *debugstr_rectf(const RectF* rc) DECLSPEC_HIDDEN;
186
187extern const char *debugstr_pointf(const PointF* pt) DECLSPEC_HIDDEN;
188
190 BYTE *dst_bits, INT dst_stride, const BYTE *src_bits, INT src_stride) DECLSPEC_HIDDEN;
191
193 INT dst_stride, BYTE *dst_bits, PixelFormat dst_format,
194 INT src_stride, const BYTE *src_bits, PixelFormat src_format, ColorPalette *palette) DECLSPEC_HIDDEN;
195
198
199struct GpMatrix{
201};
202
203struct GpPen{
217 REAL offset; /* dash offset */
221};
222
236 GpUnit unit; /* page unit */
237 REAL scale; /* page scale */
239 GpMatrix worldtrans; /* world transform */
240 BOOL busy; /* hdc handle obtained by GdipGetDC */
241 GpRegion *clip; /* in device coords */
242 UINT textcontrast; /* not used yet. get/set only */
244 GraphicsContainer contid; /* last-issued container ID */
249 /* For giving the caller an HDC when we technically can't: */
255};
256
257struct GpBrush{
259};
260
261struct GpHatch{
266};
267
271};
272
281 REAL* blendfac; /* blend factors */
282 REAL* blendpos; /* blend positions */
286 ARGB* pblendcolor; /* preset blend colors */
287 REAL* pblendpos; /* preset blend positions */
290};
291
299 REAL* blendfac; /* blend factors */
300 REAL* blendpos; /* blend positions */
302 ARGB* pblendcolor; /* preset blend colors */
303 REAL* pblendpos; /* preset blend positions */
306};
307
313 BYTE *bitmap_bits; /* image bits converted to ARGB and run through imageattributes */
314};
315
316struct GpPath{
319 BOOL newfigure; /* whether the next drawing action starts a new figure */
320 INT datalen; /* size of the arrays in pathdata */
321};
322
325 INT subpath_pos; /* for NextSubpath methods */
326 INT marker_pos; /* for NextMarker methods */
327 INT pathtype_pos; /* for NextPathType methods */
328};
329
333 BOOL fill; /* TRUE for fill, FALSE for stroke */
334 GpLineCap cap; /* as far as I can tell, this value is ignored */
335 REAL inset; /* how much to adjust the end of the line */
338};
339
345};
346
347struct GpImage{
356};
357
358#define EmfPlusObjectTableSize 64
359
361{
374
375/* Deserialized EmfPlusObject record. */
378 union {
386 void *object;
387 } u;
388};
389
395 HENHMETAFILE hemf;
396 int preserve_hemf; /* if true, hemf belongs to the app and should not be deleted */
397
398 /* recording */
405 BOOL auto_frame; /* If true, determine the frame automatically */
408
409 /* playback */
420 GpRegion *base_clip; /* clip region in device space for all metafile output */
421 GpRegion *clip; /* clip region within the metafile */
424};
425
426struct GpBitmap{
432 BYTE *bitmapbits; /* pointer to the buffer we passed in BitmapLockBits */
435 BYTE *bits; /* actual image bits if this is a DIB */
436 INT stride; /* stride of bits if this is a DIB */
437 BYTE *own_bits; /* image bits that need to be freed with this object */
438 INT lockx, locky; /* X and Y coordinates of the rect when a bitmap is locked for writing. */
439 IWICMetadataReader *metadata_reader; /* NULL if there is no metadata */
441 PropertyItem *prop_item; /* cached image properties */
442};
443
446};
447
452};
453
459};
460
465};
466
471};
472
483};
484
485struct GpFont{
488 REAL emSize; /* in font units */
490};
491
493
509};
510
513
518};
519
523 int dpi;
524};
525
526/* internal use */
527typedef enum RegionType
528{
529 RegionDataRect = 0x10000000,
530 RegionDataPath = 0x10000001,
534
536{
537 DWORD type; /* Rectangle, Path, SpecialRectangle, or CombineMode */
538 union
539 {
542 struct
543 {
544 struct region_element *left; /* the original region */
545 struct region_element *right; /* what *left was combined with */
548};
549
550struct GpRegion{
553};
554
556{
557 const BYTE *buffer;
559};
560
561static inline void init_memory_buffer(struct memory_buffer *mbuf, const BYTE *buffer, INT size)
562{
563 mbuf->buffer = buffer;
564 mbuf->size = size;
565 mbuf->pos = 0;
566}
567
568static inline const void *buffer_read(struct memory_buffer *mbuf, INT size)
569{
570 if (mbuf->size - mbuf->pos >= size)
571 {
572 const void *data = mbuf->buffer + mbuf->pos;
573 mbuf->pos += size;
574 return data;
575 }
576 return NULL;
577}
578
582 INT lineno, const RectF *bounds, INT *underlined_indexes,
583 INT underlined_index_count, void *user_data);
584
587 GDIPCONST RectF *rect, GDIPCONST GpStringFormat *format, int ignore_empty_clip,
589
591
592static inline BOOL image_lock(GpImage *image, BOOL *unlock)
593{
594 LONG tid = GetCurrentThreadId(), owner_tid;
595 owner_tid = InterlockedCompareExchange(&image->busy, tid, 0);
596 *unlock = !owner_tid;
597 return !owner_tid || owner_tid==tid;
598}
599
600static inline void image_unlock(GpImage *image, BOOL unlock)
601{
602 if (unlock) image->busy = 0;
603}
604
605#endif
unsigned short UINT16
#define index(s, c)
Definition: various.h:29
Definition: list.h:37
#define LF_FACESIZE
Definition: dimm.idl:39
#define NULL
Definition: types.h:112
float REAL
Definition: types.h:41
const GpStringFormat default_drawstring_format
Definition: stringformat.c:35
#define pt(x, y)
Definition: drawing.c:79
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
HBITMAP ARGB2BMP(ARGB color) DECLSPEC_HIDDEN
Definition: gdiplus.c:272
GpStatus METAFILE_SetPageTransform(GpMetafile *metafile, GpUnit unit, REAL scale) DECLSPEC_HIDDEN
Definition: metafile.c:1214
GpStatus(* gdip_format_string_callback)(HDC hdc, GDIPCONST WCHAR *string, INT index, INT length, GDIPCONST GpFont *font, GDIPCONST RectF *rect, GDIPCONST GpStringFormat *format, INT lineno, const RectF *bounds, INT *underlined_indexes, INT underlined_index_count, void *user_data)
GpStatus METAFILE_MultiplyWorldTransform(GpMetafile *metafile, GDIPCONST GpMatrix *matrix, MatrixOrder order) DECLSPEC_HIDDEN
Definition: metafile.c:1284
GpStatus METAFILE_GraphicsDeleted(GpMetafile *metafile) DECLSPEC_HIDDEN
Definition: metafile.c:1500
GpStatus METAFILE_ScaleWorldTransform(GpMetafile *metafile, REAL sx, REAL sy, MatrixOrder order) DECLSPEC_HIDDEN
Definition: metafile.c:1260
GpStatus gdip_format_string(HDC hdc, GDIPCONST WCHAR *string, INT length, GDIPCONST GpFont *font, GDIPCONST RectF *rect, GDIPCONST GpStringFormat *format, int ignore_empty_clip, gdip_format_string_callback callback, void *user_data) DECLSPEC_HIDDEN
Definition: graphics.c:5201
GpStatus gdip_transform_points(GpGraphics *graphics, GpCoordinateSpace dst_space, GpCoordinateSpace src_space, GpPointF *points, INT count) DECLSPEC_HIDDEN
Definition: graphics.c:6948
GpStatus METAFILE_RotateWorldTransform(GpMetafile *metafile, REAL angle, MatrixOrder order) DECLSPEC_HIDDEN
Definition: metafile.c:1307
DWORD write_path_data(GpPath *path, void *data) DECLSPEC_HIDDEN
void delete_element(region_element *element) DECLSPEC_HIDDEN
Definition: gdiplus.c:455
REAL units_to_pixels(REAL units, GpUnit unit, REAL dpi) DECLSPEC_HIDDEN
Definition: gdiplus.c:327
static ARGB color_over(ARGB bg, ARGB fg)
static INT gdip_round(REAL x)
#define EmfPlusObjectTableSize
imageattr_noop
@ IMAGEATTR_NOOP_UNDEFINED
@ IMAGEATTR_NOOP_CLEAR
@ IMAGEATTR_NOOP_SET
static void image_unlock(GpImage *image, BOOL unlock)
static void init_memory_buffer(struct memory_buffer *mbuf, const BYTE *buffer, INT size)
GpStatus METAFILE_SetClipRect(GpMetafile *metafile, REAL x, REAL y, REAL width, REAL height, CombineMode mode) DECLSPEC_HIDDEN
Definition: metafile.c:1141
GpStatus graphics_from_image(GpImage *image, GpGraphics **graphics) DECLSPEC_HIDDEN
Definition: graphics.c:2484
REAL units_scale(GpUnit from, GpUnit to, REAL dpi) DECLSPEC_HIDDEN
Definition: gdiplus.c:372
GpStatus METAFILE_SaveGraphics(GpMetafile *metafile, DWORD StackIndex) DECLSPEC_HIDDEN
Definition: metafile.c:1446
EmfPlusObjectType
@ ObjectTypeStringFormat
@ ObjectTypeImage
@ ObjectTypeInvalid
@ ObjectTypeImageAttributes
@ ObjectTypePen
@ ObjectTypeFont
@ ObjectTypeCustomLineCap
@ ObjectTypeRegion
@ ObjectTypeMax
@ ObjectTypeBrush
@ ObjectTypePath
GpStatus METAFILE_GetDC(GpMetafile *metafile, HDC *hdc) DECLSPEC_HIDDEN
Definition: metafile.c:927
void calc_curve_bezier_endp(REAL xend, REAL yend, REAL xadj, REAL yadj, REAL tension, REAL *x, REAL *y) DECLSPEC_HIDDEN
Definition: gdiplus.c:396
GpStatus get_graphics_transform(GpGraphics *graphics, GpCoordinateSpace dst_space, GpCoordinateSpace src_space, GpMatrix *matrix) DECLSPEC_HIDDEN
Definition: graphics.c:6871
GpStatus METAFILE_ReleaseDC(GpMetafile *metafile, HDC hdc) DECLSPEC_HIDDEN
Definition: metafile.c:1492
static const void * buffer_read(struct memory_buffer *mbuf, INT size)
static INT ceilr(REAL x)
GpStatus METAFILE_GraphicsClear(GpMetafile *metafile, ARGB color) DECLSPEC_HIDDEN
Definition: metafile.c:949
GpStatus METAFILE_SetClipRegion(GpMetafile *metafile, GpRegion *region, CombineMode mode) DECLSPEC_HIDDEN
Definition: metafile.c:1189
GpStatus get_hatch_data(GpHatchStyle hatchstyle, const char **result) DECLSPEC_HIDDEN
Definition: brush.c:262
BOOL lengthen_path(GpPath *path, INT len) DECLSPEC_HIDDEN
Definition: gdiplus.c:405
static BOOL image_lock(GpImage *image, BOOL *unlock)
REAL gdiplus_atan2(REAL dy, REAL dx) DECLSPEC_HIDDEN
Definition: gdiplus.c:304
GpStatus METAFILE_RestoreGraphics(GpMetafile *metafile, DWORD StackIndex) DECLSPEC_HIDDEN
Definition: metafile.c:1469
const struct GpStringFormat default_drawstring_format DECLSPEC_HIDDEN
GpStatus METAFILE_BeginContainerNoParams(GpMetafile *metafile, DWORD StackIndex) DECLSPEC_HIDDEN
Definition: metafile.c:1400
GpStatus METAFILE_AddSimpleProperty(GpMetafile *metafile, SHORT prop, SHORT val) DECLSPEC_HIDDEN
Definition: metafile.c:4269
GpStatus gdi_transform_acquire(GpGraphics *graphics)
Definition: graphics.c:6842
GpStatus METAFILE_DrawPath(GpMetafile *metafile, GpPen *pen, GpPath *path) DECLSPEC_HIDDEN
Definition: metafile.c:4476
PixelFormat apply_image_attributes(const GpImageAttributes *attributes, LPBYTE data, UINT width, UINT height, INT stride, ColorAdjustType type, PixelFormat fmt) DECLSPEC_HIDDEN
Definition: graphics.c:710
GpStatus hresult_to_status(HRESULT res) DECLSPEC_HIDDEN
Definition: gdiplus.c:312
static REAL deg2rad(REAL degrees)
void get_log_fontW(const GpFont *, GpGraphics *, LOGFONTW *) DECLSPEC_HIDDEN
Definition: graphics.c:2305
GpStatus encode_image_png(GpImage *image, IStream *stream, GDIPCONST EncoderParameters *params) DECLSPEC_HIDDEN
Definition: image.c:4650
RegionType
@ RegionDataEmptyRect
@ RegionDataRect
@ RegionDataInfiniteRect
@ RegionDataPath
GpStatus METAFILE_SetWorldTransform(GpMetafile *metafile, GDIPCONST GpMatrix *transform) DECLSPEC_HIDDEN
Definition: metafile.c:1237
const char * debugstr_pointf(const PointF *pt) DECLSPEC_HIDDEN
Definition: gdiplus.c:482
GpStatus METAFILE_FillPath(GpMetafile *metafile, GpBrush *brush, GpPath *path) DECLSPEC_HIDDEN
Definition: metafile.c:4505
GpStatus gdi_transform_release(GpGraphics *graphics)
Definition: graphics.c:6856
GpStatus METAFILE_GetGraphicsContext(GpMetafile *metafile, GpGraphics **result) DECLSPEC_HIDDEN
Definition: metafile.c:908
INT arc2polybezier(GpPointF *points, REAL x1, REAL y1, REAL x2, REAL y2, REAL startAngle, REAL sweepAngle) DECLSPEC_HIDDEN
Definition: gdiplus.c:223
GpStatus METAFILE_BeginContainer(GpMetafile *metafile, GDIPCONST GpRectF *dstrect, GDIPCONST GpRectF *srcrect, GpUnit unit, DWORD StackIndex) DECLSPEC_HIDDEN
Definition: metafile.c:1376
GpStatus METAFILE_TranslateWorldTransform(GpMetafile *metafile, REAL dx, REAL dy, MatrixOrder order) DECLSPEC_HIDDEN
Definition: metafile.c:1330
GpStatus METAFILE_ResetWorldTransform(GpMetafile *metafile) DECLSPEC_HIDDEN
Definition: metafile.c:1354
GpStatus METAFILE_DrawImagePointsRect(GpMetafile *metafile, GpImage *image, GDIPCONST GpPointF *points, INT count, REAL srcx, REAL srcy, REAL srcwidth, REAL srcheight, GpUnit srcUnit, GDIPCONST GpImageAttributes *imageAttributes, DrawImageAbort callback, VOID *callbackData) DECLSPEC_HIDDEN
Definition: metafile.c:4190
GpStatus trace_path(GpGraphics *graphics, GpPath *path) DECLSPEC_HIDDEN
Definition: graphics.c:2087
static ARGB color_over_fgpremult(ARGB bg, ARGB fg)
COLORREF ARGB2COLORREF(ARGB color) DECLSPEC_HIDDEN
Definition: gdiplus.c:259
void METAFILE_Free(GpMetafile *metafile) DECLSPEC_HIDDEN
Definition: metafile.c:590
DWORD write_region_data(const GpRegion *region, void *data) DECLSPEC_HIDDEN
Definition: region.c:696
void free_installed_fonts(void) DECLSPEC_HIDDEN
Definition: font.c:1608
REAL pixels_to_units(REAL pixels, GpUnit unit, REAL dpi) DECLSPEC_HIDDEN
Definition: gdiplus.c:350
void convert_32bppARGB_to_32bppPARGB(UINT width, UINT height, BYTE *dst_bits, INT dst_stride, const BYTE *src_bits, INT src_stride) DECLSPEC_HIDDEN
Definition: gdiplus.c:435
GpStatus METAFILE_FillRectangles(GpMetafile *metafile, GpBrush *brush, GDIPCONST GpRectF *rects, INT count) DECLSPEC_HIDDEN
Definition: metafile.c:1051
void init_generic_string_formats(void) DECLSPEC_HIDDEN
Definition: stringformat.c:56
void calc_curve_bezier(const GpPointF *pts, REAL tension, REAL *x1, REAL *y1, REAL *x2, REAL *y2) DECLSPEC_HIDDEN
Definition: gdiplus.c:379
const char * debugstr_rectf(const RectF *rc) DECLSPEC_HIDDEN
Definition: gdiplus.c:476
void free_generic_string_formats(void) DECLSPEC_HIDDEN
Definition: stringformat.c:67
GpStatus convert_pixels(INT width, INT height, INT dst_stride, BYTE *dst_bits, PixelFormat dst_format, INT src_stride, const BYTE *src_bits, PixelFormat src_format, ColorPalette *palette) DECLSPEC_HIDDEN
Definition: image.c:562
GpStatus METAFILE_EndContainer(GpMetafile *metafile, DWORD StackIndex) DECLSPEC_HIDDEN
Definition: metafile.c:1423
ColorAdjustType
@ ColorAdjustTypeCount
ColorMatrixFlags
HatchStyle
Definition: gdiplusenums.h:390
SmoothingMode
Definition: gdiplusenums.h:121
DashCap
Definition: gdiplusenums.h:170
CompositingMode
Definition: gdiplusenums.h:248
LineJoin
Definition: gdiplusenums.h:105
StringTrimming
Definition: gdiplusenums.h:292
StringAlignment
Definition: gdiplusenums.h:264
ImageType
Definition: gdiplusenums.h:193
CombineMode
Definition: gdiplusenums.h:350
StringDigitSubstitute
Definition: gdiplusenums.h:271
CustomLineCapType
Definition: gdiplusenums.h:77
PixelOffsetMode
Definition: gdiplusenums.h:160
LineCap
Definition: gdiplusenums.h:60
UINT GraphicsContainer
Definition: gdiplusenums.h:23
FillMode
Definition: gdiplusenums.h:54
DashStyle
Definition: gdiplusenums.h:177
CompositingQuality
Definition: gdiplusenums.h:131
WrapMode
Definition: gdiplusenums.h:206
MatrixOrder
Definition: gdiplusenums.h:187
TextRenderingHint
Definition: gdiplusenums.h:254
PenAlignment
Definition: gdiplusenums.h:154
HotkeyPrefix
Definition: gdiplusenums.h:312
Unit
Definition: gdiplusenums.h:26
MetafileType
Definition: gdiplusenums.h:215
CoordinateSpace
Definition: gdiplusenums.h:366
BrushType
Definition: gdiplusenums.h:37
InterpolationMode
Definition: gdiplusenums.h:141
#define GDIPCONST
Definition: gdiplusflat.h:24
Status GpStatus
ImageLockMode
DWORD ARGB
INT PixelFormat
ImageAbort DrawImageAbort
Definition: gdiplustypes.h:56
Status
Definition: gdiplustypes.h:25
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLint GLint GLsizei GLsizei GLsizei GLint GLenum GLenum const GLvoid * pixels
Definition: gl.h:1546
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
GLint GLint GLsizei GLsizei height
Definition: gl.h:1546
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
GLint GLint GLsizei width
Definition: gl.h:1546
GLsizeiptr size
Definition: glext.h:5919
GLuint GLenum GLenum transform
Definition: glext.h:9407
GLsizei stride
Definition: glext.h:5848
GLuint res
Definition: glext.h:9613
GLenum GLenum GLenum GLenum GLenum scale
Definition: glext.h:9032
GLuint buffer
Definition: glext.h:5915
GLuint color
Definition: glext.h:6243
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
GLuint GLenum matrix
Definition: glext.h:9407
GLenum mode
Definition: glext.h:6217
GLenum const GLfloat * params
Definition: glext.h:5645
GLfloat units
Definition: glext.h:11727
GLuint GLsizei GLsizei * length
Definition: glext.h:6040
GLboolean GLboolean g
Definition: glext.h:6204
GLfloat angle
Definition: glext.h:10853
GLuint GLfloat * val
Definition: glext.h:7180
GLuint GLdouble GLdouble GLint GLint order
Definition: glext.h:11194
GLenum GLsizei len
Definition: glext.h:6722
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204
GLuint64EXT * result
Definition: glext.h:11304
GLsizei const GLfloat * points
Definition: glext.h:8112
#define InterlockedCompareExchange
Definition: interlocked.h:104
#define a
Definition: ke_i.h:78
#define b
Definition: ke_i.h:79
USHORT LANGID
Definition: mui.h:9
GLint dy
Definition: linetemp.h:97
GLint dx
Definition: linetemp.h:97
#define M_PI
Definition: macros.h:263
char string[160]
Definition: util.h:11
HDC hdc
Definition: main.c:9
static HBITMAP
Definition: button.c:44
static HDC
Definition: imagelist.c:92
static IPrintDialogCallback callback
Definition: printdlg.c:326
static const char * dst_format
Definition: dib.c:1133
static TfClientId tid
static const unsigned char metafile[]
Definition: olepicture.c:138
static HPALETTE palette
Definition: clipboard.c:1345
#define ceilf(x)
Definition: mymath.h:62
#define floorf(x)
Definition: mymath.h:65
Definition: mk_font.cpp:20
unsigned int UINT
Definition: ndis.h:50
short SHORT
Definition: pedump.c:59
long LONG
Definition: pedump.c:60
png_const_structrp png_const_inforp int * unit
Definition: png.h:2159
CardRegion * from
Definition: spigame.cpp:19
& rect
Definition: startmenu.cpp:1413
GpCustomLineCap cap
BYTE * own_bits
GpImage image
IWICMetadataReader * metadata_reader
ImageLockMode lockmode
PropertyItem * prop_item
BYTE * bitmapbits
PixelFormat format
HBITMAP hbitmap
GpBrushType bt
GpPathData pathdata
CustomLineCapType type
GpFontFamily ** FontFamilies
WCHAR FamilyName[LF_FACESIZE]
GpFontFamily * family
OUTLINETEXTMETRICW otm
int temp_hbitmap_width
BYTE * temp_bits
INT gdi_transform_acquire_count
PixelOffsetMode pixeloffset
SmoothingMode smoothing
int temp_hbitmap_height
GpMatrix worldtrans
struct list containers
GpImage * image
InterpolationMode interpolation
GraphicsContainer contid
HBITMAP temp_hbitmap
CompositingQuality compqual
TextRenderingHint texthint
ImageType image_type
INT gdi_transform_save
GpMatrix gdi_transform
CompositingMode compmode
GpRegion * clip
GpBrush brush
GpHatchStyle hatchstyle
struct color_key colorkeys[ColorAdjustTypeCount]
REAL gamma[ColorAdjustTypeCount]
struct color_matrix colormatrices[ColorAdjustTypeCount]
enum imageattr_noop noop[ColorAdjustTypeCount]
BOOL gamma_enabled[ColorAdjustTypeCount]
struct color_remap_table colorremaptables[ColorAdjustTypeCount]
IWICBitmapDecoder * decoder
ColorPalette * palette
UINT frame_count
ImageType type
UINT current_frame
GpRegion * base_clip
BYTE * comment_data
IStream * record_stream
DWORD comment_data_size
GpPointF auto_frame_min
GpGraphics * record_graphics
struct list containers
GpMatrix * world_transform
struct emfplus_object objtable[EmfPlusObjectTableSize]
GpPointF auto_frame_max
GpGraphics * playback_graphics
DWORD comment_data_length
GpRectF bounds
GpUnit page_unit
GpRectF src_rect
DWORD next_object_id
HANDLETABLE * handle_table
MetafileType metafile_type
GpRegion * clip
GpPointF playback_points[3]
XFORM gdiworldtransform
HENHMETAFILE hemf
GpPathData pathdata
GpPathData pathdata
BOOL newfigure
GpFillMode fill
GpDashStyle dash
GpLineCap startcap
INT numdashes
REAL * dashes
GpCustomLineCap * customend
GpMatrix transform
REAL offset
REAL miterlimit
GpLineCap endcap
UINT style
GpLineJoin join
GpDashCap dashcap
GpBrush * brush
GpPenAlignment align
GpUnit unit
REAL width
GpCustomLineCap * customstart
region_element node
DWORD num_children
CharacterRange * character_ranges
StringTrimming trimming
StringAlignment align
StringDigitSubstitute digitsub
HotkeyPrefix hkprefix
StringAlignment line_align
GpBrush brush
GpImageAttributes * imageattributes
GpImage * image
BYTE * bitmap_bits
GpMatrix transform
ColorMatrix graymatrix
ColorMatrixFlags flags
ColorMatrix colormatrix
union emfplus_object::@413 u
GpRegion * region
GpImageAttributes * image_attributes
EmfPlusObjectType type
Definition: dsound.c:943
const BYTE * buffer
struct region_element * right
struct region_element * left
struct region_element::@414::@415 combine
union region_element::@414 elementdata
Definition: parse.h:23
unsigned char * LPBYTE
Definition: typedefs.h:53
int32_t INT
Definition: typedefs.h:58
#define dpi
Definition: sysparams.c:23
DWORD WINAPI GetCurrentThreadId(void)
Definition: thread.c:459
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG x2
Definition: winddi.h:3710
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG y1
Definition: winddi.h:3709
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
Definition: winddi.h:3708
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG _In_ LONG y2
Definition: winddi.h:3711
DWORD COLORREF
Definition: windef.h:300
__wchar_t WCHAR
Definition: xmlstorage.h:180
unsigned char BYTE
Definition: xxhash.c:193