protection masks and selections

Boudewijn Rempt boud at valdyas.org
Sat May 19 17:59:45 CEST 2007


On Saturday 19 May 2007, Casper Boemann wrote:
> Hi
>
> I' have some things we need to discuss about selections and masks
>
> I have changed soem code so that we now has selections (as we know them)
> and the bennings of protection masks. This is how we decided on irc some
> months ago.

Um... Maybe it would have been useful to wait a few hours until I was able to 
go online again. Then I could have been part of the discussion.

> http://wiki.koffice.org/index.php?title=Krita/SelectionsMasks
>
> Thomas Zander asked today on irc: if this cool technical ability has been
> thought through with regards that the user will actually understand the
> user interface for it.  It seems a bit too complex to show to the user.

Well, I wasn't there today, I had other things to do. As far as I'm concerned, 
we don't need global selections, just per-layer selections that can be moved 
to the root group layer. I think the global selection is a relict from the 
ancient MacPaint days and I have seen non-technical users get horribly 
confused by it.

> Wheras we decided to have:
> - global selection
> - layer specific selection
> - protection masks
> - opacity masks
> - effect masks
>
> Now I wonder if we are indeed going overboard in complexity here. Do we
> really need protection masks AND per layer selections. To me they kind of
> fill the same gap.

I'm not sure about protection masks, but, as I've said before, the technical 
difference between a mask and a selection is negligable. The main reason why 
I made both selections in KisPaintDevice KisSelection instances was to make 
it easier to implement the relevant functionality in the iterators. I'll have 
to check your commit to see whether it makes sense...

> Personally i would be happy to just do like Photoshop and only have global
> selection, but at the very least i think we should forget about either
> layer specific selection or protection mask.

I think Photoshop is backwards here. I'm not sure whether the protection mask 
is such a hot idea; or rather, what the added value is of having both 
write-selections and read-write selections on the same paint device (since 
that's what we're talking about here -- the difference between mask and 
selection being nil).

> One thing about having both a global selection and a local selection we
> havn't discussed is how to combine those. Is it AND or OR (I don't imagine
> other boolean ops are worth considering) of the selected areas

Just a simple COMPOSITE_OVER. I.e, a pixel that's selected globally for 50% on 
the root group layer and 50% on the layer is 100% selected.

> If we keep protection masks we would need to change the iterators from
> having a selectedness() method to having readabillity() and writabillity()
> methods as those values could be different. That would mean some porting
> though we could do it in steps by just deprecating selectedness().

Yes, that was in my work plan. There's even some XXX in the iterators to be 
indicate that.

-- 
Boudewijn Rempt 
http://www.valdyas.org/fading/index.cgi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kimageshop/attachments/20070519/ee9f15e9/attachment.pgp 


More information about the kimageshop mailing list