Commit Graph

66 Commits

Author SHA1 Message Date
c740e5d751 delete shaders after linking them in program, which reduces memory by like 0.1 MB (very minor) 2024-08-14 01:43:53 +01:00
0c76edfde2 remove graph lines vector from app type, so the vector can be garbage collected (it is not really needed) 2024-08-13 23:49:34 +01:00
6878f7fa58 a little clean up (make the ClickPoints.getClickPosition easier for callers to use, because fewer arguments need to be passed) 2024-08-13 23:38:04 +01:00
1dccd14cfa rearrange dotscape.mlb a little 2024-08-13 23:28:21 +01:00
c475a06341 fix minor bug with undo (was meant to call TriangleStage.secondToVector with an initial empty vector in one case, for drawing, but mistakenly used a non-empty vector as initial) 2024-08-11 15:02:04 +01:00
d9c7b753f8 100/home/humza/Downloads/sml/dotscape/README.md done with undo/redo functionality (tested and both of them work as expected) 2024-08-08 23:52:49 +01:00
541fdd877f fix minor compiler errors 2024-08-08 23:45:24 +01:00
4d0d8ef0a1 done with functional-core logic for redo (now just need to send REDO_ACTION on key callback when shortcut is pressed) 2024-08-08 23:43:38 +01:00
10b3617689 add redo stack, and adjust functions to clear it when new triangle or triangle_stage is added; when an undo function is called, the undoHd becomes the redoHd, and undo becomes undoTl, which is expected behaviour. Still need to implement REDO_ACTION though. 2024-08-08 23:10:38 +01:00
4243e4c679 refactor a little bit, making signature of app-update.sml simpler to use by storing mouseX and mouseY inside the app_type 2024-08-08 21:58:50 +01:00
89f4ae3b13 undo implemented and working fine 2024-08-08 21:35:48 +01:00
5c7c61586a scaffolding in preparation for implementing undo 2024-08-08 06:34:40 +01:00
a53c5e1ce3 restore imperative shell 2024-08-08 05:56:20 +01:00
1264e20dc8 remove instances of 'local ... in ... end', replacing it with opauque structures with signatures, because I like the lower indentation level and additional whitespace in the latter 2024-08-08 01:37:46 +01:00
d9607d27d8 done refactoring functional core 2024-08-08 00:58:59 +01:00
2dd0ec5c66 additional refactoring (almost 100/home/humza/Downloads/sml/dotscape/dotscape.mlb done refactoring functional core) 2024-08-08 00:50:36 +01:00
894dca2017 begin refactoring 2024-08-08 00:18:03 +01:00
7c2f74b33b additional readme formatting 2024-08-06 09:23:30 +01:00
4a4916f032 additional readme formatting 2024-08-06 09:23:02 +01:00
c4a13c0052 readme formatting 2024-08-06 09:20:54 +01:00
14be406e39 formatting 2024-08-06 09:18:21 +01:00
ebcc1cfb31 add readme 2024-08-06 09:15:51 +01:00
78bd7a31cb add gif animation to repository to display the program 2024-08-06 08:01:47 +01:00
ea5bbe2075 change clickable range 2024-08-06 07:38:46 +01:00
ef8852350c remove print statement which is now unnecessary 2024-08-03 12:07:24 +01:00
7a6722cf60 done with resize functionality 2024-08-03 07:10:38 +01:00
82db7521b4 amend clickPoints when windowHeight > windowWidth 2024-08-03 06:42:46 +01:00
0d1ea9444b refactor to allow graph lines to be shown at start up 2024-08-03 06:05:26 +01:00
ee2274ffbc improve generated graph lines, so it aligns perfectly with clickPoints (but there are two 'todo' notes: one when the height is greather than the width, and also the constant vector when the program starts is an empty vector) 2024-08-03 04:40:53 +01:00
5a14f5300b done with code to generate graph lines (but I still need to send new graph lines vector as a DrawMsg) 2024-08-03 02:56:45 +01:00
d946addb81 fix bug in wrong parameter sent to 'genClickPoints' function (code was previously sending 0, when it was meant to be passing the 'wStart' variable) 2024-08-03 02:48:00 +01:00
57c21448e7 add and improve code to generate graphLines dynamically 2024-08-03 02:31:35 +01:00
6c444696d4 progress with resizing (triangle and button are always horizontally centred if windowWidth is greater than windowHeight, or windowHeight is greather than windowWidth) 2024-08-02 13:35:48 +01:00
7a584fea3c progress towards resizing 2024-08-02 12:46:00 +01:00
cff2b4f8df progress towards resizing 2024-08-02 05:58:22 +01:00
98f6c63b05 correctly generate click points dynamically, even when window resolution is not a square 2024-08-02 03:09:59 +01:00
b01637ba3b a little refactoring 2024-08-02 00:05:24 +01:00
13063ea2c6 add framebufferSize callback (FFI scaffolding and creating new variant of input_message type but don't react to this message in a meaningful way yet) 2024-08-01 23:33:54 +01:00
c5d9ed4c69 add clickPoints to app-type so we are able to change those points at runtime 2024-08-01 21:39:09 +01:00
0fc6201231 reduce number of type conversoins required for mouse move callback (and fix the other code which uses it too) 2024-08-01 21:17:39 +01:00
39b8b45b45 rename to dotscape 2024-08-01 20:52:20 +01:00
818503d0ac formatting 2024-07-31 22:28:42 +01:00
16fa1e49af get drawing of triangles implemented 2024-07-31 22:25:15 +01:00
cf38d160d5 minor optimisation (do not have to branch on NO_TRIANGLE | FIRST | SECOND twice in update function; update function was branching on this itself, and call to 'getTriangleStageVector' was branching again which was redundant) 2024-07-31 21:21:45 +01:00
6e6de41889 keep triangle stages (clicked positions) drawn on screen, until triangle stages resets to NO_TRIANGLE 2024-07-31 21:15:39 +01:00
bd41e7d24d code function to turn work-in-progress triangle (of triangle_stage of) into a square, so user can see where they have already clicked 2024-07-31 20:58:33 +01:00
087998ac6b return normalised device coordinates together with vector, from getClickPos function 2024-07-31 14:52:12 +01:00
a2c499c933 a bit of fiddling to support different resolutions (as long as aspect ratio of window is 1:1) 2024-07-31 14:02:23 +01:00
d90ed8afa2 minor improvement (using vector literals in 'helpGetTrianglesVector', which is in functional-core/app-update.sml 2024-07-31 13:34:10 +01:00
95345131ab refinements to 'getClickPos' function (and helper functions) in app-update.sml 2024-07-31 13:32:22 +01:00