Author: mkrueger
Date: 2008-02-20 07:51:46 -0500 (Wed, 20 Feb 2008)
New Revision: 96244

Modified:
   trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog
   
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Tests/Mono.TextEditor.Tests.pidb
   
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/BookmarkMargin.cs
   trunk/monodevelop/main/src/addins/Mono.Texteditor/TangoLightStyle.xml
Log:
* Mono.TextEditor/BookmarkMargin.cs: Bookmark is now scaling better.

Modified: trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog
===================================================================
--- trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog 2008-02-20 
12:17:29 UTC (rev 96243)
+++ trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog 2008-02-20 
12:51:46 UTC (rev 96244)
@@ -1,3 +1,7 @@
+2008-02-20  Mike Krüger <[EMAIL PROTECTED]> 
+
+       * Mono.TextEditor/BookmarkMargin.cs: Bookmark is now scaling better.
+
 2008-02-19  Mike Krüger <[EMAIL PROTECTED]> 
 
        * Mono.TextEditor/DefaultEditActions.cs,

Modified: 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/BookmarkMargin.cs
===================================================================
--- 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/BookmarkMargin.cs
 2008-02-20 12:17:29 UTC (rev 96243)
+++ 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/BookmarkMargin.cs
 2008-02-20 12:51:46 UTC (rev 96244)
@@ -88,15 +88,30 @@
                
                public static void DrawRoundRectangle (Cairo.Context cr, int x, 
int y, int r, int w, int h)
                {
-                       cr.MoveTo (x + r, y);
-                       cr.LineTo (x + w - r, y);
-                       cr.CurveTo (x + w, y, x + w, y, x + w, y + r);
-                       cr.LineTo (x + w, y + h - r);
-                       cr.CurveTo (x + w, y + h, x + w, y + h, x + w - r, y + 
h);
-                       cr.LineTo (x + r, y + h);
-                       cr.CurveTo (x, y + h, x, y + h, x, y + h - r);
-                       cr.LineTo (x, y + r);
-                       cr.CurveTo (x, y, x, y, x + r, y);
+                       const double ARC_TO_BEZIER = 0.55228475;
+                       int radius_x = r;
+                       int radius_y = 2;
+                       
+                       if (radius_x > w - radius_x)
+                               radius_x = w / 2;
+                                       
+                       if (radius_y > h - radius_y)
+                               radius_y = h / 2;
+                       
+                       double c1 = ARC_TO_BEZIER * radius_x;
+                       double c2 = ARC_TO_BEZIER * radius_y;
+                       
+                       cr.NewPath ();
+                       cr.MoveTo (x + radius_x, y);
+                       cr.RelLineTo (w - 2 * radius_x, 0.0);
+                       cr.RelCurveTo (c1, 0.0, radius_x, c2, radius_x, 
radius_y);
+                       cr.RelLineTo (0, h - 2 * radius_y);
+                       cr.RelCurveTo (0.0, c2, c1 - radius_x, radius_y, 
-radius_x, radius_y);
+                       cr.RelLineTo (-w + 2 * radius_x, 0);
+                       cr.RelCurveTo (-c1, 0, -radius_x, -c2, -radius_x, 
-radius_y);
+                       cr.RelLineTo (0, -h + 2 * radius_y);
+                       cr.RelCurveTo (0.0, -c2, radius_x - c1, -radius_y, 
radius_x, -radius_y);
+                       cr.ClosePath ();
                }
                
                public override void MousePressed (int button, int x, int y, 
Gdk.EventType type, Gdk.ModifierType modifierState)
@@ -123,7 +138,7 @@
                                if (lineSegment.IsBookmarked) {
                                        Cairo.Context cr = 
Gdk.CairoHelper.Create (win);
                                        DrawRoundRectangle (cr, x + 1, y + 1, 
8, Width - 4, editor.LineHeight - 4);
-                                       Cairo.Gradient pat = new 
Cairo.LinearGradient (x, y + editor.LineHeight, x + Width, y);
+                                       Cairo.Gradient pat = new 
Cairo.LinearGradient (x + Width / 4, y, x + Width / 2, y + editor.LineHeight - 
4);
                                        pat.AddColorStop (0, color1);
                                        pat.AddColorStop (1, color2);
                                        cr.Pattern = pat;
@@ -131,7 +146,7 @@
                                        
                                        pat = new Cairo.LinearGradient (x, y + 
editor.LineHeight, x + Width, y);
                                        pat.AddColorStop (0, color2);
-                                       pat.AddColorStop (1, color1);
+                                       //pat.AddColorStop (1, color1);
                                        cr.Pattern = pat;
                                        cr.Stroke ();
                                        ((IDisposable)cr).Dispose();

Modified: 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Tests/Mono.TextEditor.Tests.pidb
===================================================================
(Binary files differ)

Modified: trunk/monodevelop/main/src/addins/Mono.Texteditor/TangoLightStyle.xml
===================================================================
--- trunk/monodevelop/main/src/addins/Mono.Texteditor/TangoLightStyle.xml       
2008-02-20 12:17:29 UTC (rev 96243)
+++ trunk/monodevelop/main/src/addins/Mono.Texteditor/TangoLightStyle.xml       
2008-02-20 12:51:46 UTC (rev 96244)
@@ -82,7 +82,7 @@
        <Style name="bracketHighlightBg" color="aluminium1"/>
        
        <Style name="bookmarkColor1" color="white"/>
-       <Style name="bookmarkColor2" color="skyblue2"/>
+       <Style name="bookmarkColor2" color="skyblue1"/>
 
        <!-- highlighting -->
        <Style name="comment" color="chameleon3"/>

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

Reply via email to