[Newbies] Project on squeak language
roger mpouma
rmpouma at gmail.com
Mon Aug 22 16:23:40 UTC 2016
I modified methods:
addCustomMenuItems: aCustomMenu hand: aHandMorph
super addCustomMenuItems: aCustomMenu hand: aHandMorph.
aCustomMenu add: 'clear' action: #clear.
drawColor := Color red. //modification
drawColor := Color yellow. //modification
drawColor := Color green. //modification
drawColor := Color blue. //modification
initialize
super initialize.
self extent: 500 at 700.
drawColor := Color black.
mouseDown: evt
brush := Pen newOnForm: form.
brush roundNib: 2.
brush color: drawColor.
//modification
lastMouse := evt cursorPoint - bounds origin.
brush drawFrom: lastMouse to: lastMouse.
self invalidRect:
((lastMouse - brush sourceForm extent corner:
lastMouse + brush sourceForm extent)
translateBy: bounds origin).
The initial color is black.
When i click the command "change color" on the menu and i chose for
example the green color, the result is the blue color. I don't understand
why ?
And after the first choice, i must restart the program with the Workspace
for change another color. So i can't make several choices at the same time.
How can I solve these problems ? and to change size of the brush ?
Thank you in advance.
2016-08-21 3:14 GMT+02:00 Ron Teitelbaum <ron at usmedrec.com>:
>
>
>
>
> *From:* roger mpouma
> *Sent:* Saturday, August 20, 2016 2:42 PM
>
>
>
> How can i make this please ?
>
> I thought to add "color" and "size" commands as "clear" command in the
> custom menu code. After that, add "color" and "size" methods...
>
> *[Ron Teitelbaum] *
>
> *What I was thinking is making buttons on the panel. Color buttons with a
> highlight around it so you can see what is selected. You could instead add
> something like Red or Blue to the menu.*
>
>
>
> *On your class add some instance variable called drawColor or something
> like that.*
>
>
>
> *When the menu item Red is called you would do *
>
>
>
> *drawColor := Color red.*
>
>
>
> *Then in mouseDown:*
>
>
>
> brush color: drawColor.
>
>
>
> Initialize your color to something like black
>
>
>
> Initialize
>
>
>
> drawColor := Color black.
>
>
>
> So that the user is not required to use the menu to get the default color
> (black).
>
>
>
> Hope that helps,
>
>
> Ron
>
>
>
> 2016-08-20 20:26 GMT+02:00 Ron Teitelbaum <ron at usmedrec.com>:
>
> Have you considered having a menu bar with colors and line sizes. The
> users can select the color and line size which will change your program to
> use those settings.
>
>
>
> All the best,
>
>
>
> Ron Teitelbaum
>
>
>
> *From:* beginners-bounces at lists.squeakfoundation.org [mailto:
> beginners-bounces at lists.squeakfoundation.org] *On Behalf Of *roger mpouma
> *Sent:* Saturday, August 20, 2016 1:51 PM
> *To:* A friendly place to get answers to even the most basic questions
> about Squeak.
> *Subject:* Re: [Newbies] Project on squeak language
>
>
>
> 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 at 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 <bert at freudenbergs.de>:
>
> 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 <rmpouma at gmail.com> 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
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
>
>
>
> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
>
>
>
> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
>
>
> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20160822/479f2c31/attachment-0001.htm
More information about the Beginners
mailing list