diff --git a/frontend/src/sections/Editor2D.svelte b/frontend/src/sections/Editor2D.svelte
index ab65131..7f9973d 100644
--- a/frontend/src/sections/Editor2D.svelte
+++ b/frontend/src/sections/Editor2D.svelte
@@ -5,6 +5,8 @@
import type { LoadedFile } from '../types/file'
import type { PixelPosition } from '../types/shapes'
import { BrushTool, EraserTool, FillTool, type Tool } from '../types/tools'
+ import { Button, NumberInput, OverflowMenu, OverflowMenuItem, Slider } from 'carbon-components-svelte';
+ import { ZoomIn, ZoomOut } from 'carbon-icons-svelte';
export let file: LoadedFile
export let animation: data.Animation
@@ -39,6 +41,26 @@
traversedPixels.add(p.x+p.y*file.canvas.width)
}
}
+
+ function zoomIn() {
+ zoom *= 2
+ if (zoom > 1) {
+ zoom = Math.round(zoom)
+ }
+
+ capOffset()
+ canvasDirty = true
+ overlayDirty = true
+ }
+ function zoomOut() {
+ zoom /= 2
+ if (zoom > 1) {
+ zoom = Math.round(zoom)
+ }
+ capOffset()
+ canvasDirty = true
+ overlayDirty = true
+ }
// check resizes canvases, etc.
function check() {
@@ -201,17 +223,10 @@
if (e.ctrlKey) {
e.preventDefault()
if (e.deltaY < 0) {
- zoom *= 2
+ zoomIn()
} else if (e.deltaY > 0) {
- zoom /= 2
+ zoomOut()
}
- if (zoom > 1) {
- zoom = Math.round(zoom)
- }
-
- capOffset()
- canvasDirty = true
- overlayDirty = true
return
}
if (e.deltaY < 0) {
@@ -304,6 +319,34 @@
+
\ No newline at end of file