+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8; c-indent-level: 8 -*- */
/*
* Copyright (C) 2004 Marco Pesenti Gritti
*
#include "config.h"
#include "ev-document.h"
+#include "ev-backend-marshalers.h"
static void ev_document_base_init (gpointer g_class);
+enum
+{
+ CHANGED,
+ LAST_SIGNAL
+};
+
+static guint signals[LAST_SIGNAL] = { 0 };
+
GType
ev_document_get_type (void)
{
static void
ev_document_base_init (gpointer g_class)
{
+ static gboolean initialized = FALSE;
+
+ if (!initialized)
+ {
+ signals[CHANGED] =
+ g_signal_new ("changed",
+ EV_TYPE_DOCUMENT,
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (EvDocumentIface, changed),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE,
+ 0);
+
+ initialized = TRUE;
+ }
}
gboolean
iface->set_page (document, page);
}
+int
+ev_document_get_page (EvDocument *document)
+{
+ EvDocumentIface *iface = EV_DOCUMENT_GET_IFACE (document);
+ return iface->get_page (document);
+}
+
void
ev_document_set_target (EvDocument *document,
GdkDrawable *target)
EvDocumentIface *iface = EV_DOCUMENT_GET_IFACE (document);
iface->render (document, clip_x, clip_y, clip_width, clip_height);
}
+
+void
+ev_document_changed (EvDocument *document)
+{
+ g_signal_emit (G_OBJECT (document), signals[CHANGED], 0);
+}