Loading...
Searching...
No Matches
PDFViewCtrl.h
Go to the documentation of this file.
1//---------------------------------------------------------------------------------------
2// Copyright (c) 2001-2025 by Apryse Software Inc. All Rights Reserved.
3// Consult legal.txt regarding legal and license information.
4//---------------------------------------------------------------------------------------
5#ifndef PDFTRON_H_CPPPDFPDFViewCtrl
6#define PDFTRON_H_CPPPDFPDFViewCtrl
7
8#include <PDF/PDFDoc.h>
9#include <PDF/PDFRasterizer.h>
10#include <PDF/Highlights.h>
11#include <PDF/LinkInfo.h>
12#include <PDF/OCG/Context.h>
13#include <PDF/Selection.h>
14#include <SDF/ObjSet.h>
15#include <C/PDF/TRN_PDFViewCtrl.h>
16#include <vector>
17#include <PDF/ActionParameter.h>
18
19namespace pdftron {
20 namespace PDF {
21
66{
67public:
68
79 PDFViewCtrl(void* parent_hwnd, void* hinstance, bool compatibility = false);
81
90 bool SetDoc(PDFDoc& doc, const char* password = 0);
91
96 void CloseDoc();
97
102
107 void DocLock(bool cancel_threads);
108
112 void DocUnlock();
113
119 bool DocTryLock( int milliseconds = 0 );
120
133
138
144 bool DocTryLockRead( int milliseconds = 0 );
145
162
185
186
191 struct MouseEvent {
192 int m_x;
193 int m_y;
204
205 // identifies the type of event
207 // identifies which window emitted the event
209 // if TRUE, this event was emitted after PDFViewCtrl has processed it
211 };
212
217 struct KeyEvent {
218 int m_x;
219 int m_y;
220 long int m_keyCode;
226 // identifies the type of event
228 // this helps you identify which window emitted the event
230 // if TRUE, this event was emitted after PDFViewCtrl has processed it
232 };
233
238 struct PaintEvent {
239 // platform-dependent device context pointer
240 void* m_hdc;
241 enum TRN_PDFViewCtrlWindowID m_event_window;
243 };
244
245 struct SizeEvent {
250 // this helps you identify which window emitted the event
252 };
253
258 struct WindowEvent {
259 // identifies the type of event
261 // this helps you identify which window emitted the event
263 };
264
279
284 TRN_Annot m_annot;
285 // identifies the type of event
287 // this helps you identify which window emitted the event
289
291 : m_annot(annot),
292 m_event_type(tp),
294 {}
295 };
296
297 // handlers for generic event signals emitted by PDFViewCtrl;
298 // they return boolean, return value of true means no PDFViewCtrl processing should take place
299 typedef UInt8 (*MouseEventHandler) ( struct MouseEvent* evt, void* custom_data );
300 typedef UInt8 (*KeyEventHandler) ( struct KeyEvent* evt, void* custom_data );
301 typedef UInt8 (*PaintEventHandler) ( struct PaintEvent* evt, void* custom_data );
302 typedef UInt8 (*SizeEventHandler) ( struct SizeEvent* evt, void* custom_data );
303 typedef UInt8 (*WindowEventHandler)( struct WindowEvent* evt, void* custom_data);
304 typedef UInt8 (*TextFindDoneHandler)(struct TextFindDoneEvent* evt, void* custom_data);
305 typedef UInt8 (*AnnotationEditPermissionHandler)(struct AnnotationEditPermissionEvent* evt, void* custom_data);
306
340
346
354 typedef UInt8 (*ActionHandler) ( TRN_Action action, void* custom_data );
355
360 void SetActionHandler( ActionHandler action_callback, void* custom_data );
361
367 void ExecuteAction(ActionParameter action_param );
368
377 typedef void (*CurrentPageHandler) (int current_page, int num_pages, void* data);
378
387 void SetCurrentPageHandler(CurrentPageHandler curr_pagenum_proc, void* data);
388
396 typedef void (*CurrentZoomHandler) (double current_zoom, void* data);
397
406 void SetCurrentZoomHandler(CurrentZoomHandler curr_zoom_proc, void* data);
407
408 typedef void (*ErrorReportHandler) (const char* message, void* data);
409
417 void SetErrorReportHandler(ErrorReportHandler error_proc, void* data);
418
429 void OnSize(int x, int y, int width, int height);
430
435 void Find();
436
440 void Copy();
441
445 void SelectAll();
446
458 void SetProgressiveRendering(bool progressive=true);
459
464 void ShowNavPanel(bool show);
465
469 bool IsNavPanelVisible() const;
470
475 void EnableScrollbar( bool show );
476
481 void ShowToolbar( bool show);
482
487 void ShowStatusBar( bool show);
488
493 void ShowNavToolbar( bool show);
494
499 void ShowMenuBar( bool show );
500
506
512 void ShowDialogs(bool show);
513
514 static const UInt32 e_none=0x00;
515 static const UInt32 e_bookmarks=0x01;
516 static const UInt32 e_layers=0x02;
517 static const UInt32 e_thumbview=0x04;
518 static const UInt32 e_all=0x07;
520
526
533
539
545
550 void SetSplitPosition(int pos);
551
556 int GetSplitPosition() const ;
557
563 void Print();
564
576 void Print(int first_page, int last_page, Page::Rotate rotation,
577 int copies, const char* printer_name);
578
579
591 void Print(int first_page, int last_page, Page::Rotate rotation,
592 int copies, const UString& printer_name);
593
594
598 void Refresh();
599
600
613
614
619
624
628 bool HasCapture() const;
629
634 void EnableLinkActivation(bool enable);
635
641 void LoadCurrentConfiguration( const UString & path );
642
648 void SaveCurrentConfiguration( const UString & path, Common::ProgressMonitor* progress = 0 );
649
662 Annot GetDefaultAnnotation( const char* type );
663
667 void SetWindowBackgroundColor( WindowID winid, const ColorPt& color );
668#ifdef WIN32
669 void SetWindowCursor( PDFViewCtrl::WindowID winid, HCURSOR cursor );
670#endif
671
675 void SetFocus();
676
677 /* dialogs creation API */
678
684
690
695 void InsertPages(const UString& src_name);
696
702
708 void ReplacePages(const UString& src_name = UString());
709
715
720
726 void CropPages();
727
733
734 /* end of dialogs creation API */
735
739
755
763
768
773 {
774 e_single_page = 1, //<<< Display one page at a time.
775 e_single_continuous, //<<< Display the pages in one column.
776 e_facing, //<<< Display the pages two at a time, with odd-numbered pages on the left.
777 e_facing_continuous, //<<< Display the pages in two columns, with odd-numbered pages on the left.
778 e_facing_cover, //<<< Display the pages two at a time, with odd-numbered pages on the right.
779 e_facing_continuous_cover //<<< Display the pages in two columns, with odd-numbered pages on the right.
780 };
781
789
794
805
810
814 int GetCurrentPage() const ;
815
819 int GetPageCount() const ;
820
826 std::vector<int> GetVisiblePages() const ;
827
834
841
848
855
861 bool SetCurrentPage(int page_num);
862
870 bool ShowRect( int page_num, const Rect& rect );
871
877 double GetZoom() const ;
878
886 bool SetZoom(double zoom);
887
915 bool SetZoom(int x, int y, double zoom);
916
933 bool SmartZoom(int x, int y);
934
939
944
949
954 int GetPageNumberFromScreenPt(double x, double y) const ;
955
959 void ConvScreenPtToCanvasPt(double& x, double& y) const ;
960
964 void ConvCanvasPtToScreenPt(double& x, double& y) const;
965
973 void ConvCanvasPtToPagePt(double& x, double& y, int page_num = -1) const;
974
982 void ConvPagePtToCanvasPt(double& x, double& y, int page_num = -1) const;
983
991 void ConvScreenPtToPagePt(double& x, double& y, int page_num = -1) const;
992
1000 void ConvPagePtToScreenPt(double& x, double& y, int page_num = -1) const;
1001
1006 void SnapToNearestInDoc(double& screen_x, double& screen_y);
1007
1014 void SetSnappingMode(UInt32 mode_flags);
1015
1031 Common::Matrix2D GetDeviceTransform(int page_num = -1) const;
1032
1036 double GetCanvasWidth() const;
1037
1041 double GetCanvasHeight() const;
1042
1046 double GetHScrollPos() const;
1047
1051 double GetVScrollPos() const;
1052
1053
1060 void OnScroll(int pix_dx, int pix_dy);
1061
1068 void SetHScrollPos(double pos);
1069
1092 void SetVScrollPos(double pos);
1093
1105 bool IsFinishedRendering(bool visible_region_only) const;
1106
1112
1118 void Update(bool all = false);
1119
1124 void Update(const Rect& update);
1125
1131 void Update(const Annot& annot, int page_num);
1132
1137 void Update(const Field& field);
1138
1146
1151 void HideAnnotation(const Annot& annot);
1152
1157 void ShowAnnotation(const Annot& annot);
1158
1163 int GetViewWidth() const;
1164
1169 int GetViewHeight() const;
1170
1171
1178 void SetDrawAnnotations(bool render_annots);
1179
1192 void SetUrlExtraction(bool enabled);
1193
1206 LinkInfo GetLinkAt(int x, int y);
1207
1213 void SetHighlightFields(bool highlight_fields);
1214
1223 void SetRequiredFieldBorderColor(const ColorPt& new_border_color);
1224
1234 void SetAntiAliasing(bool enable_aa);
1235
1244 void SetPathHinting(bool enable_hinting);
1245
1256 void SetThinLineAdjustment(bool pixel_grid_fit, bool stroke_adjust);
1257
1271 void SetImageSmoothing(bool smoothing_enabled = true);
1272
1280 void SetCaching(bool enabled);
1281
1291
1304 void SetGamma(double exp);
1305
1316
1332 void SetOCGContext(const OCG::Context& ctx);
1333
1342
1348 {
1349 e_custom, // Custom tool
1350 e_pan, // Pan tool
1351 e_text_rect_select, // Rectangular text selection tool
1352 e_text_struct_select, // HTML Style text selection tool
1353 e_zoom_in, // Zoom in tool
1354 e_zoom_out, // Zoom out tool
1355 e_annot_edit, // Annotation editing tool
1356 e_line_create, // Line creation tool
1357 e_arrow_create, // Arrow creation tool
1358 e_rect_create, // Rectangle creation tool
1359 e_oval_create, // Oval/Ellipse creation tool
1360 e_ink_create, // Freehand drawing tool
1361 e_text_annot_create, // Text annotation creation tool
1362 e_stamp_create, // Stamp Annotation creation tool
1363 e_highlight_create, // highlight text tool
1364 e_underline_create, // underline text tool
1365 e_strikeout_create, // cross out text tool
1366 e_squiggly_create, // squiggly underline tool
1367 e_text_box_create, // free text creation tool
1368 e_calloutbox_create, // free text with a callout tool
1369 e_polygon_create, // polygon creation tool
1370 e_polyline_create, // polyline creation tool
1371 e_file_attachment, // file attachment creation
1372 e_sound_attachment, // sound annotation creation
1373 e_movie_attachment, // movie annotation creation
1374 e_caret_create, // caret placement tool
1375 e_redaction_create, // redaction placement tool
1376 e_text_field_create, // interactive text field creation
1377 e_check_box_create, // interactive check box creation tool
1378 e_radio_button_create, // interactive radio button tool
1379 e_list_box_create, // interactive list box creation tool
1380 e_combo_box_create, // interactive combo box creation tool
1381 e_button_create, // interactive button creation tool
1382 e_link_create, // create a link annotation
1384 };
1385
1391
1396
1409
1415
1421 void SetRightToLeftLanguage(bool flag);
1422
1429
1437 bool Select(double x1, double y1, double x2, double y2);
1438
1447 bool SelectWithSnapping(double x1, double y1, double x2, double y2, bool snap_to_start, bool snap_to_end);
1448
1456 bool SelectWithSmartSnapping(double x1, double y1, double x2, double y2);
1457
1465 bool Select(double x1, double y1, int page1, double x2, double y2, int page2);
1466
1475 bool SelectWithSnapping(double x1, double y1, int page1, double x2, double y2, int page2, bool snap_to_start, bool snap_to_end);
1476
1484 bool SelectWithSmartSnapping(double x1, double y1, int page1, double x2, double y2, int page2);
1485
1492 bool Select(const Highlights& highlights);
1493
1494
1501 bool Select(const Selection& select);
1502
1506 bool HasSelection() const;
1507
1512
1518 Selection GetSelection( int page = -1 ) const;
1519
1525
1531
1536 bool HasSelectionOnPage( int ipage ) const;
1537
1544 void PrepareWords(int page_num);
1545
1550 bool WereWordsPrepared(int page_num) const;
1551
1556 bool IsThereTextInRect(double x1, double y1, double x2, double y2) const;
1557
1568 void PrepareAnnotsForMouse(int page_num, double distance_threshold, double minimum_line_weight);
1569
1574 bool WereAnnotsForMousePrepared(int page_num) const;
1575
1581 Annot::Type GetAnnotTypeUnder(double x, double y);
1582
1587 void SetPageBorderVisibility(bool border_visible);
1588
1594 void SetPageTransparencyGrid(bool trans_grid_visible);
1595
1601
1607
1617 void SetHorizontalAlign(int align);
1618
1628 void SetVerticalAlign(int align);
1629
1643 void SetPageSpacing(int horiz_col_space, int vert_col_space, int horiz_pad, int vert_pad);
1644
1653 Rect GetScreenRectForAnnot(Annot annot, int page_num = -1);
1654
1663 Annot GetAnnotationAt(int x, int y);
1664
1672 void SetDownloadReportHandler(DownloadReportHandler download_proc, void* data);
1673
1693 void OpenURLAsync(const char* url, UString cache_pdf="", const char* password = 0, const class HTTPRequestOptions* options = 0);
1694
1700 void UpdateCustomHeaders(const class HTTPRequestOptions& options);
1701
1712 void SetupThumbnails(bool use_embedded, bool generate_at_runtime, bool use_disk_cache, int thumb_max_side_length, size_t max_abs_cache_size, double max_perc_cache_size);
1713
1718
1730 typedef void (*ThumbAsyncHandler) (int page_num, bool was_thumb_found, const char* thumb_buf, int thumb_width, int thumb_height, void* custom_data);
1731
1740 void GetThumbAsync(int page_num, ThumbAsyncHandler proc, void* custom_data);
1741
1742 /*
1743 * Cancel all pending GetThumbAsync requests. Your callback function will still be called
1744 * for each canceled request, but 'was_thumb_found' will be set to 'false'.
1745 */
1747
1753 typedef void (*RequestRenderInWorkerThreadProc) (void* custom_data);
1754
1763#ifdef SWIG
1764 void SetRequestRenderInWorkerThreadProc(Callback* instance);
1765#else
1767#endif
1768
1769#ifdef SWIG
1776 void SetFindTextHandler(Callback * instance);
1777#else
1783 typedef void (*FindTextAsyncHandler) (bool success, Selection& select, void * custom_data);
1784
1792 void SetFindTextHandler(FindTextAsyncHandler proc, void * custom_data);
1793#endif
1804 void FindTextAsync(const UString& search_str, bool match_case, bool match_whole_word,
1805 bool search_up, bool reg_exp);
1806
1807
1808// @cond PRIVATE_DOC
1809private:
1810 TRN_PDFViewCtrl mp_view;
1811 TRN_PDFDoc temp_doc;
1812
1813 // PDFViewCtrl should not be copied
1814 PDFViewCtrl(const PDFViewCtrl& other);
1815 PDFViewCtrl& operator= (const PDFViewCtrl&);
1816
1817 //For FindTextAsync callback landing pad
1818 FindTextAsyncHandler m_findtext_proc;
1819 void * m_findtext_data;
1820 static void NativeFindTextHandler(unsigned char success, TRN_PDFViewSelection select, void * custom_data);
1821 // @endcond
1822};
1823
1828{
1829public:
1839 void AddHeader(const UString& header, const UString& val);
1840protected:
1841 TRN_Obj m_obj;
1842 friend class PDF::PDFViewCtrl;
1844};
1845
1846#include <Impl/PDFViewCtrl.inl>
1847
1848 } // namespace PDF
1849} // namespace pdftron
1850
1851#endif // PDFTRON_H_CPPPDFPDFViewCtrl
void AddHeader(const UString &header, const UString &val)
void Update(const Annot &annot, int page_num)
void ConvCanvasPtToPagePt(double &x, double &y, int page_num=-1) const
void ConvScreenPtToCanvasPt(double &x, double &y) const
Page::Rotate GetRotation() const
void SetDownloadReportHandler(DownloadReportHandler download_proc, void *data)
void ShowDialogs(bool show)
void PrepareWords(int page_num)
void SetRequiredFieldBorderColor(const ColorPt &new_border_color)
void SetAntiAliasing(bool enable_aa)
void SetOCGContext(const OCG::Context &ctx)
Selection GetSelection(int page=-1) const
void ShowNavToolbar(bool show)
Rect GetScreenRectForAnnot(Annot annot, int page_num=-1)
PageViewMode GetPageViewMode() const
static const UInt32 e_layers
int GetSelectionBeginPage() const
void(* FindTextAsyncHandler)(bool success, Selection &select, void *custom_data)
static const UInt32 e_none
void SetPageTransparencyGrid(bool trans_grid_visible)
void InsertPages(const UString &src_name)
UInt8(* KeyEventHandler)(struct KeyEvent *evt, void *custom_data)
void SetHorizontalAlign(int align)
UInt8(* PaintEventHandler)(struct PaintEvent *evt, void *custom_data)
void ReplacePages(const UString &src_name=UString())
double GetHScrollPos() const
void SetToolMode(ToolMode mode)
bool GetRightToLeftLanguage() const
void ConvCanvasPtToScreenPt(double &x, double &y) const
void GetThumbAsync(int page_num, ThumbAsyncHandler proc, void *custom_data)
bool ShowRect(int page_num, const Rect &rect)
void SetHScrollPos(double pos)
bool Select(double x1, double y1, int page1, double x2, double y2, int page2)
UInt8(* MouseEventHandler)(struct MouseEvent *evt, void *custom_data)
void SetVerticalAlign(int align)
bool SetZoom(int x, int y, double zoom)
void SetProgressiveRendering(bool progressive=true)
void SetTextSelectionMode(TextSelectionMode tm)
void ShowStatusBar(bool show)
bool SetZoom(double zoom)
PanelType GetSelectedPanel() const
int GetPageNumberFromScreenPt(double x, double y) const
void SetImageSmoothing(bool smoothing_enabled=true)
void ShowToolbar(bool show)
bool WereWordsPrepared(int page_num) const
void OnSize(int x, int y, int width, int height)
void(* ThumbAsyncHandler)(int page_num, bool was_thumb_found, const char *thumb_buf, int thumb_width, int thumb_height, void *custom_data)
bool SetDoc(PDFDoc &doc, const char *password=0)
void EnableInteractiveForms(bool on)
void SetRasterizerType(PDFRasterizer::Type type)
double GetVScrollPos() const
void OnScroll(int pix_dx, int pix_dy)
void SetHighlightFields(bool highlight_fields)
void SetCurrentZoomHandler(CurrentZoomHandler curr_zoom_proc, void *data)
void SetActionHandler(ActionHandler action_callback, void *custom_data)
void PrepareAnnotsForMouse(int page_num, double distance_threshold, double minimum_line_weight)
UInt32 GetEnabledPanels() const
void(* RequestRenderInWorkerThreadProc)(void *custom_data)
double GetCanvasWidth() const
static const UInt32 e_thumbview
bool SelectWithSnapping(double x1, double y1, double x2, double y2, bool snap_to_start, bool snap_to_end)
ToolMode GetToolMode() const
void ExecuteAction(ActionParameter action_param)
PagePresentationMode GetPagePresentationMode() const
bool Select(const Highlights &highlights)
void(* ErrorReportHandler)(const char *message, void *data)
void ConvScreenPtToPagePt(double &x, double &y, int page_num=-1) const
bool SelectWithSmartSnapping(double x1, double y1, int page1, double x2, double y2, int page2)
void SaveCurrentConfiguration(const UString &path, Common::ProgressMonitor *progress=0)
void EnableLinkActivation(bool enable)
void SetFindTextHandler(FindTextAsyncHandler proc, void *custom_data)
Common::Matrix2D GetDeviceTransform(int page_num=-1) const
Annot::Type GetAnnotTypeUnder(double x, double y)
void ShowNavPanel(bool show)
void SetPagePresentationMode(PagePresentationMode mode)
void SetVScrollPos(double pos)
PDFViewCtrl(void *parent_hwnd, void *hinstance, bool compatibility=false)
void SetSelectedPanel(PanelType panel)
bool WereAnnotsForMousePrepared(int page_num) const
UInt8(* WindowEventHandler)(struct WindowEvent *evt, void *custom_data)
Annot GetDefaultAnnotation(const char *type)
OCG::Context GetOCGContext()
UInt8(* ActionHandler)(TRN_Action action, void *custom_data)
double GetCanvasHeight() const
UInt8(* TextFindDoneHandler)(struct TextFindDoneEvent *evt, void *custom_data)
void SetPathHinting(bool enable_hinting)
void FindTextAsync(const UString &search_str, bool match_case, bool match_whole_word, bool search_up, bool reg_exp)
bool Select(const Selection &select)
void SetGamma(double exp)
LinkInfo GetLinkAt(int x, int y)
bool SelectWithSnapping(double x1, double y1, int page1, double x2, double y2, int page2, bool snap_to_start, bool snap_to_end)
PDFRasterizer::ColorPostProcessMode GetColorPostProcessMode() const
void SetPageBorderVisibility(bool border_visible)
void Update(const Field &field)
void SetupThumbnails(bool use_embedded, bool generate_at_runtime, bool use_disk_cache, int thumb_max_side_length, size_t max_abs_cache_size, double max_perc_cache_size)
void LoadCurrentConfiguration(const UString &path)
void SetBackgroundColor(UInt8 r, UInt8 g, UInt8 b)
void OpenURLAsync(const char *url, UString cache_pdf="", const char *password=0, const class HTTPRequestOptions *options=0)
void SetErrorReportHandler(ErrorReportHandler error_proc, void *data)
void SetSnappingMode(UInt32 mode_flags)
static const UInt32 e_all
UInt8(* AnnotationEditPermissionHandler)(struct AnnotationEditPermissionEvent *evt, void *custom_data)
void SetThinLineAdjustment(bool pixel_grid_fit, bool stroke_adjust)
void SetDefaultPageColor(UInt8 r, UInt8 g, UInt8 b)
void SetWindowBackgroundColor(WindowID winid, const ColorPt &color)
void SetCurrentPageHandler(CurrentPageHandler curr_pagenum_proc, void *data)
void SetCaching(bool enabled)
void SetEnabledPanels(UInt32 panels)
void(* CurrentZoomHandler)(double current_zoom, void *data)
void HideAnnotation(const Annot &annot)
bool IsThereTextInRect(double x1, double y1, double x2, double y2) const
void ConvPagePtToCanvasPt(double &x, double &y, int page_num=-1) const
void SetPageSpacing(int horiz_col_space, int vert_col_space, int horiz_pad, int vert_pad)
bool DocTryLock(int milliseconds=0)
void(* CurrentPageHandler)(int current_page, int num_pages, void *data)
Annot GetAnnotationAt(int x, int y)
void Update(const Rect &update)
void ConvPagePtToScreenPt(double &x, double &y, int page_num=-1) const
void EnableScrollbar(bool show)
void SnapToNearestInDoc(double &screen_x, double &screen_y)
void SetColorPostProcessMode(PDFRasterizer::ColorPostProcessMode mode)
bool HasSelectionOnPage(int ipage) const
void ShowAnnotation(const Annot &annot)
void SetPageViewMode(PageViewMode mode)
void SetRequestRenderInWorkerThreadProc(RequestRenderInWorkerThreadProc proc, void *custom_data)
bool Select(double x1, double y1, double x2, double y2)
void SetCustomEventHandlers(EventHandlers *handlers)
bool DocTryLockRead(int milliseconds=0)
void UpdateCustomHeaders(const class HTTPRequestOptions &options)
static const UInt32 e_bookmarks
void Print(int first_page, int last_page, Page::Rotate rotation, int copies, const char *printer_name)
void SetOverprint(PDFRasterizer::OverprintPreviewMode op)
void Print(int first_page, int last_page, Page::Rotate rotation, int copies, const UString &printer_name)
void ShowMenuBar(bool show)
bool IsNavPanelVisible() const
void SetSplitPosition(int pos)
void SetDrawAnnotations(bool render_annots)
bool SetCurrentPage(int page_num)
void DocLock(bool cancel_threads)
void SetRightToLeftLanguage(bool flag)
int GetSelectionEndPage() const
std::vector< int > GetVisiblePages() const
bool SelectWithSmartSnapping(double x1, double y1, double x2, double y2)
bool SmartZoom(int x, int y)
UInt8(* SizeEventHandler)(struct SizeEvent *evt, void *custom_data)
bool IsFinishedRendering(bool visible_region_only) const
void SetUrlExtraction(bool enabled)
void Update(bool all=false)
void(* DownloadReportHandler)(DownloadedType type, PDFDoc *doc, int page_num, int obj_num, const char *message, void *data)
TRN_UInt32 UInt32
Definition BasicTypes.h:13
TRN_UInt8 UInt8
Definition BasicTypes.h:15
TRN_Unicode Unicode
Definition BasicTypes.h:22
AnnotationEditPermissionEvent(PDFViewCtrl::WindowID id, ControlEventType tp, TRN_Annot annot)
AnnotationEditPermissionHandler on_edit_annotation
enum ControlEventType m_event_type
enum TRN_PDFViewCtrlWindowID m_event_window
TextFindDoneEvent(PDFViewCtrl::WindowID id, ControlEventType tp, bool found)