... | ... |
@@ -7,10 +7,7 @@ |
7 | 7 |
- Only draw-canvas when mouse has changed |
8 | 8 |
- Only draw-canvas target tile |
9 | 9 |
- Resize buttons |
10 |
- - Zoom |
|
11 | 10 |
- Clear all button |
12 |
- - Toggle guides |
|
13 |
- - Complete save/load |
|
14 | 11 |
- Limit size |
15 | 12 |
- Draw point inbetween |
16 | 13 |
- Pixel cleanup brush |
... | ... |
@@ -29,6 +26,7 @@ |
29 | 26 |
;cursor { x 2 y 2 x0 2 y0 2 size 1 patt 1 drag 1 zoom 1 } |
30 | 27 |
;zoom { x 2 y 2 } |
31 | 28 |
;rect { x1 2 y1 2 x2 2 y2 2 } |
29 |
+;origin { x1 2 y1 2 x2 2 y2 2 } |
|
32 | 30 |
;color { byte 1 } |
33 | 31 |
;pos { x 2 y 2 } |
34 | 32 |
;pix { x 2 y 2 } |
... | ... |
@@ -70,7 +68,7 @@ BRK |
70 | 68 |
|
71 | 69 |
( release drag ) |
72 | 70 |
,$no-release ~Mouse.state #00 EQU ~cursor.drag #01 EQU #0101 NEQ2 JMP2? |
73 |
- #0000 #0000 ~Screen.width ~Screen.height #00 ,fill-rect JSR2 |
|
71 |
+ ~origin.x1 #0002 SUB2 ~origin.y1 #0002 SUB2 ~origin.x2 #0002 ADD2 ~origin.y2 #0002 ADD2 #00 ,fill-rect JSR2 |
|
74 | 72 |
~canvas.x1 -- ~canvas.y1 -- ~canvas.x2 ~canvas.y2 #10 ,line-rect JSR2 |
75 | 73 |
,draw-background JSR2 |
76 | 74 |
,fit-canvas JSR2 |
... | ... |
@@ -82,6 +80,12 @@ BRK |
82 | 80 |
|
83 | 81 |
( drag ) |
84 | 82 |
,$no-drag ~Controller #02 NEQ JMP2? |
83 |
+ ,$no-drag-start ~cursor.drag #00 NEQ JMP2? |
|
84 |
+ ~canvas.x1 =origin.x1 |
|
85 |
+ ~canvas.y1 =origin.y1 |
|
86 |
+ ~canvas.x2 =origin.x2 |
|
87 |
+ ~canvas.y2 =origin.y2 |
|
88 |
+ $no-drag-start |
|
85 | 89 |
~canvas.x1 -- ~canvas.y1 -- ~canvas.x2 ~canvas.y2 #10 ,line-rect JSR2 |
86 | 90 |
~canvas.x1 ~Mouse.x ~cursor.x0 SUB2 ADD2 =canvas.x1 |
87 | 91 |
~canvas.y1 ~Mouse.y ~cursor.y0 SUB2 ADD2 =canvas.y1 |
... | ... |
@@ -120,12 +124,12 @@ BRK |
120 | 124 |
#0000 NEQ2 ,$no-toggle-zoom ROT JMP2? |
121 | 125 |
~cursor.zoom #00 EQU =cursor.zoom |
122 | 126 |
( release ) #00 =Mouse.state |
123 |
- ~cursor.zoom =Console.byte |
|
124 | 127 |
,redraw JSR2 |
125 | 128 |
$no-toggle-zoom |
126 | 129 |
DUP2 |
127 | 130 |
#0001 NEQ2 ,$no-load-button ROT JMP2? |
128 | 131 |
,filepath ,load-file JSR2 |
132 |
+ ,draw-canvas JSR2 |
|
129 | 133 |
( release ) #00 =Mouse.state |
130 | 134 |
$no-load-button |
131 | 135 |
DUP2 |
... | ... |
@@ -139,7 +143,7 @@ BRK |
139 | 143 |
|
140 | 144 |
$no-touch |
141 | 145 |
|
142 |
- ,$no-ctrl ~Controller #00 EQU JMP2? |
|
146 |
+ ,$no-ctrl ~Controller #00 EQU ~cursor.zoom #00 EQU #0000 NEQ2 JMP2? |
|
143 | 147 |
|
144 | 148 |
,$no-ctrl-up ~Controller #10 EQU JMP2? |
145 | 149 |
~zoom.y ++ =zoom.y |
... | ... |
@@ -410,7 +414,8 @@ RTN |
410 | 414 |
|
411 | 415 |
( draw new cursor ) |
412 | 416 |
,$outside-canvas ~Mouse.x CLN2r ~canvas.x1 GTH2 STH2r ~canvas.x2 LTH2 #0101 NEQ2 JMP2? |
413 |
- ,$outside-canvas ~Mouse.y CLN2r ~canvas.y1 GTH2 STH2r ~canvas.y2 LTH2 #0101 NEQ2 JMP2? |
|
417 |
+ ,$outside-canvas ~Mouse.y CLN2r ~canvas.y1 GTH2 STH2r ~canvas.y2 LTH2 #0101 NEQ2 JMP2? |
|
418 |
+ ,$outside-canvas ~Controller #02 EQU JMP2? |
|
414 | 419 |
~cursor.x #0003 SUB2 =Sprite.x |
415 | 420 |
~cursor.y #0003 SUB2 =Sprite.y |
416 | 421 |
,brush_view #00 ~cursor.size 8* ADD2 =Sprite.addr |