diff --git a/dom/events/Event.cpp b/dom/events/Event.cpp index cc4b59d4c31..dd9581c6328 100644 --- a/dom/events/Event.cpp +++ b/dom/events/Event.cpp @@ -886,7 +886,8 @@ Event::GetScreenCoords(nsPresContext* aPresContext, LayoutDeviceIntPoint offset = aPoint + LayoutDeviceIntPoint::FromUntyped(guiEvent->widget->WidgetToScreenOffset()); - nscoord factor = aPresContext->DeviceContext()->UnscaledAppUnitsPerDevPixel(); + nscoord factor = + aPresContext->DeviceContext()->AppUnitsPerDevPixelAtUnitFullZoom(); return nsIntPoint(nsPresContext::AppUnitsToIntCSSPixels(offset.x * factor), nsPresContext::AppUnitsToIntCSSPixels(offset.y * factor)); } diff --git a/dom/events/UIEvent.h b/dom/events/UIEvent.h index 3a8e5ee4b63..ca3b3514450 100644 --- a/dom/events/UIEvent.h +++ b/dom/events/UIEvent.h @@ -60,7 +60,7 @@ public: LayoutDeviceIntPoint offset = aEvent->refPoint + LayoutDeviceIntPoint::FromUntyped(event->widget->WidgetToScreenOffset()); nscoord factor = - aPresContext->DeviceContext()->UnscaledAppUnitsPerDevPixel(); + aPresContext->DeviceContext()->AppUnitsPerDevPixelAtUnitFullZoom(); return nsIntPoint(nsPresContext::AppUnitsToIntCSSPixels(offset.x * factor), nsPresContext::AppUnitsToIntCSSPixels(offset.y * factor)); } diff --git a/gfx/src/nsDeviceContext.cpp b/gfx/src/nsDeviceContext.cpp index 1fd16943d25..05c829cbb14 100644 --- a/gfx/src/nsDeviceContext.cpp +++ b/gfx/src/nsDeviceContext.cpp @@ -244,7 +244,7 @@ nsFontCache::Flush() nsDeviceContext::nsDeviceContext() : mWidth(0), mHeight(0), mDepth(0), - mAppUnitsPerDevPixel(-1), mAppUnitsPerDevNotScaledPixel(-1), + mAppUnitsPerDevPixel(-1), mAppUnitsPerDevPixelAtUnitFullZoom(-1), mAppUnitsPerPhysicalInch(-1), mPixelScale(1.0f), mPrintingScale(1.0f), mFontCache(nullptr) @@ -333,7 +333,7 @@ nsDeviceContext::SetDPI() break; } - mAppUnitsPerDevNotScaledPixel = + mAppUnitsPerDevPixelAtUnitFullZoom = NS_lround((AppUnitsPerCSSPixel() * 96) / dpi); } else { // A value of -1 means use the maximum of 96 and the system DPI. @@ -358,13 +358,13 @@ nsDeviceContext::SetDPI() : CSSToLayoutDeviceScale(1.0); double devPixelsPerCSSPixel = scale.scale; - mAppUnitsPerDevNotScaledPixel = + mAppUnitsPerDevPixelAtUnitFullZoom = std::max(1, NS_lround(AppUnitsPerCSSPixel() / devPixelsPerCSSPixel)); } NS_ASSERTION(dpi != -1.0, "no dpi set"); - mAppUnitsPerPhysicalInch = NS_lround(dpi * mAppUnitsPerDevNotScaledPixel); + mAppUnitsPerPhysicalInch = NS_lround(dpi * mAppUnitsPerDevPixelAtUnitFullZoom); UpdateScaledAppUnits(); } @@ -722,12 +722,12 @@ nsDeviceContext::CalcPrintingSize() } bool nsDeviceContext::CheckDPIChange() { - int32_t oldDevPixels = mAppUnitsPerDevNotScaledPixel; + int32_t oldDevPixels = mAppUnitsPerDevPixelAtUnitFullZoom; int32_t oldInches = mAppUnitsPerPhysicalInch; SetDPI(); - return oldDevPixels != mAppUnitsPerDevNotScaledPixel || + return oldDevPixels != mAppUnitsPerDevPixelAtUnitFullZoom || oldInches != mAppUnitsPerPhysicalInch; } @@ -748,7 +748,7 @@ void nsDeviceContext::UpdateScaledAppUnits() { mAppUnitsPerDevPixel = - std::max(1, NSToIntRound(float(mAppUnitsPerDevNotScaledPixel) / mPixelScale)); + std::max(1, NSToIntRound(float(mAppUnitsPerDevPixelAtUnitFullZoom) / mPixelScale)); // adjust mPixelScale to reflect appunit rounding - mPixelScale = float(mAppUnitsPerDevNotScaledPixel) / mAppUnitsPerDevPixel; + mPixelScale = float(mAppUnitsPerDevPixelAtUnitFullZoom) / mAppUnitsPerDevPixel; } diff --git a/gfx/src/nsDeviceContext.h b/gfx/src/nsDeviceContext.h index 68f61a600e0..63aecf4d2a8 100644 --- a/gfx/src/nsDeviceContext.h +++ b/gfx/src/nsDeviceContext.h @@ -103,11 +103,11 @@ public: static int32_t AppUnitsPerCSSInch() { return mozilla::AppUnitsPerCSSInch(); } /** - * Get the unscaled ratio of app units to dev pixels; useful if something - * needs to be converted from to unscaled pixels + * Get the ratio of app units to dev pixels that would be used at unit + * (100%) full zoom. */ - int32_t UnscaledAppUnitsPerDevPixel() const - { return mAppUnitsPerDevNotScaledPixel; } + int32_t AppUnitsPerDevPixelAtUnitFullZoom() const + { return mAppUnitsPerDevPixelAtUnitFullZoom; } /** * Get the nsFontMetrics that describe the properties of @@ -265,7 +265,7 @@ private: nscoord mHeight; uint32_t mDepth; int32_t mAppUnitsPerDevPixel; - int32_t mAppUnitsPerDevNotScaledPixel; + int32_t mAppUnitsPerDevPixelAtUnitFullZoom; int32_t mAppUnitsPerPhysicalInch; float mPixelScale; float mPrintingScale; diff --git a/layout/base/nsDocumentViewer.cpp b/layout/base/nsDocumentViewer.cpp index df00c6a6805..460fcfd92ce 100644 --- a/layout/base/nsDocumentViewer.cpp +++ b/layout/base/nsDocumentViewer.cpp @@ -665,7 +665,8 @@ nsDocumentViewer::InitPresentationStuff(bool aDoInitialReflow) // Initialize our view manager int32_t p2a = mPresContext->AppUnitsPerDevPixel(); - MOZ_ASSERT(p2a == mPresContext->DeviceContext()->UnscaledAppUnitsPerDevPixel()); + MOZ_ASSERT(p2a == + mPresContext->DeviceContext()->AppUnitsPerDevPixelAtUnitFullZoom()); nscoord width = p2a * mBounds.width; nscoord height = p2a * mBounds.height; diff --git a/layout/style/nsRuleNode.cpp b/layout/style/nsRuleNode.cpp index ba8e39da469..48e10c5c71e 100644 --- a/layout/style/nsRuleNode.cpp +++ b/layout/style/nsRuleNode.cpp @@ -3387,7 +3387,7 @@ nsRuleNode::SetFont(nsPresContext* aPresContext, nsStyleContext* aContext, (LookAndFeel::FontID)systemFontValue->GetIntValue(); float devPerCSS = (float)nsPresContext::AppUnitsPerCSSPixel() / - aPresContext->DeviceContext()->UnscaledAppUnitsPerDevPixel(); + aPresContext->DeviceContext()->AppUnitsPerDevPixelAtUnitFullZoom(); nsAutoString systemFontName; if (LookAndFeel::GetFont(fontID, systemFontName, fontStyle, devPerCSS)) { systemFontName.Trim("\"'"); @@ -3398,9 +3398,10 @@ nsRuleNode::SetFont(nsPresContext* aPresContext, nsStyleContext* aContext, systemFont.weight = fontStyle.weight; systemFont.stretch = fontStyle.stretch; systemFont.decorations = NS_FONT_DECORATION_NONE; - systemFont.size = NSFloatPixelsToAppUnits(fontStyle.size, - aPresContext->DeviceContext()-> - UnscaledAppUnitsPerDevPixel()); + systemFont.size = + NSFloatPixelsToAppUnits(fontStyle.size, + aPresContext->DeviceContext()-> + AppUnitsPerDevPixelAtUnitFullZoom()); //systemFont.langGroup = fontStyle.langGroup; systemFont.sizeAdjust = fontStyle.sizeAdjust; diff --git a/layout/xul/nsMenuPopupFrame.cpp b/layout/xul/nsMenuPopupFrame.cpp index ef4d7a7c178..4f1434587b5 100644 --- a/layout/xul/nsMenuPopupFrame.cpp +++ b/layout/xul/nsMenuPopupFrame.cpp @@ -1300,9 +1300,9 @@ nsMenuPopupFrame::SetPopupPosition(nsIFrame* aAnchorFrame, bool aIsMove, bool aS else { // the popup is positioned at a screen coordinate. // first convert the screen position in mScreenXPos and mScreenYPos from - // CSS pixels into device pixels, ignoring any scaling as mScreenXPos and - // mScreenYPos are unscaled screen coordinates. - int32_t factor = devContext->UnscaledAppUnitsPerDevPixel(); + // CSS pixels into device pixels, ignoring any zoom as mScreenXPos and + // mScreenYPos are unzoomed screen coordinates. + int32_t factor = devContext->AppUnitsPerDevPixelAtUnitFullZoom(); // context menus should be offset by two pixels so that they don't appear // directly where the cursor is. Otherwise, it is too easy to have the @@ -1313,7 +1313,7 @@ nsMenuPopupFrame::SetPopupPosition(nsIFrame* aAnchorFrame, bool aIsMove, bool aS offsetForContextMenu = presContext->DevPixelsToAppUnits(offsetForContextMenuDev); } - // next, convert into app units accounting for the scaling + // next, convert into app units accounting for the zoom screenPoint.x = presContext->DevPixelsToAppUnits( nsPresContext::CSSPixelsToAppUnits(mScreenXPos) / factor); screenPoint.y = presContext->DevPixelsToAppUnits( diff --git a/view/nsView.cpp b/view/nsView.cpp index 1f6a745e045..7ca917cb8a6 100644 --- a/view/nsView.cpp +++ b/view/nsView.cpp @@ -337,14 +337,14 @@ void nsView::DoResetWidgetBounds(bool aMoveOnly, // only two scales are 1.0 or 2.0, and so the quantization doesn't actually // cause problems anyhow). // In the case of a mismatch, fall back to scaling based on the dev context's - // unscaledAppUnitsPerDevPixel value. On platforms where the device-pixel + // AppUnitsPerDevPixelAtUnitFullZoom value. On platforms where the device-pixel // scale is uniform across all displays (currently all except OS X), we'll // always use the precise value from mWindow->GetDefaultScale here. CSSToLayoutDeviceScale scale = widget->GetDefaultScale(); - if (NSToIntRound(60.0 / scale.scale) == dx->UnscaledAppUnitsPerDevPixel()) { + if (NSToIntRound(60.0 / scale.scale) == dx->AppUnitsPerDevPixelAtUnitFullZoom()) { invScale = 1.0 / scale.scale; } else { - invScale = dx->UnscaledAppUnitsPerDevPixel() / 60.0; + invScale = dx->AppUnitsPerDevPixelAtUnitFullZoom() / 60.0; } if (changedPos) { diff --git a/widget/nsBaseDragService.cpp b/widget/nsBaseDragService.cpp index 5b3d89938fa..4097f4944db 100644 --- a/widget/nsBaseDragService.cpp +++ b/widget/nsBaseDragService.cpp @@ -648,7 +648,7 @@ void nsBaseDragService::ConvertToUnscaledDevPixels(nsPresContext* aPresContext, int32_t* aScreenX, int32_t* aScreenY) { - int32_t adj = aPresContext->DeviceContext()->UnscaledAppUnitsPerDevPixel(); + int32_t adj = aPresContext->DeviceContext()->AppUnitsPerDevPixelAtUnitFullZoom(); *aScreenX = nsPresContext::CSSPixelsToAppUnits(*aScreenX) / adj; *aScreenY = nsPresContext::CSSPixelsToAppUnits(*aScreenY) / adj; }