mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
6c61de1ac0
Backed out changeset f0311781c218 (bug 803299) Backed out changeset 946467115924 (bug 803299) Backed out changeset 59af481d8888 (bug 803299) Backed out changeset 99a03f7ca8a4 (bug 803299) Backed out changeset 44539f533a92 (bug 803299) Backed out changeset 3f3963a3ebf6 (bug 803299) Backed out changeset 5269f0483d1e (bug 803299) Backed out changeset a9485787fdb1 (bug 803299)
114 lines
2.6 KiB
C++
114 lines
2.6 KiB
C++
/* -*- Mode: C++; tab-width: 40; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/* 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/. */
|
|
|
|
#define MOZ_FATAL_ASSERTIONS_FOR_THREAD_SAFETY
|
|
|
|
#include "nsScreenManagerAndroid.h"
|
|
#include "nsWindow.h"
|
|
#include "AndroidBridge.h"
|
|
|
|
using namespace mozilla;
|
|
|
|
nsScreenAndroid::nsScreenAndroid(void *nativeScreen)
|
|
{
|
|
}
|
|
|
|
nsScreenAndroid::~nsScreenAndroid()
|
|
{
|
|
}
|
|
|
|
NS_IMETHODIMP
|
|
nsScreenAndroid::GetRect(int32_t *outLeft, int32_t *outTop, int32_t *outWidth, int32_t *outHeight)
|
|
{
|
|
gfxIntSize sz = nsWindow::GetAndroidScreenBounds();
|
|
|
|
*outLeft = 0;
|
|
*outTop = 0;
|
|
|
|
*outWidth = sz.width;
|
|
*outHeight = sz.height;
|
|
|
|
return NS_OK;
|
|
}
|
|
|
|
|
|
NS_IMETHODIMP
|
|
nsScreenAndroid::GetAvailRect(int32_t *outLeft, int32_t *outTop, int32_t *outWidth, int32_t *outHeight)
|
|
{
|
|
return GetRect(outLeft, outTop, outWidth, outHeight);
|
|
}
|
|
|
|
|
|
|
|
NS_IMETHODIMP
|
|
nsScreenAndroid::GetPixelDepth(int32_t *aPixelDepth)
|
|
{
|
|
// XXX do we need to lie here about 16bpp? Or
|
|
// should we actually check and return the right thing?
|
|
*aPixelDepth = 16;
|
|
return NS_OK;
|
|
}
|
|
|
|
|
|
NS_IMETHODIMP
|
|
nsScreenAndroid::GetColorDepth(int32_t *aColorDepth)
|
|
{
|
|
return GetPixelDepth(aColorDepth);
|
|
}
|
|
|
|
void
|
|
nsScreenAndroid::ApplyMinimumBrightness(uint32_t aBrightness)
|
|
{
|
|
AndroidBridge::Bridge()->SetKeepScreenOn(aBrightness == BRIGHTNESS_FULL);
|
|
}
|
|
|
|
NS_IMPL_ISUPPORTS1(nsScreenManagerAndroid, nsIScreenManager)
|
|
|
|
nsScreenManagerAndroid::nsScreenManagerAndroid()
|
|
{
|
|
mOneScreen = new nsScreenAndroid(nullptr);
|
|
}
|
|
|
|
nsScreenManagerAndroid::~nsScreenManagerAndroid()
|
|
{
|
|
}
|
|
|
|
NS_IMETHODIMP
|
|
nsScreenManagerAndroid::GetPrimaryScreen(nsIScreen **outScreen)
|
|
{
|
|
NS_IF_ADDREF(*outScreen = mOneScreen.get());
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHODIMP
|
|
nsScreenManagerAndroid::ScreenForRect(int32_t inLeft,
|
|
int32_t inTop,
|
|
int32_t inWidth,
|
|
int32_t inHeight,
|
|
nsIScreen **outScreen)
|
|
{
|
|
return GetPrimaryScreen(outScreen);
|
|
}
|
|
|
|
NS_IMETHODIMP
|
|
nsScreenManagerAndroid::ScreenForNativeWidget(void *aWidget, nsIScreen **outScreen)
|
|
{
|
|
return GetPrimaryScreen(outScreen);
|
|
}
|
|
|
|
NS_IMETHODIMP
|
|
nsScreenManagerAndroid::GetNumberOfScreens(uint32_t *aNumberOfScreens)
|
|
{
|
|
*aNumberOfScreens = 1;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHODIMP
|
|
nsScreenManagerAndroid::GetSystemDefaultScale(float *aDefaultScale)
|
|
{
|
|
*aDefaultScale = 1.0f;
|
|
return NS_OK;
|
|
}
|