I've been giving bounding boxes more thought, and it seems like there are actually three different kinds of bounding boxes required in Inkscape:
- GEOMETRIC: the bounding box of the path data, without stroking -- this is what the SVG standard means by "bounding box"; it is not reduced by clipping
- INTERACTION: the bounding box with stroke, plus (maybe) visual things like the filter effects region; it _may_ be reduced by clipping
- VISUAL: the bounding box with stroke, _including miter joins_, and things like the filter effects region, it has to be be reduced by clipping
The idea is that GEOMETRIC will be used to satisfy the SVG specification, while INTERACTION defines the region that a user can "grab on to", and VISUAL defines the region within which e.g. all affected pixels fall.
-mental
On 1/9/07, MenTaLguY <mental@...3...> wrote:
- GEOMETRIC: the bounding box of the path data, without stroking --
this is what the SVG standard means by "bounding box"; it is not reduced by clipping
- INTERACTION: the bounding box with stroke, plus (maybe) visual things
like the filter effects region; it _may_ be reduced by clipping
- VISUAL: the bounding box with stroke, _including miter joins_, and
things like the filter effects region, it has to be be reduced by clipping
The idea is that GEOMETRIC will be used to satisfy the SVG specification, while INTERACTION defines the region that a user can "grab on to", and VISUAL defines the region within which e.g. all affected pixels fall.
We already have the "visual" one - it is created and consumed within the display engine; and it obviously works, miters and all, for otherwise we would be drowned in display artefacts. However, I'm not so sure about the idea of making the user-visible bbox any different. It is different now (no miters for example), but it's always been a source of little annoyances and inconsistencies. Why can't we just reuse the "visual" as "interactive"?
bulia byak wrote:
We already have the "visual" one - it is created and consumed within the display engine; and it obviously works, miters and all, for otherwise we would be drowned in display artefacts.
I have just discovered several artefacts with very long mitres.
Filed as bug 1632367.
Dan
On Tue, 2007-01-09 at 05:19 -0500, bulia byak wrote:
We already have the "visual" one - it is created and consumed within the display engine; and it obviously works, miters and all, for otherwise we would be drowned in display artefacts. However, I'm not so sure about the idea of making the user-visible bbox any different. It is different now (no miters for example), but it's always been a source of little annoyances and inconsistencies. Why can't we just reuse the "visual" as "interactive"?
That'd be fine. It's just that the current bbox calculation doesn't always include miters.
-mental
participants (3)
-
bulia byak
-
Daniel Pope
-
MenTaLguY