diff --git a/src/gtk-tpdfv.c b/src/gtk-tpdfv.c
index cba2e1f2a1c13697e384cb8d1eeab7e62c0547e8..d1a377ce4e44bd3d1204b259982f02ded02f533b 100644 (file)
--- a/src/gtk-tpdfv.c
+++ b/src/gtk-tpdfv.c
cairo_translate(cr, x + pdf->delta_x, y + pdf->delta_y);
+ /* draw empty white page */
+ cairo_save(cr);
+
+ cairo_set_source_rgba(cr, 1.0, 1.0, 1.0, 1.0);
+ cairo_rectangle(cr, 0.0, 0.0, page_width, page_height);
+ cairo_fill(cr);
+
+ cairo_restore(cr);
+
poppler_page_render(pdf->current_page, cr);
cairo_destroy(cr);
do_redraw(widget);
} /* gtk_tpdfv_reload */
+int
+gtk_tpdfv_get_n_pages(GtkWidget *widget)
+{
+ gtk_tpdfv_t *pdf;
+
+ if (! widget)
+ return -1;
+
+ pdf = GTK_TPDFV_GET_PRIVATE(widget);
+ return pdf->total_pages;
+} /* gtk_tpdfv_get_n_pages */
+
+int
+gtk_tpdfv_get_current_page(GtkWidget *widget)
+{
+ gtk_tpdfv_t *pdf;
+
+ if (! widget)
+ return -1;
+
+ pdf = GTK_TPDFV_GET_PRIVATE(widget);
+ return pdf->current_page_no;
+} /* gtk_tpdfv_get_current_page */
+
void
gtk_tpdfv_page_up(GtkWidget *widget)
{
do_redraw(widget);
} /* gtk_tpdfv_last_page */
+void
+gtk_tpdfv_goto_page(GtkWidget *widget, int page)
+{
+ gtk_tpdfv_t *pdf;
+
+ pdf = GTK_TPDFV_GET_PRIVATE(widget);
+
+ if ((page < 0) || (page >= pdf->total_pages))
+ return;
+
+ pdf->current_page_no = page;
+ do_redraw(widget);
+} /* gtk_tpdfv_goto_page */
+
void
gtk_tpdfv_zoom_in(GtkWidget *widget)
{