Re: [LIBART] Working on new canvas item...
- From: Lauris Kaplinski <lauris helixcode com>
- To: James "K. Wiggs" <wiggs novum-millennium org>
- Cc: Raph Levien <raph acm org>, gnome-list gnome org, libart gnome org
- Subject: Re: [LIBART] Working on new canvas item...
- Date: 27 Oct 2000 19:50:24 -0100
Hello!
> > Hmmm. Should I explicitly start the path with an ART_MOVETO_OPEN
> > instead of an ART_MOVETO, given that it is an unclosed path? Or will
> > it make any difference?
It should make a difference, although I am not 100¨† ¨†@ure, how libart
handles stroking closed paths whose start != end. Anyway, ART_MOVETO_OPEN
is certainly the right thing.
> Yes, actually, it helped quite a bit. I'm getting things that look
> more or less like a pricebar now, but still getting the occasional one
> that has a large block attached to it. I suspect this is related to
> the debugging output I'm getting along with it, where I'm getting a
> bunch of messages of the form:
>
> colinear!
> colinear!
<snip>
Try inserting:
perturbed_vpath = art_vpath_perturb (vpath);
Before stroking your vpath. Libart (at least the one distributed with
gnome-libs) is not always happy with straight
horizontal/vertical lines - perturb make these slanted, adding
microscopic disturbances to points.
> And so on. These appear to be coming from subroutines contained
> in the file art_svp_wind.c, but I can't clearly tell what those two
> routines (x_order and x_order_2) are doing. Now, the problem may
> be due to the values I'm passing to art_svp_vpath_stroke(), also.
> I'm using:
>
> art_svp_vpath_stroke( vpath2,
> ART_PATH_STROKE_JOIN_MITER,
> ART_PATH_STROKE_CAP_SQUARE,
> pbar->width, 1.0, 1.0 );
>
> I simply dropped in 1.0 for the miter_limit and flatness values,
> not knowing what would be rational numbers. Given that the object
> I'm drawing is just a set of straight lines, which will always be
> rectilinear, what would be the cleanest and most efficient values
> to pass, here?
Those shouldn't make any difference.
Miter-limit is minimum angle between segments, with results mitered
join. Usual is 11.0 or similar - that gives visually pleasant picture,
without long triangles stretching out from picture.
Flatness should determine, how well rounded corners and endpoints
are generated. Usual value is 0.25 - but is you have miter/bevel/square/
butt it does not make difference.
Lauris
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]