Bonjour,
Je suis en train d’essayer de réaliser un logiciel de dessin avec Squeak (version 4.3).
A l'aide d'Internet et de mes recherches j'ai réussi à réaliser une grande partie mais il y a deux choses que je n'arrive pas à faire.
J'aimerais pouvoir changer la couleur du pinceau ainsi que sa taille en rajoutant une option pour chaque dans le menu (comme pou clear).
Voilà le code :
Pour rajouter les options je modifie la méthode comme cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74 ~~~~~~~PicoDrawing~~~~~~~ "Subclass" Object subclass: #NameOfSubclass instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Morphic-Fun' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "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. handlesMouseDown: evt ^ true drawOn: aCanvas aCanvas image: form at: bounds origin. 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. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "Workspace" PicoPaintMorph new openInWorld.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 addCustomMenuItems: aCustomMenu hand: aHandMorph super addCustomMenuItems: aCustomMenu hand: aHandMorph. aCustomMenu add: 'clear' action: #clear. aCustomMenu add: 'couleur' action: #couleur. aCustomMenu add: 'taille' action: #taille.
Mais je n'ai pas réussi a rendre les méthodes couleur et taille fonctionnelles...
Est-ce que quelqu'un pourrais m'aider ? J'ai clairement épuisée toutes mes ressources et Google (Pas bcp de trucs sur Squeak :/ )
Partager