X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=NOTES;h=fadc30fbbc0d87e0cd11f6d6ee3607d96d7f9fe3;hb=72fc0a73ea845307d6a109678952a0d07f6a1af4;hp=19b52b3e5e1bdb7b51d934faf61d097df89c6d9e;hpb=bebd9ceae1ec88ddee03bda8c7572c9cb06f6b77;p=evince.git diff --git a/NOTES b/NOTES index 19b52b3e..fadc30fb 100644 --- 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 ---