[evince/wip/chpe/symbols-visibility: 10/13] libview: Use symbol visibility for exported symbols




commit 8ac25ff55e8a3e0aa24f8bffb3d51bb618ea068a
Author: Christian Persch <chpe src gnome org>
Date:   Wed Dec 1 16:51:33 2021 +0100

    libview: Use symbol visibility for exported symbols
    
    Use the newly added EV_PUBLIC macro to explicitly mark symbols to be
    exported, instead of exporting everything starting with "ev_".
    
    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 78e722911..178fd8c8c 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 75c5174f8..34c86661f 100644
--- a/meson.build
+++ b/meson.build
@@ -131,9 +131,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]