| ... | ... |
@@ -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 |
|