5 #ifndef PDFTRON_H_CPPPDFCallback
6 #define PDFTRON_H_CPPPDFCallback
10 #include <C/Common/TRN_Types.h>
33 virtual void RenderBeginEventProc(){}
35 static void StaticRenderBeginEventProc(
void* data)
37 Callback* cb = (Callback*) data;
38 cb->RenderBeginEventProc();
41 virtual void RenderFinishEventProc(
bool cancelled){}
43 static void StaticRenderFinishEventProc(
void* data,
bool cancelled)
45 Callback* cb = (Callback*) data;
46 cb->RenderFinishEventProc(cancelled);
49 virtual void ErrorReportProc (
const char* message) {}
51 static void StaticErrorReportProc (
const char* message,
void* data)
53 Callback* cb = (Callback*) data;
54 cb->ErrorReportProc(message);
57 virtual void CurrentPageProc(
int current_page,
int num_pages) {}
59 static void StaticCurrentPageProc(
int current_page,
int num_pages,
void* data)
61 Callback* cb = (Callback*) data;
62 cb->CurrentPageProc(current_page, num_pages);
65 virtual void JavaScriptEventProc(
const char* event_type,
const char* json) {}
67 static void StaticJavaScriptEventProc(
const char* event_type,
const char* json,
void* data)
69 Callback* cb= (Callback*) data;
70 cb->JavaScriptEventProc(event_type,json);
73 virtual void CurrentZoomProc(
double curr_zoom_proc) {}
75 static void StaticCurrentZoomProc(
double curr_zoom_proc,
void* data)
77 Callback* cb = (Callback*) data;
78 cb->CurrentZoomProc(curr_zoom_proc);
81 virtual void ConnectionErrorProc(
const char* message,
const int error_code,
UChar switch_to_demo) {}
83 static void StaticConnectionErrorProc(
const char* message,
const int error_code,
UChar switch_to_demo,
void* data)
85 Callback* cb = (Callback*)data;
86 cb->ConnectionErrorProc(message, error_code, switch_to_demo);
89 virtual void APIDataOfflineProc(
const char* api_data_json) {}
91 static void StaticAPIDataOfflineProc(
const char* api_data_json,
void* user_data)
93 Callback* cb = (Callback*)user_data;
94 cb->APIDataOfflineProc(api_data_json);
97 virtual void ThumbAsyncHandler(
int page_num,
bool was_thumb_found,
const char* thumb_buf,
int thumb_width,
int thumb_height) {}
99 static void StaticThumbAsyncHandler(
int page_num,
bool was_thumb_found,
const char* thumb_buf,
int thumb_width,
int thumb_height,
void* custom_data)
101 Callback* cb = (Callback*) custom_data;
102 cb->ThumbAsyncHandler(page_num, was_thumb_found, thumb_buf, thumb_width, thumb_height);
105 virtual void RequestRenderInWorkerThread() {}
107 static void StaticRequestRenderInWorkerThread(
void* custom_data)
109 Callback* cb = (Callback*) custom_data;
110 cb->RequestRenderInWorkerThread();
113 virtual void FindTextHandler(
bool success, PDF::Selection selection) {}
115 static void StaticFindTextHandler(
bool success, PDF::Selection selection,
void* custom_data)
117 Callback* cb = (Callback*) custom_data;
118 cb->FindTextHandler(success, selection);
121 virtual void CreateTileProc(
122 char* buffer,
int originX,
int originY,
int width,
int height,
123 int pagNum,
long long cellNumber,
124 bool finalRender,
bool predictionRender,
125 int tilesRemaining,
bool firstTile,
126 int canvasWidth,
int canvasHeight,
int cellSideLength,
int cellPerRow,
int cellPerCol,
130 static void StaticCreateTileProc(
132 char* buffer,
int originX,
int originY,
int width,
int height,
133 int pageNum,
long long cellNumber,
134 bool finalRender,
bool predictionRender,
135 int tilesRemaining,
bool firstTile,
136 int canvasWidth,
int canvasHeight,
int cellSideLength,
int cellPerRow,
int cellPerCol,
140 Callback* cb = (Callback*) customData;
142 buffer, originX, originY, width, height,
144 finalRender, predictionRender,
145 tilesRemaining, firstTile,
146 canvasWidth, canvasHeight, cellSideLength, cellPerRow, cellPerCol,
151 virtual void AnnotBitmapProc(
int operation_type,
153 UInt32 page_num,
UInt32 annot_index,
const void* annot_key,
154 Int64 x_in_page,
Int64 y_in_page,
int x_offset,
int y_offset,
155 int remaining_tiles,
int sequence_number,
Int64 x_page_size,
Int64 y_page_size) {}
157 static void StaticAnnotBitmapProc(
void* me,
int operation_type,
159 UInt32 page_num,
UInt32 annot_index,
const void* annot_key,
160 Int64 x_in_page,
Int64 y_in_page,
int x_offset,
int y_offset,
161 int remaining_tiles,
int sequence_number,
Int64 x_page_size,
Int64 y_page_size)
163 Callback* cb = (Callback*) me;
164 cb->AnnotBitmapProc(operation_type, buffer,
165 width, height, stride,
166 page_num, annot_index, annot_key,
167 x_in_page, y_in_page, x_offset, y_offset,
168 remaining_tiles, sequence_number, x_page_size, y_page_size);
174 virtual void DeluxeCreateTileProc(
175 char* buffer,
unsigned int width,
unsigned int height,
unsigned int stride,
176 unsigned int page_num,
UInt64 x_page_loc,
UInt64 y_page_loc,
177 unsigned int zoomed_page_width,
unsigned int zoomed_page_height,
178 unsigned int tile_id,
unsigned int x_in_page,
unsigned int y_in_page,
179 int canvas_id,
int remaining_tiles,
int tile_type,
183 static void StaticDeluxeCreateTileProc(
185 char* buffer,
unsigned int width,
unsigned int height,
unsigned int stride,
186 unsigned int page_num,
UInt64 x_page_loc,
UInt64 y_page_loc,
187 unsigned int zoomed_page_width,
unsigned int zoomed_page_height,
188 unsigned int tile_id,
unsigned int x_in_page,
unsigned int y_in_page,
189 int canvas_id,
int remaining_tiles,
int tile_type,
193 Callback* cb = (Callback*) me;
194 cb->DeluxeCreateTileProc(
195 buffer, width, height, stride,
196 page_num, x_page_loc, y_page_loc,
197 zoomed_page_width, zoomed_page_height,
198 tile_id, x_in_page, y_in_page,
199 canvas_id, remaining_tiles, tile_type,
206 virtual void RemoveTileProc(
int canvasNumber,
Int64 cellNumber,
int thumbnailId,
int sequenceNumber) { }
208 static void StaticRemoveTileProc(
void* customData,
int canvasNumber,
Int64 cellNumber,
int thumbnailId,
int sequenceNumber)
210 Callback* cb = (Callback*) customData;
211 cb->RemoveTileProc(canvasNumber, cellNumber, thumbnailId, sequenceNumber);
214 virtual void PartDownloadedProc(
int dlType, TRN_PDFDoc doc,
unsigned int pageNum,
unsigned int objNum,
const char* message) { }
216 static void StaticPartDownloadedProc(
int dlType, TRN_PDFDoc doc,
unsigned int pageNum,
unsigned int objNum,
const char* message,
void* customData)
218 Callback* cb = (Callback*) customData;
219 cb->PartDownloadedProc(dlType, doc, pageNum, objNum, message);
228 #endif // PDFTRON_H_CPPPDFCallback