[evince/wip/chpe/symbols-visibility: 9/11] libview: Use symbol visibility for exported symbols




commit 0c9f6f482d53a177ee01be89fcbd6a10a4de6f03
Author: Christian Persch <chpe src gnome org>
Date:   Thu Nov 18 23:37:10 2021 +0100

    libview: Use symbol visibility for exported symbols
    
    Instead of using a symbol file exporting everything starting with "ev_",
    use the visibility attribute to export only the public API.
    
    This removes lots of accidentally exposed, private functions. Since
    those are not contained in public installed headers, this should be ok.

 lib-symbol.map                           |  6 ----
 libview/ev-document-model.h              | 33 +++++++++++++++++
 libview/ev-job-scheduler.h               |  5 +++
 libview/ev-jobs.h                        | 62 ++++++++++++++++++++++++++++++++
 libview/ev-page-accessible.h             |  4 +++
 libview/ev-print-operation.h             | 17 +++++++++
 libview/ev-stock-icons.h                 |  5 +++
 libview/ev-view-presentation.h           |  7 ++++
 libview/ev-view-type-builtins.h.template |  3 ++
 libview/ev-view.h                        | 49 +++++++++++++++++++++++++
 libview/meson.build                      |  7 ++--
 meson.build                              |  3 --
 12 files changed, 188 insertions(+), 13 deletions(-)
---
diff --git a/libview/ev-document-model.h b/libview/ev-document-model.h
index 042977ecb..daa88d9aa 100644
--- a/libview/ev-document-model.h
+++ b/libview/ev-document-model.h
@@ -30,6 +30,8 @@
 G_BEGIN_DECLS
 
 #define EV_TYPE_DOCUMENT_MODEL (ev_document_model_get_type ())
+
+EV_PUBLIC
 G_DECLARE_FINAL_TYPE(EvDocumentModel, ev_document_model, EV, DOCUMENT_MODEL, GObject)
 
 /**
@@ -54,57 +56,88 @@ typedef enum {
        EV_PAGE_LAYOUT_AUTOMATIC
 } EvPageLayout;
 
+EV_PUBLIC
 EvDocumentModel *ev_document_model_new               (void);
+EV_PUBLIC
 EvDocumentModel *ev_document_model_new_with_document (EvDocument      *document);
 
+EV_PUBLIC
 void             ev_document_model_set_document      (EvDocumentModel *model,
                                                      EvDocument      *document);
+EV_PUBLIC
 EvDocument      *ev_document_model_get_document      (EvDocumentModel *model);
+EV_PUBLIC
 void             ev_document_model_set_page          (EvDocumentModel *model,
                                                      gint             page);
+EV_PUBLIC
 void             ev_document_model_set_page_by_label (EvDocumentModel *model,
                                                      const gchar     *page_label);
+EV_PUBLIC
 gint             ev_document_model_get_page          (EvDocumentModel *model);
+EV_PUBLIC
 void             ev_document_model_set_scale         (EvDocumentModel *model,
                                                      gdouble          scale);
+EV_PUBLIC
 gdouble          ev_document_model_get_scale         (EvDocumentModel *model);
+EV_PUBLIC
 void             ev_document_model_set_max_scale     (EvDocumentModel *model,
                                                      gdouble          max_scale);
+EV_PUBLIC
 gdouble          ev_document_model_get_max_scale     (EvDocumentModel *model);
+EV_PUBLIC
 void             ev_document_model_set_min_scale     (EvDocumentModel *model,
                                                      gdouble          min_scale);
+EV_PUBLIC
 gdouble          ev_document_model_get_min_scale     (EvDocumentModel *model);
+EV_PUBLIC
 void             ev_document_model_set_sizing_mode   (EvDocumentModel *model,
                                                      EvSizingMode     mode);
+EV_PUBLIC
 EvSizingMode     ev_document_model_get_sizing_mode   (EvDocumentModel *model);
+EV_PUBLIC
 void             ev_document_model_set_page_layout   (EvDocumentModel *model,
                                                     EvPageLayout     layout);
+EV_PUBLIC
 EvPageLayout    ev_document_model_get_page_layout   (EvDocumentModel *model);
+EV_PUBLIC
 void             ev_document_model_set_rotation      (EvDocumentModel *model,
                                                      gint             rotation);
+EV_PUBLIC
 gint             ev_document_model_get_rotation      (EvDocumentModel *model);
+EV_PUBLIC
 void           ev_document_model_set_inverted_colors (EvDocumentModel *model,
                                                      gboolean         inverted_colors);
+EV_PUBLIC
 gboolean       ev_document_model_get_inverted_colors (EvDocumentModel *model);
+EV_PUBLIC
 void             ev_document_model_set_continuous    (EvDocumentModel *model,
                                                      gboolean         continuous);
+EV_PUBLIC
 gboolean         ev_document_model_get_continuous    (EvDocumentModel *model);
+EV_PUBLIC
 void             ev_document_model_set_dual_page_odd_pages_left (EvDocumentModel *model,
                                                                 gboolean         odd_left);
+EV_PUBLIC
 gboolean         ev_document_model_get_dual_page_odd_pages_left (EvDocumentModel *model);
+EV_PUBLIC
 void             ev_document_model_set_rtl (EvDocumentModel *model,
                                             gboolean         rtl);
+EV_PUBLIC
 gboolean         ev_document_model_get_rtl (EvDocumentModel *model);
+EV_PUBLIC
 void             ev_document_model_set_fullscreen    (EvDocumentModel *model,
                                                      gboolean         fullscreen);
+EV_PUBLIC
 gboolean         ev_document_model_get_fullscreen    (EvDocumentModel *model);
 
 /* deprecated */
 
 EV_DEPRECATED_FOR(ev_document_model_set_page_layout)
+EV_PUBLIC
 void             ev_document_model_set_dual_page     (EvDocumentModel *model,
                                                      gboolean         dual_page);
 EV_DEPRECATED_FOR(ev_document_model_get_page_layout)
+EV_PUBLIC
 gboolean         ev_document_model_get_dual_page     (EvDocumentModel *model);
 
 G_END_DECLS
diff --git a/libview/ev-job-scheduler.h b/libview/ev-job-scheduler.h
index 0e08b96c5..eb5c4fb13 100644
--- a/libview/ev-job-scheduler.h
+++ b/libview/ev-job-scheduler.h
@@ -26,6 +26,8 @@
 #define EV_JOB_SCHEDULER_H
 
 #include <glib.h>
+
+#include <evince-document.h>
 #include "ev-jobs.h"
 
 G_BEGIN_DECLS
@@ -38,10 +40,13 @@ typedef enum {
        EV_JOB_N_PRIORITIES
 } EvJobPriority;
 
+EV_PUBLIC
 void   ev_job_scheduler_push_job               (EvJob        *job,
                                                 EvJobPriority priority);
+EV_PUBLIC
 void   ev_job_scheduler_update_job             (EvJob        *job,
                                                 EvJobPriority priority);
+EV_PUBLIC
 EvJob *ev_job_scheduler_get_running_thread_job (void);
 
 G_END_DECLS
diff --git a/libview/ev-jobs.h b/libview/ev-jobs.h
index 9a197c96b..dda9778d3 100644
--- a/libview/ev-jobs.h
+++ b/libview/ev-jobs.h
@@ -491,139 +491,201 @@ struct _EvJobPrintClass
 };
 
 /* Base job class */
+EV_PUBLIC
 GType           ev_job_get_type           (void) G_GNUC_CONST;
+EV_PUBLIC
 gboolean        ev_job_run                (EvJob          *job);
+EV_PUBLIC
 void            ev_job_cancel             (EvJob          *job);
+EV_PUBLIC
 void            ev_job_failed             (EvJob          *job,
                                           GQuark          domain,
                                           gint            code,
                                           const gchar    *format,
                                           ...) G_GNUC_PRINTF (4, 5);
+EV_PUBLIC
 void            ev_job_failed_from_error  (EvJob          *job,
                                           GError         *error);
+EV_PUBLIC
 void            ev_job_succeeded          (EvJob          *job);
+EV_PUBLIC
 gboolean        ev_job_is_finished        (EvJob          *job);
+EV_PUBLIC
 gboolean        ev_job_is_failed          (EvJob          *job);
+EV_PUBLIC
 EvJobRunMode    ev_job_get_run_mode       (EvJob          *job);
+EV_PUBLIC
 void            ev_job_set_run_mode       (EvJob          *job,
                                           EvJobRunMode    run_mode);
 
 /* EvJobLinks */
+EV_PUBLIC
 GType           ev_job_links_get_type     (void) G_GNUC_CONST;
+EV_PUBLIC
 EvJob          *ev_job_links_new          (EvDocument     *document);
+EV_PUBLIC
 GtkTreeModel   *ev_job_links_get_model    (EvJobLinks     *job);
 
 /* EvJobAttachments */
+EV_PUBLIC
 GType           ev_job_attachments_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
 EvJob          *ev_job_attachments_new      (EvDocument     *document);
 
 /* EvJobAnnots */
+EV_PUBLIC
 GType           ev_job_annots_get_type      (void) G_GNUC_CONST;
+EV_PUBLIC
 EvJob          *ev_job_annots_new           (EvDocument     *document);
 
 /* EvJobRender */
+EV_PUBLIC
 GType           ev_job_render_get_type    (void) G_GNUC_CONST;
+EV_PUBLIC
 EvJob          *ev_job_render_new         (EvDocument      *document,
                                           gint             page,
                                           gint             rotation,
                                           gdouble          scale,
                                           gint             width,
                                           gint             height);
+EV_PUBLIC
 void     ev_job_render_set_selection_info (EvJobRender     *job,
                                           EvRectangle     *selection_points,
                                           EvSelectionStyle selection_style,
                                           GdkColor        *text,
                                           GdkColor        *base);
 /* EvJobPageData */
+EV_PUBLIC
 GType           ev_job_page_data_get_type (void) G_GNUC_CONST;
+EV_PUBLIC
 EvJob          *ev_job_page_data_new      (EvDocument      *document,
                                           gint             page,
                                           EvJobPageDataFlags flags);
 
 /* EvJobThumbnail */
+EV_PUBLIC
 GType           ev_job_thumbnail_get_type      (void) G_GNUC_CONST;
+EV_PUBLIC
 EvJob          *ev_job_thumbnail_new           (EvDocument      *document,
                                                 gint             page,
                                                 gint             rotation,
                                                 gdouble          scale);
+EV_PUBLIC
 EvJob         *ev_job_thumbnail_new_with_target_size (EvDocument      *document,
                                                       gint             page,
                                                       gint             rotation,
                                                       gint             target_width,
                                                       gint             target_height);
+EV_PUBLIC
 void            ev_job_thumbnail_set_has_frame (EvJobThumbnail  *job,
                                                 gboolean         has_frame);
+EV_PUBLIC
 void            ev_job_thumbnail_set_output_format (EvJobThumbnail      *job,
                                                     EvJobThumbnailFormat format);
 /* EvJobFonts */
+EV_PUBLIC
 GType          ev_job_fonts_get_type     (void) G_GNUC_CONST;
+EV_PUBLIC
 EvJob         *ev_job_fonts_new          (EvDocument      *document);
 
 /* EvJobLoad */
+EV_PUBLIC
 GType          ev_job_load_get_type      (void) G_GNUC_CONST;
+EV_PUBLIC
 EvJob         *ev_job_load_new           (const gchar     *uri);
+EV_PUBLIC
 void            ev_job_load_set_uri       (EvJobLoad       *load,
                                           const gchar     *uri);
+EV_PUBLIC
 void            ev_job_load_set_password  (EvJobLoad       *job,
                                           const gchar     *password);
 
 /* EvJobLoadStream */
+EV_PUBLIC
 GType           ev_job_load_stream_get_type       (void) G_GNUC_CONST;
+EV_PUBLIC
 EvJob          *ev_job_load_stream_new            (GInputStream       *stream,
                                                    EvDocumentLoadFlags flags);
+EV_PUBLIC
 void            ev_job_load_stream_set_stream     (EvJobLoadStream    *job,
                                                    GInputStream       *stream);
+EV_PUBLIC
 void            ev_job_load_stream_set_load_flags (EvJobLoadStream    *job,
                                                    EvDocumentLoadFlags flags);
+EV_PUBLIC
 void            ev_job_load_stream_set_password   (EvJobLoadStream    *job,
                                                    const gchar        *password);
 
 /* EvJobLoadGFile */
+EV_PUBLIC
 GType           ev_job_load_gfile_get_type        (void) G_GNUC_CONST;
+EV_PUBLIC
 EvJob          *ev_job_load_gfile_new             (GFile              *gfile,
                                                    EvDocumentLoadFlags flags);
+EV_PUBLIC
 void            ev_job_load_gfile_set_gfile       (EvJobLoadGFile     *job,
                                                    GFile              *gfile);
+EV_PUBLIC
 void            ev_job_load_gfile_set_load_flags  (EvJobLoadGFile     *job,
                                                    EvDocumentLoadFlags flags);
+EV_PUBLIC
 void            ev_job_load_gfile_set_password    (EvJobLoadGFile     *job,
                                                    const gchar        *password);
 
 /* EvJobSave */
+EV_PUBLIC
 GType           ev_job_save_get_type      (void) G_GNUC_CONST;
+EV_PUBLIC
 EvJob          *ev_job_save_new           (EvDocument      *document,
                                           const gchar     *uri,
                                           const gchar     *document_uri);
 /* EvJobFind */
+EV_PUBLIC
 GType           ev_job_find_get_type      (void) G_GNUC_CONST;
+EV_PUBLIC
 EvJob          *ev_job_find_new           (EvDocument      *document,
                                           gint             start_page,
                                           gint             n_pages,
                                           const gchar     *text,
                                           gboolean         case_sensitive);
+EV_PUBLIC
 void            ev_job_find_set_options   (EvJobFind       *job,
                                            EvFindOptions    options);
+EV_PUBLIC
 EvFindOptions   ev_job_find_get_options   (EvJobFind       *job);
+EV_PUBLIC
 gint            ev_job_find_get_n_results (EvJobFind       *job,
                                           gint             pages);
+EV_PUBLIC
 gdouble         ev_job_find_get_progress  (EvJobFind       *job);
+EV_PUBLIC
 gboolean        ev_job_find_has_results   (EvJobFind       *job);
+EV_PUBLIC
 GList         **ev_job_find_get_results   (EvJobFind       *job);
 
 /* EvJobLayers */
+EV_PUBLIC
 GType           ev_job_layers_get_type    (void) G_GNUC_CONST;
+EV_PUBLIC
 EvJob          *ev_job_layers_new         (EvDocument     *document);
 
 /* EvJobExport */
+EV_PUBLIC
 GType           ev_job_export_get_type    (void) G_GNUC_CONST;
+EV_PUBLIC
 EvJob          *ev_job_export_new         (EvDocument     *document);
+EV_PUBLIC
 void            ev_job_export_set_page    (EvJobExport    *job,
                                           gint            page);
 /* EvJobPrint */
+EV_PUBLIC
 GType           ev_job_print_get_type    (void) G_GNUC_CONST;
+EV_PUBLIC
 EvJob          *ev_job_print_new         (EvDocument     *document);
+EV_PUBLIC
 void            ev_job_print_set_page    (EvJobPrint     *job,
                                          gint            page);
+EV_PUBLIC
 void            ev_job_print_set_cairo   (EvJobPrint     *job,
                                          cairo_t        *cr);
 
diff --git a/libview/ev-page-accessible.h b/libview/ev-page-accessible.h
index b59816e65..6b285d231 100644
--- a/libview/ev-page-accessible.h
+++ b/libview/ev-page-accessible.h
@@ -20,6 +20,10 @@
  * Author: Alejandro PiƱeiro Iglesias <apinheiro igalia com>
  */
 
+#if !defined (EVINCE_COMPILATION)
+#error "This is a private header."
+#endif
+
 #ifndef __EV_PAGE_ACCESSIBLE_H__
 #define __EV_PAGE_ACCESSIBLE_H__
 
diff --git a/libview/ev-print-operation.h b/libview/ev-print-operation.h
index 5c8066413..371a055bb 100644
--- a/libview/ev-print-operation.h
+++ b/libview/ev-print-operation.h
@@ -41,30 +41,47 @@ typedef struct _EvPrintOperationClass EvPrintOperationClass;
 #define EV_IS_PRINT_OPERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EV_TYPE_PRINT_OPERATION))
 #define EV_PRINT_OPERATION_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), EV_TYPE_PRINT_OPERATION, 
EvPrintOperationClass))
 
+EV_PUBLIC
 GType             ev_print_operation_get_type               (void) G_GNUC_CONST;
 
+EV_PUBLIC
 gboolean          ev_print_operation_exists_for_document    (EvDocument       *document);
+EV_PUBLIC
 EvPrintOperation *ev_print_operation_new                    (EvDocument       *document);
+EV_PUBLIC
 void              ev_print_operation_set_current_page       (EvPrintOperation *op,
                                                             gint              current_page);
+EV_PUBLIC
 void              ev_print_operation_set_print_settings     (EvPrintOperation *op,
                                                             GtkPrintSettings *print_settings);
+EV_PUBLIC
 GtkPrintSettings *ev_print_operation_get_print_settings     (EvPrintOperation *op);
+EV_PUBLIC
 void              ev_print_operation_set_default_page_setup (EvPrintOperation *op,
                                                             GtkPageSetup     *page_setup);
+EV_PUBLIC
 GtkPageSetup     *ev_print_operation_get_default_page_setup (EvPrintOperation *op);
+EV_PUBLIC
 void              ev_print_operation_set_job_name           (EvPrintOperation *op,
                                                             const gchar      *job_name);
+EV_PUBLIC
 const gchar      *ev_print_operation_get_job_name           (EvPrintOperation *op);
+EV_PUBLIC
 void              ev_print_operation_run                    (EvPrintOperation *op,
                                                             GtkWindow        *parent);
+EV_PUBLIC
 void              ev_print_operation_cancel                 (EvPrintOperation *op);
+EV_PUBLIC
 void              ev_print_operation_get_error              (EvPrintOperation *op,
                                                             GError          **error);
+EV_PUBLIC
 void              ev_print_operation_set_embed_page_setup   (EvPrintOperation *op,
                                                             gboolean          embed);
+EV_PUBLIC
 gboolean          ev_print_operation_get_embed_page_setup   (EvPrintOperation *op);
+EV_PUBLIC
 const gchar      *ev_print_operation_get_status             (EvPrintOperation *op);
+EV_PUBLIC
 gdouble           ev_print_operation_get_progress           (EvPrintOperation *op);
 
 G_END_DECLS
diff --git a/libview/ev-stock-icons.h b/libview/ev-stock-icons.h
index 70c4a5d1b..5048c2734 100644
--- a/libview/ev-stock-icons.h
+++ b/libview/ev-stock-icons.h
@@ -30,6 +30,8 @@
 
 #include <gdk/gdk.h>
 
+#include <evince-document.h>
+
 G_BEGIN_DECLS
 
 /* Evince stock icons */
@@ -54,8 +56,11 @@ G_BEGIN_DECLS
 #define EV_STOCK_VIEW_SIDEBAR           "view-sidebar-symbolic"
 #define EV_STOCK_OUTLINE                "outline-symbolic"
 
+EV_PUBLIC
 void ev_stock_icons_init       (void);
+EV_PUBLIC
 void ev_stock_icons_shutdown   (void);
+EV_PUBLIC
 void ev_stock_icons_set_screen (GdkScreen *screen);
 
 G_END_DECLS
diff --git a/libview/ev-view-presentation.h b/libview/ev-view-presentation.h
index f3f0ea9f1..441879591 100644
--- a/libview/ev-view-presentation.h
+++ b/libview/ev-view-presentation.h
@@ -41,17 +41,24 @@ G_BEGIN_DECLS
 typedef struct _EvViewPresentation       EvViewPresentation;
 typedef struct _EvViewPresentationClass  EvViewPresentationClass;
 
+EV_PUBLIC
 GType          ev_view_presentation_get_type         (void) G_GNUC_CONST;
 
+EV_PUBLIC
 GtkWidget      *ev_view_presentation_new             (EvDocument         *document,
                                                       guint               current_page,
                                                       guint               rotation,
                                                       gboolean            inverted_colors);
+EV_PUBLIC
 guint           ev_view_presentation_get_current_page (EvViewPresentation *pview);
+EV_PUBLIC
 void            ev_view_presentation_next_page        (EvViewPresentation *pview);
+EV_PUBLIC
 void            ev_view_presentation_previous_page    (EvViewPresentation *pview);
+EV_PUBLIC
 void            ev_view_presentation_set_rotation     (EvViewPresentation *pview,
                                                        gint                rotation);
+EV_PUBLIC
 guint           ev_view_presentation_get_rotation     (EvViewPresentation *pview);
 
 G_END_DECLS
diff --git a/libview/ev-view-type-builtins.h.template b/libview/ev-view-type-builtins.h.template
index 5625cf188..d3facb5b3 100644
--- a/libview/ev-view-type-builtins.h.template
+++ b/libview/ev-view-type-builtins.h.template
@@ -9,6 +9,8 @@
 
 #include <glib-object.h>
 
+#include <evince-document.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/libview/ev-view.h b/libview/ev-view.h
index 5c40414e7..4834073e1 100644
--- a/libview/ev-view.h
+++ b/libview/ev-view.h
@@ -43,103 +43,152 @@ G_BEGIN_DECLS
 typedef struct _EvView       EvView;
 typedef struct _EvViewClass  EvViewClass;
 
+EV_PUBLIC
 GType          ev_view_get_type            (void) G_GNUC_CONST;
 
+EV_PUBLIC
 GtkWidget*     ev_view_new                 (void);
+EV_PUBLIC
 void           ev_view_set_model           (EvView          *view,
                                             EvDocumentModel *model);
 EV_DEPRECATED
+EV_PUBLIC
 void           ev_view_set_loading         (EvView          *view,
                                             gboolean         loading);
+EV_PUBLIC
 gboolean        ev_view_is_loading          (EvView          *view);
+EV_PUBLIC
 void            ev_view_reload              (EvView          *view);
+EV_PUBLIC
 void            ev_view_set_page_cache_size (EvView          *view,
                                             gsize            cache_size);
 
+EV_PUBLIC
 void            ev_view_set_allow_links_change_zoom (EvView  *view,
                                                      gboolean allowed);
+EV_PUBLIC
 gboolean        ev_view_get_allow_links_change_zoom (EvView  *view);
 
 /* Clipboard */
+EV_PUBLIC
 void           ev_view_copy              (EvView         *view);
+EV_PUBLIC
 void            ev_view_copy_link_address (EvView         *view,
                                           EvLinkAction   *action);
+EV_PUBLIC
 void           ev_view_select_all        (EvView         *view);
+EV_PUBLIC
 gboolean        ev_view_get_has_selection (EvView         *view);
+EV_PUBLIC
 char *   ev_view_get_selected_text (EvView  *view);
 
 /* Page size */
+EV_PUBLIC
 gboolean       ev_view_can_zoom_in       (EvView         *view);
+EV_PUBLIC
 void           ev_view_zoom_in           (EvView         *view);
+EV_PUBLIC
 gboolean        ev_view_can_zoom_out      (EvView         *view);
+EV_PUBLIC
 void           ev_view_zoom_out          (EvView         *view);
 
 /* Find */
+EV_PUBLIC
 void            ev_view_find_started              (EvView         *view,
                                                   EvJobFind      *job);
+EV_PUBLIC
 void            ev_view_find_restart              (EvView         *view,
                                                    gint            page);
+EV_PUBLIC
 void            ev_view_find_next                 (EvView         *view);
+EV_PUBLIC
 void            ev_view_find_previous             (EvView         *view);
+EV_PUBLIC
 void            ev_view_find_set_result           (EvView         *view,
                                                   gint            page,
                                                   gint            result);
+EV_PUBLIC
 void            ev_view_find_search_changed       (EvView         *view);
+EV_PUBLIC
 void           ev_view_find_set_highlight_search (EvView         *view,
                                                   gboolean        value);
 EV_DEPRECATED_FOR(ev_view_find_started)
+EV_PUBLIC
 void            ev_view_find_changed              (EvView         *view,
                                                   GList         **results,
                                                   gint            page);
+EV_PUBLIC
 void            ev_view_find_cancel               (EvView         *view);
 
 /* Synctex */
+EV_PUBLIC
 void            ev_view_highlight_forward_search (EvView       *view,
                                                  EvSourceLink *link);
 
 /* Cursor */
+EV_PUBLIC
 void           ev_view_hide_cursor        (EvView         *view);
+EV_PUBLIC
 void           ev_view_show_cursor        (EvView         *view);
 
 /* Navigation */
 EV_DEPRECATED_FOR(g_signal_emit_by_name)
+EV_PUBLIC
 void          ev_view_scroll             (EvView         *view,
                                           GtkScrollType   scroll,
                                           gboolean        horizontal);
+EV_PUBLIC
 void          ev_view_handle_link        (EvView         *view,
                                           EvLink         *link);
+EV_PUBLIC
 gboolean       ev_view_next_page         (EvView         *view);
+EV_PUBLIC
 gboolean       ev_view_previous_page     (EvView         *view);
 
+EV_PUBLIC
 void          ev_view_autoscroll_start   (EvView *view);
+EV_PUBLIC
 void           ev_view_autoscroll_stop    (EvView *view);
 
+EV_PUBLIC
 gboolean       ev_view_get_page_extents   (EvView       *view,
                                            gint          page,
                                            GdkRectangle *page_area,
                                            GtkBorder    *border);
+EV_PUBLIC
 gboolean       ev_view_get_page_extents_for_border (EvView       *view,
                                                     gint          page,
                                                     GtkBorder    *border,
                                                     GdkRectangle *page_area);
 /* Annotations */
+EV_PUBLIC
 void           ev_view_focus_annotation      (EvView          *view,
                                              EvMapping       *annot_mapping);
+EV_PUBLIC
 void           ev_view_begin_add_annotation  (EvView          *view,
                                              EvAnnotationType annot_type);
+EV_PUBLIC
 void           ev_view_cancel_add_annotation (EvView          *view);
+EV_PUBLIC
 void           ev_view_remove_annotation     (EvView          *view,
                                              EvAnnotation    *annot);
+EV_PUBLIC
 gboolean       ev_view_add_text_markup_annotation_for_selected_text (EvView  *view);
+EV_PUBLIC
 void           ev_view_set_enable_spellchecking (EvView *view,
                                                  gboolean spellcheck);
+EV_PUBLIC
 gboolean       ev_view_get_enable_spellchecking (EvView *view);
 
 /* Caret navigation */
+EV_PUBLIC
 gboolean       ev_view_supports_caret_navigation    (EvView  *view);
+EV_PUBLIC
 gboolean       ev_view_is_caret_navigation_enabled  (EvView  *view);
+EV_PUBLIC
 void           ev_view_set_caret_navigation_enabled (EvView  *view,
                                                      gboolean enabled);
+EV_PUBLIC
 void           ev_view_set_caret_cursor_position    (EvView  *view,
                                                      guint    page,
                                                      guint    offset);
diff --git a/libview/meson.build b/libview/meson.build
index 74c86d51d..11a2f158a 100644
--- a/libview/meson.build
+++ b/libview/meson.build
@@ -4,12 +4,12 @@ include_subdir = join_paths(ev_include_subdir, 'libview')
 
 headers = files(
   'ev-document-model.h',
-  'ev-jobs.h',
   'ev-job-scheduler.h',
+  'ev-jobs.h',
   'ev-print-operation.h',
   'ev-stock-icons.h',
+  'ev-view-presentation.h',
   'ev-view.h',
-  'ev-view-presentation.h'
 )
 
 install_headers(
@@ -88,9 +88,8 @@ libevview = 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',
 )
 
 libevview_dep = declare_dependency(
diff --git a/meson.build b/meson.build
index bcb69cf79..4ffd6dcbb 100644
--- a/meson.build
+++ b/meson.build
@@ -134,9 +134,6 @@ endif
 
 add_project_arguments(common_flags, language: 'c')
 
-lib_symbol_map = join_paths(meson.current_source_dir(), 'lib-symbol.map')
-lib_ldflags = cc.get_supported_link_arguments('-Wl,--version-script,' + lib_symbol_map)
-
 gnome = import('gnome')
 i18n = import('i18n')
 pkg = import('pkgconfig')


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]