Bumping manifests a=b2g-bump
[gecko.git] / dom / ipc / PScreenManager.ipdl
blob9b639fa7c76f970c42ad430f21ae1dc863a76556
1 /* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */
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 include protocol PBrowser;
7 include protocol PContent;
9 using struct nsIntRect from "nsRect.h";
11 namespace mozilla {
12 namespace dom {
14 struct ScreenDetails {
15   uint32_t id;
16   nsIntRect rect;
17   nsIntRect rectDisplayPix;
18   nsIntRect availRect;
19   nsIntRect availRectDisplayPix;
20   int32_t pixelDepth;
21   int32_t colorDepth;
22   double contentsScaleFactor;
25 rpc protocol PScreenManager
27   manager PContent;
29 parent:
30     rpc Refresh()
31       returns (uint32_t numberOfScreens,
32                float systemDefaultScale,
33                bool success);
35     rpc ScreenRefresh(uint32_t aId)
36       returns (ScreenDetails screen,
37                bool success);
39     rpc GetPrimaryScreen()
40       returns (ScreenDetails screen,
41                bool success);
43     rpc ScreenForRect(int32_t aLeft,
44                        int32_t aTop,
45                        int32_t aWidth,
46                        int32_t aHeight)
47       returns (ScreenDetails screen,
48                bool success);
50     rpc ScreenForBrowser(PBrowser aBrowser)
51       returns (ScreenDetails screen,
52                bool success);
54 child:
55     __delete__();
58 } // namespace dom
59 } // namespace mozilla