Age | Commit message (Collapse) | Author | Files | Lines |
|
This way only the regions affected by the selection are redrawn and we
don't need to schedule a full redraw every time clear_selection is
called.
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=4b4ea6c
|
|
orign commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=1a9ba34
|
|
If we don't have a selection surface/region and points has been set, we
need a new selection surface/region even if the scale hasn't changed.
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=ca60329
|
|
from the document
https://bugzilla.gnome.org/show_bug.cgi?id=639932
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=f8a0ce3
|
|
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=4592007
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=701732
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=2590224
|
|
If the cursor is moved with left/right arrow keys the cursor moves the
beginning/end of the selection.
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=9c3816b
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=702761
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=604cd6d
|
|
This way we just need to check the pointer returned.
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=bf18b54
|
|
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=1691b14
|
|
And also the caret cursor location when positioned with the mouse when
clicking on areas with no text, like margins or even the space between
columns.
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=415ab07
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=702767
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=ac3800a
|
|
direction
If we are scrolling down schedule next pages first, otherwise schedule
the previous pages first.
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=b6f27b6
|
|
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=ceacd4e
|
|
has been moved.
https://bugzilla.gnome.org/show_bug.cgi?id=702078
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=4eecb33
|
|
Now that we always build a new damage region, we don't need to copy the
selection covered region.
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=7a7ebb8
|
|
Depending on the zoom level the area actually drawn by cairo can be a
bit larger than the selected region due to rounding errors or pixel
alignment. We use the selected region to build the damage area to
invalidate when drawing selections which in many cases is not large
enough. This causes that sometimes when removing a selections some small
rectangles keep drawn because they are not redrawn. To avoid this we
grow the damage area computed from selected regions.
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=a497fb4
|
|
When the region covered by old and new selection is the same, don't
schedule a new redraw for the union.
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=4093541
|
|
Instead of using xor, use the union of old_sel and new_sel to find
what needs redrawing.
https://bugzilla.gnome.org/show_bug.cgi?id=703024
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=9fd3d7d
|
|
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=9a5e9df
|
|
This is currently unused and redundant, to know whether there are
selections we use selection_info.selections.
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=5503827
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=702075
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=255b977
|
|
when clicking outside the line
Position the caret cursor also when not clicking over text if the line
contains text.
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=040a42d
|
|
merge_selection_region already invalidates the damaged region.
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=1e3486e
|
|
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=c30e9b1
|
|
These structs are allocated and deallocated a lot while selecting text
and merging selection regions.
orign commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=dc1e75b7be87
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=702073
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=a6e3834
|
|
If there's an active selection move the caret cursor to the location
where the mouse is released.
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=619c100
|
|
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=b9c32bc
libview: Fix a crash when selecting more than one page
https://bugzilla.gnome.org/show_bug.cgi?id=702874
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=e6fd3ff
Make sure we never use negative coordinates in selection rectangle
https://bugzilla.gnome.org/show_bug.cgi?id=702874
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=4a88904
|
|
The cursor blink is reset when the cursor is moved with the keyboard,
but not when positioned with the mouse.
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=1435ace
|
|
Into a single function and use get_caret_cursor_area everywhere.
get_caret_cursor_rect_from_offset() was a bit confusing, because it
didn't return the cursor_rect, but the bbox of the character where the
cursor should be at. The method that actually returns the cursor_rect is
get_caret_cursor_area.
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=13a5978
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=702650
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=d0f449d
|
|
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=e118165
|
|
This allows themes to override the key bindings and API users to move
the caret cursor programmatically using g_signal_emit_by_name.
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=1206ff1
|
|
EvView::binding-activated is too generic name for scroll key bindings.
Renamed as EvView::scroll and changed to use GtkOrientable instead of a
gboolean.
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=b70e413
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=702071
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=153e67d
|
|
Using view->selection_info.selections is inaccurate if the zoom
changes, causing drag and drop of selected text to fail. This changes
location_in_selected_text function to use the more accurate
ev_pixbuf_cache_get_selection_region to find the selection region.
https://bugzilla.gnome.org/show_bug.cgi?id=702406
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=abedcbd
|
|
ev_pixbuf_cache_get_selection_surface returns the selection surface, and
new function ev_pixbuf_cache_get_selection_region returns the selection
region.
https://bugzilla.gnome.org/show_bug.cgi?id=669022
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=90d6580
|
|
Allows a fallback for backends which can implement get_selection_region
but not render_selection. Changes ev-pixbuf-cache so a redraw is only
done when the scale changes.
https://bugzilla.gnome.org/show_bug.cgi?id=669022
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=9e89fb1
|
|
Move to a helper function the code to get the exact area where the caret
should be drawn and use it to draw the care cursor and to invalidate the
area when blinking.
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=f5e7eb4
|
|
I removed the line to set the current page after moving the caret cursor
by mistake. Add it back and change cursor_go_to_next/previous_page to
not update the page, but only update the cursor_page so that we have a
single place where the page is updated after caret cursor moves.
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=bf85030
|
|
if the caret cursor was not updated
Move the caret cursor only when requested by the user. Keep the page
where the caret cursor is in addition to the offset inside that page.
https://bugzilla.gnome.org/show_bug.cgi?id=702068
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=4d15ab5
|
|
Based on GtkEntry and GtkTextView implementation, the caret cursor
blinks when the view is active and caret navigation is enabled. It stops
blinking after a while if there's no user interaction. It uses
GtkSettings:gtk-cursor-blink-time and
GtkSettings:gtk-cursor-blink-timeout.
https://bugzilla.gnome.org/show_bug.cgi?id=702076
taken from:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=e6f7250
|
|
taken from:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=95f661b
|
|
It returns an array of PangoLogAttr with the logical attributes of the
text for the given page.
taken from:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=6870279
|
|
Navigation by character, word, next/previous line and beginning/end of
the line using the caret cursor.
The routines to move the cursor don't use GtkTextBuffer to
avoid the duplication of the text for every page.
- Left/right arrow: Move one character to the left/right.
- Up/down arrow: Move up/down one line.
- Ctrl + left/right arrow: Move to the beginning/end of
the previous/next word.
- Home/End: Move to the beginning/end of the current line.
https://bugzilla.gnome.org/show_bug.cgi?id=638905
taken from:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=1dc10fe
|
|
The code necessary to draw a page surface or a selection
surface is the same. We factor this out to a new static method
called draw_surface
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-8&id=3ab6ac1
libview: Fix rendering of the first visible page while resizing
While we are resizing the view widget and waiting for a new
surface rendered at the right size, we use old surfaces
scaled to match the target size. When the begining of a page is not
visible, the scaled surfaces are not placed correctly.
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-8&id=72f2ae4
|
|
In ev_view_get_height_to_page, the "height" or "dual_height"
pointer can be set. If dual_height is set, the dual_height buffer
is used. Using the "normal" height cache in dual view causes
an out of bounds read. So we restrict the cache accesses to their
relevant buffers.
https://bugzilla.gnome.org/show_bug.cgi?id=771612
origin commit:
https://git.gnome.org/browse/evince/commit/?id=0d44134
|
|
This allows to move between words with CTRL+Left/Right in text form
fields instead of rotating the view.
https://bugzilla.gnome.org/show_bug.cgi?id=699630
origin commit:
https://git.gnome.org/browse/evince/commit/?id=ac22e8f
|
|
In continuous mode with dual page view, there is a chance
that the pages were outside of the scroll view. When
opening a document in such circumstances, the current
page should not be updated to a negative number when
already has the first page as default.
This fixes a crash when searching with a negative
current page.
Fix https://bugzilla.gnome.org/show_bug.cgi?id=683172
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=8fe6917
|