#ifndef _FS_REFLOWPAGE_C_H_
#define _FS_REFLOWPAGE_C_H_

#ifdef __cplusplus
extern "C" {
#endif



typedef enum _FSReflowPageFlags {
e_FSReflowPageFlagsNormal = 0x0,
e_FSWithImage = 0x1,
e_FSNoTruncate = 0x2,
}FSReflowPageFlags;


FSErrorCode FSDK_ReflowPage_Create(const FS_PDFPAGE_HANDLE page, FS_REFLOWPAGE_HANDLE* reflowpage_return_value);
FSErrorCode FSDK_ReflowPage_Release(FS_REFLOWPAGE_HANDLE reflowpage_handle);
FSErrorCode FSDK_ReflowPage_IsEmpty(FS_REFLOWPAGE_HANDLE reflowpage_handle, FS_BOOL* return_value);
FSErrorCode FSDK_ReflowPage_SetScreenSize(FS_REFLOWPAGE_HANDLE reflowpage_handle, float width, float height);
FSErrorCode FSDK_ReflowPage_SetScreenMargin(FS_REFLOWPAGE_HANDLE reflowpage_handle, int left, int top, int right, int bottom);
FSErrorCode FSDK_ReflowPage_SetZoom(FS_REFLOWPAGE_HANDLE reflowpage_handle, int zoom);
FSErrorCode FSDK_ReflowPage_SetParseFlags(FS_REFLOWPAGE_HANDLE reflowpage_handle, FS_UINT32 flags);
FSErrorCode FSDK_ReflowPage_SetLineSpace(FS_REFLOWPAGE_HANDLE reflowpage_handle, float line_space);
FSErrorCode FSDK_ReflowPage_SetImageScale(FS_REFLOWPAGE_HANDLE reflowpage_handle, float image_scale);
FSErrorCode FSDK_ReflowPage_SetTopSpace(FS_REFLOWPAGE_HANDLE reflowpage_handle, float top_space);
FSErrorCode FSDK_ReflowPage_StartParse(FS_REFLOWPAGE_HANDLE reflowpage_handle,  FSPauseCallback* pause, FS_PROGRESSIVE_HANDLE* return_value);
FSErrorCode FSDK_ReflowPage_GetContentWidth(FS_REFLOWPAGE_HANDLE reflowpage_handle, float* return_value);
FSErrorCode FSDK_ReflowPage_GetContentHeight(FS_REFLOWPAGE_HANDLE reflowpage_handle, float* return_value);
FSErrorCode FSDK_ReflowPage_GetDisplayMatrix(FS_REFLOWPAGE_HANDLE reflowpage_handle, float offset_x, float offset_y,int width, int height, FSRotation rotate, FSMatrix* return_value);
FSErrorCode FSDK_ReflowPage_GetFocusData(FS_REFLOWPAGE_HANDLE reflowpage_handle, const FSMatrix matrix, const FSPointF point, FS_BSTR* return_value);
FSErrorCode FSDK_ReflowPage_GetFocusPosition(FS_REFLOWPAGE_HANDLE reflowpage_handle, const FSMatrix matrix, const char* focus_data, FSPointF* return_value);
FSErrorCode FSDK_ReflowPage_IsParsed(FS_REFLOWPAGE_HANDLE reflowpage_handle, FS_BOOL* return_value);
#ifdef __cplusplus
}
#endif
#endif
