I have already implemented the canvas on which we draw, the possibility of
drawing with the brush but with only a single color and a single size, a
capacity to erase what we have already drawn with the "Clear" command on
the custom menu code.
So, i'd like to add the possibility of changing the color and the size of
the brush presenting the choices of color and brush size.
The differents methods are:
"Methods"
extent: aPoint
| newForm |
super extent: aPoint.
newForm := Form extent: self extent depth: 16.
newForm fillColor: Color veryLightGray.
form ifNotNil: [form displayOn: newForm].
form := newForm.
initialize
super initialize.
self extent: 500@350.
drawOn: aCanvas
aCanvas image: form at: bounds origin.
handlesMouseDown: evt
^ true
mouseDown: evt
brush := Pen newOnForm: form.
brush roundNib: 3.
brush color: Color red.
lastMouse := evt cursorPoint - bounds origin.
brush drawFrom: lastMouse to: lastMouse.
self invalidRect:
((lastMouse - brush sourceForm extent corner:
lastMouse + brush sourceForm extent)
translateBy: bounds origin).
mouseMove: evt
| p |
p := evt cursorPoint - bounds origin.
p = lastMouse ifTrue: [^ self].
brush drawFrom: lastMouse to: p.
self invalidRect: ((
((lastMouse min: p) - brush sourceForm extent) corner:
((lastMouse max: p) + brush sourceForm extent))
translateBy: bounds origin).
lastMouse := p.
addCustomMenuItems: aCustomMenu hand: aHandMorph
super addCustomMenuItems: aCustomMenu hand: aHandMorph.
aCustomMenu add: 'clear' action: #clear.
clear
form fillColor: Color veryLightGray.
self changed.
"Class PaintMorph"
Morph subclass: #PaintMorph
instanceVariableNames: 'form brush lastMouse'
classVariableNames: ''
poolDictionaries: ''
category: 'Morphic-Fun'
"Workspace"
PaintMorph new openInWorld.
Thank you in advance.
2016-08-20 18:47 GMT+02:00 Bert Freudenberg <[email protected]>:
> Sure. Just ask some specific questions - e.g. what you tried, what worked,
> what didn't etc.
>
> - Bert -
>
> On Sat, Aug 20, 2016 at 10:59 AM, roger mpouma <[email protected]> wrote:
>
>> Hello,
>> I need help for a drawing project on Squeak. I'd like implement a canvas
>> on which we draw with the possibility of drawing with brush changing the
>> color and size of the brush. Is it possibile to have help ?
>>
>> Thank you in advance.
>> _______________________________________________
>> Beginners mailing list
>> [email protected]
>> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>>
>>
>
> _______________________________________________
> Beginners mailing list
> [email protected]
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
>
_______________________________________________
Beginners mailing list
[email protected]
http://lists.squeakfoundation.org/mailman/listinfo/beginners