|
|
|
|
@ -57,6 +57,7 @@
|
|
|
|
|
@selection |
|
|
|
|
&x1 $1 &y1 $1 |
|
|
|
|
&x2 $1 &y2 $1 |
|
|
|
|
&zx $1 &zy $1 ( zoom ) |
|
|
|
|
&a $1 |
|
|
|
|
@frame |
|
|
|
|
&x1 $2 &y1 $2 |
|
|
|
|
@ -302,7 +303,8 @@ BRK
|
|
|
|
|
|
|
|
|
|
.Mouse/x DEI2 .tileview/x1 LDZ2 -- 8// NIP |
|
|
|
|
.Mouse/y DEI2 .tileview/y1 LDZ2 -- 8// NIP |
|
|
|
|
;set-focus JSR2 |
|
|
|
|
DUP2 8* SWP 8* SWP ;set-selection-zoom JSR2 |
|
|
|
|
;set-selection-from JSR2 |
|
|
|
|
;toggle-zoom JSR2 |
|
|
|
|
;redraw JSR2 |
|
|
|
|
RELEASE-MOUSE |
|
|
|
|
@ -311,9 +313,8 @@ BRK
|
|
|
|
|
|
|
|
|
|
&zoomed ( -> ) |
|
|
|
|
|
|
|
|
|
.Mouse/x DEI2 .tileview/x1 LDZ2 -- 8// |
|
|
|
|
.Mouse/y DEI2 .tileview/y1 LDZ2 -- 8// |
|
|
|
|
GET-POSITION ADD-POSITIONS |
|
|
|
|
.Mouse/x DEI2 .tileview/x1 LDZ2 -- 8// #00 .selection/zx LDZ ++ |
|
|
|
|
.Mouse/y DEI2 .tileview/y1 LDZ2 -- 8// #00 .selection/zy LDZ ++ |
|
|
|
|
.settings/color LDZ .Mouse/state DEI #01 = * ;put-pixel JSR2 |
|
|
|
|
SET-STATE |
|
|
|
|
;redraw JSR2 |
|
|
|
|
@ -507,6 +508,13 @@ RTN
|
|
|
|
|
|
|
|
|
|
RTN |
|
|
|
|
|
|
|
|
|
@set-selection-zoom ( x y -- ) |
|
|
|
|
|
|
|
|
|
.selection/zy STZ |
|
|
|
|
.selection/zx STZ |
|
|
|
|
|
|
|
|
|
RTN |
|
|
|
|
|
|
|
|
|
@set-selection-from ( x y -- ) |
|
|
|
|
|
|
|
|
|
DUP .selection/y1 STZ .selection/y2 STZ |
|
|
|
|
@ -528,6 +536,7 @@ RTN
|
|
|
|
|
|
|
|
|
|
@set-focus ( x y -- ) |
|
|
|
|
|
|
|
|
|
( set zoom ) |
|
|
|
|
DUP2 |
|
|
|
|
GET-ADDR .settings/focus STZ2 |
|
|
|
|
#40 SFT + .selection/a STZ |
|
|
|
|
@ -536,6 +545,8 @@ RTN
|
|
|
|
|
|
|
|
|
|
@mod-selection ( x y -- ) |
|
|
|
|
|
|
|
|
|
.settings/zoom LDZ ;mod-selection-zoom JCN2 |
|
|
|
|
|
|
|
|
|
DUP |
|
|
|
|
.selection/y2 LDZ + 10MOD .selection/y2 STZ |
|
|
|
|
.selection/y1 LDZ + 10MOD .selection/y1 STZ |
|
|
|
|
@ -556,6 +567,15 @@ RTN
|
|
|
|
|
|
|
|
|
|
RTN |
|
|
|
|
|
|
|
|
|
@mod-selection-zoom ( x y -- ) |
|
|
|
|
|
|
|
|
|
.selection/zy LDZ + .selection/zy STZ |
|
|
|
|
.selection/zx LDZ + .selection/zx STZ |
|
|
|
|
.selection/zx LDZ 8/ .selection/zy LDZ 8/ ;set-selection-from JSR2 |
|
|
|
|
;draw-tileview-zoom JSR2 |
|
|
|
|
|
|
|
|
|
RTN |
|
|
|
|
|
|
|
|
|
@scale-selection ( x y -- ) |
|
|
|
|
|
|
|
|
|
.selection/y2 LDZ + 10MOD .selection/y2 STZ |
|
|
|
|
@ -757,18 +777,22 @@ RTN
|
|
|
|
|
#10 #00 |
|
|
|
|
&hor |
|
|
|
|
DUP 8* TOS .tileview/x1 LDZ2 ++ .Screen/x DEO2 |
|
|
|
|
( get pixel offset ) GET-ITER SWP TOS ROT TOS |
|
|
|
|
( add focus ) STH2kr SWP2r STH2kr SWP2r ADD-POSITIONS |
|
|
|
|
;get-pixel JSR2 #00 + .Screen/sprite DEO |
|
|
|
|
GET-ITER |
|
|
|
|
( y ) .selection/zy LDZ + TOS |
|
|
|
|
( x ) ROT .selection/zx LDZ + TOS SWP2 |
|
|
|
|
;get-pixel JSR2 .Screen/sprite DEO |
|
|
|
|
INC GTHk ,&hor JCN |
|
|
|
|
POP2 |
|
|
|
|
INC GTHk ,&ver JCN |
|
|
|
|
POP2 |
|
|
|
|
POP2r POP2r |
|
|
|
|
|
|
|
|
|
( guides ) |
|
|
|
|
.tileview/x1 LDZ2 .tileview/x2 LDZ2 .tileview/y1 LDZ2 #003f ++ #02 ;line-hor-dashed JSR2 |
|
|
|
|
.tileview/x1 LDZ2 #003f ++ .tileview/y1 LDZ2 .tileview/y2 LDZ2 #02 ;line-ver-dashed JSR2 |
|
|
|
|
#00 #08 .selection/zy LDZ - 8MOD2 8** #0001 -- STH2 |
|
|
|
|
.tileview/x1 LDZ2 .tileview/x2 LDZ2 .tileview/y1 LDZ2 STH2kr ++ #02 ;line-hor-dashed JSR2 |
|
|
|
|
.tileview/x1 LDZ2 .tileview/x2 LDZ2 .tileview/y1 LDZ2 STH2r ++ #0040 ++ #02 ;line-hor-dashed JSR2 |
|
|
|
|
#00 #08 .selection/zx LDZ - 8MOD2 8** #0001 -- STH2 |
|
|
|
|
.tileview/x1 LDZ2 STH2kr ++ .tileview/y1 LDZ2 .tileview/y2 LDZ2 #02 ;line-ver-dashed JSR2 |
|
|
|
|
.tileview/x1 LDZ2 STH2r ++ #0040 ++ .tileview/y1 LDZ2 .tileview/y2 LDZ2 #02 ;line-ver-dashed JSR2 |
|
|
|
|
|
|
|
|
|
RTN |
|
|
|
|
|
|
|
|
|
|