fpdf_ext.h revision ee451cb395940862dad63c85adfe8f2fd55e864c
13839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o// Copyright 2014 PDFium Authors. All rights reserved.
23839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o// Use of this source code is governed by a BSD-style license that can be
33839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o// found in the LICENSE file.
43839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o
53839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
63839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o
73839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o#ifndef _FPDF_EXT_H_
8543547a52a20cb7e69d74921b2f691078fd55d83Theodore Ts'o#define _FPDF_EXT_H_
9543547a52a20cb7e69d74921b2f691078fd55d83Theodore Ts'o
10543547a52a20cb7e69d74921b2f691078fd55d83Theodore Ts'o#ifndef _FPDFVIEW_H_
11543547a52a20cb7e69d74921b2f691078fd55d83Theodore Ts'o#include "fpdfview.h"
123839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o#endif
133839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o
143839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o#ifdef __cplusplus
153839e65723771b85975f4263102dd3ceec4523cTheodore Ts'oextern "C" {
163839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o#endif
173839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o
183839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o//flags for type of unsupport object.
1966d8c3f33f976e83ea0efd361bb5ac182315a421Theodore Ts'o#define FPDF_UNSP_DOC_XFAFORM				1
2066d8c3f33f976e83ea0efd361bb5ac182315a421Theodore Ts'o#define FPDF_UNSP_DOC_PORTABLECOLLECTION	2
2166d8c3f33f976e83ea0efd361bb5ac182315a421Theodore Ts'o#define FPDF_UNSP_DOC_ATTACHMENT			3
2250e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o#define FPDF_UNSP_DOC_SECURITY				4
233839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o#define FPDF_UNSP_DOC_SHAREDREVIEW			5
2450e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o#define FPDF_UNSP_DOC_SHAREDFORM_ACROBAT	6
2550e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o#define FPDF_UNSP_DOC_SHAREDFORM_FILESYSTEM	7
263839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o#define FPDF_UNSP_DOC_SHAREDFORM_EMAIL		8
2750e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o#define FPDF_UNSP_ANNOT_3DANNOT				11
28023d111e92195624463e870146d0f386ba5c2d87Theodore Ts'o#define FPDF_UNSP_ANNOT_MOVIE				12
2950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o#define FPDF_UNSP_ANNOT_SOUND				13
30023d111e92195624463e870146d0f386ba5c2d87Theodore Ts'o#define FPDF_UNSP_ANNOT_SCREEN_MEDIA		14
3150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o#define FPDF_UNSP_ANNOT_SCREEN_RICHMEDIA	15
323839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o#define FPDF_UNSP_ANNOT_ATTACHMENT			16
3350e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o#define FPDF_UNSP_ANNOT_SIG					17
343839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o
353839e65723771b85975f4263102dd3ceec4523cTheodore Ts'otypedef	struct _UNSUPPORT_INFO
363839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o{
3766d8c3f33f976e83ea0efd361bb5ac182315a421Theodore Ts'o	/**
3866d8c3f33f976e83ea0efd361bb5ac182315a421Theodore Ts'o	* Version number of the interface. Currently must be 1.
3966d8c3f33f976e83ea0efd361bb5ac182315a421Theodore Ts'o	**/
4066d8c3f33f976e83ea0efd361bb5ac182315a421Theodore Ts'o	int version;
4166d8c3f33f976e83ea0efd361bb5ac182315a421Theodore Ts'o
4266d8c3f33f976e83ea0efd361bb5ac182315a421Theodore Ts'o	/**
433839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o	* Method: FSDK_UnSupport_Handler
443839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o	*			 UnSupport Object process handling function.
45cce382b12c2e0764b91d143ec6f9549c735f8f9eTheodore Ts'o	* Interface Version:
463c203cb6831fdfe096bae7ce60c594725f70f47dTheodore Ts'o	*			1
4750e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o	* Implementation Required:
48cce382b12c2e0764b91d143ec6f9549c735f8f9eTheodore Ts'o	*			Yes
49cce382b12c2e0764b91d143ec6f9549c735f8f9eTheodore Ts'o	* Parameters:
5050e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o	*		pThis		-	Pointer to the interface structure itself.
51cce382b12c2e0764b91d143ec6f9549c735f8f9eTheodore Ts'o	*		nType		-	The type of unsupportObject
5250e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o	* 	Return value:
53cce382b12c2e0764b91d143ec6f9549c735f8f9eTheodore Ts'o	* 		None.
54cce382b12c2e0764b91d143ec6f9549c735f8f9eTheodore Ts'o	* */
5550e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o
5650e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o	void(*FSDK_UnSupport_Handler)(_UNSUPPORT_INFO* pThis,int nType);
57cce382b12c2e0764b91d143ec6f9549c735f8f9eTheodore Ts'o}UNSUPPORT_INFO;
58cce382b12c2e0764b91d143ec6f9549c735f8f9eTheodore Ts'o
5950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o
6050e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o/**
61cce382b12c2e0764b91d143ec6f9549c735f8f9eTheodore Ts'o * Function: FSDK_SetUnSpObjProcessHandler
62cce382b12c2e0764b91d143ec6f9549c735f8f9eTheodore Ts'o *			 Setup A UnSupport Object process handler for foxit sdk.
6350e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o * Parameters:
6450e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o *			unsp_info		-	Pointer to a UNSUPPORT_INFO structure.
65cce382b12c2e0764b91d143ec6f9549c735f8f9eTheodore Ts'o * Return Value:
66e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall *			TRUE means successful. FALSE means fails.
6750e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o **/
68a8a813ee3321f3d8986a88c83903b933f1b35e8eTheodore Ts'o
693839e65723771b85975f4263102dd3ceec4523cTheodore Ts'oDLLEXPORT FPDF_BOOL STDCALL FSDK_SetUnSpObjProcessHandler(UNSUPPORT_INFO* unsp_info);
701a4ce9df5884405a7152855b868c3a7bfbeec385Theodore Ts'o
71023d111e92195624463e870146d0f386ba5c2d87Theodore Ts'o//flags for page mode.
72023d111e92195624463e870146d0f386ba5c2d87Theodore Ts'o
73023d111e92195624463e870146d0f386ba5c2d87Theodore Ts'o//Unknown value
743c203cb6831fdfe096bae7ce60c594725f70f47dTheodore Ts'o#define PAGEMODE_UNKONOWN		-1
7566d8c3f33f976e83ea0efd361bb5ac182315a421Theodore Ts'o
763839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o//Neither document outline nor thumbnail images visible
773839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o#define PAGEMODE_USENONE		0
78cce382b12c2e0764b91d143ec6f9549c735f8f9eTheodore Ts'o
79a8a813ee3321f3d8986a88c83903b933f1b35e8eTheodore Ts'o//Document outline visible
80a8a813ee3321f3d8986a88c83903b933f1b35e8eTheodore Ts'o#define PAGEMODE_USEOUTLINES	1
81cce382b12c2e0764b91d143ec6f9549c735f8f9eTheodore Ts'o
823839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o//Thumbnial images visible
83a8a813ee3321f3d8986a88c83903b933f1b35e8eTheodore Ts'o#define PAGEMODE_USETHUMBS		2
84a8a813ee3321f3d8986a88c83903b933f1b35e8eTheodore Ts'o
853839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o//Full-screen mode, with no menu bar, window controls, or any other window visible
86e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall#define PAGEMODE_FULLSCREEN		3
873c203cb6831fdfe096bae7ce60c594725f70f47dTheodore Ts'o
883c203cb6831fdfe096bae7ce60c594725f70f47dTheodore Ts'o//Optional content group panel visible
893c203cb6831fdfe096bae7ce60c594725f70f47dTheodore Ts'o#define PAGEMODE_USEOC			4
903c203cb6831fdfe096bae7ce60c594725f70f47dTheodore Ts'o
91e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall//Attachments panel visible
92e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall#define PAGEMODE_USEATTACHMENTS	5
93023d111e92195624463e870146d0f386ba5c2d87Theodore Ts'o
94023d111e92195624463e870146d0f386ba5c2d87Theodore Ts'o
9550e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o/**
9650e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o * Function: FPDFDoc_GetPageMode
973839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o *			 Get the document's PageMode(How the document should be displayed when opened)
98 * Parameters:
99 *			doc		-	Handle to document. Returned by FPDF_LoadDocument function.
100 * Return Value:
101 *			The flags for page mode.
102 **/
103DLLEXPORT int FPDFDoc_GetPageMode(FPDF_DOCUMENT document);
104
105#ifdef __cplusplus
106};
107#endif
108#endif
109