Re: [Newbies] Project on squeak language
an 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 <r...@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-boun...@lists.squeakfoundation.org [mailto: > beginners-boun...@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@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 <b...@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 <rmpo...@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@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > > > > ___ > Beginners mailing list > Beginners@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > > > > ___ > Beginners mailing list > Beginners@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > > > > ___ > Beginners mailing list > Beginners@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > > > > ___ > Beginners mailing list > Beginners@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > > > ___ > Beginners mailing list > Beginners@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > ___ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
RE: [Newbies] Project on squeak language
am to use those settings. All the best, Ron Teitelbaum From: beginners-boun...@lists.squeakfoundation.org [mailto:beginners-boun...@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@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 <b...@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 <rmpo...@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@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners ___ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners ___ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners ___ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners ___ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners ___ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
Re: [Newbies] Project on squeak language
Hi Ron, I solved my problem, thank you for your help. I got one more question, how can i add the possibility to erase parts of what i have already drawn as item "clear" but just parts of the drawing ? 2016-08-22 18:45 GMT+02:00 Ron Teitelbaum <r...@usmedrec.com>: > Hi Roger! > > > > That was a nice try! > > > > 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 > > *[Ron Teitelbaum]* > > *What this does is create a menu with one item clear and then it sets the > drawColor to red yellow green and then blue. Since blue is the last color > you end up with blue.* > > *Try creating drawRed, drawYellow, drawGreen, and drawBlue methods* > > *For example* > > *drawRed* > > * drawColor := Color red.* > > *Now add to your menu properly.* > > aCustomMenu add: 'clear' action: #clear. > aCustomMenu add: 'red' action: #drawRed. > > *Where add is what you see in your menu and action is what happens when > you select the menu item. (it calls: self drawRed)* > > *Do that with all your colors and you should be all set!* > > *You can also add menu items to adjust the size of the brush. Maybe make > small brush, medium brush and large brush menu items? Works the same way > as changing color. You need a brushSize instance variable. And initialize > brushSize := 2.* > > *All the best,* > > > *Ron Teitelbaum* > initialize > super initialize. > self extent: 500@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 <r...@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 <r...@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-boun...@lists.squeakfoundation.org [mailto: > beginners-boun...@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
RE: [Newbies] Project on squeak language
Hi Roger! That was a nice try! 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 [Ron Teitelbaum] What this does is create a menu with one item clear and then it sets the drawColor to red yellow green and then blue. Since blue is the last color you end up with blue. Try creating drawRed, drawYellow, drawGreen, and drawBlue methods For example drawRed drawColor := Color red. Now add to your menu properly. aCustomMenu add: 'clear' action: #clear. aCustomMenu add: 'red' action: #drawRed. Where add is what you see in your menu and action is what happens when you select the menu item. (it calls: self drawRed) Do that with all your colors and you should be all set! You can also add menu items to adjust the size of the brush. Maybe make small brush, medium brush and large brush menu items? Works the same way as changing color. You need a brushSize instance variable. And initialize brushSize := 2. All the best, Ron Teitelbaum initialize super initialize. self extent: 500@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 <r...@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 <r...@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-boun...@lists.squeakfoundation.org [mailto:beginners-boun...@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@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:
Re: [Newbies] Project on squeak language
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@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 <r...@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 <r...@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-boun...@lists.squeakfoundation.org [mailto: > beginners-boun...@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@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)) >
RE: [Newbies] Project on squeak language
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 <r...@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-boun...@lists.squeakfoundation.org [mailto:beginners-boun...@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@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 <b...@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 <rmpo...@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@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners ___ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners ___ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners ___ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
Re: [Newbies] Project on squeak language
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... 2016-08-20 20:26 GMT+02:00 Ron Teitelbaum <r...@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-boun...@lists.squeakfoundation.org [mailto: > beginners-boun...@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@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 <b...@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 <rmpo...@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@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > > > > ___ > Beginners mailing list > Beginners@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > > > ___ > Beginners mailing list > Beginners@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > ___ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
RE: [Newbies] Project on squeak language
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-boun...@lists.squeakfoundation.org [mailto:beginners-boun...@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@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 <b...@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 <rmpo...@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@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners ___ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners ___ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
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@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: > 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 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@lists.squeakfoundation.org >> http://lists.squeakfoundation.org/mailman/listinfo/beginners >> >> > > ___ > Beginners mailing list > Beginners@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > ___ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
Re: [Newbies] Project on squeak language
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 mpoumawrote: > 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@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > ___ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners