[Mono-bugs] [Bug 345888] [cairo] No support for different Start and End LineCaps
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Tue Dec 11 17:12:03 EST 2007
https://bugzilla.novell.com/show_bug.cgi?id=345888
User spouliot at novell.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=345888#c2
Sebastien Pouliot <spouliot at novell.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|mono-bugs at ximian.com |spouliot at novell.com
Status|NEW |ASSIGNED
--- Comment #2 from Sebastien Pouliot <spouliot at novell.com> 2007-12-11 15:12:03 MST ---
It is possible to simulate different caps (or no caps) on both starts and ends
by using 2 or 3 lines. E.g.
<Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<Line Stroke="Red" StrokeThickness="5" StrokeStartLineCap="Flat"
StrokeEndLineCap="Flat" X1="10" Y1="10" X2="10" Y2="50" />
<Line Stroke="Green" StrokeThickness="5" StrokeStartLineCap="Round"
StrokeEndLineCap="Round" X1="10" Y1="60" X2="10" Y2="100" />
<Line Stroke="Red" StrokeThickness="5" X1="20" Y1="60" X2="20" Y2="100"
/>
<Line Stroke="Green" StrokeThickness="5" StrokeStartLineCap="Round"
StrokeEndLineCap="Round" X1="20" Y1="60" X2="20" Y2="60.1" />
<Line Stroke="Green" StrokeThickness="5" StrokeStartLineCap="Round"
StrokeEndLineCap="Round" X1="20" Y1="100" X2="20" Y2="100.1" />
<Line Stroke="Green" StrokeThickness="5" X1="30" Y1="60" X2="30"
Y2="100" />
<Line Stroke="Green" StrokeThickness="5" StrokeStartLineCap="Round"
StrokeEndLineCap="Round" X1="30" Y1="60" X2="30" Y2="60.1" />
<Line Stroke="Green" StrokeThickness="5" StrokeStartLineCap="Round"
StrokeEndLineCap="Round" X1="30" Y1="100" X2="30" Y2="100.1" />
<Line Stroke="Green" StrokeThickness="5" StrokeStartLineCap="Round"
StrokeEndLineCap="Round" X1="40" Y1="60" X2="40" Y2="80" />
<Line Stroke="Green" StrokeThickness="5" StrokeStartLineCap="Round"
StrokeEndLineCap="Round" X1="40" Y1="80" X2="40" Y2="100" />
<Line Stroke="Blue" StrokeThickness="5" StrokeStartLineCap="Square"
StrokeEndLineCap="Square" X1="10" Y1="110" X2="10" Y2="150" />
<Line Stroke="Red" StrokeThickness="5" X1="20" Y1="110" X2="20"
Y2="150" />
<Line Stroke="Blue" StrokeThickness="5" StrokeStartLineCap="Square"
StrokeEndLineCap="Square" X1="20" Y1="110" X2="20" Y2="110.1" />
<Line Stroke="Blue" StrokeThickness="5" StrokeStartLineCap="Square"
StrokeEndLineCap="Square" X1="20" Y1="150" X2="20" Y2="150.1" />
<Line Stroke="Blue" StrokeThickness="5" X1="30" Y1="110" X2="30"
Y2="150" />
<Line Stroke="Blue" StrokeThickness="5" StrokeStartLineCap="Square"
StrokeEndLineCap="Square" X1="30" Y1="110" X2="30" Y2="110.1" />
<Line Stroke="Blue" StrokeThickness="5" StrokeStartLineCap="Square"
StrokeEndLineCap="Square" X1="30" Y1="150" X2="30" Y2="150.1" />
<Line Stroke="Blue" StrokeThickness="5" StrokeStartLineCap="Square"
StrokeEndLineCap="Square" X1="40" Y1="110" X2="40" Y2="130" />
<Line Stroke="Blue" StrokeThickness="5" StrokeStartLineCap="Square"
StrokeEndLineCap="Square" X1="40" Y1="130" X2="40" Y2="150" />
<Line Stroke="Black" StrokeThickness="5" StrokeStartLineCap="Triangle"
StrokeEndLineCap="Triangle" X1="10" Y1="160" X2="10" Y2="200" />
<Line Stroke="Red" StrokeThickness="5" X1="20" Y1="160" X2="20"
Y2="200" />
<Line Stroke="Black" StrokeThickness="5" StrokeStartLineCap="Triangle"
StrokeEndLineCap="Triangle" X1="20" Y1="160" X2="20" Y2="160.1" />
<Line Stroke="Black" StrokeThickness="5" StrokeStartLineCap="Triangle"
StrokeEndLineCap="Triangle" X1="20" Y1="200" X2="20" Y2="200.1" />
<Line Stroke="Black" StrokeThickness="5" X1="30" Y1="160" X2="30"
Y2="200" />
<Line Stroke="Black" StrokeThickness="5" StrokeStartLineCap="Triangle"
StrokeEndLineCap="Triangle" X1="30" Y1="160" X2="30" Y2="160.1" />
<Line Stroke="Black" StrokeThickness="5" StrokeStartLineCap="Triangle"
StrokeEndLineCap="Triangle" X1="30" Y1="200" X2="30" Y2="200.1" />
<Line Stroke="Black" StrokeThickness="5" StrokeStartLineCap="Triangle"
StrokeEndLineCap="Triangle" X1="40" Y1="160" X2="40" Y2="180" />
<Line Stroke="Black" StrokeThickness="5" StrokeStartLineCap="Triangle"
StrokeEndLineCap="Triangle" X1="40" Y1="180" X2="40" Y2="200" />
</Canvas>
In both case the rendering isn't perfect, but looks better with 3 lines (but it
should be possible to get the same results with 2 lines, one very short, one as
long as needed).
Of course performance would suffer a bit but this (different caps) doesn't seem
to be a common case and many shapes don't support them (e.g. ellipses).
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the mono-bugs
mailing list