x11_window.hpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef X11_WINDOW_HPP
00026 #define X11_WINDOW_HPP
00027
00028 #include <X11/Xlib.h>
00029 #include <X11/Xatom.h>
00030
00031 #include "../src/generic_window.hpp"
00032 #include "../src/os_window.hpp"
00033
00034 class X11Display;
00035 class X11DragDrop;
00036
00037
00038
00039 class X11Window: public OSWindow
00040 {
00041 public:
00042 X11Window( intf_thread_t *pIntf, GenericWindow &rWindow,
00043 X11Display &rDisplay, bool dragDrop, bool playOnDrop,
00044 X11Window *pParentWindow, GenericWindow::WindowType_t );
00045
00046 virtual ~X11Window();
00047
00048
00049 virtual void show() const;
00050
00051
00052 virtual void hide() const;
00053
00054
00055 virtual void moveResize( int left, int top,
00056 int width, int height ) const;
00057
00058
00059 virtual void raise() const;
00060
00061
00062 virtual void setOpacity( uint8_t value ) const;
00063
00064
00065 virtual void toggleOnTop( bool onTop ) const;
00066
00067
00068 Window getDrawable() const { return m_wnd; }
00069
00070
00071 void* getOSHandle() const { return (void*) m_wnd; }
00072
00073
00074 void* getParentOSHandle() const { return (void*) m_wnd_parent; }
00075
00076
00077 void reparent( void* OSHandle, int x, int y, int w, int h );
00078
00079 void setFullscreen() const;
00080
00081 private:
00082
00083 X11Display &m_rDisplay;
00084
00085 Window m_wnd;
00086
00087 Window m_wnd_parent;
00088
00089 X11Window *m_pParent;
00090
00091 bool m_dragDrop;
00092
00093 X11DragDrop *m_pDropTarget;
00094
00095 GenericWindow::WindowType_t m_type;
00096 };
00097
00098
00099 #endif