... | ... |
@@ -9,10 +9,7 @@ |
9 | 9 |
1-8 - select brush size |
10 | 10 |
|
11 | 11 |
TODO |
12 |
- - Resize buttons |
|
13 |
- - Limit size |
|
14 | 12 |
- Pixel cleanup brush |
15 |
- - Display filename |
|
16 | 13 |
- Rename filename |
17 | 14 |
) |
18 | 15 |
|
... | ... |
@@ -38,6 +35,7 @@ |
38 | 35 |
;toolpane { x1 2 y1 2 x2 2 y2 2 } |
39 | 36 |
;pattpane { x1 2 y1 2 x2 2 y2 2 } |
40 | 37 |
;sizepane { x1 2 y1 2 x2 2 y2 2 } |
38 |
+;viewpane { x1 2 y1 2 x2 2 y2 2 } |
|
41 | 39 |
;canvas { x1 2 y1 2 x2 2 y2 2 w 2 h 2 } |
42 | 40 |
|
43 | 41 |
;rect { x1 2 y1 2 x2 2 y2 2 } |
... | ... |
@@ -91,6 +89,7 @@ |
91 | 89 |
#0010 =toolpane.x1 #0010 =toolpane.y1 |
92 | 90 |
~Screen.width #0050 SUB2 =pattpane.x1 #0010 =pattpane.y1 |
93 | 91 |
#0040 =sizepane.x1 #0010 =sizepane.y1 |
92 |
+ ~Screen.width #0078 SUB2 =viewpane.x1 #0010 =viewpane.y1 |
|
94 | 93 |
|
95 | 94 |
~toolpane.x1 #0028 ADD2 =toolpane.x2 |
96 | 95 |
~toolpane.y1 #0008 ADD2 =toolpane.y2 |
... | ... |
@@ -104,6 +103,10 @@ |
104 | 103 |
~sizepane.y1 #0008 ADD2 =sizepane.y2 |
105 | 104 |
,draw-sizepane JSR2 |
106 | 105 |
|
106 |
+ ~viewpane.x1 #0020 ADD2 =viewpane.x2 |
|
107 |
+ ~viewpane.y1 #0008 ADD2 =viewpane.y2 |
|
108 |
+ ,draw-viewpane JSR2 |
|
109 |
+ |
|
107 | 110 |
BRK |
108 | 111 |
|
109 | 112 |
@FRAME |
... | ... |
@@ -119,6 +122,7 @@ BRK |
119 | 122 |
,draw-toolpane JSR2 |
120 | 123 |
,draw-pattpane JSR2 |
121 | 124 |
,draw-sizepane JSR2 |
125 |
+ ,draw-viewpane JSR2 |
|
122 | 126 |
#00 =brush.drag |
123 | 127 |
$no-release |
124 | 128 |
|
... | ... |
@@ -193,6 +197,31 @@ BRK |
193 | 197 |
,$touch-end JMP2 |
194 | 198 |
$no-touch-toolpane |
195 | 199 |
|
200 |
+ ( in viewpane ) |
|
201 |
+ ~Mouse.x CLN2r ~viewpane.x1 GTH2 STH2r ~viewpane.x2 LTH2 #0101 NEQ2 ,$no-touch-viewpane JNZ2 |
|
202 |
+ ~Mouse.y CLN2r ~viewpane.y1 GTH2 STH2r ~viewpane.y2 LTH2 #0101 NEQ2 ,$no-touch-viewpane JNZ2 |
|
203 |
+ ( release ) #00 =Mouse.state |
|
204 |
+ ~canvas.x1 #0002 SUB2 ~canvas.y1 #0002 SUB2 ~canvas.x2 #0002 ADD2 ~canvas.y2 #0002 ADD2 #00 ,fill-rect JSR2 |
|
205 |
+ ,draw-background JSR2 |
|
206 |
+ ~Mouse.x ~viewpane.x1 SUB2 8/ SWP POP |
|
207 |
+ DUP #00 NEQ ^$no-incwidth JNZ |
|
208 |
+ ~canvas.w ++ =canvas.w |
|
209 |
+ $no-incwidth |
|
210 |
+ DUP #01 NEQ ^$no-decwidth JNZ |
|
211 |
+ ~canvas.w -- =canvas.w |
|
212 |
+ $no-decwidth |
|
213 |
+ DUP #02 NEQ ^$no-incheight JNZ |
|
214 |
+ ~canvas.h ++ =canvas.h |
|
215 |
+ $no-incheight |
|
216 |
+ DUP #03 NEQ ^$no-decheight JNZ |
|
217 |
+ ~canvas.h -- =canvas.h |
|
218 |
+ $no-decheight |
|
219 |
+ POP |
|
220 |
+ ,fit-canvas JSR2 |
|
221 |
+ ,redraw JSR2 |
|
222 |
+ ,$touch-end JMP2 |
|
223 |
+ $no-touch-viewpane |
|
224 |
+ |
|
196 | 225 |
( in canvas ) |
197 | 226 |
~Mouse.x CLN2r ~canvas.x1 GTS2 STH2r ~canvas.x2 LTS2 #0101 NEQ2 ,$no-touch-canvas JNZ2 |
198 | 227 |
~Mouse.y CLN2r ~canvas.y1 GTS2 STH2r ~canvas.y2 LTS2 #0101 NEQ2 ,$no-touch-canvas JNZ2 |
... | ... |
@@ -351,6 +380,7 @@ RTN |
351 | 380 |
,draw-toolpane JSR2 |
352 | 381 |
,draw-pattpane JSR2 |
353 | 382 |
,draw-sizepane JSR2 |
383 |
+ ,draw-viewpane JSR2 |
|
354 | 384 |
|
355 | 385 |
RTN |
356 | 386 |
|
... | ... |
@@ -384,6 +414,7 @@ RTN |
384 | 414 |
,draw-toolpane JSR2 |
385 | 415 |
,draw-pattpane JSR2 |
386 | 416 |
,draw-sizepane JSR2 |
417 |
+ ,draw-viewpane JSR2 |
|
387 | 418 |
|
388 | 419 |
RTN |
389 | 420 |
|
... | ... |
@@ -401,7 +432,7 @@ RTN |
401 | 432 |
$ver |
402 | 433 |
#00 =px.x |
403 | 434 |
$hor |
404 |
- ( addr ) ,size_icn #00 ~brush.size 8* ADD2 |
|
435 |
+ ( addr ) ,size_icns #00 ~brush.size 8* ADD2 |
|
405 | 436 |
( byte ) #00 ~px.y ADD2 PEK2 #07 ~px.x SUB SFT #01 AND |
406 | 437 |
#00 EQU ^$no-pixel JNZ |
407 | 438 |
,patternize JSR2 #00 EQU ^$no-pixel JNZ |
... | ... |
@@ -415,6 +446,7 @@ RTN |
415 | 446 |
,draw-toolpane JSR2 |
416 | 447 |
,draw-pattpane JSR2 |
417 | 448 |
,draw-sizepane JSR2 |
449 |
+ ,draw-viewpane JSR2 |
|
418 | 450 |
|
419 | 451 |
RTN |
420 | 452 |
|
... | ... |
@@ -504,6 +536,7 @@ RTN |
504 | 536 |
,draw-toolpane JSR2 |
505 | 537 |
,draw-pattpane JSR2 |
506 | 538 |
,draw-sizepane JSR2 |
539 |
+ ,draw-viewpane JSR2 |
|
507 | 540 |
|
508 | 541 |
RTN |
509 | 542 |
|
... | ... |
@@ -582,7 +615,7 @@ RTN |
582 | 615 |
~Controller #02 EQU ^$outside-canvas JNZ |
583 | 616 |
~cursor.x #0003 SUB2 =Sprite.x |
584 | 617 |
~cursor.y #0003 SUB2 =Sprite.y |
585 |
- ,brush_view #00 ~brush.size 8* ADD2 =Sprite.addr |
|
618 |
+ ,brush_icns #00 ~brush.size 8* ADD2 =Sprite.addr |
|
586 | 619 |
#11 ~Mouse.state #02 MUL ADD =Sprite.color |
587 | 620 |
~Mouse.state #00 EQU ^$outside-canvas JNZ |
588 | 621 |
RTN |
... | ... |
@@ -602,17 +635,17 @@ RTN |
602 | 635 |
|
603 | 636 |
~toolpane.x1 =Sprite.x |
604 | 637 |
~toolpane.y1 =Sprite.y |
605 |
- ,tool_icn =Sprite.addr |
|
638 |
+ ,tool_icns =Sprite.addr |
|
606 | 639 |
|
607 |
- $tools |
|
640 |
+ $loop |
|
608 | 641 |
( draw ) #01 ~Sprite.x ~toolpane.x1 SUB2 8/ SWP POP ~brush.tool EQU #02 MUL ADD =Sprite.color |
609 | 642 |
( incr ) ~Sprite.x 8+ =Sprite.x |
610 | 643 |
( incr ) ~Sprite.addr 8+ =Sprite.addr |
611 |
- ~Sprite.x ~toolpane.x2 LTH2 ^$tools JNZ |
|
644 |
+ ~Sprite.x ~toolpane.x2 LTH2 ^$loop JNZ |
|
612 | 645 |
|
613 | 646 |
~zoom.active #01 NEQ ^$no-zoom JNZ |
614 | 647 |
~Sprite.x #0008 SUB2 =Sprite.x |
615 |
- ,tool_icn #0028 ADD2 =Sprite.addr |
|
648 |
+ ,tool_icns #0028 ADD2 =Sprite.addr |
|
616 | 649 |
#01 #04 ~brush.tool EQU #02 MUL ADD =Sprite.color |
617 | 650 |
$no-zoom |
618 | 651 |
|
... | ... |
@@ -625,13 +658,13 @@ RTN |
625 | 658 |
|
626 | 659 |
~pattpane.x1 =Sprite.x |
627 | 660 |
~pattpane.y1 =Sprite.y |
628 |
- ,patt_icn =Sprite.addr |
|
661 |
+ ,patt_icns =Sprite.addr |
|
629 | 662 |
|
630 |
- $patterns |
|
663 |
+ $loop |
|
631 | 664 |
( draw ) #01 ~Sprite.x ~pattpane.x1 SUB2 8/ SWP POP ~brush.patt EQU #02 MUL ADD =Sprite.color |
632 | 665 |
( incr ) ~Sprite.x 8+ =Sprite.x |
633 | 666 |
( incr ) ~Sprite.addr 8+ =Sprite.addr |
634 |
- ~Sprite.x ~pattpane.x2 LTH2 ^$patterns JNZ |
|
667 |
+ ~Sprite.x ~pattpane.x2 LTH2 ^$loop JNZ |
|
635 | 668 |
|
636 | 669 |
RTN |
637 | 670 |
|
... | ... |
@@ -642,13 +675,30 @@ RTN |
642 | 675 |
|
643 | 676 |
~sizepane.x1 =Sprite.x |
644 | 677 |
~sizepane.y1 =Sprite.y |
645 |
- ,size_icn =Sprite.addr |
|
678 |
+ ,size_icns =Sprite.addr |
|
646 | 679 |
|
647 |
- $patterns |
|
680 |
+ $loop |
|
648 | 681 |
( draw ) #01 ~Sprite.x ~sizepane.x1 SUB2 8/ SWP POP ~brush.size EQU #02 MUL ADD =Sprite.color |
649 | 682 |
( incr ) ~Sprite.x 8+ =Sprite.x |
650 | 683 |
( incr ) ~Sprite.addr 8+ =Sprite.addr |
651 |
- ~Sprite.x ~sizepane.x2 LTH2 ^$patterns JNZ |
|
684 |
+ ~Sprite.x ~sizepane.x2 LTH2 ^$loop JNZ |
|
685 |
+ |
|
686 |
+RTN |
|
687 |
+ |
|
688 |
+@draw-viewpane |
|
689 |
+ |
|
690 |
+ ~viewpane.x1 -- ~viewpane.y1 -- ~viewpane.x2 ~viewpane.y2 #00 ,line-rect JSR2 |
|
691 |
+ ~viewpane.x1 #0002 SUB2 ~viewpane.y1 #0002 SUB2 ~viewpane.x2 ~viewpane.y2 #01 ,line-rect JSR2 |
|
692 |
+ |
|
693 |
+ ~viewpane.x1 =Sprite.x |
|
694 |
+ ~viewpane.y1 =Sprite.y |
|
695 |
+ ,view_icns =Sprite.addr |
|
696 |
+ |
|
697 |
+ $loop |
|
698 |
+ ( draw ) #01 =Sprite.color |
|
699 |
+ ( incr ) ~Sprite.x 8+ =Sprite.x |
|
700 |
+ ( incr ) ~Sprite.addr 8+ =Sprite.addr |
|
701 |
+ ~Sprite.x ~viewpane.x2 LTH2 ^$loop JNZ |
|
652 | 702 |
|
653 | 703 |
RTN |
654 | 704 |
|
... | ... |
@@ -749,7 +799,7 @@ RTN |
749 | 799 |
|
750 | 800 |
RTN |
751 | 801 |
|
752 |
-@size_icn |
|
802 |
+@size_icns |
|
753 | 803 |
[ 0000 0010 0000 0000 ] |
754 | 804 |
[ 0000 1038 1000 0000 ] |
755 | 805 |
[ 0000 3838 3800 0000 ] |
... | ... |
@@ -759,7 +809,7 @@ RTN |
759 | 809 |
[ 387c fefe fe7c 3800 ] |
760 | 810 |
[ 7cfe fefe fefe 7c00 ] |
761 | 811 |
|
762 |
-@patt_icn |
|
812 |
+@patt_icns |
|
763 | 813 |
[ fefe fefe fefe fe00 ] |
764 | 814 |
[ fed6 aad6 aad6 fe00 ] |
765 | 815 |
[ fe92 82d6 8292 fe00 ] |
... | ... |
@@ -769,7 +819,7 @@ RTN |
769 | 819 |
[ feaa aaaa aaaa fe00 ] |
770 | 820 |
[ fe82 fe82 fe82 fe00 ] |
771 | 821 |
|
772 |
-@tool_icn |
|
822 |
+@tool_icns |
|
773 | 823 |
[ c0e0 5028 140a 0400 ] |
774 | 824 |
[ e0d0 a844 2212 0c00 ] |
775 | 825 |
[ c0b8 4848 7804 0200 ] |
... | ... |
@@ -777,7 +827,13 @@ RTN |
777 | 827 |
[ 3048 8484 4834 0200 ] ( zoom ) |
778 | 828 |
[ 3245 8284 4834 0200 ] ( zoom out ) |
779 | 829 |
|
780 |
-@brush_view |
|
830 |
+@view_icns |
|
831 |
+ [ ee92 8a84 8a92 ee00 ] |
|
832 |
+ [ f68a 92a2 928a f600 ] |
|
833 |
+ [ fe82 8244 aa92 ee00 ] |
|
834 |
+ [ fe82 92aa 4482 fe00 ] |
|
835 |
+ |
|
836 |
+@brush_icns |
|
781 | 837 |
[ 0000 0010 0000 0000 ] |
782 | 838 |
[ 0000 1028 1000 0000 ] |
783 | 839 |
[ 0000 3828 3800 0000 ] |
... | ... |
@@ -798,7 +854,6 @@ RTN |
798 | 854 |
|
799 | 855 |
@load_icn [ feaa d6aa d4aa f400 ] |
800 | 856 |
@save_icn [ fe82 8282 848a f400 ] |
801 |
- |
|
802 | 857 |
@blank_icn [ 0000 0000 0000 0000 ] |
803 | 858 |
@filepath [ projects/pictures/tima2a1a.bit 00 ] |
804 | 859 |
|