0029393: Samples - AndroidQt sample build fail
[occt.git] / samples / qt / AndroidQt / AndroidQt_Window.h
1 // Copyright (c) 2014 OPEN CASCADE SAS
2 //
3 // This file is part of Open CASCADE Technology software library.
4 //
5 // This library is free software; you can redistribute it and/or modify it under
6 // the terms of the GNU Lesser General Public License version 2.1 as published
7 // by the Free Software Foundation, with special exception defined in the file
8 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
9 // distribution for complete text of the license and disclaimer of any warranty.
10 //
11 // Alternatively, this file may be used under the terms of Open CASCADE
12 // commercial license or contractual agreement.
13
14 #ifndef ANDROIDQT_WINDOW_H
15 #define ANDROIDQT_WINDOW_H
16
17 #include <Aspect_Window.hxx>
18
19 //! This class defines dummy window.
20 //! The main functionality is viewport dimensions.
21 class AndroidQt_Window : public Aspect_Window
22 {
23   DEFINE_STANDARD_RTTIEXT(AndroidQt_Window, Aspect_Window)
24 public:
25
26   //! Creates a wrapper over existing Window handle
27   AndroidQt_Window(const int theWidth,   const int theHeight,
28                    const int theX1 = -1, const int theX2 = -1,
29                    const int theY1 = -1, const int theY2 = -1);
30
31   //! Returns native Window handle
32   virtual Aspect_Drawable NativeHandle() const { return 0; }
33
34   //! Returns parent of native Window handle.
35   virtual Aspect_Drawable NativeParentHandle() const { return 0; }
36
37   //! Returns native Window FB config (GLXFBConfig on Xlib)
38   virtual Aspect_FBConfig NativeFBConfig() const { return 0; }
39
40   //! Opens the window <me>
41   virtual void Map() const {}
42
43   //! Closes the window <me>
44   virtual void Unmap() const {}
45
46   //! Applies the resizing to the window <me>
47   virtual Aspect_TypeOfResize DoResize() const { return Aspect_TOR_UNKNOWN; }
48
49   //! Apply the mapping change to the window <me>
50   virtual Standard_Boolean DoMapping() const { return Standard_True; }
51
52   //! Returns True if the window <me> is opened
53   virtual Standard_Boolean IsMapped() const { return Standard_True; }
54
55   //! Returns The Window RATIO equal to the physical WIDTH/HEIGHT dimensions
56   virtual Standard_Real Ratio() const { return 1.0; }
57
58   //! Returns The Window POSITION in PIXEL
59   virtual void Position (Standard_Integer& theX1,
60                          Standard_Integer& theY1,
61                          Standard_Integer& theX2,
62                          Standard_Integer& theY2) const;
63
64   //! Set The Window POSITION in PIXEL
65   virtual void SetPosition (const Standard_Integer theX1,
66                             const Standard_Integer theY1,
67                             const Standard_Integer theX2,
68                             const Standard_Integer theY2);
69
70   //! Returns The Window SIZE in PIXEL
71   virtual void Size (Standard_Integer& theWidth,
72                      Standard_Integer& theHeight) const;
73
74   //! Set The Window SIZE in PIXEL
75   virtual void SetSize (const Standard_Integer theWidth,
76                         const Standard_Integer theHeight);
77
78 private:
79
80   int myWidth;
81   int myHeight;
82
83   int myX1;
84   int myX2;
85   int myY1;
86   int myY2;
87
88 };
89
90 #endif // ANDROIDQT_WINDOW_H