Author: pbartok
Date: 2005-11-01 20:15:39 -0500 (Tue, 01 Nov 2005)
New Revision: 52463

Modified:
   trunk/libgdiplus/src/ChangeLog
   trunk/libgdiplus/src/graphics.c
   trunk/libgdiplus/src/pen.c
Log:
2005-11-01  Peter Dennis Bartok  <[EMAIL PROTECTED]>

        * graphics.c: Implemented smoothing mode support. Now defaulting
          to non-antialiased drawing

2005-11-01  Jonathan Chambers  <[EMAIL PROTECTED]>

        * pen.c: LineCapFlat needs to translate to square cairo line caps
          in order for line lengths to be correct when not aliased



Modified: trunk/libgdiplus/src/ChangeLog
===================================================================
--- trunk/libgdiplus/src/ChangeLog      2005-11-01 22:03:40 UTC (rev 52462)
+++ trunk/libgdiplus/src/ChangeLog      2005-11-02 01:15:39 UTC (rev 52463)
@@ -1,3 +1,13 @@
+2005-11-01  Peter Dennis Bartok  <[EMAIL PROTECTED]>
+
+       * graphics.c: Implemented smoothing mode support. Now defaulting
+         to non-antialiased drawing
+
+2005-11-01  Jonathan Chambers  <[EMAIL PROTECTED]>
+
+       * pen.c: LineCapFlat needs to translate to square cairo line caps
+         in order for line lengths to be correct when not aliased
+
 2005-10-23  Jonathan Gilbert <[EMAIL PROTECTED]>
 
        * image.c: Renamed gdip_FlipX() and gdip_rotate_180_FlipX() to

Modified: trunk/libgdiplus/src/graphics.c
===================================================================
--- trunk/libgdiplus/src/graphics.c     2005-11-01 22:03:40 UTC (rev 52462)
+++ trunk/libgdiplus/src/graphics.c     2005-11-02 01:15:39 UTC (rev 52463)
@@ -67,10 +67,11 @@
        graphics->composite_quality = CompositingQualityDefault;
        graphics->composite_mode = CompositingModeSourceOver;
        graphics->text_mode = TextRenderingHintSystemDefault;
-       graphics->draw_mode = SmoothingModeNone;
        graphics->pixel_mode = PixelOffsetModeDefault;
        graphics->saved_status = NULL;
        graphics->saved_status_pos = 0;
+
+       GdipSetSmoothingMode(graphics, SmoothingModeNone);
 }
 
 GpGraphics *
@@ -458,11 +459,11 @@
        graphics->scale = pos_state->scale;
        graphics->interpolation = pos_state->interpolation;
        graphics->page_unit = pos_state->page_unit;
-       graphics->draw_mode = pos_state->draw_mode;
        graphics->text_mode = pos_state->text_mode;
        graphics->pixel_mode = pos_state->pixel_mode;
 
        graphics->saved_status_pos = graphicsState;
+       GdipSetSmoothingMode(graphics, pos_state->draw_mode);
        return Ok;
 }
 
@@ -3342,6 +3343,23 @@
 
        graphics->draw_mode = mode;
 
+       switch (mode) {
+               case SmoothingModeAntiAlias:
+               case SmoothingModeHighQuality: {
+                       cairo_set_antialias(graphics->ct, 
CAIRO_ANTIALIAS_DEFAULT);
+                       break;
+               }
+
+               case SmoothingModeNone:
+               case SmoothingModeDefault:
+               case SmoothingModeHighSpeed:
+               default: {
+                       cairo_set_antialias(graphics->ct, CAIRO_ANTIALIAS_NONE);
+                       break;
+               }
+               
+       }
+
        return Ok;
 }
 
@@ -3779,7 +3797,7 @@
         static int      called = 0;
 
         if (!called) {
-                printf("NOT IMPLEMENTED YET:GdipTransformPoints (GpGraphics 
*graphics, GpCoordinateSpace destSpace, GpCoordinateSpace srcSpace, GpPointF 
*points, int count)\n");
+                printf("NOT IMPLEMENTED YET:GdipTransformPoints (GpGraphics 
*graphics, GpCoordinateSpace destSpace %d, GpCoordinateSpace srcSpace %d, 
GpPointF *points, int count %d)\n", destSpace, srcSpace, count);
         }
         /* return NotImplemented; */
         return Ok;

Modified: trunk/libgdiplus/src/pen.c
===================================================================
--- trunk/libgdiplus/src/pen.c  2005-11-01 22:03:40 UTC (rev 52462)
+++ trunk/libgdiplus/src/pen.c  2005-11-02 01:15:39 UTC (rev 52463)
@@ -89,13 +89,13 @@
 {
         switch (cap) {
         
+        case LineCapFlat:
         case LineCapSquare:
                 return CAIRO_LINE_CAP_SQUARE;
 
         case LineCapRound:
                 return CAIRO_LINE_CAP_ROUND;                
 
-        case LineCapFlat:
         case LineCapTriangle:
         case LineCapNoAnchor:
         case LineCapSquareAnchor:

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to