2
1) create a consistent tool/plugin system
4
- canvas (drawing, connecting to mouse/keyboard signals)
12
- unify object and or node selection?
13
- achieve tight selection (exact selection-object collision test)
14
3) reintroduce nodetool
15
4) make VObject leaner
16
5) introduce renderstack. And dont forget to rewrite shadoweffect to use it.
19
- split the dialog under "Object->Transform" into different non-tabbed dialogs
20
- remove the "Selection property" docker, this is basically the same as the above docker
21
- remove the dialogs which show up when double clicking the strokefillpreview, this job is done
22
by "color manager" docker
23
- other koffice apps have widgts that may of interest to us, for instance in kpresenter. We should
25
- make a UI for the node manipulation tool.
26
- rework the stroke/fill docker with preview on the document and apply button.
27
- Find a better way to select a color than the color manager. Maybe a popup ?
28
- gradient widget: maybe turn the midpoint arrows to black or 3d triangles like in gimp or illu
29
- gradient widget: better separate the midpoint arrows from the color stop triangles: put them
30
above the gradient bar like in adobe products. the current situation is a bit nasty
31
with near together midpoints and colorstops
32
- gradient widget: the midpoint arrows are currently hard to hit and modify
36
- VSelectionTool has an offset error relative to the handle nodes in the VSelection.
37
- fix i18n singular/plural
39
- make curve1To, curve2To work
40
- vpolylinetool creates beziers where it could create lines
43
- make pattern coords absolute and not relative to the shape
45
- VPattern like VImage with embedded binaries instead of paths
46
- bring text support back, ideally using fontconfig and freetype, and no xft.
48
- select first/last segment's knot if one of each other's knot is selected
49
- allow for multiple strokes and fills in VPath which get rendered in the order they occur.
50
- use inside/intersection tests in vpath::combine() for changing winding.
51
- change flatness test in intersection code to a estimation used in gems code. otherwise
52
if the 2 input curves are the same our code runs forever.
53
- make VSelection a state pattern
54
- try to abstract rendering even more, preferably using kpainter abstraction.
55
- make layers tree robust, efficient and scalable.
56
- support 2 roundness params (rx and ry) for round rectangles.
59
- krita export filter (with layers)
60
- gimp gradient import
61
- add a nice grid-like shape like in Illu and webdraw
64
- in VShapeTool and all manipulation tools: store temporary objects so one doesnt
65
have to recalculate/regenerate those for second draw() (erasing old shape)
66
- make fill/stroke shared so copying for undo/redo is more efficient. Also potentially
67
apply this to file format (like OOo does).
68
- transform() bbox too and dont recalculate it
69
- check places we use sqrt() if these are really necessary (lenny)
72
- can't we pass VTool::draw() a painter inseatd of each tool creating a painter itself?
73
- remove V*Tool::refreshUnit(). call this directly via dialog() instead
74
- pass all dialogs a parent
75
- think about using ghostscript's flatten algo (see comments in vflatten.cc)
76
- why represent opacity as float, not as short?
77
- introduce our own "Color drag" class, since we have in addition to rgb also opacity,
78
and maybe also gradient info could be dragged later.