]> www.fi.muni.cz Git - evince.git/blobdiff - NOTES
Translation updated.
[evince.git] / NOTES
diff --git a/NOTES b/NOTES
index 19b52b3e5e1bdb7b51d934faf61d097df89c6d9e..fadc30fbbc0d87e0cd11f6d6ee3607d96d7f9fe3 100644 (file)
--- a/NOTES
+++ b/NOTES
@@ -19,12 +19,36 @@ SOME RANDOM COMMENTS:
    and a page index of 0 is not used.
 
 
---
-
-Thoughts on threading:
+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.
+
+ * click-drag, dbl click, triple click, shift-click, search, shift-cursor move
 
---