Comment 9 for bug 196453

Revision history for this message
bbyak (buliabyak) wrote : Re: [Bug 196453] Re: items with 0% opacity are not click-sensitive

On Mon, Jun 30, 2008 at 10:42 AM, Textureglitch <email address hidden> wrote:
> Yes, setting the opacity to 0% and then back again is EXACTLY what I
> want to do, but I can't do that because the moment I click something
> else, I can't get back to the object. Keeping it selected is not a
> solution, I want to do other things to my image while the object is
> invisible, and the fact that I can't even move it around while it is
> invisible is also a major source of frustration.

Again: work in Outline mode, or hide that layer, or just move it away
temporarily. Lots of ways to do what you want.

> As for working on other people's images, I think that's just yet another
> reason that 0% opacity objects shouldn't be hidden. How are you ever
> going to find those objects again? Do you check all images you get from
> other people for hidden objects?

Of course. It's always a good idea to use Outline mode to check for
lost things. Remember, even if I do what you're proposing for 0%
opacity objects, there will be still no-fill no-stroke ones that can
be lost just as easily, so this checking is never redundant.

> Like you said, one quickly forgets about all the hidden things, so
> making them unselectable just makes that even worse.

No, it makes it consistent. If you lost it, you lost it: at least it
won't bother you by preventing you to click things under it :)
Ctrl+NumPad5 and you will see everything you have lost :)

> At least when you
> click an invisible object and you see a selection frame around something
> you didn't expect, you know that there is an invisible object there.

Normally, I know that. I don't need reminding that it's there.
Moreover I likely made it 0% opacity for this very reason: so it does
not get in my way, in any sense.

> I fiddled around a bit with the 'hide' property and this is pretty much what I was talking about earlier. So it seems like the functionality for hiding objects in the way that you want for splicing is already there (if a bit more hidden. I couldn't even select the hidden object with Tab or a drag box).

Yes, that hiding is a bit more aggressive. One might argue about
whether a 0% object should be selectable by drag around, for example.

> Hiding an object as a property makes perfect sense! Even in the property dialog box the ability to 'hide' an object is clearly a boolean property, but somehow you're saying that the same boolean property should exist between 'opacity 0%' and opacity '1-100%'?

Yes, zero opacity vs nonzero opacity sounds like a nice boolean
property to me :)

> I could also mention that the Inkscape documentation says nothing about this hiding property on the opacity page, but that's a minor issue. What bothers me is that no documentation I can find on Alpha blending, or in the Inkscape documentation, or in any descriptions, or glossaries, or anything that define Alpha channels, opacity, or transparency say anything about hiding objects.

Of course you won't find it anywhere but in Inkscape documentation
(when we add it there). Selecting and clicking are Inkscape concepts,
we have full freedom to interpret them as is most convenient to us.

> I still insist that an object which you set to let light pass through at the maximum level should not suddenly be turned into an
> empty,

what do you mean - must it be full? full of what? :)

> unclickable,

yes it must, because clicking and seeing are naturally linked - you
cannot e.g. point your finger at something you cannot see :)

> unmovable frame

it is perfectly movable, once you select it for which as I said there
are many different methods. Use arrow keys, or X/Y numeric fields, or
Alt+drag in Selector to move it. Or, again, go to Outline mode.

> If you want consistency, what about gradients? If I set a gradient with 255 Alpha at the top and 0 Alpha at the bottom, by your logic, shouldn't Inkscape actually shrink the object because the bottom part is now hidden?

No "shrinking" of course, nor are 0% objects "shrinked" in any sense.
But ideally the flat zero-opacity areas in gradients must not be
clickable, they must pass clicks through them. Unfortunately it's not
implemented yet. But it is implemented for bitmaps: import a PNG with
transparency and you'll see that its fully transparent areas are not
clickable.

> My argument here is very simple: The current 0% opacity setting makes no logical sense, it makes no intuitive sense, and it violates rules of consistent UI design.

My argument is very simple too, and it's a direct reverse of yours :)

> The opacity slide bar is in a *color selection* menu. As a user, I don't expect that changing the color, fill and opacity of my object will make it behave fundamentally different.

This is incorrect: once again, setting no fill and no stroke (in the
same Fill and Stroke dialog) produces exactly the same change in
behavior. And it makes sense.