sheaf
40d10b6a8e
add backend implementation of curve dragging
2020-09-17 05:47:53 +02:00
sheaf
2e9c437bd4
fix incorrect brush join computation
...
* also add some curvature calculations (unused at the moment)
2020-09-16 23:56:19 +02:00
sheaf
1c6f751a2b
improve offset tangent calculation
2020-09-15 19:07:22 +02:00
sheaf
e3d920573d
add debug mode to visualise fitting algorithm
2020-09-14 06:03:45 +02:00
sheaf
087c29aef3
fix time-travel issue in deletion code
2020-09-11 00:37:39 +02:00
sheaf
dc11c1af15
add change descriptions for document history
...
* fix issue with accelerator key press handler
overriding the application's key press handler
* fix not being able to close tabs when no document is active
2020-09-10 21:50:35 +02:00
sheaf
7e8c2e10d1
add document history & undo/redo
2020-09-10 18:59:14 +02:00
sheaf
0a978b7c59
add hover indicator for points and guides
2020-09-09 01:23:25 +02:00
sheaf
dc6602bb79
refactor ruler subdivision handling
2020-09-08 22:20:46 +02:00
sheaf
a459467ed0
add parallelism for brush outline computation
...
* also enable varying the fitting parameters (UI todo)
2020-09-07 17:38:22 +02:00
sheaf
d501fcb76a
add ruler ticks
...
* also includes some improvements to Cairo pixel alignment
2020-09-07 15:44:08 +02:00
sheaf
777b894c06
fix accelerator key handling
2020-09-06 17:20:04 +02:00
sheaf
e4779d8af2
update "toggle guides" menu text on toggle
2020-09-06 15:31:18 +02:00
sheaf
091c1603bb
add toggle for showing guides
2020-09-06 05:32:03 +02:00
sheaf
3660cb8dce
subdivide paths by double-clicking on them
...
* still WIP:
- path mode: does not correctly interpolate brushes
- brush mode: does not propagate subdivision to other brushes
2020-09-06 04:43:28 +02:00
sheaf
9a2f123895
fix incorrect selection mode for Shift
2020-09-06 01:06:44 +02:00
sheaf
031d72a69b
create/move/delete guides: drag from ruler area
2020-09-06 00:40:56 +02:00
sheaf
930fa0ebf9
don't attempt to draw outline when brush is empty
2020-09-05 15:35:01 +02:00
sheaf
a098eb6471
refactor document modification
...
* the "modifyingCurrentDocument" now handles
all the followup actions necessary after
modifying the current document,
such as updating the title bar
2020-09-05 02:56:59 +02:00
sheaf
264fa8dff0
dynamic file tab close button behaviour
2020-09-04 22:51:47 +02:00
sheaf
86729cb462
update title and file tab upon change, close
2020-09-04 20:54:48 +02:00
sheaf
341a8ed0ca
closing documents / removing file tabs
2020-09-03 05:57:08 +02:00
sheaf
5f3bbc891a
add saving/loading
2020-09-03 00:53:08 +02:00
sheaf
db4115c634
hook up menu to actions, + some refactors
2020-09-02 22:49:50 +02:00
sheaf
919acf4928
add accelerator labels to menu items
2020-09-02 15:58:00 +02:00
sheaf
7033578e20
refactor: separation of event handling and actions
2020-09-02 04:52:08 +02:00
sheaf
101d9515c0
update file tabs dynamically
2020-09-01 21:56:59 +02:00
sheaf
8a6b4f5391
encode/decode documents to JSON using waargonaut
2020-08-31 22:28:30 +02:00
sheaf
9e73da9fff
implement selection & drag-move in brush mode
2020-08-29 22:19:51 +02:00
sheaf
dfa446254a
adjust what is rendered in different modes
2020-08-29 20:50:02 +02:00
sheaf
9bde44ed42
fix brush stroke point order for open brush path
...
* also: add some preset brushes
2020-08-29 19:41:07 +02:00
sheaf
3916fe2656
compute and render brush stroke outlines
2020-08-29 03:03:29 +02:00
sheaf
f16ac3fa93
fitting a cubic Bézier to a sequence of points
...
* WIP: current code exhibits convergence issues / instability
2020-08-24 10:55:39 +02:00
sheaf
86a1426136
start implementing brush mode
2020-08-20 03:57:26 +02:00
sheaf
e8c77befd6
split out stroke code to library
2020-08-19 23:34:43 +02:00
sheaf
e044b1b06c
stroking: compute offset given tangent vector
2020-08-19 17:41:15 +02:00
sheaf
107b27ebca
implement deletion of selection
2020-08-19 05:28:47 +02:00
sheaf
0f2eddab80
ctrl while drawing moves previous control point
2020-08-17 01:02:34 +02:00
sheaf
596821222f
implement drawing with the pen tool
2020-08-17 00:09:16 +02:00
sheaf
38c4e9fa6c
add mouse drag-move operation
2020-08-15 23:49:14 +02:00
sheaf
10dccd1dad
update selected objects on selection event
2020-08-15 19:11:52 +02:00
sheaf
91e1431306
add selection UI
2020-08-14 00:47:10 +02:00
sheaf
8d50c92ca9
highlight points for hover/selection
2020-08-13 19:58:54 +02:00
sheaf
ae0ac23910
draw Bézier curves and connecting lines
2020-08-12 23:23:25 +02:00
sheaf
2bd6847e78
add root solving code, coalesce event handling
2020-08-12 22:43:47 +02:00
sheaf
d74d4fd5cc
use fixed number of digits in infobar
2020-08-11 12:22:56 +02:00
sheaf
07f9981c41
update infobar, mouse focus zoom, module refactor
2020-08-11 00:07:09 +02:00
sheaf
9fc7b8acb3
basic rendering, mousewheel scrolling
2020-08-10 16:38:27 +02:00
sheaf
62ea168667
add info bar
2020-08-08 05:33:35 +02:00
sheaf
c9394cc23f
toolbar improvements, better colours
2020-08-08 00:41:08 +02:00