Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
pwmt
zathura
Commits
dbb304af
Commit
dbb304af
authored
Feb 10, 2011
by
Moritz Lipp
Browse files
Experimental implementation of sc_zoom
parent
498a1c31
Changes
5
Hide whitespace changes
Inline
Side-by-side
config.c
View file @
dbb304af
...
...
@@ -14,6 +14,10 @@ config_load_default(void)
/* general settings */
girara_mode_set
(
Zathura
.
UI
.
session
,
NORMAL
);
/* zathura settings */
int
int_value
=
10
;
girara_setting_add
(
Zathura
.
UI
.
session
,
"zoom-step"
,
&
int_value
,
INT
,
false
,
"Zoom step"
,
NULL
);
/* define default shortcuts */
girara_shortcut_add
(
Zathura
.
UI
.
session
,
GDK_CONTROL_MASK
,
GDK_c
,
NULL
,
sc_abort
,
0
,
0
,
NULL
);
girara_shortcut_add
(
Zathura
.
UI
.
session
,
0
,
GDK_Escape
,
NULL
,
sc_abort
,
0
,
0
,
NULL
);
...
...
ft/document.c
View file @
dbb304af
...
...
@@ -103,8 +103,7 @@ zathura_document_open(const char* path, const char* password)
}
double
offset
=
0
;
for
(
unsigned
int
page_id
=
0
;
page_id
<
document
->
number_of_pages
;
page_id
++
)
{
for
(
unsigned
int
page_id
=
0
;
page_id
<
document
->
number_of_pages
;
page_id
++
)
{
zathura_page_t
*
page
=
zathura_page_get
(
document
,
page_id
);
if
(
!
page
)
{
goto
error_free
;
...
...
render.c
View file @
dbb304af
...
...
@@ -174,3 +174,20 @@ render(zathura_page_t* page)
return
true
;
}
void
render_all
(
void
)
{
if
(
Zathura
.
document
==
NULL
)
{
return
;
}
/* unmark all pages */
for
(
unsigned
int
page_id
=
0
;
page_id
<
Zathura
.
document
->
number_of_pages
;
page_id
++
)
{
Zathura
.
document
->
pages
[
page_id
]
->
rendered
=
false
;
}
/* redraw current page */
GtkAdjustment
*
view_vadjustment
=
gtk_scrolled_window_get_vadjustment
(
GTK_SCROLLED_WINDOW
(
Zathura
.
UI
.
session
->
gtk
.
view
));
cb_view_vadjustment_value_changed
(
view_vadjustment
,
NULL
);
}
render.h
View file @
dbb304af
...
...
@@ -8,6 +8,7 @@
#include <girara-datastructures.h>
#include "ft/document.h"
#include "callbacks.h"
typedef
struct
render_thread_s
{
...
...
@@ -41,4 +42,11 @@ void render_free(render_thread_t* render_thread);
*/
bool
render_page
(
render_thread_t
*
render_thread
,
zathura_page_t
*
page
);
/**
* This function is used to unmark all pages as not rendered. This should
* be used if all pages should be rendered again (e.g.: the zoom level or the
* colors have changed)
*/
void
render_all
(
void
);
#endif // RENDER_H
shortcuts.c
View file @
dbb304af
...
...
@@ -6,6 +6,7 @@
#include "callbacks.h"
#include "shortcuts.h"
#include "zathura.h"
#include "render.h"
bool
sc_abort
(
girara_session_t
*
session
,
girara_argument_t
*
argument
,
unsigned
int
t
)
...
...
@@ -244,5 +245,27 @@ sc_quit(girara_session_t* session, girara_argument_t* argument, unsigned int t)
bool
sc_zoom
(
girara_session_t
*
session
,
girara_argument_t
*
argument
,
unsigned
int
t
)
{
if
(
session
==
NULL
||
argument
==
NULL
)
{
return
false
;
}
/* retreive zoom step value */
int
*
value
=
girara_setting_get
(
Zathura
.
UI
.
session
,
"zoom-step"
);
if
(
value
==
NULL
)
{
return
false
;
}
float
zoom_step
=
*
value
/
100
.
0
f
;
if
(
argument
->
n
==
ZOOM_IN
)
{
Zathura
.
document
->
scale
+=
zoom_step
;
}
else
if
(
argument
->
n
==
ZOOM_OUT
)
{
Zathura
.
document
->
scale
-=
zoom_step
;
}
else
{
Zathura
.
document
->
scale
=
1
.
0
;
}
render_all
();
return
false
;
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment