summaryrefslogtreecommitdiffstats
path: root/gfx/src
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/src')
-rw-r--r--gfx/src/nsDeviceContext.cpp10
-rw-r--r--gfx/src/nsDeviceContext.h5
2 files changed, 15 insertions, 0 deletions
diff --git a/gfx/src/nsDeviceContext.cpp b/gfx/src/nsDeviceContext.cpp
index 28b2c34652..2bb53010a8 100644
--- a/gfx/src/nsDeviceContext.cpp
+++ b/gfx/src/nsDeviceContext.cpp
@@ -208,6 +208,16 @@ uint16_t nsDeviceContext::GetScreenOrientationAngle() {
return screen->GetOrientationAngle();
}
+bool nsDeviceContext::GetScreenIsHDR() {
+ RefPtr<widget::Screen> screen = FindScreen();
+ if (!screen) {
+ auto& screenManager = ScreenManager::GetSingleton();
+ screen = screenManager.GetPrimaryScreen();
+ MOZ_ASSERT(screen);
+ }
+ return screen->GetIsHDR();
+}
+
nsresult nsDeviceContext::GetDeviceSurfaceDimensions(nscoord& aWidth,
nscoord& aHeight) {
if (IsPrinterContext()) {
diff --git a/gfx/src/nsDeviceContext.h b/gfx/src/nsDeviceContext.h
index 5238c1f71d..7bf7a6aee2 100644
--- a/gfx/src/nsDeviceContext.h
+++ b/gfx/src/nsDeviceContext.h
@@ -150,6 +150,11 @@ class nsDeviceContext final {
uint16_t GetScreenOrientationAngle();
/**
+ * Get the status of HDR support of the associated screen.
+ */
+ bool GetScreenIsHDR();
+
+ /**
* Get the size of the displayable area of the output device
* in app units.
* @param aWidth out parameter for width