Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ Library support » Draw, Display, Images, Bitmaps, Icons » Paint dashed polyline
Re: Paint dashed polyline [message #34660 is a reply to message #34656] Sun, 04 December 2011 11:40 Go to previous messageGo to previous message
dolik.rce is currently offline  dolik.rce
Messages: 1789
Registered: August 2008
Location: Czech Republic
Ultimate Contributor

koldo wrote on Sun, 04 December 2011 00:39

Hello all

I wanted to paint a dashed polyline, but code like this does not work properly.

How could you do it?

void DrawPolyline(Painter& w, const Vector<Point> &p)
{
	for (int i = 1; i < p.GetCount(); ++i) 
		w.Move(p[i-1]).Line(p[i]).Stroke(2, Black()).Dash("5 2");
}


Hi Koldo!
I think you should call Dash() before Stroke(). Also you don't have to call it after each segment - it will make nicer dashing at the vertices.

So I would write the code like this:
void DrawPolyline(Painter& w, const Vector<Point> &p)
{
	if(!p.GetCount()) return;
	w.Move(p[0]);
	for (int i = 1; i < p.GetCount(); ++i) 
		w.Line(p[i]);
	w.Dash("5 2").Stroke(2, Black());
}


Best regards,
Honza
 
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Problem with polygon inside polygon... in Painter
Next Topic: How to use the same .iml from multiple source files.
Goto Forum:
  


Current Time: Sat Apr 27 23:12:51 CEST 2024

Total time taken to generate the page: 0.04981 seconds