mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-28 20:55:39 +00:00
8ba424eabb
This is the most important part of the patch series. It removes the PScreenManager protocol and use ScreenManager directly in the content processes. Initial and subsequent updates are sent via PContent::RefreshScreens. struct ScreenDetails are kept to serialize Screen over IPC. nsIScreenManager::ScreenForNativeWidget is removed because nsIWidget::GetWidgetScreen can replace it. nsIScreen::GetId is removed because it's not useful for the more general Screen class. MozReview-Commit-ID: 5dJO3isgBuQ --HG-- extra : rebase_source : 06aa4e4fd56e2b2af1e7483aee7c0cc7f35bdb97
61 lines
2.2 KiB
Plaintext
61 lines
2.2 KiB
Plaintext
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
*
|
|
* 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 "nsISupports.idl"
|
|
|
|
%{C++
|
|
/**
|
|
* The display type of nsIScreen belongs to.
|
|
*/
|
|
enum class DisplayType: int32_t {
|
|
DISPLAY_PRIMARY, // primary screen
|
|
DISPLAY_EXTERNAL, // wired displays, such as HDMI, DisplayPort, etc.
|
|
DISPLAY_VIRTUAL // wireless displays, such as Chromecast, WiFi-Display, etc.
|
|
};
|
|
%}
|
|
|
|
[scriptable, uuid(826e80c8-d70f-42e2-8aa9-82c05f2a370a)]
|
|
interface nsIScreen : nsISupports
|
|
{
|
|
/**
|
|
* These report screen dimensions in (screen-specific) device pixels
|
|
*/
|
|
void GetRect(out long left, out long top, out long width, out long height);
|
|
void GetAvailRect(out long left, out long top, out long width, out long height);
|
|
|
|
/**
|
|
* And these report in desktop pixels
|
|
*/
|
|
void GetRectDisplayPix(out long left, out long top, out long width, out long height);
|
|
void GetAvailRectDisplayPix(out long left, out long top, out long width, out long height);
|
|
|
|
readonly attribute long pixelDepth;
|
|
readonly attribute long colorDepth;
|
|
|
|
/**
|
|
* The number of device pixels per desktop pixel for this screen (for
|
|
* hidpi configurations where there may be multiple device pixels per
|
|
* desktop px and/or per CSS px).
|
|
*
|
|
* This seems poorly named (something like devicePixelsPerDesktopPixel
|
|
* would be more accurate/explicit), but given that it is exposed to
|
|
* front-end code and may also be used by add-ons, it's probably not
|
|
* worth the disruption of changing it.
|
|
*
|
|
* Returns 1.0 if HiDPI mode is disabled or unsupported, or if the
|
|
* host OS uses device pixels as its desktop pixel units (as in Win8.1
|
|
* per-monitor dpi support).
|
|
*/
|
|
readonly attribute double contentsScaleFactor;
|
|
|
|
/**
|
|
* The default number of device pixels per unscaled CSS pixel for this
|
|
* screen. This is probably what contentsScaleFactor originally meant
|
|
* to be, prior to confusion between CSS pixels and desktop pixel units.
|
|
*/
|
|
readonly attribute double defaultCSSScaleFactor;
|
|
};
|