*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-#include "config.h"
+#include <config.h>
+#include <glib/gi18n-lib.h>
#include "pixbuf-document.h"
-#include "ev-document-thumbnails.h"
#include "ev-document-misc.h"
+#include "ev-file-helpers.h"
struct _PixbufDocumentClass
{
- GObjectClass parent_class;
+ EvDocumentClass parent_class;
};
struct _PixbufDocument
{
- GObject parent_instance;
+ EvDocument parent_instance;
GdkPixbuf *pixbuf;
typedef struct _PixbufDocumentClass PixbufDocumentClass;
-static void pixbuf_document_document_iface_init (EvDocumentIface *iface);
-static void pixbuf_document_document_thumbnails_iface_init (EvDocumentThumbnailsIface *iface);
-
-EV_BACKEND_REGISTER_WITH_CODE (PixbufDocument, pixbuf_document,
- {
- G_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_THUMBNAILS,
- pixbuf_document_document_thumbnails_iface_init)
- });
+EV_BACKEND_REGISTER (PixbufDocument, pixbuf_document)
static gboolean
pixbuf_document_load (EvDocument *document,
static void
pixbuf_document_get_page_size (EvDocument *document,
- int page,
+ EvPage *page,
double *width,
double *height)
{
return surface;
}
-static void
-pixbuf_document_finalize (GObject *object)
-{
- PixbufDocument *pixbuf_document = PIXBUF_DOCUMENT (object);
-
- g_object_unref (pixbuf_document->pixbuf);
- g_free (pixbuf_document->uri);
-
- G_OBJECT_CLASS (pixbuf_document_parent_class)->finalize (object);
-}
-
-static void
-pixbuf_document_class_init (PixbufDocumentClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
-
- gobject_class->finalize = pixbuf_document_finalize;
-}
-
-static EvDocumentInfo *
-pixbuf_document_get_info (EvDocument *document)
-{
- EvDocumentInfo *info;
-
- info = g_new0 (EvDocumentInfo, 1);
- info->fields_mask = 0;
-
- return info;
-}
-
-static void
-pixbuf_document_document_iface_init (EvDocumentIface *iface)
-{
- iface->load = pixbuf_document_load;
- iface->save = pixbuf_document_save;
- iface->get_n_pages = pixbuf_document_get_n_pages;
- iface->get_page_size = pixbuf_document_get_page_size;
- iface->render = pixbuf_document_render;
- iface->get_info = pixbuf_document_get_info;
-}
-
static GdkPixbuf *
-pixbuf_document_thumbnails_get_thumbnail (EvDocumentThumbnails *document,
- EvRenderContext *rc,
- gboolean border)
+pixbuf_document_get_thumbnail (EvDocument *document,
+ EvRenderContext *rc)
{
PixbufDocument *pixbuf_document = PIXBUF_DOCUMENT (document);
GdkPixbuf *pixbuf, *rotated_pixbuf;
}
static void
-pixbuf_document_thumbnails_get_dimensions (EvDocumentThumbnails *document,
- EvRenderContext *rc,
- gint *width,
- gint *height)
+pixbuf_document_finalize (GObject *object)
{
- PixbufDocument *pixbuf_document = PIXBUF_DOCUMENT (document);
- gint p_width = gdk_pixbuf_get_width (pixbuf_document->pixbuf);
- gint p_height = gdk_pixbuf_get_height (pixbuf_document->pixbuf);
-
- if (rc->rotation == 90 || rc->rotation == 270) {
- *width = (gint) (p_height * rc->scale);
- *height = (gint) (p_width * rc->scale);
- } else {
- *width = (gint) (p_width * rc->scale);
- *height = (gint) (p_height * rc->scale);
- }
+ PixbufDocument *pixbuf_document = PIXBUF_DOCUMENT (object);
+
+ g_object_unref (pixbuf_document->pixbuf);
+ g_free (pixbuf_document->uri);
+
+ G_OBJECT_CLASS (pixbuf_document_parent_class)->finalize (object);
}
static void
-pixbuf_document_document_thumbnails_iface_init (EvDocumentThumbnailsIface *iface)
+pixbuf_document_class_init (PixbufDocumentClass *klass)
{
- iface->get_thumbnail = pixbuf_document_thumbnails_get_thumbnail;
- iface->get_dimensions = pixbuf_document_thumbnails_get_dimensions;
-}
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ EvDocumentClass *ev_document_class = EV_DOCUMENT_CLASS (klass);
+ gobject_class->finalize = pixbuf_document_finalize;
+
+ ev_document_class->load = pixbuf_document_load;
+ ev_document_class->save = pixbuf_document_save;
+ ev_document_class->get_n_pages = pixbuf_document_get_n_pages;
+ ev_document_class->get_page_size = pixbuf_document_get_page_size;
+ ev_document_class->render = pixbuf_document_render;
+ ev_document_class->get_thumbnail = pixbuf_document_get_thumbnail;
+}
static void
pixbuf_document_init (PixbufDocument *pixbuf_document)