diff options
author | Felix Kauselmann <licorn@gmail.com> | 2017-08-09 21:44:31 +0200 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-08-09 20:14:43 +0000 |
commit | 00334675c18a0203f313cceb670c970a77280f49 (patch) | |
tree | 431cc04539913358cedf9f1386b7dda0e3982562 /public/fpdf_annot.h | |
parent | d0f2dcd0802969494e991d8cef00b4bd81aefc8d (diff) | |
download | pdfium-00334675c18a0203f313cceb670c970a77280f49.tar.xz |
Add a build target and a proper export header for shared library builds.
This CL adds support for Chromium's component build feature to pdfium.
The export header stub in fpdfview.h is expanded to match Chromium's
export mechanisms and patterns (fixes pdfium:825).
A component/shared library build can be triggered by adding
is_component_build = true
as a gn argument. Please note that setting this will also affect some
of pdfiums dependencies like v8, which will be build as components
too.
Additionally, this CL provides a "pdf_source_set" template which
dynamically enables the use of "source_set" when building a complete
static library or a shared library to reduce build time.
When testing this it is recommended to only build the pdfium target as
most of pdfiums test rely on non-public functions which aren't exported
by the shared library.
Bug: pdfium:825,pdfium:826
Change-Id: Icedc538ec535e11d1e53c4d5fabc8c064b275752
Reviewed-on: https://pdfium-review.googlesource.com/8970
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'public/fpdf_annot.h')
-rw-r--r-- | public/fpdf_annot.h | 108 |
1 files changed, 56 insertions, 52 deletions
diff --git a/public/fpdf_annot.h b/public/fpdf_annot.h index c0f9a6e4c6..ebe72eafb4 100644 --- a/public/fpdf_annot.h +++ b/public/fpdf_annot.h @@ -96,7 +96,7 @@ typedef enum FPDFANNOT_COLORTYPE { // subtype - the subtype to be checked. // // Returns true if this subtype supported. -DLLEXPORT FPDF_BOOL STDCALL +FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_IsSupportedSubtype(FPDF_ANNOTATION_SUBTYPE subtype); // Experimental API. @@ -109,7 +109,7 @@ FPDFAnnot_IsSupportedSubtype(FPDF_ANNOTATION_SUBTYPE subtype); // subtype - the subtype of the new annotation. // // Returns a handle to the new annotation object, or NULL on failure. -DLLEXPORT FPDF_ANNOTATION STDCALL +FPDF_EXPORT FPDF_ANNOTATION FPDF_CALLCONV FPDFPage_CreateAnnot(FPDF_PAGE page, FPDF_ANNOTATION_SUBTYPE subtype); // Experimental API. @@ -118,7 +118,7 @@ FPDFPage_CreateAnnot(FPDF_PAGE page, FPDF_ANNOTATION_SUBTYPE subtype); // page - handle to a page. // // Returns the number of annotations in |page|. -DLLEXPORT int STDCALL FPDFPage_GetAnnotCount(FPDF_PAGE page); +FPDF_EXPORT int FPDF_CALLCONV FPDFPage_GetAnnotCount(FPDF_PAGE page); // Experimental API. // Get annotation in |page| at |index|. Must call FPDFPage_CloseAnnot() when the @@ -128,7 +128,8 @@ DLLEXPORT int STDCALL FPDFPage_GetAnnotCount(FPDF_PAGE page); // index - the index of the annotation. // // Returns a handle to the annotation object, or NULL on failure. -DLLEXPORT FPDF_ANNOTATION STDCALL FPDFPage_GetAnnot(FPDF_PAGE page, int index); +FPDF_EXPORT FPDF_ANNOTATION FPDF_CALLCONV FPDFPage_GetAnnot(FPDF_PAGE page, + int index); // Experimental API. // Close an annotation. Must be called when the annotation returned by @@ -136,7 +137,7 @@ DLLEXPORT FPDF_ANNOTATION STDCALL FPDFPage_GetAnnot(FPDF_PAGE page, int index); // function does not remove the annotation from the document. // // annot - handle to an annotation. -DLLEXPORT void STDCALL FPDFPage_CloseAnnot(FPDF_ANNOTATION annot); +FPDF_EXPORT void FPDF_CALLCONV FPDFPage_CloseAnnot(FPDF_ANNOTATION annot); // Experimental API. // Remove the annotation in |page| at |index|. @@ -145,7 +146,8 @@ DLLEXPORT void STDCALL FPDFPage_CloseAnnot(FPDF_ANNOTATION annot); // index - the index of the annotation. // // Returns true if successful. -DLLEXPORT FPDF_BOOL STDCALL FPDFPage_RemoveAnnot(FPDF_PAGE page, int index); +FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPage_RemoveAnnot(FPDF_PAGE page, + int index); // Experimental API. // Get the subtype of an annotation. @@ -153,7 +155,7 @@ DLLEXPORT FPDF_BOOL STDCALL FPDFPage_RemoveAnnot(FPDF_PAGE page, int index); // annot - handle to an annotation. // // Returns the annotation subtype. -DLLEXPORT FPDF_ANNOTATION_SUBTYPE STDCALL +FPDF_EXPORT FPDF_ANNOTATION_SUBTYPE FPDF_CALLCONV FPDFAnnot_GetSubtype(FPDF_ANNOTATION annot); // Experimental API. @@ -164,7 +166,7 @@ FPDFAnnot_GetSubtype(FPDF_ANNOTATION annot); // subtype - the subtype to be checked. // // Returns true if this subtype supported. -DLLEXPORT FPDF_BOOL STDCALL +FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_IsObjectSupportedSubtype(FPDF_ANNOTATION_SUBTYPE subtype); // Experimental API. @@ -178,8 +180,8 @@ FPDFAnnot_IsObjectSupportedSubtype(FPDF_ANNOTATION_SUBTYPE subtype); // obj - handle to the object that |annot| needs to update. // // Return true if successful. -DLLEXPORT FPDF_BOOL STDCALL FPDFAnnot_UpdateObject(FPDF_ANNOTATION annot, - FPDF_PAGEOBJECT obj); +FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV +FPDFAnnot_UpdateObject(FPDF_ANNOTATION annot, FPDF_PAGEOBJECT obj); // Experimental API. // Add |obj| to |annot|. |obj| must have been created by @@ -192,8 +194,8 @@ DLLEXPORT FPDF_BOOL STDCALL FPDFAnnot_UpdateObject(FPDF_ANNOTATION annot, // obj - handle to the object that is to be added to |annot|. // // Return true if successful. -DLLEXPORT FPDF_BOOL STDCALL FPDFAnnot_AppendObject(FPDF_ANNOTATION annot, - FPDF_PAGEOBJECT obj); +FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV +FPDFAnnot_AppendObject(FPDF_ANNOTATION annot, FPDF_PAGEOBJECT obj); // Experimental API. // Get the total number of objects in |annot|, including path objects, text @@ -202,7 +204,7 @@ DLLEXPORT FPDF_BOOL STDCALL FPDFAnnot_AppendObject(FPDF_ANNOTATION annot, // annot - handle to an annotation. // // Returns the number of objects in |annot|. -DLLEXPORT int STDCALL FPDFAnnot_GetObjectCount(FPDF_ANNOTATION annot); +FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_GetObjectCount(FPDF_ANNOTATION annot); // Experimental API. // Get the object in |annot| at |index|. @@ -211,8 +213,8 @@ DLLEXPORT int STDCALL FPDFAnnot_GetObjectCount(FPDF_ANNOTATION annot); // index - the index of the object. // // Return a handle to the object, or NULL on failure. -DLLEXPORT FPDF_PAGEOBJECT STDCALL FPDFAnnot_GetObject(FPDF_ANNOTATION annot, - int index); +FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV +FPDFAnnot_GetObject(FPDF_ANNOTATION annot, int index); // Experimental API. // Remove the object in |annot| at |index|. @@ -221,8 +223,8 @@ DLLEXPORT FPDF_PAGEOBJECT STDCALL FPDFAnnot_GetObject(FPDF_ANNOTATION annot, // index - the index of the object to be removed. // // Return true if successful. -DLLEXPORT FPDF_BOOL STDCALL FPDFAnnot_RemoveObject(FPDF_ANNOTATION annot, - int index); +FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV +FPDFAnnot_RemoveObject(FPDF_ANNOTATION annot, int index); // Experimental API. // Set the color of an annotation. Fails when called on annotations with @@ -235,12 +237,12 @@ DLLEXPORT FPDF_BOOL STDCALL FPDFAnnot_RemoveObject(FPDF_ANNOTATION annot, // A - buffer to hold the opacity. Ranges from 0 to 255. // // Returns true if successful. -DLLEXPORT FPDF_BOOL STDCALL FPDFAnnot_SetColor(FPDF_ANNOTATION annot, - FPDFANNOT_COLORTYPE type, - unsigned int R, - unsigned int G, - unsigned int B, - unsigned int A); +FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetColor(FPDF_ANNOTATION annot, + FPDFANNOT_COLORTYPE type, + unsigned int R, + unsigned int G, + unsigned int B, + unsigned int A); // Experimental API. // Get the color of an annotation. If no color is specified, default to yellow @@ -254,12 +256,12 @@ DLLEXPORT FPDF_BOOL STDCALL FPDFAnnot_SetColor(FPDF_ANNOTATION annot, // A - buffer to hold the opacity. Ranges from 0 to 255. // // Returns true if successful. -DLLEXPORT FPDF_BOOL STDCALL FPDFAnnot_GetColor(FPDF_ANNOTATION annot, - FPDFANNOT_COLORTYPE type, - unsigned int* R, - unsigned int* G, - unsigned int* B, - unsigned int* A); +FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_GetColor(FPDF_ANNOTATION annot, + FPDFANNOT_COLORTYPE type, + unsigned int* R, + unsigned int* G, + unsigned int* B, + unsigned int* A); // Experimental API. // Check if the annotation is of a type that has attachment points @@ -273,7 +275,7 @@ DLLEXPORT FPDF_BOOL STDCALL FPDFAnnot_GetColor(FPDF_ANNOTATION annot, // // Returns true if the annotation is of a type that has quadpoints, false // otherwise. -DLLEXPORT FPDF_BOOL STDCALL +FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_HasAttachmentPoints(FPDF_ANNOTATION annot); // Experimental API. @@ -285,7 +287,7 @@ FPDFAnnot_HasAttachmentPoints(FPDF_ANNOTATION annot); // quadPoints - the quadpoints to be set. // // Returns true if successful. -DLLEXPORT FPDF_BOOL STDCALL +FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetAttachmentPoints(FPDF_ANNOTATION annot, const FS_QUADPOINTSF* quadPoints); @@ -297,7 +299,7 @@ FPDFAnnot_SetAttachmentPoints(FPDF_ANNOTATION annot, // annot - handle to an annotation. // // Returns a quadpoints object, or an empty set of quadpoints on failure. -DLLEXPORT FS_QUADPOINTSF STDCALL +FPDF_EXPORT FS_QUADPOINTSF FPDF_CALLCONV FPDFAnnot_GetAttachmentPoints(FPDF_ANNOTATION annot); // Experimental API. @@ -309,8 +311,8 @@ FPDFAnnot_GetAttachmentPoints(FPDF_ANNOTATION annot); // rect - the annotation rectangle to be set. // // Returns true if successful. -DLLEXPORT FPDF_BOOL STDCALL FPDFAnnot_SetRect(FPDF_ANNOTATION annot, - const FS_RECTF* rect); +FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetRect(FPDF_ANNOTATION annot, + const FS_RECTF* rect); // Experimental API. // Get the annotation rectangle defining the location of the annotation. If the @@ -320,7 +322,7 @@ DLLEXPORT FPDF_BOOL STDCALL FPDFAnnot_SetRect(FPDF_ANNOTATION annot, // annot - handle to an annotation. // // Returns a rectangle object, or an empty rectangle on failure. -DLLEXPORT FS_RECTF STDCALL FPDFAnnot_GetRect(FPDF_ANNOTATION annot); +FPDF_EXPORT FS_RECTF FPDF_CALLCONV FPDFAnnot_GetRect(FPDF_ANNOTATION annot); // Experimental API. // Check if |annot|'s dictionary has |key| as a key. @@ -329,8 +331,8 @@ DLLEXPORT FS_RECTF STDCALL FPDFAnnot_GetRect(FPDF_ANNOTATION annot); // key - the key to look for. // // Returns true if |key| exists. -DLLEXPORT FPDF_BOOL STDCALL FPDFAnnot_HasKey(FPDF_ANNOTATION annot, - FPDF_WIDESTRING key); +FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_HasKey(FPDF_ANNOTATION annot, + FPDF_WIDESTRING key); // Experimental API. // Get the type of the value corresponding to |key| in |annot|'s dictionary. @@ -339,8 +341,8 @@ DLLEXPORT FPDF_BOOL STDCALL FPDFAnnot_HasKey(FPDF_ANNOTATION annot, // key - the key to look for. // // Returns the type of the dictionary value. -DLLEXPORT FPDF_OBJECT_TYPE STDCALL FPDFAnnot_GetValueType(FPDF_ANNOTATION annot, - FPDF_WIDESTRING key); +FPDF_EXPORT FPDF_OBJECT_TYPE FPDF_CALLCONV +FPDFAnnot_GetValueType(FPDF_ANNOTATION annot, FPDF_WIDESTRING key); // Experimental API. // Set the string value corresponding to |key| in |annot|'s dictionary, @@ -352,9 +354,10 @@ DLLEXPORT FPDF_OBJECT_TYPE STDCALL FPDFAnnot_GetValueType(FPDF_ANNOTATION annot, // value - the string value to be set, encoded in UTF16-LE. // // Returns true if successful. -DLLEXPORT FPDF_BOOL STDCALL FPDFAnnot_SetStringValue(FPDF_ANNOTATION annot, - FPDF_WIDESTRING key, - FPDF_WIDESTRING value); +FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV +FPDFAnnot_SetStringValue(FPDF_ANNOTATION annot, + FPDF_WIDESTRING key, + FPDF_WIDESTRING value); // Experimental API. // Get the string value corresponding to |key| in |annot|'s dictionary. |buffer| @@ -371,10 +374,11 @@ DLLEXPORT FPDF_BOOL STDCALL FPDFAnnot_SetStringValue(FPDF_ANNOTATION annot, // buflen - length of the buffer. // // Returns the length of the string value. -DLLEXPORT unsigned long STDCALL FPDFAnnot_GetStringValue(FPDF_ANNOTATION annot, - FPDF_WIDESTRING key, - void* buffer, - unsigned long buflen); +FPDF_EXPORT unsigned long FPDF_CALLCONV +FPDFAnnot_GetStringValue(FPDF_ANNOTATION annot, + FPDF_WIDESTRING key, + void* buffer, + unsigned long buflen); // Experimental API. // Get the annotation flags of |annot|. @@ -382,7 +386,7 @@ DLLEXPORT unsigned long STDCALL FPDFAnnot_GetStringValue(FPDF_ANNOTATION annot, // annot - handle to an annotation. // // Returns the annotation flags. -DLLEXPORT int STDCALL FPDFAnnot_GetFlags(FPDF_ANNOTATION annot); +FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_GetFlags(FPDF_ANNOTATION annot); // Experimental API. // Set the |annot|'s flags to be of the value |flags|. @@ -391,8 +395,8 @@ DLLEXPORT int STDCALL FPDFAnnot_GetFlags(FPDF_ANNOTATION annot); // flags - the flag values to be set. // // Returns true if successful. -DLLEXPORT FPDF_BOOL STDCALL FPDFAnnot_SetFlags(FPDF_ANNOTATION annot, - int flags); +FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetFlags(FPDF_ANNOTATION annot, + int flags); // Experimental API. // Get the annotation flags of |annot|, which is an interactive form @@ -402,8 +406,8 @@ DLLEXPORT FPDF_BOOL STDCALL FPDFAnnot_SetFlags(FPDF_ANNOTATION annot, // annot - handle to an interactive form annotation. // // Returns the annotation flags specific to interactive forms. -DLLEXPORT int STDCALL FPDFAnnot_GetFormFieldFlags(FPDF_PAGE page, - FPDF_ANNOTATION annot); +FPDF_EXPORT int FPDF_CALLCONV +FPDFAnnot_GetFormFieldFlags(FPDF_PAGE page, FPDF_ANNOTATION annot); // Experimental API. // Retrieves an interactive form annotation whose rectangle contains a given @@ -419,7 +423,7 @@ DLLEXPORT int STDCALL FPDFAnnot_GetFormFieldFlags(FPDF_PAGE page, // // Returns the interactive form annotation whose rectangle contains the given // coordinates on the page. If there is no such annotation, return NULL. -DLLEXPORT FPDF_ANNOTATION STDCALL +FPDF_EXPORT FPDF_ANNOTATION FPDF_CALLCONV FPDFAnnot_GetFormFieldAtPoint(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, double page_x, |