Bumping manifests a=b2g-bump
[gecko.git] / widget / gtk / nsScreenGtk.h
blob4434b5fa8711ae69f9b8bfa31c73f090feae867d
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #ifndef nsScreenGtk_h___
7 #define nsScreenGtk_h___
9 #include "nsBaseScreen.h"
10 #include "nsRect.h"
11 #include "gdk/gdk.h"
12 #ifdef MOZ_X11
13 #include <X11/Xlib.h>
15 // from Xinerama.h
16 typedef struct {
17 int screen_number;
18 short x_org;
19 short y_org;
20 short width;
21 short height;
22 } XineramaScreenInfo;
23 #endif /* MOZ_X11 */
25 //------------------------------------------------------------------------
27 class nsScreenGtk : public nsBaseScreen
29 public:
30 nsScreenGtk();
31 ~nsScreenGtk();
33 NS_IMETHOD GetId(uint32_t* aId);
34 NS_IMETHOD GetRect(int32_t* aLeft, int32_t* aTop, int32_t* aWidth, int32_t* aHeight);
35 NS_IMETHOD GetAvailRect(int32_t* aLeft, int32_t* aTop, int32_t* aWidth, int32_t* aHeight);
36 NS_IMETHOD GetPixelDepth(int32_t* aPixelDepth);
37 NS_IMETHOD GetColorDepth(int32_t* aColorDepth);
39 void Init(GdkWindow *aRootWindow);
40 #ifdef MOZ_X11
41 void Init(XineramaScreenInfo *aScreenInfo);
42 #endif /* MOZ_X11 */
44 private:
45 uint32_t mScreenNum;
46 nsIntRect mRect;
47 nsIntRect mAvailRect;
48 uint32_t mId;
51 #endif // nsScreenGtk_h___