New brush dialog

enki enkithan at free.fr
Tue Jun 22 15:45:14 CEST 2010


On 21/06/2010 23:27, LukasT.dev at gmail.com wrote:
> On Monday, June 21, 2010 21:17:46 Boudewijn Rempt wrote:
>    
>> On Thursday 17 June 2010,LukasT.dev at gmail.com  wrote:
>>      
>>> Problem:
>>> 1.find correct names - both Brush Tip and and Spray shape are Particle
>>> types. How to call them?
>>>        
>> Brush Tip and Spray Shape?
>>      
> That's wondering question or suggestion?
>
>    
>>> 2. Small problem - hide spacing from GUI as spacing is not used by spray
>>> (similary for the hairy brush), spacing is not part of the brush mask
>>> definition used by particle based brush engines usually, spray has
>>> defined area with own spacing.
>>>        
>> You can get the widget through the tree by checking its name (it needs to
>> be named, of course) and then hide it. It's a bit hacky, we could also add
>> api for that. But I'm fine with the hacky approach for now.
>>      
> I think adding API should not be a problem here. Something like
> setShowSpacing(). I will try it.
>
>    
>>> This is interesting: it is possible to define the area of spray by pixel
>>> map - brush footprint - brush mask: every pixel means a place for
>>> particle and opacity of pixel is saying what is the probability that
>>> particle will hit that place (0% to 100%). So spray would use the brush
>>> dialog twice - as particle type [spacing hidden] and as brush size [with
>>> spacing]. Something similar would be possible for hairy brush - so far
>>> Brush Tip define bristles, and every bristle could be some Brush Tip
>>> (now it is pixel or anti-aliased pixel)
>>>        
>> Eeek... Would even a very advanced user understand that?
>>      
> I don't know -- enki, do you understand this concept?
>
>    
I thought it was already working like that for the hairy brush, but it 
just changes the opacity actually :)
Yeah I think it make sense for spray, because using a regular "opacity" 
mask would cut particles at the border of the mask.

>>> Just a note to why it is good to be able to hide spacing :)
>>>
>>> Solution for the future:
>>> QPainterPath based type KisBrush for circle, rectangle, random shape -
>>> can be used by any brush engine as it is brush type footprint
>>>
>>> I don't know what to do with Pixel and Anti-aliased pixel (Wu particle)
>>> and QImage in the Spray shape dialog
>>>        
>> Just keep them apart. Maybe in a separate tab that we can add to the brush
>> tip option sheet?
>>      
> Separate tab would mean that either the tab would be hidden for other brush
> engines like Pixel Brush or the pixel type have to be KisBrush - performance
> might be problem here :) or some new API like new enum to enumBrushType
> (Pixel, WuPixel) and add code for rendering it to the engines (again KisBrush,
> but simpler).
>    
I would put them in another tab too. In the current UI, it hard to 
understand that Brush Tip and Spray Shape are conflicting settings.
By the the way, Aliased Pixels can be done by using a 1 pixel diameter 
Autobrush. So that only leave Anti-aliased Pixel.



More information about the kimageshop mailing list