2003-11-28  Duncan Mak  <duncan@ximian.com>

	* brush.c (gdip_brush_setup): Check on the type of the brush and
	delegate the implementation to the concrete Brushes, 
	(GdipCloneBrush, GdipDeleteBrush, GdipGetBrushType): Implemented.

	* gdip.h (DashStyle): Fixed typo.
	(PenAlignment, BrushType): Added new enumerations.
	(GpBrush): Added new type field.
	(GpPen): Added new fields: color, brush, mode, dash_array and
	unit. Updated the header file to include new Pen functions.

	* pen.c (convert_dash_array): Utitlity function for converting
	from a float* from GDI+ to a double* for Cairo.
	(GdipCreatePen2, GdipClonePen): Implemented.
	(PenWidth, BrushFill, Color, PenMode, PenUnit, DashStyle):
	(DashOffset, DashCount, DashArray): Implemented the Get/Set
	function pairs for these properties.
	(GdipGetPenCompoundArray, GdipSetPenCompoundArray):
	(GdipGetPenCompoundArrayCount): Stubbed.

	* solidbrush.c (gdip_solidfill_init): Utility for initializing a
	SolidBrush. Sets type as BrushTypeSolidColor.
	(gdip_solidfill_setup): Moved from gdip_brush_setup.
	(gdip_solidfill_clone): Implementation for GdipCloneBrush for a
	GpSolidFill.
	(GdipSetSolidFillColor, GdipGetSolidFillColor): Implemented.

2003-11-22  Duncan Mak  <duncan@ximian.com>

	* matrix.c (GdipCreateMatrix3, GdipCreateMatrix3I): Implemented.
	(GdipCloneMatrix): Fixed.
	(GdipShearMatrix, set_shear): Implemented.
	
	* graphics.c:
	(GdipGetWorldTransform, GdipMultiplyWorldTransform): Implemented.
	(GdipRotatePenTransform, GdipTranslatePenTransform): Use GDI+
	functions instead.

	* gdip.h
	(GdipRotatePenTransform, GdipTranslatePenTransform): Fix
	signature.
	(GdipCreateMatrix3, GdipCreateMatrix3I): Use const appropriately.
	
2003-11-17  Duncan Mak  <duncan@ximian.com>

	* matrix.c (matrix_equals): New helper function help test matrix
	equality.
	(GdipIsMatrixIdentity, GdipIsMatrixEqual): Use matrix_equals.
	(GdipGetMatrixElements): Don't malloc here, because the caller
	should hand us an allocated array.

2003-11-16  Duncan Mak  <duncan@ximian.com>

	* matrix.c (GdipCreateMatrix2, GdipCreateMatrix3) 
	(GdipCreateMatrix3I): Implemented.

	* pen.c (GdipResetPenTransform):
	(GdipMultiplyPenTransform, GdipTranslatePenTransform):
	(GdipScalePenTransform, GdipRotatePenTransform): Implemented.

	* matrix.c (set_translate, set_scale, set_rotate): Helper
	functions copied from Cairo. We are doing this because you can
	specify the order of multiplcation in GDI+, but not in Cairo.

2003-11-15  Duncan Mak  <duncan@ximian.com>

	* graphics.c: Moved PI and GRADTORAD to gdip.h.
	* gdip.h: Renamed GRADTORAD to DEGTORAD.

	* matrix.c (GdipCloneMatrix): Fix argument order.
	* matrix.c
	(GdipMultiplyMatrix, GdipTranslateMatrix, GdipScaleMatrix):
	(GdipRotateMatrix, GdipInvertMatrix):
	(GdipTransformMatrixPoints, GdipVectorTransformMatrixPoints):
	(GdipSetMatrixElements, GdipGetMatrixElements):
	(GdipIsMatrixInvertible): Implemented.

	* matrix.c (GdipIsMatrixIdentity, GdipIsMatrixEqual): Implemented.

2003-11-14  Duncan Mak  <duncan@ximian.com>	

	* general.c (gdip_get_status): Take cairo_status_t instead of
	cairo_t. We need this because this is used in matrix.c and we only
	have cairo_matrix_t there.
	* graphics.c: Updated calls to gdip_get_status.

	* pen.c
	(convert_line_cap, convert_line_join): Added static keyword.
	(GdipDeletePen): Implemented.

	* matrix.c
	(GdipCreateMatrix2, GdipCloneMatrix, GdipInvertMatrix): Use
	gdip_get_status instead of just returning Ok.
	(GdipRotateMatrix, GdipScaleMatrix, GdipTranslateMatrix):
	Implemented.

2003-11-12  Duncan Mak  <duncan@ximian.com>

	* bitmap.c, brush.c, general.c:
	* graphics.c, image.c, matrix.c:
	* pen.c, solidbrush.c: Use gdip.h instead of gdip_main.h.
	
	* gdip.h: New header file, merged from gdip_main.h and
	gdip_defs.h.

	* gdip_main.h, gdip_defs.h: Removed.

	* pen.c
	(convert_line_join, convert_line_cap): new function for converting
	enumerations between GDI+ and Cairo.
	(gdip_pen_setup): set miter limit and line join.
	(GdipSetPenMiterLimit, GdipGetPenMiterLimit):
	(GdipSetPenLineJoin, GdipGetPenLineJoin): 
	(GdipSetPenLineJoin, GdipGetPenTransform): implemented.	
	
2003-11-12  Alexandre Pigolkine <pigolkine@gmx.de>
	* bitmap.c 		copy image funciton added
	
2003-11-06  Duncan Mak  <duncan@ximian.com>

	* graphics.c (GdipDrawRectangle): Add call to gdip_pen_setup so
	that we stroke with the right color.

2003-11-05  Duncan Mak  <duncan@ximian.com>

	* graphics.c
	(make_pie, make_ellipse, make_polygon): Add static keyword.

	* gdip_defs.h: Update headers to include DrawBezier, DrawBeziers,
	DrawEllipse, DrawPie, DrawPolygon, DrawRectangle, FillEllipse,
	FillPolygon and the RenderingOrigin property.

	* Makefile (install-local): Added missing semi-colons.

2003-11-03  Bernie Solomon <bernard@ugsolutions.com>

	* gdip_main.h, gdip_win32.h, gdip_win32.c:
	fixes for non-GCC compilers

2003-11-02  Alexandre Pigolkine <pigolkine@gmx.de>

	* bitmap.c 		convert 24/32 bpp images in LockBits

2003-11-01  Duncan Mak  <duncan@ximian.com>

	* matrix.c
	(GdipCreateMatrix, GdipCreateMatrix2, GdipCloneMatrix):
	(GdipDeleteMatrix, GdipInvertMatrix): Implemented; the rest of the
	functions are stubbed out.

	* gdip_defs.h (GpMatrixOrder): Added.	

	* gdip_main.h
	(GpRect, GpRectF): Synonyms for Rect and RectF.
	(GpMatrix): An alias of cairo_matrix_t.

	* Makefile: Added matrix.c.

2003-10-28  Duncan Mak  <duncan@ximian.com>

	* gdip_main.h, gdip_def.h:
	Renamed all gdip_foo_ptr types are now GpFoo *.
	Renamed Status to GpStatus.
	Reformatted all C++ style comments to C style comments.
	Reformatted all C function prototypes to the style used by GTK+.

	* gdip_main.h (GpPoint, GpPointF): Added.

	* gdip_defs.h (GpFillMode): Added.

	* graphics.c (make_ellipse):
	(make_polygon, make_polygon_from_integers):
	(make_pie): private functions (make_foo) to be reused by DrawFoo
	and FillFoo.
	
	(convert_fill_mode): Converts a GpFillMode to a cairo_fill_rule_t.

	(GdipDrawPie, GdipFillEllipse, GdipFillPolygon): Implemented.

2003-10-26  Duncan Mak  <duncan@ximian.com>

	* graphics.c
	(GdipSetRenderingOrigin, GdipGetRenderingOrigin): Implemented.

2003-10-25  Duncan Mak  <duncan@ximian.com>

	* graphics.c
	(GdipDrawBezier, GdipDrawBezierI):
	(GdipDrawBeziers, GdipDrawBeziersI):
	(GdipDrawLine, GdipDrawLineI):		
	(GdipDrawLines, GdipDrawLinesI): implemented.

	(GdipFillRectangle):
	(GdipDrawString): Make use of gdip_get_status.
	
	* general.c
	(gdip_get_status): A new function for retrieving a Status from a
	cairo_t.
	
2003-10-23  Miguel de Icaza  <miguel@ximian.com>

	* bitmap.c (GdipCreateBitmapFromScan0): Do not allocate buffer
	here, expect that our caller to allocate that.
	
	Do not compute the stride here, expect our caller to do this
	properly.

	* Use the Mono coding conventions.

2003-10-15  Alexandre Pigolkine <pigolkine@gmx.de>
	* image.c			GdipDrawImageRectI changed 
	
2003-10-14  Alexandre Pigolkine <pigolkine@gmx.de>
	* gdip_defs.h
	* graphics.c
	* gdip_main.h
						DrawString function added

2003-10-12  Alexandre Pigolkine <pigolkine@gmx.de>
	* bitmap.c
	* brush.c
	* gdip_defs.h
	* gdip_win32.c
	* gdip_win32.h
	* gdip_main.h
	* general.c
	* graphics.c
	* image.c
	* Makefile
	* pen.c
	* solidbrush.c
						Added
