Bug 25791

Summary: creation of a whole path with different parts
Product: cairo Reporter: Volker <volkerobhof>
Component: generalAssignee: Carl Worth <cworth>
Status: RESOLVED MOVED QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: enhancement    
Priority: medium    
Version: 1.9.5   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: my improvement how it could look like

Description Volker 2009-12-24 12:20:02 UTC
Created attachment 32287 [details]
my improvement how it could look like

Hello.

I think it would be great to be possible to draw a whole path with different style options.

Here is a sample how it is created normally (like in the "dash" sample of the homepage http://www.cairographics.org/samples/dash/).

Well like you can see this code every line part has the same format.


Here is my improvement:
It should look like the sample image on the homepage but the first line from position (128.0, 25.6) to (230.4, 230.4) should be drawn solid and from the related line the dash should used but with the correct corners like in the sample.

double dashes[] = {50.0,  /* ink */
                   10.0,  /* skip */
                   10.0,  /* ink */
                   10.0   /* skip*/
                  };
int    ndash  = sizeof (dashes)/sizeof(dashes[0]);
double offset = -50.0;


cairo_move_to (cr, 128.0, 25.6);
cairo_line_to (cr, 230.4, 230.4);

cairo_set_dash (cr, dashes, ndash, offset);
cairo_set_line_width (cr, 10.0);
cairo_rel_line_to (cr, -102.4, 0.0);
cairo_curve_to (cr, 51.2, 230.4, 51.2, 128.0, 128.0, 128.0);

cairo_stroke (cr);


Well you normally could draw a new path for the related line but then the corners won't be correct like in the sample image.

Or would be also good to extend the line functions that in these a format like a dash, line width, line color or something else can be set. 

So it could look like the picture I attached.
Comment 1 GitLab Migration User 2018-08-25 14:02:55 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/cairo/cairo/issues/331.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.