[evince/wip/chpe/symbols-visibility: 3/13] libdocument: Use symbol visibility for exported symbols
- From: Christian Persch <chpe src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evince/wip/chpe/symbols-visibility: 3/13] libdocument: Use symbol visibility for exported symbols
- Date: Wed, 1 Dec 2021 15:52:12 +0000 (UTC)
commit db2425ac867bc3bbcd01db1ace6c13888b05b121
Author: Christian Persch <chpe src gnome org>
Date: Wed Dec 1 16:51:33 2021 +0100
libdocument: Use symbol visibility for exported symbols
Add EV_PUBLIC define that uses the visibility attribute to make a symbol
public, and use this to mark exported symbols, instead of exporting
every symbol starting with "ev_", to make sure only symbols actually
intended to be public are exported.
Also add EV_PRIVATE define as an alias for EV_PUBLIC to mark symbols
that are nominally public because they are needed from libview/ or
shell/, but are not actually public API.
libdocument/ev-annotation.h | 49 +++++++++++++++++++++
libdocument/ev-async-renderer.h | 4 ++
libdocument/ev-attachment.h | 15 +++++++
libdocument/ev-backends-manager.h | 4 ++
libdocument/ev-debug.h | 13 ++++--
libdocument/ev-document-annotations.h | 10 +++++
libdocument/ev-document-attachments.h | 5 +++
libdocument/ev-document-factory.h | 6 +++
libdocument/ev-document-find.h | 5 +++
libdocument/ev-document-fonts.h | 6 +++
libdocument/ev-document-forms.h | 17 ++++++++
libdocument/ev-document-images.h | 4 ++
libdocument/ev-document-info.h | 12 ++++++
libdocument/ev-document-layers.h | 7 +++
libdocument/ev-document-links.h | 11 +++++
libdocument/ev-document-media.h | 3 ++
libdocument/ev-document-misc.h | 20 +++++++++
libdocument/ev-document-print.h | 3 ++
libdocument/ev-document-security.h | 4 ++
libdocument/ev-document-text.h | 6 +++
libdocument/ev-document-transition.h | 4 ++
libdocument/ev-document-type-builtins.h.template | 3 ++
libdocument/ev-document.h | 54 +++++++++++++++++++++++-
libdocument/ev-file-exporter.h | 8 ++++
libdocument/ev-file-helpers.h | 15 ++++++-
libdocument/ev-form-field-private.h | 3 ++
libdocument/ev-form-field.h | 10 +++++
libdocument/ev-image.h | 10 +++++
libdocument/ev-init.h | 5 +++
libdocument/ev-layer.h | 6 +++
libdocument/ev-link-action.h | 22 ++++++++++
libdocument/ev-link-dest.h | 21 +++++++++
libdocument/ev-link.h | 6 +++
libdocument/ev-macros.h | 11 +++++
libdocument/ev-mapping-list.h | 14 ++++++
libdocument/ev-media.h | 8 ++++
libdocument/ev-page.h | 4 ++
libdocument/ev-render-context.h | 10 +++++
libdocument/ev-selection.h | 6 +++
libdocument/ev-transition-effect.h | 4 ++
libdocument/meson.build | 3 +-
41 files changed, 423 insertions(+), 8 deletions(-)
---
diff --git a/libdocument/ev-annotation.h b/libdocument/ev-annotation.h
index fefbe62c9..3f9075d7c 100644
--- a/libdocument/ev-annotation.h
+++ b/libdocument/ev-annotation.h
@@ -117,88 +117,137 @@ typedef enum {
} EvAnnotationTextMarkupType;
/* EvAnnotation */
+EV_PUBLIC
GType ev_annotation_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvAnnotationType ev_annotation_get_annotation_type (EvAnnotation *annot);
+EV_PUBLIC
EvPage *ev_annotation_get_page (EvAnnotation *annot);
+EV_PUBLIC
guint ev_annotation_get_page_index (EvAnnotation *annot);
+EV_PUBLIC
gboolean ev_annotation_equal (EvAnnotation *annot,
EvAnnotation *other);
+EV_PUBLIC
const gchar *ev_annotation_get_contents (EvAnnotation *annot);
+EV_PUBLIC
gboolean ev_annotation_set_contents (EvAnnotation *annot,
const gchar *contents);
+EV_PUBLIC
const gchar *ev_annotation_get_name (EvAnnotation *annot);
+EV_PUBLIC
gboolean ev_annotation_set_name (EvAnnotation *annot,
const gchar *name);
+EV_PUBLIC
const gchar *ev_annotation_get_modified (EvAnnotation *annot);
+EV_PUBLIC
gboolean ev_annotation_set_modified (EvAnnotation *annot,
const gchar *modified);
+EV_PUBLIC
gboolean ev_annotation_set_modified_from_time_t (EvAnnotation *annot,
time_t utime);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
EV_DEPRECATED_FOR(ev_annotaion_set_modified_from_time_t)
+EV_PUBLIC
gboolean ev_annotation_set_modified_from_time (EvAnnotation *annot,
GTime utime);
EV_DEPRECATED_FOR(ev_annotaion_get_rgba)
+EV_PUBLIC
void ev_annotation_get_color (EvAnnotation *annot,
GdkColor *color);
EV_DEPRECATED_FOR(ev_annotaion_set_rgba)
+EV_PUBLIC
gboolean ev_annotation_set_color (EvAnnotation *annot,
const GdkColor *color);
G_GNUC_END_IGNORE_DEPRECATIONS
+
+EV_PUBLIC
void ev_annotation_get_rgba (EvAnnotation *annot,
GdkRGBA *rgba);
+EV_PUBLIC
gboolean ev_annotation_set_rgba (EvAnnotation *annot,
const GdkRGBA *rgba);
+EV_PUBLIC
void ev_annotation_get_area (EvAnnotation *annot,
EvRectangle *area);
+EV_PUBLIC
gboolean ev_annotation_set_area (EvAnnotation *annot,
const EvRectangle *area);
/* EvAnnotationMarkup */
+EV_PUBLIC
GType ev_annotation_markup_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
const gchar *ev_annotation_markup_get_label (EvAnnotationMarkup *markup);
+EV_PUBLIC
gboolean ev_annotation_markup_set_label (EvAnnotationMarkup *markup,
const gchar *label);
+EV_PUBLIC
gdouble ev_annotation_markup_get_opacity (EvAnnotationMarkup *markup);
+EV_PUBLIC
gboolean ev_annotation_markup_set_opacity (EvAnnotationMarkup *markup,
gdouble opacity);
+EV_PUBLIC
gboolean ev_annotation_markup_can_have_popup (EvAnnotationMarkup *markup);
+EV_PUBLIC
gboolean ev_annotation_markup_has_popup (EvAnnotationMarkup *markup);
+EV_PUBLIC
gboolean ev_annotation_markup_set_has_popup (EvAnnotationMarkup *markup,
gboolean has_popup);
+EV_PUBLIC
void ev_annotation_markup_get_rectangle (EvAnnotationMarkup *markup,
EvRectangle *ev_rect);
+EV_PUBLIC
gboolean ev_annotation_markup_set_rectangle (EvAnnotationMarkup *markup,
const EvRectangle *ev_rect);
+EV_PUBLIC
gboolean ev_annotation_markup_get_popup_is_open (EvAnnotationMarkup *markup);
+EV_PUBLIC
gboolean ev_annotation_markup_set_popup_is_open (EvAnnotationMarkup *markup,
gboolean is_open);
/* EvAnnotationText */
+EV_PUBLIC
GType ev_annotation_text_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvAnnotation *ev_annotation_text_new (EvPage *page);
+EV_PUBLIC
EvAnnotationTextIcon ev_annotation_text_get_icon (EvAnnotationText *text);
+EV_PUBLIC
gboolean ev_annotation_text_set_icon (EvAnnotationText *text,
EvAnnotationTextIcon icon);
+EV_PUBLIC
gboolean ev_annotation_text_get_is_open (EvAnnotationText *text);
+EV_PUBLIC
gboolean ev_annotation_text_set_is_open (EvAnnotationText *text,
gboolean is_open);
/* EvAnnotationAttachment */
+EV_PUBLIC
GType ev_annotation_attachment_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvAnnotation *ev_annotation_attachment_new (EvPage *page,
EvAttachment *attachment);
+EV_PUBLIC
EvAttachment *ev_annotation_attachment_get_attachment (EvAnnotationAttachment *annot);
+EV_PUBLIC
gboolean ev_annotation_attachment_set_attachment (EvAnnotationAttachment *annot,
EvAttachment *attachment);
/* EvAnnotationTextMarkup */
+EV_PUBLIC
GType ev_annotation_text_markup_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvAnnotation *ev_annotation_text_markup_highlight_new (EvPage *page);
+EV_PUBLIC
EvAnnotation *ev_annotation_text_markup_strike_out_new (EvPage *page);
+EV_PUBLIC
EvAnnotation *ev_annotation_text_markup_underline_new (EvPage *page);
+EV_PUBLIC
EvAnnotation *ev_annotation_text_markup_squiggly_new (EvPage *page);
+EV_PUBLIC
EvAnnotationTextMarkupType ev_annotation_text_markup_get_markup_type (EvAnnotationTextMarkup *annot);
+EV_PUBLIC
gboolean ev_annotation_text_markup_set_markup_type (EvAnnotationTextMarkup *annot,
EvAnnotationTextMarkupType
markup_type);
diff --git a/libdocument/ev-async-renderer.h b/libdocument/ev-async-renderer.h
index 4ce3caa7a..e1fe00dba 100644
--- a/libdocument/ev-async-renderer.h
+++ b/libdocument/ev-async-renderer.h
@@ -29,6 +29,8 @@
#include <glib.h>
#include <gdk/gdk.h>
+#include "ev-macros.h"
+
G_BEGIN_DECLS
#define EV_TYPE_ASYNC_RENDERER (ev_async_renderer_get_type ())
@@ -54,7 +56,9 @@ struct _EvAsyncRendererInterface
int rotation);
};
+EV_PUBLIC
GType ev_async_renderer_get_type (void);
+EV_PUBLIC
void ev_async_renderer_render_pixbuf (EvAsyncRenderer *renderer,
int page,
double scale,
diff --git a/libdocument/ev-attachment.h b/libdocument/ev-attachment.h
index f98561b40..28736ef3e 100644
--- a/libdocument/ev-attachment.h
+++ b/libdocument/ev-attachment.h
@@ -27,6 +27,8 @@
#include <glib-object.h>
#include <gio/gio.h>
+#include "ev-macros.h"
+
G_BEGIN_DECLS
typedef struct _EvAttachment EvAttachment;
@@ -49,9 +51,13 @@ struct _EvAttachmentClass {
GObjectClass base_class;
};
+EV_PUBLIC
GType ev_attachment_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
GQuark ev_attachment_error_quark (void) G_GNUC_CONST;
+
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+EV_PUBLIC
EvAttachment *ev_attachment_new (const gchar *name,
const gchar *description,
GTime mtime,
@@ -60,16 +66,25 @@ EvAttachment *ev_attachment_new (const gchar *name,
gpointer data);
G_GNUC_END_IGNORE_DEPRECATIONS
+EV_PUBLIC
const gchar *ev_attachment_get_name (EvAttachment *attachment);
+EV_PUBLIC
const gchar *ev_attachment_get_description (EvAttachment *attachment);
+
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+EV_PUBLIC
GTime ev_attachment_get_modification_date (EvAttachment *attachment);
+EV_PUBLIC
GTime ev_attachment_get_creation_date (EvAttachment *attachment);
G_GNUC_END_IGNORE_DEPRECATIONS
+
+EV_PUBLIC
const gchar *ev_attachment_get_mime_type (EvAttachment *attachment);
+EV_PUBLIC
gboolean ev_attachment_save (EvAttachment *attachment,
GFile *file,
GError **error);
+EV_PUBLIC
gboolean ev_attachment_open (EvAttachment *attachment,
GdkScreen *screen,
guint32 timestamp,
diff --git a/libdocument/ev-backends-manager.h b/libdocument/ev-backends-manager.h
index 3813987a5..43939a3aa 100644
--- a/libdocument/ev-backends-manager.h
+++ b/libdocument/ev-backends-manager.h
@@ -36,13 +36,17 @@ typedef struct _EvTypeInfo {
const gchar **mime_types;
} EvTypeInfo;
+EV_PUBLIC
EvDocument *ev_backends_manager_get_document (const gchar *mime_type);
EV_DEPRECATED
+EV_PUBLIC
const gchar *ev_backends_manager_get_document_module_name (EvDocument *document);
EV_DEPRECATED
+EV_PUBLIC
EvTypeInfo *ev_backends_manager_get_document_type_info (EvDocument *document);
+EV_PUBLIC
GList *ev_backends_manager_get_all_types_info (void);
G_END_DECLS
diff --git a/libdocument/ev-debug.h b/libdocument/ev-debug.h
index ce0cd8cff..689decae8 100644
--- a/libdocument/ev-debug.h
+++ b/libdocument/ev-debug.h
@@ -41,6 +41,10 @@
#include <glib-object.h>
+#include "ev-macros.h"
+
+G_BEGIN_DECLS
+
#define EV_GET_TYPE_NAME(instance) g_type_name_from_instance ((gpointer)instance)
#ifndef EV_ENABLE_DEBUG
@@ -63,8 +67,6 @@ static void ev_profiler_stop(EvProfileSection section, const gchar *format, ...)
#else /* ENABLE_DEBUG */
-G_BEGIN_DECLS
-
/*
* Set an environmental var of the same name to turn on
* debugging output. Setting EV_DEBUG will turn on all
@@ -103,19 +105,24 @@ typedef enum {
void _ev_debug_init (void);
void _ev_debug_shutdown (void);
+EV_PRIVATE
void ev_debug_message (EvDebugSection section,
const gchar *file,
gint line,
const gchar *function,
const gchar *format, ...) G_GNUC_PRINTF(5, 6);
+EV_PRIVATE
void ev_profiler_start (EvProfileSection section,
const gchar *format, ...) G_GNUC_PRINTF(2, 3);
+EV_PRIVATE
void ev_profiler_stop (EvProfileSection section,
const gchar *format, ...) G_GNUC_PRINTF(2, 3);
+EV_PRIVATE
EvDebugBorders ev_debug_get_debug_borders (void);
+#endif /* EV_ENABLE_DEBUG */
+
G_END_DECLS
-#endif /* EV_ENABLE_DEBUG */
#endif /* __EV_DEBUG_H__ */
diff --git a/libdocument/ev-document-annotations.h b/libdocument/ev-document-annotations.h
index f0137c2b8..98fdd7ab0 100644
--- a/libdocument/ev-document-annotations.h
+++ b/libdocument/ev-document-annotations.h
@@ -27,6 +27,7 @@
#include <glib-object.h>
+#include "ev-macros.h"
#include "ev-document.h"
#include "ev-annotation.h"
#include "ev-mapping-list.h"
@@ -98,21 +99,30 @@ struct _EvDocumentAnnotationsInterface
gdouble y);
};
+EV_PUBLIC
GType ev_document_annotations_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvMappingList *ev_document_annotations_get_annotations (EvDocumentAnnotations *document_annots,
EvPage *page);
+EV_PUBLIC
gboolean ev_document_annotations_document_is_modified (EvDocumentAnnotations *document_annots);
+EV_PUBLIC
void ev_document_annotations_add_annotation (EvDocumentAnnotations *document_annots,
EvAnnotation *annot,
EvRectangle *rect);
+EV_PUBLIC
void ev_document_annotations_remove_annotation (EvDocumentAnnotations *document_annots,
EvAnnotation *annot);
+EV_PUBLIC
void ev_document_annotations_save_annotation (EvDocumentAnnotations *document_annots,
EvAnnotation *annot,
EvAnnotationsSaveMask mask);
+EV_PUBLIC
gboolean ev_document_annotations_can_add_annotation (EvDocumentAnnotations *document_annots);
+EV_PUBLIC
gboolean ev_document_annotations_can_remove_annotation (EvDocumentAnnotations *document_annots);
+EV_PUBLIC
EvAnnotationsOverMarkup ev_document_annotations_over_markup (EvDocumentAnnotations *document_annots,
EvAnnotation *annot,
gdouble x,
diff --git a/libdocument/ev-document-attachments.h b/libdocument/ev-document-attachments.h
index e699a824a..6ca43a2ed 100644
--- a/libdocument/ev-document-attachments.h
+++ b/libdocument/ev-document-attachments.h
@@ -28,6 +28,8 @@
#include <glib-object.h>
#include <glib.h>
+#include "ev-macros.h"
+
G_BEGIN_DECLS
#define EV_TYPE_DOCUMENT_ATTACHMENTS (ev_document_attachments_get_type ())
@@ -49,9 +51,12 @@ struct _EvDocumentAttachmentsInterface
GList *(* get_attachments) (EvDocumentAttachments *document_attachments);
};
+EV_PUBLIC
GType ev_document_attachments_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
gboolean ev_document_attachments_has_attachments (EvDocumentAttachments *document_attachments);
+EV_PUBLIC
GList *ev_document_attachments_get_attachments (EvDocumentAttachments *document_attachments);
G_END_DECLS
diff --git a/libdocument/ev-document-factory.h b/libdocument/ev-document-factory.h
index 1ccdb9138..60d9c29ea 100644
--- a/libdocument/ev-document-factory.h
+++ b/libdocument/ev-document-factory.h
@@ -27,6 +27,7 @@
#include <gtk/gtk.h>
+#include "ev-macros.h"
#include "ev-document.h"
G_BEGIN_DECLS
@@ -34,20 +35,25 @@ G_BEGIN_DECLS
gboolean _ev_document_factory_init (void);
void _ev_document_factory_shutdown (void);
+EV_PUBLIC
EvDocument* ev_document_factory_get_document (const char *uri, GError **error);
+EV_PUBLIC
EvDocument *ev_document_factory_get_document_full (const char *uri,
EvDocumentLoadFlags flags,
GError **error);
+EV_PUBLIC
EvDocument* ev_document_factory_get_document_for_gfile (GFile *file,
EvDocumentLoadFlags flags,
GCancellable *cancellable,
GError **error);
+EV_PUBLIC
EvDocument* ev_document_factory_get_document_for_stream (GInputStream *stream,
const char *mime_type,
EvDocumentLoadFlags flags,
GCancellable *cancellable,
GError **error);
+EV_PUBLIC
void ev_document_factory_add_filters (GtkWidget *chooser, EvDocument *document);
G_END_DECLS
diff --git a/libdocument/ev-document-find.h b/libdocument/ev-document-find.h
index f50ef0a2a..b598452fa 100644
--- a/libdocument/ev-document-find.h
+++ b/libdocument/ev-document-find.h
@@ -29,6 +29,7 @@
#include <glib-object.h>
#include <glib.h>
+#include "ev-macros.h"
#include "ev-document.h"
G_BEGIN_DECLS
@@ -65,15 +66,19 @@ struct _EvDocumentFindInterface
EvFindOptions (*get_supported_options) (EvDocumentFind *document_find);
};
+EV_PUBLIC
GType ev_document_find_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
GList *ev_document_find_find_text (EvDocumentFind *document_find,
EvPage *page,
const gchar *text,
gboolean case_sensitive);
+EV_PUBLIC
GList *ev_document_find_find_text_with_options (EvDocumentFind *document_find,
EvPage *page,
const gchar *text,
EvFindOptions options);
+EV_PUBLIC
EvFindOptions ev_document_find_get_supported_options (EvDocumentFind *document_find);
G_END_DECLS
diff --git a/libdocument/ev-document-fonts.h b/libdocument/ev-document-fonts.h
index 4edc92d3b..94e3e838c 100644
--- a/libdocument/ev-document-fonts.h
+++ b/libdocument/ev-document-fonts.h
@@ -32,6 +32,7 @@
#include <glib.h>
#include <gtk/gtk.h>
+#include "ev-macros.h"
#include "ev-document.h"
#include "ev-link.h"
@@ -67,12 +68,17 @@ struct _EvDocumentFontsInterface
const gchar *(* get_fonts_summary) (EvDocumentFonts *document_fonts);
};
+EV_PUBLIC
GType ev_document_fonts_get_type (void);
+EV_PUBLIC
gboolean ev_document_fonts_scan (EvDocumentFonts *document_fonts,
int n_pages);
+EV_PUBLIC
double ev_document_fonts_get_progress (EvDocumentFonts *document_fonts);
+EV_PUBLIC
void ev_document_fonts_fill_model (EvDocumentFonts *document_fonts,
GtkTreeModel *model);
+EV_PUBLIC
const gchar *ev_document_fonts_get_fonts_summary (EvDocumentFonts *document_fonts);
G_END_DECLS
diff --git a/libdocument/ev-document-forms.h b/libdocument/ev-document-forms.h
index f78dba6bd..552a74af8 100644
--- a/libdocument/ev-document-forms.h
+++ b/libdocument/ev-document-forms.h
@@ -27,6 +27,7 @@
#include <glib-object.h>
+#include "ev-macros.h"
#include "ev-document.h"
#include "ev-form-field.h"
#include "ev-mapping-list.h"
@@ -86,44 +87,60 @@ struct _EvDocumentFormsInterface
EvLinkAction *action);
};
+EV_PUBLIC
GType ev_document_forms_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvMappingList *ev_document_forms_get_form_fields (EvDocumentForms *document_forms,
EvPage *page);
+EV_PUBLIC
gboolean ev_document_forms_document_is_modified (EvDocumentForms *document_forms);
+EV_PUBLIC
gchar *ev_document_forms_form_field_text_get_text (EvDocumentForms *document_forms,
EvFormField *field);
+EV_PUBLIC
void ev_document_forms_form_field_text_set_text (EvDocumentForms *document_forms,
EvFormField *field,
const gchar *text);
+EV_PUBLIC
gboolean ev_document_forms_form_field_button_get_state (EvDocumentForms *document_forms,
EvFormField *field);
+EV_PUBLIC
void ev_document_forms_form_field_button_set_state (EvDocumentForms *document_forms,
EvFormField *field,
gboolean state);
+EV_PUBLIC
gchar *ev_document_forms_form_field_choice_get_item (EvDocumentForms *document_forms,
EvFormField *field,
gint index);
+EV_PUBLIC
gint ev_document_forms_form_field_choice_get_n_items (EvDocumentForms *document_forms,
EvFormField *field);
+EV_PUBLIC
gboolean ev_document_forms_form_field_choice_is_item_selected (EvDocumentForms *document_forms,
EvFormField *field,
gint index);
+EV_PUBLIC
void ev_document_forms_form_field_choice_select_item (EvDocumentForms *document_forms,
EvFormField *field,
gint index);
+EV_PUBLIC
void ev_document_forms_form_field_choice_toggle_item (EvDocumentForms *document_forms,
EvFormField *field,
gint index);
+EV_PUBLIC
void ev_document_forms_form_field_choice_unselect_all (EvDocumentForms *document_forms,
EvFormField *field);
+EV_PUBLIC
void ev_document_forms_form_field_choice_set_text (EvDocumentForms *document_forms,
EvFormField *field,
const gchar *text);
+EV_PUBLIC
gchar *ev_document_forms_form_field_choice_get_text (EvDocumentForms *document_forms,
EvFormField *field);
+EV_PUBLIC
void ev_document_forms_reset_form (EvDocumentForms *document_forms,
EvLinkAction *action);
diff --git a/libdocument/ev-document-images.h b/libdocument/ev-document-images.h
index 8a028695e..7440e2dea 100644
--- a/libdocument/ev-document-images.h
+++ b/libdocument/ev-document-images.h
@@ -28,6 +28,7 @@
#include <glib-object.h>
#include <glib.h>
+#include "ev-macros.h"
#include "ev-document.h"
#include "ev-image.h"
#include "ev-mapping-list.h"
@@ -54,9 +55,12 @@ struct _EvDocumentImagesInterface {
EvImage *image);
};
+EV_PUBLIC
GType ev_document_images_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvMappingList *ev_document_images_get_image_mapping (EvDocumentImages *document_images,
EvPage *page);
+EV_PUBLIC
GdkPixbuf *ev_document_images_get_image (EvDocumentImages *document_images,
EvImage *image);
diff --git a/libdocument/ev-document-info.h b/libdocument/ev-document-info.h
index d05e48cc9..b75a970d3 100644
--- a/libdocument/ev-document-info.h
+++ b/libdocument/ev-document-info.h
@@ -28,6 +28,8 @@
#include <glib-object.h>
#include <glib.h>
+#include "ev-macros.h"
+
G_BEGIN_DECLS
typedef struct _EvDocumentInfo EvDocumentInfo;
@@ -141,8 +143,11 @@ struct _EvDocumentInfo
};
G_GNUC_END_IGNORE_DEPRECATIONS
+EV_PUBLIC
GType ev_document_info_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvDocumentInfo *ev_document_info_copy (EvDocumentInfo *info);
+EV_PUBLIC
void ev_document_info_free (EvDocumentInfo *info);
/* EvDocumentLicense */
@@ -152,12 +157,19 @@ struct _EvDocumentLicense {
gchar *uri;
gchar *web_statement;
};
+EV_PUBLIC
GType ev_document_license_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvDocumentLicense *ev_document_license_new (void);
+EV_PUBLIC
EvDocumentLicense *ev_document_license_copy (EvDocumentLicense *license);
+EV_PUBLIC
void ev_document_license_free (EvDocumentLicense *license);
+EV_PUBLIC
const gchar *ev_document_license_get_text (EvDocumentLicense *license);
+EV_PUBLIC
const gchar *ev_document_license_get_uri (EvDocumentLicense *license);
+EV_PUBLIC
const gchar *ev_document_license_get_web_statement (EvDocumentLicense *license);
G_END_DECLS
diff --git a/libdocument/ev-document-layers.h b/libdocument/ev-document-layers.h
index 22b339fe3..2ba11927e 100644
--- a/libdocument/ev-document-layers.h
+++ b/libdocument/ev-document-layers.h
@@ -29,6 +29,7 @@
#include <glib.h>
#include <gtk/gtk.h>
+#include "ev-macros.h"
#include "ev-layer.h"
G_BEGIN_DECLS
@@ -69,14 +70,20 @@ struct _EvDocumentLayersInterface
EvLayer *layer);
};
+EV_PUBLIC
GType ev_document_layers_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
gboolean ev_document_layers_has_layers (EvDocumentLayers *document_layers);
+EV_PUBLIC
GtkTreeModel *ev_document_layers_get_layers (EvDocumentLayers *document_layers);
+EV_PUBLIC
void ev_document_layers_show_layer (EvDocumentLayers *document_layers,
EvLayer *layer);
+EV_PUBLIC
void ev_document_layers_hide_layer (EvDocumentLayers *document_layers,
EvLayer *layer);
+EV_PUBLIC
gboolean ev_document_layers_layer_is_visible (EvDocumentLayers *document_layers,
EvLayer *layer);
diff --git a/libdocument/ev-document-links.h b/libdocument/ev-document-links.h
index 36fa25491..2e6dc5d8a 100644
--- a/libdocument/ev-document-links.h
+++ b/libdocument/ev-document-links.h
@@ -32,6 +32,7 @@
#include <glib.h>
#include <gtk/gtk.h>
+#include "ev-macros.h"
#include "ev-document.h"
#include "ev-link.h"
#include "ev-mapping-list.h"
@@ -71,22 +72,32 @@ struct _EvDocumentLinksInterface
const gchar *link_name);
};
+EV_PUBLIC
GType ev_document_links_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
gboolean ev_document_links_has_document_links (EvDocumentLinks *document_links);
+EV_PUBLIC
GtkTreeModel *ev_document_links_get_links_model (EvDocumentLinks *document_links);
+EV_PUBLIC
EvMappingList *ev_document_links_get_links (EvDocumentLinks *document_links,
EvPage *page);
+EV_PUBLIC
EvLinkDest *ev_document_links_find_link_dest (EvDocumentLinks *document_links,
const gchar *link_name);
+EV_PUBLIC
gint ev_document_links_find_link_page (EvDocumentLinks *document_links,
const gchar *link_name);
+EV_PUBLIC
gint ev_document_links_get_dest_page (EvDocumentLinks *document_links,
EvLinkDest *dest);
+EV_PUBLIC
gchar *ev_document_links_get_dest_page_label (EvDocumentLinks *document_links,
EvLinkDest *dest);
+EV_PUBLIC
gint ev_document_links_get_link_page (EvDocumentLinks *document_links,
EvLink *link);
+EV_PUBLIC
gchar *ev_document_links_get_link_page_label (EvDocumentLinks *document_links,
EvLink *link);
diff --git a/libdocument/ev-document-media.h b/libdocument/ev-document-media.h
index ac8dbfbb5..db00f3cb3 100644
--- a/libdocument/ev-document-media.h
+++ b/libdocument/ev-document-media.h
@@ -28,6 +28,7 @@
#include <glib-object.h>
#include <glib.h>
+#include "ev-macros.h"
#include "ev-document.h"
#include "ev-media.h"
#include "ev-mapping-list.h"
@@ -52,7 +53,9 @@ struct _EvDocumentMediaInterface {
EvPage *page);
};
+EV_PUBLIC
GType ev_document_media_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvMappingList *ev_document_media_get_media_mapping (EvDocumentMedia *document_media,
EvPage *page);
diff --git a/libdocument/ev-document-misc.h b/libdocument/ev-document-misc.h
index e6d0d34fd..ea52a06ef 100644
--- a/libdocument/ev-document-misc.h
+++ b/libdocument/ev-document-misc.h
@@ -30,40 +30,49 @@
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gtk/gtk.h>
+
#include "ev-macros.h"
G_BEGIN_DECLS
EV_DEPRECATED
+EV_PUBLIC
GdkPixbuf *ev_document_misc_get_thumbnail_frame (int width,
int height,
GdkPixbuf *source_pixbuf);
EV_DEPRECATED
+EV_PUBLIC
GdkPixbuf *ev_document_misc_get_loading_thumbnail (int width,
int height,
gboolean inverted_colors);
+EV_PUBLIC
GdkPixbuf *ev_document_misc_render_loading_thumbnail (GtkWidget *widget,
int width,
int height,
gboolean inverted_colors);
+EV_PUBLIC
GdkPixbuf *ev_document_misc_render_thumbnail_with_frame (GtkWidget *widget,
GdkPixbuf *source_pixbuf);
+EV_PUBLIC
cairo_surface_t *ev_document_misc_render_loading_thumbnail_surface (GtkWidget *widget,
int width,
int height,
gboolean inverted_colors);
+EV_PUBLIC
cairo_surface_t *ev_document_misc_render_thumbnail_surface_with_frame (GtkWidget *widget,
cairo_surface_t *source_surface,
int width,
int height);
EV_DEPRECATED
+EV_PUBLIC
void ev_document_misc_get_page_border_size (gint page_width,
gint page_height,
GtkBorder *border);
EV_DEPRECATED
+EV_PUBLIC
void ev_document_misc_paint_one_page (cairo_t *cr,
GtkWidget *widget,
GdkRectangle *area,
@@ -71,25 +80,36 @@ void ev_document_misc_paint_one_page (cairo_t *cr,
gboolean highlight,
gboolean inverted_colors);
+EV_PUBLIC
cairo_surface_t *ev_document_misc_surface_from_pixbuf (GdkPixbuf *pixbuf);
+EV_PUBLIC
GdkPixbuf *ev_document_misc_pixbuf_from_surface (cairo_surface_t *surface);
+EV_PUBLIC
cairo_surface_t *ev_document_misc_surface_rotate_and_scale (cairo_surface_t *surface,
gint dest_width,
gint dest_height,
gint dest_rotation);
+EV_PUBLIC
void ev_document_misc_invert_surface (cairo_surface_t *surface);
+EV_PUBLIC
void ev_document_misc_invert_pixbuf (GdkPixbuf *pixbuf);
EV_DEPRECATED_FOR(ev_document_misc_get_widget_dpi)
+EV_PUBLIC
gdouble ev_document_misc_get_screen_dpi (GdkScreen *screen);
+EV_PUBLIC
gdouble ev_document_misc_get_widget_dpi (GtkWidget *widget);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
EV_DEPRECATED_FOR (ev_document_misc_format_datetime)
+EV_PUBLIC
gchar *ev_document_misc_format_date (GTime utime);
G_GNUC_END_IGNORE_DEPRECATIONS
+
+EV_PUBLIC
gchar *ev_document_misc_format_datetime (GDateTime *dt);
+EV_PUBLIC
void ev_document_misc_get_pointer_position (GtkWidget *widget,
gint *x,
gint *y);
diff --git a/libdocument/ev-document-print.h b/libdocument/ev-document-print.h
index 26ed0b543..31bbda0b5 100644
--- a/libdocument/ev-document-print.h
+++ b/libdocument/ev-document-print.h
@@ -24,6 +24,7 @@
#include <glib-object.h>
#include <cairo.h>
+#include "ev-macros.h"
#include "ev-page.h"
G_BEGIN_DECLS
@@ -48,8 +49,10 @@ struct _EvDocumentPrintInterface
cairo_t *cr);
};
+EV_PUBLIC
GType ev_document_print_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
void ev_document_print_print_page (EvDocumentPrint *document_print,
EvPage *page,
cairo_t *cr);
diff --git a/libdocument/ev-document-security.h b/libdocument/ev-document-security.h
index b4fbab6d3..3b5385a92 100644
--- a/libdocument/ev-document-security.h
+++ b/libdocument/ev-document-security.h
@@ -32,6 +32,7 @@
#include <glib.h>
#include <gdk/gdk.h>
+#include "ev-macros.h"
#include "ev-document.h"
G_BEGIN_DECLS
@@ -57,8 +58,11 @@ struct _EvDocumentSecurityInterface
const char *password);
};
+EV_PUBLIC
GType ev_document_security_get_type (void);
+EV_PUBLIC
gboolean ev_document_security_has_document_security (EvDocumentSecurity *document_security);
+EV_PUBLIC
void ev_document_security_set_password (EvDocumentSecurity *document_security,
const char *password);
diff --git a/libdocument/ev-document-text.h b/libdocument/ev-document-text.h
index 2e6e10d7f..6a2a06ec0 100644
--- a/libdocument/ev-document-text.h
+++ b/libdocument/ev-document-text.h
@@ -30,6 +30,7 @@
#include <glib.h>
#include <gdk/gdk.h>
+#include "ev-macros.h"
#include "ev-document.h"
G_BEGIN_DECLS
@@ -61,16 +62,21 @@ struct _EvDocumentTextInterface
EvPage *page);
};
+EV_PUBLIC
GType ev_document_text_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
gchar *ev_document_text_get_text (EvDocumentText *document_text,
EvPage *page);
+EV_PUBLIC
gboolean ev_document_text_get_text_layout (EvDocumentText *document_text,
EvPage *page,
EvRectangle **areas,
guint *n_areas);
+EV_PUBLIC
cairo_region_t *ev_document_text_get_text_mapping (EvDocumentText *document_text,
EvPage *page);
+EV_PUBLIC
PangoAttrList *ev_document_text_get_text_attrs (EvDocumentText *document_text,
EvPage *page);
G_END_DECLS
diff --git a/libdocument/ev-document-transition.h b/libdocument/ev-document-transition.h
index f2979033c..893520594 100644
--- a/libdocument/ev-document-transition.h
+++ b/libdocument/ev-document-transition.h
@@ -27,6 +27,7 @@
#include <glib-object.h>
+#include "ev-macros.h"
#include "ev-document.h"
#include "ev-transition-effect.h"
@@ -53,9 +54,12 @@ struct _EvDocumentTransitionInterface
gint page);
};
+EV_PUBLIC
GType ev_document_transition_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
gdouble ev_document_transition_get_page_duration (EvDocumentTransition *document_trans,
gint page);
+EV_PUBLIC
EvTransitionEffect * ev_document_transition_get_effect (EvDocumentTransition *document_trans,
gint page);
diff --git a/libdocument/ev-document-type-builtins.h.template
b/libdocument/ev-document-type-builtins.h.template
index 4c52f8c7b..97483a620 100644
--- a/libdocument/ev-document-type-builtins.h.template
+++ b/libdocument/ev-document-type-builtins.h.template
@@ -9,6 +9,8 @@
#include <glib-object.h>
+#include "ev-macros.h"
+
G_BEGIN_DECLS
/*** END file-header ***/
@@ -18,6 +20,7 @@ G_BEGIN_DECLS
/*** END file-production ***/
/*** BEGIN value-header ***/
+EV_PUBLIC
GType @enum_name@_get_type (void) G_GNUC_CONST;
#define EV_TYPE_@ENUMSHORT@ (@enum_name@_get_type ())
/*** END value-header ***/
diff --git a/libdocument/ev-document.h b/libdocument/ev-document.h
index a3ed4c16a..b3a5fce18 100644
--- a/libdocument/ev-document.h
+++ b/libdocument/ev-document.h
@@ -33,6 +33,7 @@
#include <gdk/gdk.h>
#include <cairo.h>
+#include "ev-macros.h"
#include "ev-document-info.h"
#include "ev-page.h"
#include "ev-render-context.h"
@@ -134,90 +135,130 @@ struct _EvDocumentClass
EvRenderContext *rc);
};
+EV_PUBLIC
GType ev_document_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
GQuark ev_document_error_quark (void);
/* Document mutex */
+EV_PUBLIC
GMutex *ev_document_get_doc_mutex (void);
+EV_PUBLIC
void ev_document_doc_mutex_lock (void);
+EV_PUBLIC
void ev_document_doc_mutex_unlock (void);
+EV_PUBLIC
gboolean ev_document_doc_mutex_trylock (void);
/* FontConfig mutex */
+EV_PUBLIC
GMutex *ev_document_get_fc_mutex (void);
+EV_PUBLIC
void ev_document_fc_mutex_lock (void);
+EV_PUBLIC
void ev_document_fc_mutex_unlock (void);
+EV_PUBLIC
gboolean ev_document_fc_mutex_trylock (void);
+EV_PUBLIC
EvDocumentInfo *ev_document_get_info (EvDocument *document);
+EV_PUBLIC
gboolean ev_document_get_backend_info (EvDocument *document,
EvDocumentBackendInfo *info);
+EV_PUBLIC
gboolean ev_document_get_modified (EvDocument *document);
+EV_PUBLIC
void ev_document_set_modified (EvDocument *document,
gboolean modified);
+EV_PUBLIC
gboolean ev_document_load (EvDocument *document,
const char *uri,
GError **error);
+EV_PUBLIC
gboolean ev_document_load_full (EvDocument *document,
const char *uri,
EvDocumentLoadFlags flags,
GError **error);
+EV_PUBLIC
gboolean ev_document_load_stream (EvDocument *document,
GInputStream *stream,
EvDocumentLoadFlags flags,
GCancellable *cancellable,
GError **error);
+EV_PUBLIC
gboolean ev_document_load_gfile (EvDocument *document,
GFile *file,
EvDocumentLoadFlags flags,
GCancellable *cancellable,
GError **error);
+EV_PUBLIC
gboolean ev_document_save (EvDocument *document,
const char *uri,
GError **error);
+EV_PUBLIC
gint ev_document_get_n_pages (EvDocument *document);
+EV_PUBLIC
EvPage *ev_document_get_page (EvDocument *document,
gint index);
+EV_PUBLIC
void ev_document_get_page_size (EvDocument *document,
gint page_index,
double *width,
double *height);
+EV_PUBLIC
gchar *ev_document_get_page_label (EvDocument *document,
gint page_index);
+EV_PUBLIC
cairo_surface_t *ev_document_render (EvDocument *document,
EvRenderContext *rc);
+EV_PUBLIC
GdkPixbuf *ev_document_get_thumbnail (EvDocument *document,
EvRenderContext *rc);
+EV_PUBLIC
cairo_surface_t *ev_document_get_thumbnail_surface (EvDocument *document,
EvRenderContext *rc);
+EV_PUBLIC
guint64 ev_document_get_size (EvDocument *document);
+EV_PUBLIC
const gchar *ev_document_get_uri (EvDocument *document);
+EV_PUBLIC
const gchar *ev_document_get_title (EvDocument *document);
+EV_PUBLIC
gboolean ev_document_is_page_size_uniform (EvDocument *document);
+EV_PUBLIC
void ev_document_get_max_page_size (EvDocument *document,
gdouble *width,
gdouble *height);
+EV_PUBLIC
void ev_document_get_min_page_size (EvDocument *document,
gdouble *width,
gdouble *height);
+EV_PUBLIC
gboolean ev_document_check_dimensions (EvDocument *document);
+EV_PUBLIC
gint ev_document_get_max_label_len (EvDocument *document);
+EV_PUBLIC
gboolean ev_document_has_text_page_labels (EvDocument *document);
+EV_PUBLIC
gboolean ev_document_find_page_by_label (EvDocument *document,
const gchar *page_label,
gint *page_index);
+EV_PUBLIC
gboolean ev_document_has_synctex (EvDocument *document);
+EV_PUBLIC
EvSourceLink *ev_document_synctex_backward_search
(EvDocument *document,
gint page_index,
gfloat x,
gfloat y);
+EV_PUBLIC
EvMapping *ev_document_synctex_forward_search
(EvDocument *document,
EvSourceLink *source_link);
+EV_PUBLIC
gint ev_rect_cmp (EvRectangle *a,
EvRectangle *b);
@@ -230,9 +271,13 @@ struct _EvRectangle
gdouble y2;
};
+EV_PUBLIC
GType ev_rectangle_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvRectangle *ev_rectangle_new (void);
+EV_PUBLIC
EvRectangle *ev_rectangle_copy (EvRectangle *ev_rect);
+EV_PUBLIC
void ev_rectangle_free (EvRectangle *ev_rect);
struct _EvMapping {
@@ -248,11 +293,15 @@ struct _EvSourceLink
gint col;
};
+EV_PUBLIC
GType ev_source_link_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvSourceLink *ev_source_link_new (const gchar *filename,
gint line,
gint col);
+EV_PUBLIC
EvSourceLink *ev_source_link_copy (EvSourceLink *link);
+EV_PUBLIC
void ev_source_link_free (EvSourceLink *link);
/* convenience macro to ease interface addition in the CODE
@@ -296,8 +345,9 @@ static void backend_name##_class_intern_init (gpointer klass) \
backend_name##_parent_class = g_type_class_peek_parent (klass); \
backend_name##_class_init ((BackendName##Class *) klass); \
} \
- \
-G_MODULE_EXPORT GType \
+ \
+EV_PUBLIC \
+GType \
register_evince_backend (GTypeModule *module) \
{ \
const GTypeInfo our_info = { \
diff --git a/libdocument/ev-file-exporter.h b/libdocument/ev-file-exporter.h
index 6d92361c0..b3776d9bd 100644
--- a/libdocument/ev-file-exporter.h
+++ b/libdocument/ev-file-exporter.h
@@ -29,6 +29,7 @@
#include <glib-object.h>
+#include "ev-macros.h"
#include "ev-render-context.h"
G_BEGIN_DECLS
@@ -88,14 +89,21 @@ struct _EvFileExporterInterface {
EvFileExporterCapabilities (* get_capabilities) (EvFileExporter *exporter);
};
+EV_PUBLIC
GType ev_file_exporter_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
void ev_file_exporter_begin (EvFileExporter *exporter,
EvFileExporterContext *fc);
+EV_PUBLIC
void ev_file_exporter_begin_page (EvFileExporter *exporter);
+EV_PUBLIC
void ev_file_exporter_do_page (EvFileExporter *exporter,
EvRenderContext *rc);
+EV_PUBLIC
void ev_file_exporter_end_page (EvFileExporter *exporter);
+EV_PUBLIC
void ev_file_exporter_end (EvFileExporter *exporter);
+EV_PUBLIC
EvFileExporterCapabilities ev_file_exporter_get_capabilities (EvFileExporter *exporter);
G_END_DECLS
diff --git a/libdocument/ev-file-helpers.h b/libdocument/ev-file-helpers.h
index 45d1453f3..8f58e324e 100644
--- a/libdocument/ev-file-helpers.h
+++ b/libdocument/ev-file-helpers.h
@@ -27,6 +27,8 @@
#include <glib.h>
#include <gio/gio.h>
+#include "ev-macros.h"
+
G_BEGIN_DECLS
typedef enum {
@@ -40,36 +42,47 @@ void _ev_file_helpers_init (void);
void _ev_file_helpers_shutdown (void);
+EV_PUBLIC
int ev_mkstemp (const char *tmpl,
char **file_name,
GError **error);
+EV_PUBLIC
GFile *ev_mkstemp_file (const char *tmpl,
GError **error);
+EV_PUBLIC
gchar *ev_mkdtemp (const char *tmpl,
GError **error);
+EV_PUBLIC
void ev_tmp_filename_unlink (const gchar *filename);
+EV_PUBLIC
void ev_tmp_file_unlink (GFile *file);
+EV_PUBLIC
void ev_tmp_uri_unlink (const gchar *uri);
+EV_PUBLIC
gboolean ev_file_is_temp (GFile *file);
+EV_PUBLIC
gboolean ev_xfer_uri_simple (const char *from,
const char *to,
GError **error);
+EV_PUBLIC
gboolean ev_file_copy_metadata (const char *from,
const char *to,
GError **error);
+EV_PUBLIC
gchar *ev_file_get_mime_type (const gchar *uri,
gboolean fast,
GError **error);
+EV_PUBLIC
gchar *ev_file_uncompress (const gchar *uri,
EvCompressionType type,
GError **error);
+EV_PUBLIC
gchar *ev_file_compress (const gchar *uri,
EvCompressionType type,
GError **error);
-
G_END_DECLS
#endif /* EV_FILE_HELPERS_H */
diff --git a/libdocument/ev-form-field-private.h b/libdocument/ev-form-field-private.h
index 873978ba9..647968297 100644
--- a/libdocument/ev-form-field-private.h
+++ b/libdocument/ev-form-field-private.h
@@ -27,12 +27,15 @@
//#include <glib-object.h>
+#include "ev-macros.h"
#include "ev-form-field.h"
G_BEGIN_DECLS
/* EvFormField base class */
+EV_PRIVATE
gchar *ev_form_field_get_alternate_name (EvFormField *field);
+EV_PRIVATE
void ev_form_field_set_alternate_name (EvFormField *field,
gchar *alternative_text);
diff --git a/libdocument/ev-form-field.h b/libdocument/ev-form-field.h
index d0571a2af..ffbd17c52 100644
--- a/libdocument/ev-form-field.h
+++ b/libdocument/ev-form-field.h
@@ -27,6 +27,7 @@
#include <glib-object.h>
+#include "ev-macros.h"
#include "ev-document.h"
#include "ev-link.h"
@@ -188,25 +189,34 @@ struct _EvFormFieldSignatureClass
};
/* EvFormField base class */
+EV_PUBLIC
GType ev_form_field_get_type (void) G_GNUC_CONST;
/* EvFormFieldText */
+EV_PUBLIC
GType ev_form_field_text_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvFormField *ev_form_field_text_new (gint id,
EvFormFieldTextType type);
/* EvFormFieldButton */
+EV_PUBLIC
GType ev_form_field_button_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvFormField *ev_form_field_button_new (gint id,
EvFormFieldButtonType type);
/* EvFormFieldChoice */
+EV_PUBLIC
GType ev_form_field_choice_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvFormField *ev_form_field_choice_new (gint id,
EvFormFieldChoiceType type);
/* EvFormFieldSignature */
+EV_PUBLIC
GType ev_form_field_signature_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvFormField *ev_form_field_signature_new (gint id);
diff --git a/libdocument/ev-image.h b/libdocument/ev-image.h
index 8943091d7..e8b99108d 100644
--- a/libdocument/ev-image.h
+++ b/libdocument/ev-image.h
@@ -27,6 +27,8 @@
#include <glib-object.h>
#include <gdk/gdk.h>
+#include "ev-macros.h"
+
G_BEGIN_DECLS
typedef struct _EvImage EvImage;
@@ -50,16 +52,24 @@ struct _EvImageClass {
GObjectClass base_class;
};
+EV_PUBLIC
GType ev_image_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvImage *ev_image_new (gint page,
gint img_id);
+EV_PUBLIC
EvImage *ev_image_new_from_pixbuf (GdkPixbuf *pixbuf);
+EV_PUBLIC
gint ev_image_get_id (EvImage *image);
+EV_PUBLIC
gint ev_image_get_page (EvImage *image);
+EV_PUBLIC
GdkPixbuf *ev_image_get_pixbuf (EvImage *image);
+EV_PUBLIC
const gchar *ev_image_save_tmp (EvImage *image,
GdkPixbuf *pixbuf);
+EV_PUBLIC
const gchar *ev_image_get_tmp_uri (EvImage *image);
diff --git a/libdocument/ev-init.h b/libdocument/ev-init.h
index 046ee9b6b..db66d4531 100644
--- a/libdocument/ev-init.h
+++ b/libdocument/ev-init.h
@@ -26,12 +26,17 @@
#include <glib.h>
+#include "ev-macros.h"
+
G_BEGIN_DECLS
+EV_PUBLIC
const gchar* ev_get_locale_dir (void);
+EV_PUBLIC
gboolean ev_init (void);
+EV_PUBLIC
void ev_shutdown (void);
gboolean _ev_is_initialized (void);
diff --git a/libdocument/ev-layer.h b/libdocument/ev-layer.h
index 38b9411b0..60e9ce864 100644
--- a/libdocument/ev-layer.h
+++ b/libdocument/ev-layer.h
@@ -26,6 +26,8 @@
#include <glib-object.h>
+#include "ev-macros.h"
+
G_BEGIN_DECLS
typedef struct _EvLayer EvLayer;
@@ -49,10 +51,14 @@ struct _EvLayerClass {
GObjectClass base_class;
};
+EV_PUBLIC
GType ev_layer_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvLayer *ev_layer_new (gboolean is_parent,
gint rb_group);
+EV_PUBLIC
gboolean ev_layer_is_parent (EvLayer *layer);
+EV_PUBLIC
gint ev_layer_get_rb_group (EvLayer *layer);
G_END_DECLS
diff --git a/libdocument/ev-link-action.h b/libdocument/ev-link-action.h
index 4dffeb74d..113361cfd 100644
--- a/libdocument/ev-link-action.h
+++ b/libdocument/ev-link-action.h
@@ -26,6 +26,8 @@
#define EV_LINK_ACTION_H
#include <glib-object.h>
+
+#include "ev-macros.h"
#include "ev-link-dest.h"
G_BEGIN_DECLS
@@ -53,33 +55,53 @@ typedef enum {
* actions */
} EvLinkActionType;
+EV_PUBLIC
GType ev_link_action_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvLinkActionType ev_link_action_get_action_type (EvLinkAction *self);
+EV_PUBLIC
EvLinkDest *ev_link_action_get_dest (EvLinkAction *self);
+EV_PUBLIC
const gchar *ev_link_action_get_uri (EvLinkAction *self);
+EV_PUBLIC
const gchar *ev_link_action_get_filename (EvLinkAction *self);
+EV_PUBLIC
const gchar *ev_link_action_get_params (EvLinkAction *self);
+EV_PUBLIC
const gchar *ev_link_action_get_name (EvLinkAction *self);
+EV_PUBLIC
GList *ev_link_action_get_show_list (EvLinkAction *self);
+EV_PUBLIC
GList *ev_link_action_get_hide_list (EvLinkAction *self);
+EV_PUBLIC
GList *ev_link_action_get_toggle_list (EvLinkAction *self);
+EV_PUBLIC
GList *ev_link_action_get_reset_fields (EvLinkAction *self);
+EV_PUBLIC
gboolean ev_link_action_get_exclude_reset_fields (EvLinkAction *self);
+EV_PUBLIC
EvLinkAction *ev_link_action_new_dest (EvLinkDest *dest);
+EV_PUBLIC
EvLinkAction *ev_link_action_new_remote (EvLinkDest *dest,
const gchar *filename);
+EV_PUBLIC
EvLinkAction *ev_link_action_new_external_uri (const gchar *uri);
+EV_PUBLIC
EvLinkAction *ev_link_action_new_launch (const gchar *filename,
const gchar *params);
+EV_PUBLIC
EvLinkAction *ev_link_action_new_named (const gchar *name);
+EV_PUBLIC
EvLinkAction *ev_link_action_new_layers_state (GList *show_list,
GList *hide_list,
GList *toggle_list);
+EV_PUBLIC
EvLinkAction *ev_link_action_new_reset_form (GList *fields,
gboolean exclude_fields);
+EV_PUBLIC
gboolean ev_link_action_equal (EvLinkAction *a,
EvLinkAction *b);
diff --git a/libdocument/ev-link-dest.h b/libdocument/ev-link-dest.h
index 8e0e8eb61..1ac0389e4 100644
--- a/libdocument/ev-link-dest.h
+++ b/libdocument/ev-link-dest.h
@@ -27,6 +27,8 @@
#include <glib-object.h>
+#include "ev-macros.h"
+
G_BEGIN_DECLS
typedef struct _EvLinkDest EvLinkDest;
@@ -52,22 +54,34 @@ typedef enum {
EV_LINK_DEST_TYPE_UNKNOWN
} EvLinkDestType;
+EV_PUBLIC
GType ev_link_dest_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvLinkDestType ev_link_dest_get_dest_type (EvLinkDest *self);
+EV_PUBLIC
gint ev_link_dest_get_page (EvLinkDest *self);
+EV_PUBLIC
gdouble ev_link_dest_get_top (EvLinkDest *self,
gboolean *change_top);
+EV_PUBLIC
gdouble ev_link_dest_get_left (EvLinkDest *self,
gboolean *change_left);
+EV_PUBLIC
gdouble ev_link_dest_get_bottom (EvLinkDest *self);
+EV_PUBLIC
gdouble ev_link_dest_get_right (EvLinkDest *self);
+EV_PUBLIC
gdouble ev_link_dest_get_zoom (EvLinkDest *self,
gboolean *change_zoom);
+EV_PUBLIC
const gchar *ev_link_dest_get_named_dest (EvLinkDest *self);
+EV_PUBLIC
const gchar *ev_link_dest_get_page_label (EvLinkDest *self);
+EV_PUBLIC
EvLinkDest *ev_link_dest_new_page (gint page);
+EV_PUBLIC
EvLinkDest *ev_link_dest_new_xyz (gint page,
gdouble left,
gdouble top,
@@ -75,21 +89,28 @@ EvLinkDest *ev_link_dest_new_xyz (gint page,
gboolean change_left,
gboolean change_top,
gboolean change_zoom);
+EV_PUBLIC
EvLinkDest *ev_link_dest_new_fit (gint page);
+EV_PUBLIC
EvLinkDest *ev_link_dest_new_fith (gint page,
gdouble top,
gboolean change_top);
+EV_PUBLIC
EvLinkDest *ev_link_dest_new_fitv (gint page,
gdouble left,
gboolean change_left);
+EV_PUBLIC
EvLinkDest *ev_link_dest_new_fitr (gint page,
gdouble left,
gdouble bottom,
gdouble right,
gdouble top);
+EV_PUBLIC
EvLinkDest *ev_link_dest_new_named (const gchar *named_dest);
+EV_PUBLIC
EvLinkDest *ev_link_dest_new_page_label (const gchar *page_label);
+EV_PUBLIC
gboolean ev_link_dest_equal (EvLinkDest *a,
EvLinkDest *b);
diff --git a/libdocument/ev-link.h b/libdocument/ev-link.h
index 4d498b2e2..fd97cdeb8 100644
--- a/libdocument/ev-link.h
+++ b/libdocument/ev-link.h
@@ -25,6 +25,8 @@
#define EV_LINK_H
#include <glib-object.h>
+
+#include "ev-macros.h"
#include "ev-document.h"
#include "ev-link-action.h"
@@ -41,12 +43,16 @@ typedef struct _EvLinkPrivate EvLinkPrivate;
#define EV_IS_LINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), EV_TYPE_LINK))
#define EV_LINK_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS((object), EV_TYPE_LINK, EvLinkClass))
+EV_PUBLIC
GType ev_link_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvLink *ev_link_new (const gchar *title,
EvLinkAction *action);
+EV_PUBLIC
const gchar *ev_link_get_title (EvLink *self);
+EV_PUBLIC
EvLinkAction *ev_link_get_action (EvLink *self);
G_END_DECLS
diff --git a/libdocument/ev-macros.h b/libdocument/ev-macros.h
index ece677c7d..43a7f0d28 100644
--- a/libdocument/ev-macros.h
+++ b/libdocument/ev-macros.h
@@ -29,4 +29,15 @@
#define EV_UNAVAILABLE(maj,min) G_UNAVAILABLE(maj,min)
#endif
+#ifdef __has_attribute
+#if __has_attribute(__visibility__)
+#define EV_PUBLIC __attribute__((__visibility__("default"))) extern
+#endif
+#endif
+#ifndef EV_PUBLIC
+#define EV_PUBLIC extern
+#endif
+
+#define EV_PRIVATE EV_PUBLIC
+
#endif /* #ifndef EV_MACROS_H */
diff --git a/libdocument/ev-mapping-list.h b/libdocument/ev-mapping-list.h
index dcbb50b78..e2c9c9aa5 100644
--- a/libdocument/ev-mapping-list.h
+++ b/libdocument/ev-mapping-list.h
@@ -25,6 +25,7 @@
#ifndef EV_MAPPING_LIST_H
#define EV_MAPPING_LIST_H
+#include "ev-macros.h"
#include "ev-document.h"
G_BEGIN_DECLS
@@ -32,31 +33,44 @@ G_BEGIN_DECLS
typedef struct _EvMappingList EvMappingList;
#define EV_TYPE_MAPPING_LIST (ev_mapping_list_get_type())
+EV_PUBLIC
GType ev_mapping_list_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvMappingList *ev_mapping_list_new (guint page,
GList *list,
GDestroyNotify data_destroy_func);
+EV_PUBLIC
EvMappingList *ev_mapping_list_ref (EvMappingList *mapping_list);
+EV_PUBLIC
void ev_mapping_list_unref (EvMappingList *mapping_list);
+EV_PUBLIC
guint ev_mapping_list_get_page (EvMappingList *mapping_list);
+EV_PUBLIC
GList *ev_mapping_list_get_list (EvMappingList *mapping_list);
+EV_PUBLIC
void ev_mapping_list_remove (EvMappingList *mapping_list,
EvMapping *mapping);
+EV_PUBLIC
EvMapping *ev_mapping_list_find (EvMappingList *mapping_list,
gconstpointer data);
+EV_PUBLIC
EvMapping *ev_mapping_list_find_custom (EvMappingList *mapping_list,
gconstpointer data,
GCompareFunc func);
+EV_PUBLIC
EvMapping *ev_mapping_list_get (EvMappingList *mapping_list,
gdouble x,
gdouble y);
+EV_PUBLIC
gpointer ev_mapping_list_get_data (EvMappingList *mapping_list,
gdouble x,
gdouble y);
+EV_PUBLIC
EvMapping *ev_mapping_list_nth (EvMappingList *mapping_list,
guint n);
+EV_PUBLIC
guint ev_mapping_list_length (EvMappingList *mapping_list);
G_END_DECLS
diff --git a/libdocument/ev-media.h b/libdocument/ev-media.h
index a92cd2b4a..dd8866598 100644
--- a/libdocument/ev-media.h
+++ b/libdocument/ev-media.h
@@ -25,6 +25,8 @@
#define __EV_MEDIA_H__
#include <glib-object.h>
+
+#include "ev-macros.h"
#include "ev-page.h"
G_BEGIN_DECLS
@@ -50,13 +52,19 @@ struct _EvMediaClass {
GObjectClass base_class;
};
+EV_PUBLIC
GType ev_media_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvMedia *ev_media_new_for_uri (EvPage *page,
const gchar *uri);
+EV_PUBLIC
const gchar *ev_media_get_uri (EvMedia *media);
+EV_PUBLIC
guint ev_media_get_page_index (EvMedia *media);
+EV_PUBLIC
gboolean ev_media_get_show_controls (EvMedia *media);
+EV_PUBLIC
void ev_media_set_show_controls (EvMedia *media,
gboolean show_controls);
diff --git a/libdocument/ev-page.h b/libdocument/ev-page.h
index c5e56a525..98cae8de5 100644
--- a/libdocument/ev-page.h
+++ b/libdocument/ev-page.h
@@ -26,6 +26,8 @@
#include <glib-object.h>
+#include "ev-macros.h"
+
G_BEGIN_DECLS
#define EV_TYPE_PAGE (ev_page_get_type())
@@ -54,8 +56,10 @@ struct _EvPageClass {
GObjectClass base_class;
};
+EV_PUBLIC
GType ev_page_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvPage *ev_page_new (gint index);
G_END_DECLS
diff --git a/libdocument/ev-render-context.h b/libdocument/ev-render-context.h
index 76b3740a2..218a0a3db 100644
--- a/libdocument/ev-render-context.h
+++ b/libdocument/ev-render-context.h
@@ -26,6 +26,7 @@
#include <glib-object.h>
+#include "ev-macros.h"
#include "ev-page.h"
G_BEGIN_DECLS
@@ -55,29 +56,38 @@ struct _EvRenderContext
};
+EV_PUBLIC
GType ev_render_context_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvRenderContext *ev_render_context_new (EvPage *page,
gint rotation,
gdouble scale);
+EV_PUBLIC
void ev_render_context_set_page (EvRenderContext *rc,
EvPage *page);
+EV_PUBLIC
void ev_render_context_set_rotation (EvRenderContext *rc,
gint rotation);
+EV_PUBLIC
void ev_render_context_set_scale (EvRenderContext *rc,
gdouble scale);
+EV_PUBLIC
void ev_render_context_set_target_size (EvRenderContext *rc,
int target_width,
int target_height);
+EV_PUBLIC
void ev_render_context_compute_scaled_size (EvRenderContext *rc,
double width_points,
double height_points,
int *scaled_width,
int *scaled_height);
+EV_PUBLIC
void ev_render_context_compute_transformed_size (EvRenderContext *rc,
double width_points,
double height_points,
int *transformed_width,
int *transformed_height);
+EV_PUBLIC
void ev_render_context_compute_scales (EvRenderContext *rc,
double width_points,
double height_points,
diff --git a/libdocument/ev-selection.h b/libdocument/ev-selection.h
index dff12e0a4..b9f8603fe 100644
--- a/libdocument/ev-selection.h
+++ b/libdocument/ev-selection.h
@@ -28,6 +28,8 @@
#include <glib-object.h>
#include <glib.h>
#include <gdk/gdk.h>
+
+#include "ev-macros.h"
#include "ev-document.h"
G_BEGIN_DECLS
@@ -70,7 +72,9 @@ struct _EvSelectionInterface
EvRectangle *points);
};
+EV_PUBLIC
GType ev_selection_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
void ev_selection_render_selection (EvSelection *selection,
EvRenderContext *rc,
cairo_surface_t **surface,
@@ -79,10 +83,12 @@ void ev_selection_render_selection (EvSelection *selection,
EvSelectionStyle style,
GdkColor *text,
GdkColor *base);
+EV_PUBLIC
gchar *ev_selection_get_selected_text (EvSelection *selection,
EvPage *page,
EvSelectionStyle style,
EvRectangle *points);
+EV_PUBLIC
cairo_region_t *ev_selection_get_selection_region (EvSelection *selection,
EvRenderContext *rc,
EvSelectionStyle style,
diff --git a/libdocument/ev-transition-effect.h b/libdocument/ev-transition-effect.h
index e7f303077..a8a1691eb 100644
--- a/libdocument/ev-transition-effect.h
+++ b/libdocument/ev-transition-effect.h
@@ -27,6 +27,8 @@
#include <glib-object.h>
+#include "ev-macros.h"
+
G_BEGIN_DECLS
#define EV_TYPE_TRANSITION_EFFECT (ev_transition_effect_get_type ())
@@ -75,8 +77,10 @@ struct _EvTransitionEffectClass
GObjectClass parent_class;
};
+EV_PUBLIC
GType ev_transition_effect_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
EvTransitionEffect *ev_transition_effect_new (EvTransitionEffectType type,
const gchar *first_property_name,
...);
diff --git a/libdocument/meson.build b/libdocument/meson.build
index cb518af63..02cc36a6c 100644
--- a/libdocument/meson.build
+++ b/libdocument/meson.build
@@ -144,9 +144,8 @@ libevdocument = shared_library(
include_directories: top_inc,
dependencies: deps,
c_args: cflags,
- link_args: lib_ldflags,
- link_depends: lib_symbol_map,
install: true,
+ gnu_symbol_visibility: 'hidden',
)
libevdocument_dep = declare_dependency(
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]