0029589: Configuration - allow MFC samples to be built when OCCT is linked statically
[occt.git] / samples / mfc / standard / Common / OCC_2dDoc.h
1 // OCC_2dDoc.h: interface for the OCC_2dDoc class.
2 //
3 //////////////////////////////////////////////////////////////////////
4
5 #if !defined(AFX_OCC_2dDOC_H__2E048CC7_38F9_11D7_8611_0060B0EE281E__INCLUDED_)
6 #define AFX_OCC_2dDOC_H__2E048CC7_38F9_11D7_8611_0060B0EE281E__INCLUDED_
7
8 #if _MSC_VER > 1000
9 #pragma once
10 #endif // _MSC_VER > 1000
11
12 #include "OCC_BaseDoc.h"
13 #include "ResultDialog.h"
14 #include <WNT_Window.hxx>
15
16 // Mouse and clipboard event tracker for OCC_2dView
17 // NO 3D operation are supported (like rotation)
18 class Standard_EXPORT OCC_2dDoc : public OCC_BaseDoc
19 {
20   DECLARE_DYNCREATE(OCC_2dDoc)
21
22 public:
23
24   OCC_2dDoc();
25   ~OCC_2dDoc();
26
27 public: // New operations
28
29   void FitAll2DViews(Standard_Boolean theUpdateViewer = Standard_False);
30
31 public: // getters
32
33   Handle(V3d_Viewer) GetViewer2D () { return myViewer; };
34
35   Handle(AIS_InteractiveContext)& GetInteractiveContext() { return myAISContext; };
36
37 public: // Operations to override
38
39    // Mouse move event tracking for 2D view : no rotation is supported in 2D view.
40   virtual void MoveEvent(const Standard_Integer theMouseX,
41                          const Standard_Integer theMouseY,
42                          const Handle(V3d_View)& theView);
43
44   // Shift move event tracking for 2D view : no rotation is supported in 2D view.
45   virtual void ShiftMoveEvent(const Standard_Integer theMouseX,
46                               const Standard_Integer theMouseY,
47                               const Handle(V3d_View)& theViewView);
48 };
49
50 #endif // !defined(AFX_OCC_2dDOC_H__2E048CC7_38F9_11D7_8611_0060B0EE281E__INCLUDED_)