summaryrefslogtreecommitdiffstats
path: root/chalk/doc/transform_undo.txt
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2011-06-26 00:41:16 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2011-06-26 00:41:16 +0000
commit698569f8428ca088f764d704034a1330517b98c0 (patch)
treebf45be6946ebbbee9cce5a5bcf838f4c952d87e6 /chalk/doc/transform_undo.txt
parent2785103a6bd4de55bd26d79e34d0fdd4b329a73a (diff)
downloadkoffice-698569f8428ca088f764d704034a1330517b98c0.tar.gz
koffice-698569f8428ca088f764d704034a1330517b98c0.zip
Finish rebranding of Krita as Chalk
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/koffice@1238363 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'chalk/doc/transform_undo.txt')
-rw-r--r--chalk/doc/transform_undo.txt38
1 files changed, 38 insertions, 0 deletions
diff --git a/chalk/doc/transform_undo.txt b/chalk/doc/transform_undo.txt
new file mode 100644
index 00000000..fa960655
--- /dev/null
+++ b/chalk/doc/transform_undo.txt
@@ -0,0 +1,38 @@
+Problem:
+
+When working with the transform tool, the user performs many adjustments.
+These adjustments should be aggregated into one transform, and always
+performed from the original state of the image, as it was before the
+first transformation adjustment was applied -- because otherwise
+the quality degradation becomes too bad.
+
+That means that all work with the transform tool should eventually
+result in one transform command. However, when working with the transform
+tool, the user expects to be able to undo various stages of his transform
+actions. And undo should not undo to the original state, but to the previous
+state.
+
+When the user selects another tool, the definitive transform is applied.
+This happens because selecting another tool calls the clear function of
+the transform tool. One transform command should end up on the undo
+stack.
+
+When the user selects an action from the menu, like a filter,
+the definitive transform should also be applied, and only
+then the action from the menu.
+
+Thus, we have two problems:
+
+* Transforms should always be done from the original image, but undoing
+the transform command should unto to the previous state.
+
+* Pending transforms should be committed before a menu action is taken.
+
+These problems can be solved in one go, without any of the complications
+I created yesterday by always committing the transform to the undo history
+in the transform() method, but by performing the transform from the original
+paint device, as it was when the tool got activated.
+
+Menu actions should reset the tool: for this we will need my complicated hack,
+I propose resetting the transform tool after a command is added.
+