File indexing completed on 2026-05-20 08:18:24
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef Xw_Window_HeaderFile
0017 #define Xw_Window_HeaderFile
0018
0019 #include <Aspect_Window.hxx>
0020
0021 #include <Aspect_VKey.hxx>
0022
0023 class Aspect_DisplayConnection;
0024 class Aspect_WindowInputListener;
0025
0026 typedef union _XEvent XEvent;
0027
0028
0029 class Xw_Window : public Aspect_Window
0030 {
0031 DEFINE_STANDARD_RTTIEXT(Xw_Window, Aspect_Window)
0032 public:
0033
0034 Standard_EXPORT static Aspect_VKey VirtualKeyFromNative(unsigned long theKey);
0035
0036 public:
0037
0038
0039 Standard_EXPORT Xw_Window(const Handle(Aspect_DisplayConnection)& theXDisplay,
0040 const Standard_CString theTitle,
0041 const Standard_Integer thePxLeft,
0042 const Standard_Integer thePxTop,
0043 const Standard_Integer thePxWidth,
0044 const Standard_Integer thePxHeight);
0045
0046
0047 Standard_EXPORT Xw_Window(const Handle(Aspect_DisplayConnection)& theXDisplay,
0048 const Aspect_Drawable theXWin,
0049 const Aspect_FBConfig theFBConfig = NULL);
0050
0051
0052 Standard_EXPORT ~Xw_Window();
0053
0054
0055 Standard_EXPORT virtual void Map() const Standard_OVERRIDE;
0056
0057
0058 Standard_EXPORT virtual void Unmap() const Standard_OVERRIDE;
0059
0060
0061 Standard_EXPORT virtual Aspect_TypeOfResize DoResize() Standard_OVERRIDE;
0062
0063
0064 virtual Standard_Boolean DoMapping() const Standard_OVERRIDE
0065 {
0066 return Standard_True;
0067 }
0068
0069
0070 Standard_EXPORT virtual Standard_Boolean IsMapped() const Standard_OVERRIDE;
0071
0072
0073 Standard_EXPORT virtual Standard_Real Ratio() const Standard_OVERRIDE;
0074
0075
0076 Standard_EXPORT virtual void Position(Standard_Integer& X1,
0077 Standard_Integer& Y1,
0078 Standard_Integer& X2,
0079 Standard_Integer& Y2) const Standard_OVERRIDE;
0080
0081
0082 Standard_EXPORT virtual void Size(Standard_Integer& theWidth,
0083 Standard_Integer& theHeight) const Standard_OVERRIDE;
0084
0085
0086 Aspect_Drawable XWindow() const { return myXWindow; }
0087
0088
0089 virtual Aspect_Drawable NativeHandle() const Standard_OVERRIDE { return myXWindow; }
0090
0091
0092 virtual Aspect_Drawable NativeParentHandle() const Standard_OVERRIDE { return 0; }
0093
0094
0095 virtual Aspect_FBConfig NativeFBConfig() const Standard_OVERRIDE { return myFBConfig; }
0096
0097
0098 Standard_EXPORT virtual void SetTitle(const TCollection_AsciiString& theTitle) Standard_OVERRIDE;
0099
0100
0101
0102
0103
0104
0105
0106 Standard_EXPORT virtual void InvalidateContent(const Handle(Aspect_DisplayConnection)& theDisp)
0107 Standard_OVERRIDE;
0108
0109
0110
0111
0112
0113 Standard_EXPORT virtual bool ProcessMessage(Aspect_WindowInputListener& theListener,
0114 XEvent& theMsg);
0115
0116 protected:
0117 Aspect_Drawable myXWindow;
0118 Aspect_FBConfig myFBConfig;
0119 Standard_Integer myXLeft;
0120 Standard_Integer myYTop;
0121 Standard_Integer myXRight;
0122 Standard_Integer myYBottom;
0123
0124 Standard_Boolean myIsOwnWin;
0125
0126 };
0127
0128 DEFINE_STANDARD_HANDLE(Xw_Window, Aspect_Window)
0129
0130 #endif