Skip to content

Commit

Permalink
Fix wrong tile zoom when dragging tile over toolbar (fix #50)
Browse files Browse the repository at this point in the history
  • Loading branch information
jcreedcmu committed Nov 5, 2023
1 parent 8058d5c commit 60e5a85
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 3 deletions.
2 changes: 1 addition & 1 deletion src/ui/view-helpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ export function canvas_from_drag_tile(state: GameState, ms: MouseState): SE2 {
switch (ms.t) {
case 'drag_tile':
const wp0 = getWidgetPoint(state, ms.orig_p_in_canvas);
const wp1 = getWidgetPoint(state, ms.p_in_canvas);
const wp1 = getWidgetPoint(state, ms.p_in_canvas, true);
const local1_from_canvas = wp1.local_from_canvas;
const local0_from_tile0 = translate(vm(wp0.p_in_local, Math.floor));
const tile0_from_canvas = compose(inverse(local0_from_tile0), wp0.local_from_canvas);
Expand Down
4 changes: 2 additions & 2 deletions src/ui/widget-helpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ export type WidgetPoint =
| { t: 'toolbar', p_in_local: Point, p_in_canvas: Point, local_from_canvas: SE2, toolIndex: number }
;

export function getWidgetPoint(state: GameState, p_in_canvas: Point): WidgetPoint {
if (pointInRect(p_in_canvas, toolbar_bds_in_canvas)) {
export function getWidgetPoint(state: GameState, p_in_canvas: Point, dragging?: boolean): WidgetPoint {
if (pointInRect(p_in_canvas, toolbar_bds_in_canvas) && !dragging) {
const toolbar_from_canvas = inverse(canvas_from_toolbar());
const p_in_local = apply(toolbar_from_canvas, p_in_canvas);
return {
Expand Down

0 comments on commit 60e5a85

Please sign in to comment.