On Mon, Apr 4, 2016 at 11:45 PM, Igor Stasenko <[email protected]> wrote:
> > > On 4 April 2016 at 23:17, stepharo <[email protected]> wrote: > >> Doru >> >> I have the impression that >> clipping and interaction can be defined by a "shape" >> then the drawing can be either drawn in a canvas or delegate to something >> else (for example for the cursor if there is an hardware rendering). >> >> I like this discussion and the feedback of igor because he is kicking our >> asses much better than me in fact >> because he has real argument while I just got feelings :) >> >> It is easy to kick asses.. much easier than doing things. > And please, explain to guys, that i am not some kind of trolly crazy angry > idiot, who sits in the corner making giggles and throwing paperballs into > student(s), because its fun. > It is because i also made similar mistakes, or have to fix other's > mistakes at own time, and really don't want people repeating them over and > over again, like ShadowCanvas, now its ShadowPaint. > yes, shadow should not be a paint. We discussed and decided to change that a few month ago just forgot to remove it. Cheers, Andrei > > > >> Stef >> >> Le 4/4/16 19:10, Tudor Girba a écrit : >> >> Hi, >>> >>> Indeed, this was not clear. The original idea of the shape was to be >>> primarily responsible for the clipping, but in the meantime the stroke and >>> fill filtered in the implementation. Alex, Andrei and I will now change the >>> “shape” to only be responsible for clipping and leave the drawing to the >>> element. We will also propose a solution for dealing with drawing and >>> interaction. >>> >>> Please stay tuned and thanks for this discussion. >>> >>> Cheers, >>> Doru >>> >>> >>> On Apr 4, 2016, at 9:00 AM, stepharo <[email protected]> wrote: >>>> >>>> I saw in bleedingEdge it is different and looks better. >>>> Now I was wondering why shape did not do the rendering and I thought >>>> that this is may be because a shape can be used for doing something else >>>> than rendering. For example clipping or as igor mentioned defining the >>>> shape of the interaction >>>> >>>> >>>> >>>> drawOnSpartaCanvas: aCanvas >>>> "Actually render receiver on aCanvas in local bounds. >>>> Override to customize. >>>> aCanvas is an instance of AthensCanvas >>>> aCanvas must not be nil" >>>> >>>> self assert: self shape path context isNotNil. >>>> >>>> aCanvas >>>> clipPreserveBy: self shape during: [ >>>> aCanvas paintGroup: [ >>>> aCanvas setPaint: self shape fillPaint. >>>> aCanvas fillPreserve. >>>> aCanvas paintMode source. >>>> aCanvas setStrokePaint: self shape strokePaint. >>>> aCanvas stroke ] ] >>>> >>>> >>>> >>>> unprotectedFullDrawOnSpartaCanvas: aCanvas >>>> "Draw the full structure on the given Canvas withing drawing bounds >>>> without caring about any errors and visibility. I am responsible for >>>> clipping and transforming canvas's path to local coordinates >>>> to allow simpler actual drawing in drawOnAthensCanvas: >>>> Additional checks should be implemented in fullDrawOnAthensCanvas: >>>> aCanvas is an instance of AthensCanvas. >>>> aCanvas must not be nil. >>>> @see BlElement>>#fullDrawOnAthensCanvas: >>>> @see BlElement>>#drawOnAthensCanvas:" >>>> self shape adaptTo: self. >>>> self shape path context: aCanvas. >>>> >>>> aCanvas >>>> transform: self transformation >>>> during: [ >>>> self clippingStrategy >>>> clip: self >>>> on: aCanvas >>>> during: [ self drawOnSpartaCanvas: aCanvas ] >>>> childrenDuring: [ self drawChildrenOnSpartaCanvas: >>>> aCanvas ] ] >>>> >>>> -- >>> www.tudorgirba.com >>> www.feenk.com >>> >>> "To utilize feedback, you first have to acquire it." >>> >>> >>> >>> >> >> > > > -- > Best regards, > Igor Stasenko. >
