Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/NOTES
diff options
context:
space:
mode:
Diffstat (limited to 'NOTES')
-rw-r--r--NOTES25
1 files changed, 24 insertions, 1 deletions
diff --git a/NOTES b/NOTES
index 19b52b3..d709444 100644
--- a/NOTES
+++ b/NOTES
@@ -25,6 +25,29 @@ Thoughts on threading:
* The primary thing we are trying to do is minimize switching pages, as
doing so is slow for backends. Additionally, some operations on the
- backend are slow, leaving poor interactivity. This
+ backend are slow, leaving poor interactivity.
--
+
+Thoughts on selection:
+
+ * On button_press, we record selection_start, and set in_selection.
+
+ * selection_list must be ordered!!!
+
+ * On motion_notify, we update selection_end and call compute_selection,
+ that keeps an ordered list of the selections.
+
+ * If any of the selection changes, we notify the pixbuf_cache right
+ away.
+
+ * On button_release, we unset in_selection, and trim all the current
+ pixbufs.
+
+ * If a resize (somehow) occurs, during a selection, we clear
+ in_selection and abort.
+
+ * I'd like to support shift-click to handle extending the selection,
+ but for that to survive resizing, I might need to store the points as
+ doubles, etc. It should be possible to reconstruct it from the
+ existing EvViewSelection structs, so maybe I don't need it.