Hi, > On Apr 3, 2016, at 12:46 AM, Aliaksei Syrel <[email protected]> wrote: > > I'm pretty sure we don't understand a meaning of composition identically. > This is how I understand it: > > https://en.m.wikipedia.org/wiki/Composition_(visual_arts) > > "In graphic design for press and desktop publishing composition is commonly > referred to as page layout." > > Design for press is inspiration of modern ui design techniques, for example > material design. > > Concentrate on "page layout". Then comes the following question: if > composition is archived through layout of elements why Stef tries to manually > draw shapes instead of composing two elements? > Howto: > 1) Create an element with rectangle shape. > 2) Create an element with circle shape. > 3) Add circle element to rectangle element. > 4) Change layout params of the circle element to match parent both vertically > and horizontally > 5) if needed set padding/margin. > > There is even no need to care about drawing if it's complicated.
That is exactly the point :). I think for such scenarios we should encourage people to use composition of elements. I think that Stef has a use case of the way the element should look like in the end, and he wants to get it done, and I think we should provide examples that guide him to what the best route should be. Anyway, this probably reveals the miscommunication. @Stef: did you want to necessarily play with the low level drawing, or do you just want to get to an element with a rectangle that has a circle inside? Cheers, Doru > On Apr 3, 2016 12:26 AM, "Tudor Girba" <[email protected]> wrote: > Hi Alex, > > I think that Stef is looking for a composition example. Could you please > provide an example that is more canonical and shows the composition of two > elements instead of playing with both drawOnSpartaCanvas and the shape? > > Cheers, > Doru > > > > On Apr 2, 2016, at 8:17 PM, Aliaksei Syrel <[email protected]> wrote: > > > > How to make square element with filled circle inside: > > > > 1) Subclass BlElement -> BlCell > > 2) Override > > drawOnSpartaCanvas: aCanvas > > super drawOnSpartaCanvas: aCanvas. > > aCanvas > > setShape: self localBounds; > > setStrokePaint: Color blue; > > stroke > > > > 3) Override initialize to have circle shape: > > initialize > > super initialize. > > self shapeDo: [ :aShape | aShape > > path: BlCirclePath new; > > fillPaint: Color red ]. > > 4) Open cell in word > > > > Easy :) > > > > -- > www.tudorgirba.com > www.feenk.com > > "We can create beautiful models in a vacuum. > But, to get them effective we have to deal with the inconvenience of reality." > > -- www.tudorgirba.com www.feenk.com "Innovation comes in the least expected form. That is, if it is expected, it already happened."
