#ifndef _FS_PDFDOCVIEWERPREFS_C_H_
#define _FS_PDFDOCVIEWERPREFS_C_H_

#ifdef __cplusplus
extern "C" {
#endif



typedef enum _FSPrintScale {
e_FSPrintScaleNone = 0,
e_FSPrintScaleAppDefault = 1,
}FSPrintScale;



typedef enum _FSViewerPref {
e_FSHideToolbar = 0,
e_FSHideMenubar = 1,
e_FSHideWindowUI = 2,
e_FSFitWindow = 3,
e_FSCenterWindow = 4,
e_FSDisplayDocTitle = 5,
}FSViewerPref;


FSErrorCode FSDK_DocViewerPrefs_Create(const FS_PDFDOC_HANDLE document, FS_PDFDICTIONARY_HANDLE pdf_dict, FS_DOCVIEWERPREFS_HANDLE* docviewerprefs_return_value);
FSErrorCode FSDK_DocViewerPrefs_Release(FS_DOCVIEWERPREFS_HANDLE docviewerprefs_handle);
FSErrorCode FSDK_DocViewerPrefs_IsEmpty(FS_DOCVIEWERPREFS_HANDLE docviewerprefs_handle, FS_BOOL* return_value);
FSErrorCode FSDK_DocViewerPrefs_GetUIDisplayStatus(FS_DOCVIEWERPREFS_HANDLE docviewerprefs_handle, FSViewerPref pref, FS_BOOL* return_value);
FSErrorCode FSDK_DocViewerPrefs_SetUIDisplayStatus(FS_DOCVIEWERPREFS_HANDLE docviewerprefs_handle, FSViewerPref pref, FS_BOOL value);
FSErrorCode FSDK_DocViewerPrefs_GetNonFullScreenPageMode(FS_DOCVIEWERPREFS_HANDLE docviewerprefs_handle, FSDisplayMode* return_value);
FSErrorCode FSDK_DocViewerPrefs_SetNonFullScreenPageMode(FS_DOCVIEWERPREFS_HANDLE docviewerprefs_handle,  FSDisplayMode display_mode);
FSErrorCode FSDK_DocViewerPrefs_GetReadingDirection(FS_DOCVIEWERPREFS_HANDLE docviewerprefs_handle, FS_BOOL* return_value);
FSErrorCode FSDK_DocViewerPrefs_SetReadingDirection(FS_DOCVIEWERPREFS_HANDLE docviewerprefs_handle, FS_BOOL is_left_to_right);
FSErrorCode FSDK_DocViewerPrefs_GetViewArea(FS_DOCVIEWERPREFS_HANDLE docviewerprefs_handle, FSBoxType* return_value);
FSErrorCode FSDK_DocViewerPrefs_SetViewArea(FS_DOCVIEWERPREFS_HANDLE docviewerprefs_handle,  FSBoxType box_type);
FSErrorCode FSDK_DocViewerPrefs_GetViewClip(FS_DOCVIEWERPREFS_HANDLE docviewerprefs_handle, FSBoxType* return_value);
FSErrorCode FSDK_DocViewerPrefs_SetViewClip(FS_DOCVIEWERPREFS_HANDLE docviewerprefs_handle,  FSBoxType box_type);
FSErrorCode FSDK_DocViewerPrefs_GetPrintArea(FS_DOCVIEWERPREFS_HANDLE docviewerprefs_handle, FSBoxType* return_value);
FSErrorCode FSDK_DocViewerPrefs_SetPrintArea(FS_DOCVIEWERPREFS_HANDLE docviewerprefs_handle,  FSBoxType box_type);
FSErrorCode FSDK_DocViewerPrefs_GetPrintClip(FS_DOCVIEWERPREFS_HANDLE docviewerprefs_handle, FSBoxType* return_value);
FSErrorCode FSDK_DocViewerPrefs_SetPrintClip(FS_DOCVIEWERPREFS_HANDLE docviewerprefs_handle,  FSBoxType box_type);
FSErrorCode FSDK_DocViewerPrefs_GetPrintScale(FS_DOCVIEWERPREFS_HANDLE docviewerprefs_handle, FSPrintScale* return_value);
FSErrorCode FSDK_DocViewerPrefs_SetPrintScale(FS_DOCVIEWERPREFS_HANDLE docviewerprefs_handle, FSPrintScale print_scale);
FSErrorCode FSDK_DocViewerPrefs_GetPrintCopies(FS_DOCVIEWERPREFS_HANDLE docviewerprefs_handle, int* return_value);
FSErrorCode FSDK_DocViewerPrefs_SetPrintCopies(FS_DOCVIEWERPREFS_HANDLE docviewerprefs_handle, int print_copies);
FSErrorCode FSDK_DocViewerPrefs_GetPrintRange(FS_DOCVIEWERPREFS_HANDLE docviewerprefs_handle, FS_RANGE_HANDLE* return_value);
FSErrorCode FSDK_DocViewerPrefs_SetPrintRange(FS_DOCVIEWERPREFS_HANDLE docviewerprefs_handle, const FS_RANGE_HANDLE page_range);
FSErrorCode FSDK_DocViewerPrefs_GetDict(FS_DOCVIEWERPREFS_HANDLE docviewerprefs_handle, FS_PDFDICTIONARY_HANDLE* return_value);
#ifdef __cplusplus
}
#endif
#endif
