mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-08 02:14:43 +00:00
Bug 1074743 - Forward display pixel values to screen proxies r=jimm
This commit is contained in:
parent
150af47d07
commit
e8f9cda5d0
@ -14,7 +14,9 @@ namespace dom {
|
||||
struct ScreenDetails {
|
||||
uint32_t id;
|
||||
nsIntRect rect;
|
||||
nsIntRect rectDisplayPix;
|
||||
nsIntRect availRect;
|
||||
nsIntRect availRectDisplayPix;
|
||||
int32_t pixelDepth;
|
||||
int32_t colorDepth;
|
||||
double contentsScaleFactor;
|
||||
|
@ -161,12 +161,26 @@ ScreenManagerParent::ExtractScreenDetails(nsIScreen* aScreen, ScreenDetails &aDe
|
||||
NS_ENSURE_SUCCESS(rv, false);
|
||||
aDetails.rect() = rect;
|
||||
|
||||
nsIntRect rectDisplayPix;
|
||||
rv = aScreen->GetRectDisplayPix(&rectDisplayPix.x, &rectDisplayPix.y,
|
||||
&rectDisplayPix.width, &rectDisplayPix.height);
|
||||
NS_ENSURE_SUCCESS(rv, false);
|
||||
aDetails.rectDisplayPix() = rectDisplayPix;
|
||||
|
||||
nsIntRect availRect;
|
||||
rv = aScreen->GetAvailRect(&availRect.x, &availRect.y, &availRect.width,
|
||||
&availRect.height);
|
||||
NS_ENSURE_SUCCESS(rv, false);
|
||||
aDetails.availRect() = availRect;
|
||||
|
||||
nsIntRect availRectDisplayPix;
|
||||
rv = aScreen->GetAvailRectDisplayPix(&availRectDisplayPix.x,
|
||||
&availRectDisplayPix.y,
|
||||
&availRectDisplayPix.width,
|
||||
&availRectDisplayPix.height);
|
||||
NS_ENSURE_SUCCESS(rv, false);
|
||||
aDetails.availRectDisplayPix() = availRectDisplayPix;
|
||||
|
||||
int32_t pixelDepth = 0;
|
||||
rv = aScreen->GetPixelDepth(&pixelDepth);
|
||||
NS_ENSURE_SUCCESS(rv, false);
|
||||
|
@ -50,6 +50,23 @@ ScreenProxy::GetRect(int32_t *outLeft,
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
ScreenProxy::GetRectDisplayPix(int32_t *outLeft,
|
||||
int32_t *outTop,
|
||||
int32_t *outWidth,
|
||||
int32_t *outHeight)
|
||||
{
|
||||
if (!EnsureCacheIsValid()) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
*outLeft = mRectDisplayPix.x;
|
||||
*outTop = mRectDisplayPix.y;
|
||||
*outWidth = mRectDisplayPix.width;
|
||||
*outHeight = mRectDisplayPix.height;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
ScreenProxy::GetAvailRect(int32_t *outLeft,
|
||||
int32_t *outTop,
|
||||
@ -67,6 +84,23 @@ ScreenProxy::GetAvailRect(int32_t *outLeft,
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
ScreenProxy::GetAvailRectDisplayPix(int32_t *outLeft,
|
||||
int32_t *outTop,
|
||||
int32_t *outWidth,
|
||||
int32_t *outHeight)
|
||||
{
|
||||
if (!EnsureCacheIsValid()) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
*outLeft = mAvailRectDisplayPix.x;
|
||||
*outTop = mAvailRectDisplayPix.y;
|
||||
*outWidth = mAvailRectDisplayPix.width;
|
||||
*outHeight = mAvailRectDisplayPix.height;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
ScreenProxy::GetPixelDepth(int32_t *aPixelDepth)
|
||||
{
|
||||
@ -94,7 +128,9 @@ ScreenProxy::PopulateByDetails(ScreenDetails aDetails)
|
||||
{
|
||||
mId = aDetails.id();
|
||||
mRect = nsIntRect(aDetails.rect());
|
||||
mRectDisplayPix = nsIntRect(aDetails.rectDisplayPix());
|
||||
mAvailRect = nsIntRect(aDetails.availRect());
|
||||
mAvailRectDisplayPix = nsIntRect(aDetails.availRectDisplayPix());
|
||||
mPixelDepth = aDetails.pixelDepth();
|
||||
mColorDepth = aDetails.colorDepth();
|
||||
mContentsScaleFactor = aDetails.contentsScaleFactor();
|
||||
|
@ -29,10 +29,18 @@ public:
|
||||
int32_t* aTop,
|
||||
int32_t* aWidth,
|
||||
int32_t* aHeight) MOZ_OVERRIDE;
|
||||
NS_IMETHOD GetRectDisplayPix(int32_t* aLeft,
|
||||
int32_t* aTop,
|
||||
int32_t* aWidth,
|
||||
int32_t* aHeight) MOZ_OVERRIDE;
|
||||
NS_IMETHOD GetAvailRect(int32_t* aLeft,
|
||||
int32_t* aTop,
|
||||
int32_t* aWidth,
|
||||
int32_t* aHeight) MOZ_OVERRIDE;
|
||||
NS_IMETHOD GetAvailRectDisplayPix(int32_t* aLeft,
|
||||
int32_t* aTop,
|
||||
int32_t* aWidth,
|
||||
int32_t* aHeight) MOZ_OVERRIDE;
|
||||
NS_IMETHOD GetPixelDepth(int32_t* aPixelDepth) MOZ_OVERRIDE;
|
||||
NS_IMETHOD GetColorDepth(int32_t* aColorDepth) MOZ_OVERRIDE;
|
||||
|
||||
@ -49,7 +57,9 @@ private:
|
||||
int32_t mPixelDepth;
|
||||
int32_t mColorDepth;
|
||||
nsIntRect mRect;
|
||||
nsIntRect mRectDisplayPix;
|
||||
nsIntRect mAvailRect;
|
||||
nsIntRect mAvailRectDisplayPix;
|
||||
bool mCacheValid;
|
||||
bool mCacheWillInvalidate;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user