Foxit PDF SDK
fs_pdf3d.h
1 #if (defined(_WIN32) || defined(_WIN64))
2 
16 #ifndef FS_3DPDF_H_
17 #define FS_3DPDF_H_
18 #include "common/fs_common.h"
19 #include "pdf/fs_pdfdoc.h"
20 #include "pdf/annots/fs_annot.h"
21 
27 namespace foxit {
29 namespace addon {
31 namespace pdf3d {
37 class PDF3DAnnotInstance FS_FINAL : public Base{
38  public:
44  typedef enum _PDF3DController {
46  e_ControllerRotate = 0,
48  e_ControllerSpin = 1,
50  e_ControllerPan = 2,
52  e_ControllerZoom = 3,
54  e_ControllerWalk = 4,
56  e_ControllerFly = 5
57  } PDF3DController;
58 
64  typedef enum _PDF3DRenderMode {
66  e_RenderModeSolid = 1,
68  e_RenderModeSolidWireframe = 2,
70  e_RenderModeSolidOutline = 3,
72  e_RenderModeTransparent = 4,
74  e_RenderModeTransparentWireframe = 5,
76  e_RenderModeBoundingBox = 6,
78  e_RenderModeTransparentBoundingBox = 7,
80  e_RenderModeTransparentBoundingBoxOutline = 8,
82  e_RenderModeWireframe = 9,
84  e_RenderModeShadedWireframe = 10,
86  e_RenderModeHiddenWireframe = 11,
88  e_RenderModeIllustration = 12,
90  e_RenderModeShadedIllustration = 13,
92  e_RenderModeVertices = 14,
94  e_RenderModeShadedVertices = 15
95  } PDF3DRenderMode;
96 
97 
99  PDF3DAnnotInstance(){}
100 
106  PDF3DAnnotInstance(const PDF3DAnnotInstance& other);
107 
109  ~PDF3DAnnotInstance();
110 
118  PDF3DAnnotInstance& operator=(const PDF3DAnnotInstance& other);
119 
127  bool operator==(const PDF3DAnnotInstance& other) const;
128 
136  bool operator!=(const PDF3DAnnotInstance& other) const;
137 
145  bool IsEmpty() const;
146 
152  pdf::annots::Annot GetAnnot();
153 
165  void SetController(PDF3DController tool_tag);
166 
178  void SetRenderMode(PDF3DRenderMode render_mode);
179 
187  FX_HWND ActivateCanvas(FX_HWND screen_canvas_parent);
188 
199  void UpdateCanvas(RectI rect);
200 
211  void OnLButtonDown(int flag, PointF point);
212 
223  void OnLButtonUp(int flag, PointF point);
224 
235  void OnMouseMove(int flag, PointF point);
236 
248  void OnMouseWheel(int flag, int delta, PointF point);
249 
260  void OnRButtonDown(int flag, PointF point);
261 
272  void OnRButtonUp(int flag, PointF point);
273 
274  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
275  explicit PDF3DAnnotInstance(FS_HANDLE handle);
276 };
278 FSDK_DEFINE_ARRAY(PDF3DAnnotInstanceArray, PDF3DAnnotInstance)
279 
280 
288 class PDF3DContext FS_FINAL : public Base{
289  public:
291  explicit PDF3DContext(const pdf::PDFDoc& doc);
292 
298  PDF3DContext(const PDF3DContext& other);
299 
301  ~PDF3DContext();
302 
310  PDF3DContext& operator=(const PDF3DContext& other);
311 
319  bool operator==(const PDF3DContext& other) const;
320 
328  bool operator!=(const PDF3DContext& other) const;
329 
337  bool IsEmpty() const;
338 
347  PDF3DAnnotInstanceArray GetPage3DAnnotArray(int page_index);
348 
356  void Invalidate();
357 
358  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
359  explicit PDF3DContext(FS_HANDLE handle = NULL);
360 };
361 
362 } //pdf3d
363 } //addon
364 } //foxit
365 #endif //FS_3DPDF_H_
366 #endif //defined(_WIN32) || defined(_WIN64)
foxit::FS_HANDLE
void * FS_HANDLE
Handle type.
Definition: fs_basictypes.h:214
fs_common.h
Header file for common definitions and classes.
foxit::RectI
FX_RECT RectI
Rectangle, in integer.
Definition: fs_basictypes.h:453
operator==
bool operator==(const char *str1, const CFX_ByteString &str2)
Check if two byte strings are equal.
Definition: fs_basictypes.h:128
foxit
Foxit namespace.
Definition: fs_taggedpdf.h:27
operator!=
bool operator!=(const char *str1, const CFX_ByteString &str2)
Check if two byte strings are not equal.
Definition: fs_basictypes.h:140
fs_pdfdoc.h
Header file for PDF document related definitions and classes.
NULL
#define NULL
The null-pointer value.
Definition: fx_system.h:780
foxit::PointF
CFX_PointF PointF
Point information, in float.
Definition: fs_basictypes.h:447
fs_annot.h
Header file for annotation related definitions and classes.