/* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ include protocol PBrowser; include protocol PContent; using struct nsIntRect from "nsRect.h"; namespace mozilla { namespace dom { struct ScreenDetails { uint32_t id; nsIntRect rect; nsIntRect availRect; int32_t pixelDepth; int32_t colorDepth; double contentsScaleFactor; }; sync protocol PScreenManager { manager PContent; parent: sync Refresh() returns (uint32_t numberOfScreens, float systemDefaultScale, bool success); sync ScreenRefresh(uint32_t aId) returns (ScreenDetails screen, bool success); sync GetPrimaryScreen() returns (ScreenDetails screen, bool success); sync ScreenForRect(int32_t aLeft, int32_t aTop, int32_t aWidth, int32_t aHeight) returns (ScreenDetails screen, bool success); sync ScreenForBrowser(PBrowser aBrowser) returns (ScreenDetails screen, bool success); child: __delete__(); }; } // namespace dom } // namespace mozilla