#ifndef _FS_BOOKMARK_C_H_
#define _FS_BOOKMARK_C_H_

#ifdef __cplusplus
extern "C" {
#endif



typedef enum _FSBookmarkStyle {
e_FSBookmarkStyleStyleNormal  = 0x00,
e_FSBookmarkStyleStyleItalic  = 0x01,
e_FSBookmarkStyleStyleBold    = 0x02,
}FSBookmarkStyle;



typedef enum _FSBookmarkPosition {
e_FSPosFirstChild  = 0,
e_FSPosLastChild = 1,
e_FSPosPrevSibling = 2,
e_FSPosNextSibling = 3,
e_FSPosFirstSibling = 4,
e_FSPosLastSibling = 5,
}FSBookmarkPosition;


FSErrorCode FSDK_Bookmark_Create(const FS_PDFDOC_HANDLE pdf_doc, FS_PDFDICTIONARY_HANDLE bookmark_dict, FS_BOOKMARK_HANDLE* bookmark_return_value);
FSErrorCode FSDK_Bookmark_IsEmpty(FS_BOOKMARK_HANDLE bookmark_handle, FS_BOOL* return_value);
FSErrorCode FSDK_Bookmark_Release(FS_BOOKMARK_HANDLE bookmark_handle);
FSErrorCode FSDK_Bookmark_GetParent(FS_BOOKMARK_HANDLE bookmark_handle, FS_BOOKMARK_HANDLE* return_value);
FSErrorCode FSDK_Bookmark_HasChild(FS_BOOKMARK_HANDLE bookmark_handle, FS_BOOL* return_value);
FSErrorCode FSDK_Bookmark_GetFirstChild(FS_BOOKMARK_HANDLE bookmark_handle, FS_BOOKMARK_HANDLE* return_value);
FSErrorCode FSDK_Bookmark_GetNextSibling(FS_BOOKMARK_HANDLE bookmark_handle, FS_BOOKMARK_HANDLE* return_value);
FSErrorCode FSDK_Bookmark_GetDestination(FS_BOOKMARK_HANDLE bookmark_handle, FS_DESTINATION_HANDLE* return_value);
FSErrorCode FSDK_Bookmark_SetDestination(FS_BOOKMARK_HANDLE bookmark_handle, const FS_DESTINATION_HANDLE destination);
FSErrorCode FSDK_Bookmark_GetTitle(FS_BOOKMARK_HANDLE bookmark_handle, FS_WSTR* return_value);
FSErrorCode FSDK_Bookmark_SetTitle(FS_BOOKMARK_HANDLE bookmark_handle, const wchar_t* title);
FSErrorCode FSDK_Bookmark_GetColor(FS_BOOKMARK_HANDLE bookmark_handle, FS_RGB* return_value);
FSErrorCode FSDK_Bookmark_SetColor(FS_BOOKMARK_HANDLE bookmark_handle, FS_RGB color);
FSErrorCode FSDK_Bookmark_GetStyle(FS_BOOKMARK_HANDLE bookmark_handle, FS_UINT32* return_value);
FSErrorCode FSDK_Bookmark_SetStyle(FS_BOOKMARK_HANDLE bookmark_handle, FS_UINT32 style);
FSErrorCode FSDK_Bookmark_Insert(FS_BOOKMARK_HANDLE bookmark_handle, const wchar_t* title, FSBookmarkPosition position, FS_BOOKMARK_HANDLE* return_value);
FSErrorCode FSDK_Bookmark_MoveTo(FS_BOOKMARK_HANDLE bookmark_handle, const FS_BOOKMARK_HANDLE dest_bookmark, FSBookmarkPosition position, FS_BOOL* return_value);
FSErrorCode FSDK_Bookmark_GetAction(FS_BOOKMARK_HANDLE bookmark_handle, FS_ACTION_HANDLE* return_value);
FSErrorCode FSDK_Bookmark_SetAction(FS_BOOKMARK_HANDLE bookmark_handle, const FS_ACTION_HANDLE action);
FSErrorCode FSDK_Bookmark_RemoveAction(FS_BOOKMARK_HANDLE bookmark_handle, FS_BOOL* return_value);
FSErrorCode FSDK_Bookmark_IsRoot(FS_BOOKMARK_HANDLE bookmark_handle, FS_BOOL* return_value);
FSErrorCode FSDK_Bookmark_IsFirstChild(FS_BOOKMARK_HANDLE bookmark_handle, FS_BOOL* return_value);
FSErrorCode FSDK_Bookmark_IsLastChild(FS_BOOKMARK_HANDLE bookmark_handle, FS_BOOL* return_value);
FSErrorCode FSDK_Bookmark_GetDict(FS_BOOKMARK_HANDLE bookmark_handle, FS_PDFDICTIONARY_HANDLE* return_value);
#ifdef __cplusplus
}
#endif
#endif
