@@ 9,12 9,10 @@
TODO:
Save/load/rename
- Tile Modifiers
Zoom
- Brushes
Resize buttons
- Display tile preview view
Erase with right-click
+ Painting in zoom view
)
%+ { ADD } %- { SUB } %* { MUL } %/ { DIV }
@@ 32,6 30,9 @@
%CPY { STHkr }
%STEP8 { #0033 SFT2 }
+%ROL { DUP #80 AND #07 SFT SWP #10 SFT + }
+%ROR { DUP #01 AND #70 SFT SWP #01 SFT + }
+
%SFL { #40 SFT SFT }
%MOD { DUP2 / * - }
@@ 296,9 297,26 @@ BRK
@on-touch-zoomview ( -> )
- .settings/focus LDZ2
- DUP2 ;op-shiftup JSR2
- #0008 ++ ;op-shiftup JSR2
+ .Mouse/y DEI2 .zoomview/y1 LDZ2 -- #0008 // TOB #04 ! ;&no-mod JCN2
+ .Mouse/x DEI2 .zoomview/x1 LDZ2 -- #0008 // TOB
+ DUP #00 = .Mouse/state DEI #01 = #0101 !! ,&no-shiftup JCN
+ .settings/focus LDZ2
+ DUP2 ;op-shiftup JSR2
+ #0008 ++ ;op-shiftup JSR2 &no-shiftup
+ DUP #00 = .Mouse/state DEI #10 = #0101 !! ,&no-shiftdown JCN
+ .settings/focus LDZ2
+ DUP2 ;op-shiftdown JSR2
+ #0008 ++ ;op-shiftdown JSR2 &no-shiftdown
+ DUP #01 = .Mouse/state DEI #01 = #0101 !! ,&no-shiftright JCN
+ .settings/focus LDZ2
+ DUP2 ;op-shiftright JSR2
+ #0008 ++ ;op-shiftright JSR2 &no-shiftright
+ DUP #01 = .Mouse/state DEI #10 = #0101 !! ,&no-shiftleft JCN
+ .settings/focus LDZ2
+ DUP2 ;op-shiftleft JSR2
+ #0008 ++ ;op-shiftleft JSR2 &no-shiftleft
+ POP
+ &no-mod
;redraw JSR2
@@ 419,6 437,34 @@ RTN
RTN
+@op-shiftleft ( addr* -- )
+
+ STH2
+ #00 #08
+ &loop
+ OVR TOS STH2kr ++ DUP2
+ LDA [ ROL ] ROT ROT STA
+ INCR
+ LTHk ,&loop JCN
+ POP2
+ POP2r
+
+RTN
+
+@op-shiftright ( addr* -- )
+
+ STH2
+ #00 #08
+ &loop
+ OVR TOS STH2kr ++ DUP2
+ LDA [ ROR ] ROT ROT STA
+ INCR
+ LTHk ,&loop JCN
+ POP2
+ POP2r
+
+RTN
+
@redraw ( -- )
;draw-toolview JSR2