1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167
|
/* base.c generated by valac 0.16.0, the Vala compiler
* generated from base.vala, do not modify */
#include <glib.h>
#include <glib-object.h>
#include <gdk/gdk.h>
#define PDFPC_RENDERER_CACHE_TYPE_BASE (pdfpc_renderer_cache_base_get_type ())
#define PDFPC_RENDERER_CACHE_BASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PDFPC_RENDERER_CACHE_TYPE_BASE, pdfpcRendererCacheBase))
#define PDFPC_RENDERER_CACHE_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PDFPC_RENDERER_CACHE_TYPE_BASE, pdfpcRendererCacheBaseClass))
#define PDFPC_RENDERER_CACHE_IS_BASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PDFPC_RENDERER_CACHE_TYPE_BASE))
#define PDFPC_RENDERER_CACHE_IS_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PDFPC_RENDERER_CACHE_TYPE_BASE))
#define PDFPC_RENDERER_CACHE_BASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PDFPC_RENDERER_CACHE_TYPE_BASE, pdfpcRendererCacheBaseClass))
typedef struct _pdfpcRendererCacheBase pdfpcRendererCacheBase;
typedef struct _pdfpcRendererCacheBaseClass pdfpcRendererCacheBaseClass;
typedef struct _pdfpcRendererCacheBasePrivate pdfpcRendererCacheBasePrivate;
#define PDFPC_METADATA_TYPE_BASE (pdfpc_metadata_base_get_type ())
#define PDFPC_METADATA_BASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PDFPC_METADATA_TYPE_BASE, pdfpcMetadataBase))
#define PDFPC_METADATA_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PDFPC_METADATA_TYPE_BASE, pdfpcMetadataBaseClass))
#define PDFPC_METADATA_IS_BASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PDFPC_METADATA_TYPE_BASE))
#define PDFPC_METADATA_IS_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PDFPC_METADATA_TYPE_BASE))
#define PDFPC_METADATA_BASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PDFPC_METADATA_TYPE_BASE, pdfpcMetadataBaseClass))
typedef struct _pdfpcMetadataBase pdfpcMetadataBase;
typedef struct _pdfpcMetadataBaseClass pdfpcMetadataBaseClass;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
struct _pdfpcRendererCacheBase {
GObject parent_instance;
pdfpcRendererCacheBasePrivate * priv;
pdfpcMetadataBase* metadata;
};
struct _pdfpcRendererCacheBaseClass {
GObjectClass parent_class;
void (*store) (pdfpcRendererCacheBase* self, guint index, GdkPixmap* pixmap);
GdkPixmap* (*retrieve) (pdfpcRendererCacheBase* self, guint index);
};
static gpointer pdfpc_renderer_cache_base_parent_class = NULL;
GType pdfpc_renderer_cache_base_get_type (void) G_GNUC_CONST;
GType pdfpc_metadata_base_get_type (void) G_GNUC_CONST;
enum {
PDFPC_RENDERER_CACHE_BASE_DUMMY_PROPERTY
};
pdfpcRendererCacheBase* pdfpc_renderer_cache_base_construct (GType object_type, pdfpcMetadataBase* metadata);
gboolean pdfpc_renderer_cache_base_allows_prerendering (pdfpcRendererCacheBase* self);
void pdfpc_renderer_cache_base_store (pdfpcRendererCacheBase* self, guint index, GdkPixmap* pixmap);
static void pdfpc_renderer_cache_base_real_store (pdfpcRendererCacheBase* self, guint index, GdkPixmap* pixmap);
GdkPixmap* pdfpc_renderer_cache_base_retrieve (pdfpcRendererCacheBase* self, guint index);
static GdkPixmap* pdfpc_renderer_cache_base_real_retrieve (pdfpcRendererCacheBase* self, guint index);
static void pdfpc_renderer_cache_base_finalize (GObject* obj);
/**
* Initialize the cache store
*/
static gpointer _g_object_ref0 (gpointer self) {
return self ? g_object_ref (self) : NULL;
}
pdfpcRendererCacheBase* pdfpc_renderer_cache_base_construct (GType object_type, pdfpcMetadataBase* metadata) {
pdfpcRendererCacheBase * self = NULL;
pdfpcMetadataBase* _tmp0_;
pdfpcMetadataBase* _tmp1_;
g_return_val_if_fail (metadata != NULL, NULL);
self = (pdfpcRendererCacheBase*) g_object_new (object_type, NULL);
_tmp0_ = metadata;
_tmp1_ = _g_object_ref0 (_tmp0_);
_g_object_unref0 (self->metadata);
self->metadata = _tmp1_;
return self;
}
/**
* Asks the cache engine if prerendering is allowed in conjunction with it.
*
* The default behaviour is to allow prerendering, there might however
* be engine implementation where prerendering does not make any sense.
* Therefore it can be disabled by overriding this method and returning
* false.
*/
gboolean pdfpc_renderer_cache_base_allows_prerendering (pdfpcRendererCacheBase* self) {
gboolean result = FALSE;
g_return_val_if_fail (self != NULL, FALSE);
result = TRUE;
return result;
}
/**
* Store a pixmap in the cache using the given index as identifier
*/
static void pdfpc_renderer_cache_base_real_store (pdfpcRendererCacheBase* self, guint index, GdkPixmap* pixmap) {
g_critical ("Type `%s' does not implement abstract method `pdfpc_renderer_cache_base_store'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
return;
}
void pdfpc_renderer_cache_base_store (pdfpcRendererCacheBase* self, guint index, GdkPixmap* pixmap) {
g_return_if_fail (self != NULL);
PDFPC_RENDERER_CACHE_BASE_GET_CLASS (self)->store (self, index, pixmap);
}
/**
* Retrieve a stored pixmap from the cache.
*
* If no item with the given index is available null is returned
*/
static GdkPixmap* pdfpc_renderer_cache_base_real_retrieve (pdfpcRendererCacheBase* self, guint index) {
g_critical ("Type `%s' does not implement abstract method `pdfpc_renderer_cache_base_retrieve'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
return NULL;
}
GdkPixmap* pdfpc_renderer_cache_base_retrieve (pdfpcRendererCacheBase* self, guint index) {
g_return_val_if_fail (self != NULL, NULL);
return PDFPC_RENDERER_CACHE_BASE_GET_CLASS (self)->retrieve (self, index);
}
static void pdfpc_renderer_cache_base_class_init (pdfpcRendererCacheBaseClass * klass) {
pdfpc_renderer_cache_base_parent_class = g_type_class_peek_parent (klass);
PDFPC_RENDERER_CACHE_BASE_CLASS (klass)->store = pdfpc_renderer_cache_base_real_store;
PDFPC_RENDERER_CACHE_BASE_CLASS (klass)->retrieve = pdfpc_renderer_cache_base_real_retrieve;
G_OBJECT_CLASS (klass)->finalize = pdfpc_renderer_cache_base_finalize;
}
static void pdfpc_renderer_cache_base_instance_init (pdfpcRendererCacheBase * self) {
}
static void pdfpc_renderer_cache_base_finalize (GObject* obj) {
pdfpcRendererCacheBase * self;
self = PDFPC_RENDERER_CACHE_BASE (obj);
_g_object_unref0 (self->metadata);
G_OBJECT_CLASS (pdfpc_renderer_cache_base_parent_class)->finalize (obj);
}
/**
* Base Cache store interface which needs to be implemented by every
* working cache.
*/
GType pdfpc_renderer_cache_base_get_type (void) {
static volatile gsize pdfpc_renderer_cache_base_type_id__volatile = 0;
if (g_once_init_enter (&pdfpc_renderer_cache_base_type_id__volatile)) {
static const GTypeInfo g_define_type_info = { sizeof (pdfpcRendererCacheBaseClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) pdfpc_renderer_cache_base_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (pdfpcRendererCacheBase), 0, (GInstanceInitFunc) pdfpc_renderer_cache_base_instance_init, NULL };
GType pdfpc_renderer_cache_base_type_id;
pdfpc_renderer_cache_base_type_id = g_type_register_static (G_TYPE_OBJECT, "pdfpcRendererCacheBase", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
g_once_init_leave (&pdfpc_renderer_cache_base_type_id__volatile, pdfpc_renderer_cache_base_type_id);
}
return pdfpc_renderer_cache_base_type_id__volatile;
}
|