1 /********************************************************************************
2 *                                                                               *
3 *                     R o o t   W i n d o w   W i d g e t                       *
4 *                                                                               *
5 *********************************************************************************
6 * Copyright (C) 1997,2006 by Jeroen van der Zijp.   All Rights Reserved.        *
7 *********************************************************************************
8 * This library is free software; you can redistribute it and/or                 *
9 * modify it under the terms of the GNU Lesser General Public                    *
10 * License as published by the Free Software Foundation; either                  *
11 * version 2.1 of the License, or (at your option) any later version.            *
12 *                                                                               *
13 * This library is distributed in the hope that it will be useful,               *
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of                *
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU             *
16 * Lesser General Public License for more details.                               *
17 *                                                                               *
18 * You should have received a copy of the GNU Lesser General Public              *
19 * License along with this library; if not, write to the Free Software           *
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA.    *
21 *********************************************************************************
22 * $Id: FXRootWindow.h 3297 2015-12-14 20:30:04Z arthurcnorman $                      *
23 ********************************************************************************/
24 #ifndef FXROOTWINDOW_H
25 #define FXROOTWINDOW_H
26 
27 #ifndef FXCOMPOSITE_H
28 #include "FXComposite.h"
29 #endif
30 
31 namespace FX {
32 
33 
34 /// Root window
35 class FXAPI FXRootWindow : public FXComposite {
FXDECLARE(FXRootWindow)36   FXDECLARE(FXRootWindow)
37 protected:
38   FXRootWindow(){}
39 #ifdef WIN32
40   virtual FXID GetDC() const;
41   virtual int ReleaseDC(FXID) const;
42 #endif
43 private:
44   FXRootWindow(const FXRootWindow&);
45   FXRootWindow &operator=(const FXRootWindow&);
46 public:
47 
48   /// Construct root window
49   FXRootWindow(FXApp* a,FXVisual *vis);
50 
51   /// Root window need not be created
52   virtual void create();
53 
54   /// Root window may not be detached
55   virtual void detach();
56 
57   /// Root window can not be destroyed
58   virtual void destroy();
59 
60   /// Perform layout
61   virtual void layout();
62 
63   /// Return width of the root window
64   virtual FXint getDefaultWidth();
65 
66   /// Return height of the root window
67   virtual FXint getDefaultHeight();
68 
69   /// No op
70   virtual void recalc();
71 
72   /// Root window can not be moved
73   virtual void move(FXint x,FXint y);
74 
75   /// Root window can not be resized
76   virtual void resize(FXint w,FXint h);
77 
78   /// Root window can not be positioned
79   virtual void position(FXint x,FXint y,FXint w,FXint h);
80 
81   /// Root window can not get focus
82   virtual void setFocus();
83 
84   /// Root window can not loose
85   virtual void killFocus();
86 
87   /// Destructor
88   virtual ~FXRootWindow();
89   };
90 
91 }
92 
93 #endif
94