Skip to content

Latest commit

 

History

History
147 lines (146 loc) · 5.18 KB

notes.org

File metadata and controls

147 lines (146 loc) · 5.18 KB

Tasks

Draw image

Draw image scaled

Change scale matrix based on mouse scroll

Draw selected item on click

Draw items with selected format

On mouse press

if mouse on image, set image to selected,

if mouse on no-image, set last mouse pos

On mouse release

if mouse on image, set image to active

if mouse on no-image,

On mouse motion

Move selected item on drag

on mouse pressed, if mouse over active image, then set state to moving item

if moving item, then on motion, move item by dx dy

Change scale based on drag and drop

add images via right click menu

On right click open menu

add load image option

on click load image, open filepicker

add image on click

add images on click

basic space out images to avoid collision

File storage format

Lookup serialisation techniques for OCaml - something binary

Write function to save scene to file

Write function to load scene from file

load scene from file

embed image data directly

Add attribute to image storing whether its an embed or linked

Figure out how to embed data directly

Support more image formats

Lookup OCaml library for reading images

stb_image seems like a good choice

Convert images to common format then encode

Add option to quit program

On loading file, ask whether to save changes

add variable to scene to track changes

on loading, check if variable changes

On saving file, as if overwriting existing file

Change title based on loaded scene

Change title based on edits

Add option to create new scene

Refactor system

initialize git repo

Settings menu

add option to right click menu

Setup structure of settings menu

Linking

embed images by default

Canvas

Min scale
Max scale

Theme

Background color
Outline Color

Config

Config directory

Add module for settings

Support min and max zoom

Load settings from file

Add splash screen - new, open, settings

Separators on right click menu

Support drag and drop

on drag and drop, add image at position

Support C-c C-v pasting

Update keybindings

Mouse/Right mouse click to select

Middle/Space drag to move

Scale on scroll

Delete images via right click

right click changes active

if active, add options to right click menu

Delete selected images on del

Select multiple

right click and drag - selection

ctrl click - add to selection

click on image in selection - preserve selection

drag on image in selection - move all selected images

Ask on overwrite