| Index: content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java
|
| diff --git a/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java b/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java
|
| deleted file mode 100644
|
| index 98961c01258195c2359396d16d96fe1ad3351009..0000000000000000000000000000000000000000
|
| --- a/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java
|
| +++ /dev/null
|
| @@ -1,336 +0,0 @@
|
| -// Copyright 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -package org.chromium.content.browser;
|
| -
|
| -/**
|
| - * Cached copy of all positions and scales (CSS-to-DIP-to-physical pixels)
|
| - * reported from the renderer.
|
| - * Provides wrappers and a utility class to help with coordinate transforms on the client side.
|
| - * Provides the internally-visible set of update methods (called from ContentViewCore).
|
| - *
|
| - * Unless stated otherwise, all coordinates are in CSS (document) coordinate space.
|
| - */
|
| -public class RenderCoordinates {
|
| - // Scroll offset from the native in CSS.
|
| - private float mScrollXCss;
|
| - private float mScrollYCss;
|
| -
|
| - // Content size from native in CSS.
|
| - private float mContentWidthCss;
|
| - private float mContentHeightCss;
|
| -
|
| - // Last-frame render-reported viewport size in CSS.
|
| - private float mLastFrameViewportWidthCss;
|
| - private float mLastFrameViewportHeightCss;
|
| -
|
| - // Cached page scale factor from native.
|
| - private float mPageScaleFactor = 1.0f;
|
| - private float mMinPageScaleFactor = 1.0f;
|
| - private float mMaxPageScaleFactor = 1.0f;
|
| -
|
| - // Cached device density.
|
| - private float mDeviceScaleFactor;
|
| -
|
| - private float mContentOffsetYPix;
|
| -
|
| - // Internally-visible set of update methods (used by ContentViewCore).
|
| - void reset() {
|
| - mScrollXCss = mScrollYCss = 0;
|
| - mPageScaleFactor = 1.0f;
|
| - }
|
| -
|
| - void updateContentSizeCss(float contentWidthCss, float contentHeightCss) {
|
| - mContentWidthCss = contentWidthCss;
|
| - mContentHeightCss = contentHeightCss;
|
| - }
|
| -
|
| - void setDeviceScaleFactor(float deviceScaleFactor) {
|
| - mDeviceScaleFactor = deviceScaleFactor;
|
| - }
|
| -
|
| - void updateFrameInfo(
|
| - float scrollXCss, float scrollYCss,
|
| - float contentWidthCss, float contentHeightCss,
|
| - float viewportWidthCss, float viewportHeightCss,
|
| - float pageScaleFactor, float minPageScaleFactor, float maxPageScaleFactor,
|
| - float contentOffsetYPix) {
|
| - mScrollXCss = scrollXCss;
|
| - mScrollYCss = scrollYCss;
|
| - mPageScaleFactor = pageScaleFactor;
|
| - mMinPageScaleFactor = minPageScaleFactor;
|
| - mMaxPageScaleFactor = maxPageScaleFactor;
|
| - mContentOffsetYPix = contentOffsetYPix;
|
| -
|
| - updateContentSizeCss(contentWidthCss, contentHeightCss);
|
| - mLastFrameViewportWidthCss = viewportWidthCss;
|
| - mLastFrameViewportHeightCss = viewportHeightCss;
|
| - }
|
| -
|
| - /**
|
| - * Handles conversion of a point from window-relative-local-dip or screen-pix
|
| - * to document-absolute-CSS space and vice versa.
|
| - */
|
| - public class NormalizedPoint {
|
| - private float mXAbsoluteCss, mYAbsoluteCss;
|
| -
|
| - private NormalizedPoint() {
|
| - }
|
| -
|
| - /**
|
| - * @return Absolute CSS (document) X coordinate of the point.
|
| - */
|
| - public float getXAbsoluteCss() { return mXAbsoluteCss; }
|
| -
|
| - /**
|
| - * @return Absolute CSS (document) Y coordinate of the point.
|
| - */
|
| - public float getYAbsoluteCss() { return mYAbsoluteCss; }
|
| -
|
| - /**
|
| - * @return Local device-scale-unadjusted X coordinate of the point.
|
| - */
|
| - public float getXLocalDip() { return (mXAbsoluteCss - mScrollXCss) * mPageScaleFactor; }
|
| -
|
| - /**
|
| - * @return Local device-scale-unadjusted Y coordinate of the point.
|
| - */
|
| - public float getYLocalDip() { return (mYAbsoluteCss - mScrollYCss) * mPageScaleFactor; }
|
| -
|
| - /**
|
| - * @return Physical (screen) X coordinate of the point.
|
| - */
|
| - public float getXPix() { return getXLocalDip() * mDeviceScaleFactor; }
|
| -
|
| - /**
|
| - * @return Physical (screen) Y coordinate of the point.
|
| - */
|
| - public float getYPix() { return getYLocalDip() * mDeviceScaleFactor + mContentOffsetYPix; }
|
| -
|
| - /**
|
| - * Sets the point to the given absolute CSS (document) coordinates.
|
| - */
|
| - public void setAbsoluteCss(float xCss, float yCss) {
|
| - mXAbsoluteCss = xCss;
|
| - mYAbsoluteCss = yCss;
|
| - }
|
| -
|
| - /**
|
| - * Sets the point to the given local device-scale-unadjusted coordinates.
|
| - */
|
| - public void setLocalDip(float xDip, float yDip) {
|
| - setAbsoluteCss(
|
| - xDip / mPageScaleFactor + mScrollXCss,
|
| - yDip / mPageScaleFactor + mScrollYCss);
|
| - }
|
| -
|
| - /**
|
| - * Sets the point to the given physical (screen) coordinates.
|
| - */
|
| - public void setScreen(float xPix, float yPix) {
|
| - setLocalDip(xPix / mDeviceScaleFactor, yPix / mDeviceScaleFactor);
|
| - }
|
| - }
|
| -
|
| - /**
|
| - * @return A helper to convert a point between between absolute CSS and local DIP spaces.
|
| - */
|
| - public NormalizedPoint createNormalizedPoint() {
|
| - return new NormalizedPoint();
|
| - }
|
| -
|
| - /**
|
| - * @return Horizontal scroll offset in CSS pixels.
|
| - */
|
| - public float getScrollX() { return mScrollXCss; }
|
| -
|
| - /**
|
| - * @return Vertical scroll offset in CSS pixels.
|
| - */
|
| - public float getScrollY() { return mScrollYCss; }
|
| -
|
| - /**
|
| - * @return Horizontal scroll offset in physical pixels.
|
| - */
|
| - public float getScrollXPix() { return fromLocalCssToPix(mScrollXCss); }
|
| -
|
| - /**
|
| - * @return Vertical scroll offset in physical pixels.
|
| - */
|
| - public float getScrollYPix() { return fromLocalCssToPix(mScrollYCss); }
|
| -
|
| - /**
|
| - * @return Horizontal scroll offset in physical pixels (approx, integer).
|
| - */
|
| - public int getScrollXPixInt() { return (int) Math.floor(getScrollXPix()); }
|
| -
|
| - /**
|
| - * @return Vertical scroll offset in physical pixels (approx, integer).
|
| - */
|
| - public int getScrollYPixInt() { return (int) Math.floor(getScrollYPix()); }
|
| -
|
| - /**
|
| - * @return Width of the content in CSS pixels.
|
| - */
|
| - public float getContentWidthCss() { return mContentWidthCss; }
|
| -
|
| - /**
|
| - * @return Height of the content in CSS pixels.
|
| - */
|
| - public float getContentHeightCss() { return mContentHeightCss; }
|
| -
|
| - /**
|
| - * @return Approximate width of the content in physical pixels.
|
| - */
|
| - public float getContentWidthPix() { return fromLocalCssToPix(mContentWidthCss); }
|
| -
|
| - /**
|
| - * @return Approximate height of the content in physical pixels.
|
| - */
|
| - public float getContentHeightPix() { return fromLocalCssToPix(mContentHeightCss); }
|
| -
|
| - /**
|
| - * @return Approximate width of the content in physical pixels (integer).
|
| - */
|
| - public int getContentWidthPixInt() { return (int) Math.ceil(getContentWidthPix()); }
|
| -
|
| - /**
|
| - * @return Approximate height of the content in physical pixels (integer).
|
| - */
|
| - public int getContentHeightPixInt() { return (int) Math.ceil(getContentHeightPix()); }
|
| -
|
| - /**
|
| - * @return Render-reported width of the viewport in CSS pixels.
|
| - */
|
| - public float getLastFrameViewportWidthCss() { return mLastFrameViewportWidthCss; }
|
| -
|
| - /**
|
| - * @return Render-reported height of the viewport in CSS pixels.
|
| - */
|
| - public float getLastFrameViewportHeightCss() { return mLastFrameViewportHeightCss; }
|
| -
|
| - /**
|
| - * @return Render-reported width of the viewport in physical pixels (approximate).
|
| - */
|
| - public float getLastFrameViewportWidthPix() {
|
| - return fromLocalCssToPix(mLastFrameViewportWidthCss);
|
| - }
|
| -
|
| - /**
|
| - * @return Render-reported height of the viewport in physical pixels (approximate).
|
| - */
|
| - public float getLastFrameViewportHeightPix() {
|
| - return fromLocalCssToPix(mLastFrameViewportHeightCss);
|
| - }
|
| -
|
| - /**
|
| - * @return Render-reported width of the viewport in physical pixels (approx, integer).
|
| - */
|
| - public int getLastFrameViewportWidthPixInt() {
|
| - return (int) Math.ceil(getLastFrameViewportWidthPix());
|
| - }
|
| -
|
| - /**
|
| - * @return Render-reported height of the viewport in physical pixels (approx, integer).
|
| - */
|
| - public int getLastFrameViewportHeightPixInt() {
|
| - return (int) Math.ceil(getLastFrameViewportHeightPix());
|
| - }
|
| -
|
| - /**
|
| - * @return The Physical on-screen Y offset amount below the top controls.
|
| - */
|
| - public float getContentOffsetYPix() {
|
| - return mContentOffsetYPix;
|
| - }
|
| -
|
| - /**
|
| - * @return Current page scale factor (maps CSS pixels to DIP pixels).
|
| - */
|
| - public float getPageScaleFactor() { return mPageScaleFactor; }
|
| -
|
| - /**
|
| - * @return Minimum page scale factor to be used with the content.
|
| - */
|
| - public float getMinPageScaleFactor() { return mMinPageScaleFactor; }
|
| -
|
| - /**
|
| - * @return Maximum page scale factor to be used with the content.
|
| - */
|
| - public float getMaxPageScaleFactor() { return mMaxPageScaleFactor; }
|
| -
|
| - /**
|
| - * @return Current device scale factor (maps DIP pixels to physical pixels).
|
| - */
|
| - public float getDeviceScaleFactor() { return mDeviceScaleFactor; }
|
| -
|
| - /**
|
| - * @return True if the page doesn't allow zoom-in/zoom-out.
|
| - */
|
| - public boolean hasFixedPageScale() { return mMinPageScaleFactor == mMaxPageScaleFactor; }
|
| -
|
| - /**
|
| - * @return True if the page has a width=device-width or narrower viewport.
|
| - */
|
| - public boolean hasMobileViewport() {
|
| - float windowWidthDip = mPageScaleFactor * mLastFrameViewportWidthCss;
|
| - return mContentWidthCss <= windowWidthDip;
|
| - }
|
| -
|
| - /**
|
| - * @return Maximum possible horizontal scroll in physical pixels.
|
| - */
|
| - public float getMaxHorizontalScrollPix() {
|
| - return getContentWidthPix() - getLastFrameViewportWidthPix();
|
| - }
|
| -
|
| - /**
|
| - * @return Maximum possible vertical scroll in physical pixels.
|
| - */
|
| - public float getMaxVerticalScrollPix() {
|
| - return getContentHeightPix() - getLastFrameViewportHeightPix();
|
| - }
|
| -
|
| - /**
|
| - * @return Maximum possible horizontal scroll in physical pixels (approx, integer).
|
| - */
|
| - public int getMaxHorizontalScrollPixInt() {
|
| - return (int) Math.floor(getMaxHorizontalScrollPix());
|
| - }
|
| -
|
| - /**
|
| - * @return Maximum possible vertical scroll in physical pixels (approx, integer).
|
| - */
|
| - public int getMaxVerticalScrollPixInt() {
|
| - return (int) Math.floor(getMaxVerticalScrollPix());
|
| - }
|
| -
|
| - /**
|
| - * @return Physical on-screen coordinate converted to local DIP.
|
| - */
|
| - public float fromPixToDip(float pix) {
|
| - return pix / mDeviceScaleFactor;
|
| - }
|
| -
|
| - /**
|
| - * @return Local DIP converted to physical coordinates.
|
| - */
|
| - public float fromDipToPix(float dip) {
|
| - return dip * mDeviceScaleFactor;
|
| - }
|
| -
|
| - /**
|
| - * @return Physical coordinate converted to local CSS.
|
| - */
|
| - public float fromPixToLocalCss(float pix) {
|
| - return pix / (mDeviceScaleFactor * mPageScaleFactor);
|
| - }
|
| -
|
| - /**
|
| - * @return Local CSS converted to physical coordinates.
|
| - */
|
| - public float fromLocalCssToPix(float css) {
|
| - return css * mPageScaleFactor * mDeviceScaleFactor;
|
| - }
|
| -}
|
|
|