1 2004-01-10 Alexandre Pigolkine <pigolkine@gmx.de>
3 * brush.c cosmetic changes
4 * gdip.h new field added to GpPen structure
5 * gdip_win32.h conditional compilation flag used to reflect changes in Cairo > 0.14
6 * graphics.c restore position in GRAPHICS_STATE stack
7 * matrix.c order of matrices in GdipMultiplyMatrix changed
8 * pen.c initialization of fields, protection in GdipDeletePen function added
11 2003-12-25 Duncan Mak <duncan@ximian.com>
13 * graphics-path.c (GdipAddPathLine): Use append instead of
15 (GdipTransformPath): Remember to reset the points after the
18 2003-12-25 Duncan Mak <duncan@ximian.com>
20 * graphics.c (DrawBezier, DrawBezierI): Well, it's pretty obvious
21 that the code was incorrect before. After Christmas, I'm gonna
22 hook up the GraphicsPath code and work on testing and making sure
23 this stuff is correct. I'm pretty sure, in a first pass, there are
24 lots of littles bugs waiting to be fixed.
26 * graphics-path.c (new_point): Removed, we now pack the point
27 inside the append functions.
28 (append): New function that takes the X, Y coordinates directly.
29 (append_bezier): Take coordinates instead of GpPointFs. Use the
30 new append function instead of append_point.
32 2003-12-23 Duncan Mak <duncan@ximian.com>
35 * graphics-path.h: Implemented GraphicsPath.
37 * Makefile: Added graphics-path.c.
39 * gdip.h (GpPathPointType, GpWarpMode): Added.
41 2003-12-21 Duncan Mak <duncan@ximian.com>
43 * graphics.c (C1): Made it more precise.
45 (make_arc): New helper function for getting the right Bezier for
46 an elliptical arc, based on an algorithm found in the
49 2003-12-02 Bernie Solomon <bernard@ugsolutions.com>
51 * pen.c (GdipSetPenLineCap): fix arg type so it compiles
54 * gdip.h: fix spelling of GdipSetPenLineJoin and add
55 prototype for GdipGetPenLineJoin
57 2003-11-28 Duncan Mak <duncan@ximian.com>
59 * brush.c (gdip_brush_setup): Check on the type of the brush and
60 delegate the implementation to the concrete Brushes,
61 (GdipCloneBrush, GdipDeleteBrush, GdipGetBrushType): Implemented.
63 * gdip.h (DashStyle): Fixed typo.
64 (PenAlignment, BrushType): Added new enumerations.
65 (GpBrush): Added new type field.
66 (GpPen): Added new fields: color, brush, mode, dash_array and
67 unit. Updated the header file to include new Pen functions.
69 * pen.c (convert_dash_array): Utitlity function for converting
70 from a float* from GDI+ to a double* for Cairo.
71 (GdipCreatePen2, GdipClonePen): Implemented.
72 (PenWidth, BrushFill, Color, PenMode, PenUnit, DashStyle):
73 (DashOffset, DashCount, DashArray): Implemented the Get/Set
74 function pairs for these properties.
75 (GdipGetPenCompoundArray, GdipSetPenCompoundArray):
76 (GdipGetPenCompoundArrayCount): Stubbed.
78 * solidbrush.c (gdip_solidfill_init): Utility for initializing a
79 SolidBrush. Sets type as BrushTypeSolidColor.
80 (gdip_solidfill_setup): Moved from gdip_brush_setup.
81 (gdip_solidfill_clone): Implementation for GdipCloneBrush for a
83 (GdipSetSolidFillColor, GdipGetSolidFillColor): Implemented.
85 2003-11-22 Duncan Mak <duncan@ximian.com>
87 * matrix.c (GdipCreateMatrix3, GdipCreateMatrix3I): Implemented.
88 (GdipCloneMatrix): Fixed.
89 (GdipShearMatrix, set_shear): Implemented.
92 (GdipGetWorldTransform, GdipMultiplyWorldTransform): Implemented.
93 (GdipRotatePenTransform, GdipTranslatePenTransform): Use GDI+
97 (GdipRotatePenTransform, GdipTranslatePenTransform): Fix
99 (GdipCreateMatrix3, GdipCreateMatrix3I): Use const appropriately.
101 2003-11-17 Duncan Mak <duncan@ximian.com>
103 * matrix.c (matrix_equals): New helper function help test matrix
105 (GdipIsMatrixIdentity, GdipIsMatrixEqual): Use matrix_equals.
106 (GdipGetMatrixElements): Don't malloc here, because the caller
107 should hand us an allocated array.
109 2003-11-16 Duncan Mak <duncan@ximian.com>
111 * matrix.c (GdipCreateMatrix2, GdipCreateMatrix3)
112 (GdipCreateMatrix3I): Implemented.
114 * pen.c (GdipResetPenTransform):
115 (GdipMultiplyPenTransform, GdipTranslatePenTransform):
116 (GdipScalePenTransform, GdipRotatePenTransform): Implemented.
118 * matrix.c (set_translate, set_scale, set_rotate): Helper
119 functions copied from Cairo. We are doing this because you can
120 specify the order of multiplcation in GDI+, but not in Cairo.
122 2003-11-15 Duncan Mak <duncan@ximian.com>
124 * graphics.c: Moved PI and GRADTORAD to gdip.h.
125 * gdip.h: Renamed GRADTORAD to DEGTORAD.
127 * matrix.c (GdipCloneMatrix): Fix argument order.
129 (GdipMultiplyMatrix, GdipTranslateMatrix, GdipScaleMatrix):
130 (GdipRotateMatrix, GdipInvertMatrix):
131 (GdipTransformMatrixPoints, GdipVectorTransformMatrixPoints):
132 (GdipSetMatrixElements, GdipGetMatrixElements):
133 (GdipIsMatrixInvertible): Implemented.
135 * matrix.c (GdipIsMatrixIdentity, GdipIsMatrixEqual): Implemented.
137 2003-11-14 Duncan Mak <duncan@ximian.com>
139 * general.c (gdip_get_status): Take cairo_status_t instead of
140 cairo_t. We need this because this is used in matrix.c and we only
141 have cairo_matrix_t there.
142 * graphics.c: Updated calls to gdip_get_status.
145 (convert_line_cap, convert_line_join): Added static keyword.
146 (GdipDeletePen): Implemented.
149 (GdipCreateMatrix2, GdipCloneMatrix, GdipInvertMatrix): Use
150 gdip_get_status instead of just returning Ok.
151 (GdipRotateMatrix, GdipScaleMatrix, GdipTranslateMatrix):
154 2003-11-12 Duncan Mak <duncan@ximian.com>
156 * bitmap.c, brush.c, general.c:
157 * graphics.c, image.c, matrix.c:
158 * pen.c, solidbrush.c: Use gdip.h instead of gdip_main.h.
160 * gdip.h: New header file, merged from gdip_main.h and
163 * gdip_main.h, gdip_defs.h: Removed.
166 (convert_line_join, convert_line_cap): new function for converting
167 enumerations between GDI+ and Cairo.
168 (gdip_pen_setup): set miter limit and line join.
169 (GdipSetPenMiterLimit, GdipGetPenMiterLimit):
170 (GdipSetPenLineJoin, GdipGetPenLineJoin):
171 (GdipSetPenLineJoin, GdipGetPenTransform): implemented.
173 2003-11-12 Alexandre Pigolkine <pigolkine@gmx.de>
174 * bitmap.c copy image funciton added
176 2003-11-06 Duncan Mak <duncan@ximian.com>
178 * graphics.c (GdipDrawRectangle): Add call to gdip_pen_setup so
179 that we stroke with the right color.
181 2003-11-05 Duncan Mak <duncan@ximian.com>
184 (make_pie, make_ellipse, make_polygon): Add static keyword.
186 * gdip_defs.h: Update headers to include DrawBezier, DrawBeziers,
187 DrawEllipse, DrawPie, DrawPolygon, DrawRectangle, FillEllipse,
188 FillPolygon and the RenderingOrigin property.
190 * Makefile (install-local): Added missing semi-colons.
192 2003-11-03 Bernie Solomon <bernard@ugsolutions.com>
194 * gdip_main.h, gdip_win32.h, gdip_win32.c:
195 fixes for non-GCC compilers
197 2003-11-02 Alexandre Pigolkine <pigolkine@gmx.de>
199 * bitmap.c convert 24/32 bpp images in LockBits
201 2003-11-01 Duncan Mak <duncan@ximian.com>
204 (GdipCreateMatrix, GdipCreateMatrix2, GdipCloneMatrix):
205 (GdipDeleteMatrix, GdipInvertMatrix): Implemented; the rest of the
206 functions are stubbed out.
208 * gdip_defs.h (GpMatrixOrder): Added.
211 (GpRect, GpRectF): Synonyms for Rect and RectF.
212 (GpMatrix): An alias of cairo_matrix_t.
214 * Makefile: Added matrix.c.
216 2003-10-28 Duncan Mak <duncan@ximian.com>
218 * gdip_main.h, gdip_def.h:
219 Renamed all gdip_foo_ptr types are now GpFoo *.
220 Renamed Status to GpStatus.
221 Reformatted all C++ style comments to C style comments.
222 Reformatted all C function prototypes to the style used by GTK+.
224 * gdip_main.h (GpPoint, GpPointF): Added.
226 * gdip_defs.h (GpFillMode): Added.
228 * graphics.c (make_ellipse):
229 (make_polygon, make_polygon_from_integers):
230 (make_pie): private functions (make_foo) to be reused by DrawFoo
233 (convert_fill_mode): Converts a GpFillMode to a cairo_fill_rule_t.
235 (GdipDrawPie, GdipFillEllipse, GdipFillPolygon): Implemented.
237 2003-10-26 Duncan Mak <duncan@ximian.com>
240 (GdipSetRenderingOrigin, GdipGetRenderingOrigin): Implemented.
242 2003-10-25 Duncan Mak <duncan@ximian.com>
245 (GdipDrawBezier, GdipDrawBezierI):
246 (GdipDrawBeziers, GdipDrawBeziersI):
247 (GdipDrawLine, GdipDrawLineI):
248 (GdipDrawLines, GdipDrawLinesI): implemented.
251 (GdipDrawString): Make use of gdip_get_status.
254 (gdip_get_status): A new function for retrieving a Status from a
257 2003-10-23 Miguel de Icaza <miguel@ximian.com>
259 * bitmap.c (GdipCreateBitmapFromScan0): Do not allocate buffer
260 here, expect that our caller to allocate that.
262 Do not compute the stride here, expect our caller to do this
265 * Use the Mono coding conventions.
267 2003-10-15 Alexandre Pigolkine <pigolkine@gmx.de>
268 * image.c GdipDrawImageRectI changed
270 2003-10-14 Alexandre Pigolkine <pigolkine@gmx.de>
274 DrawString function added
276 2003-10-12 Alexandre Pigolkine <pigolkine@gmx.de>