History log of /frameworks/native/libs/ui/include_vndk/ui/FloatRect.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
80d611613ef1a9c05a31cd3f47badfd4de9b1418 21-Dec-2017 Dan Stoza <stoza@google.com> SF: Switch computeBounds to return FloatRect

Switches Layer::computeBounds to return a FloatRect instead of a Rect.

During the computation of the bounds, we apply the layer transformation
to its nominal dimensions, clip it against its bounds (which are either
its parents bounds or the screen bounds), and apply the inverse of the
layer transformation.

Previously, the intermediate position (after transformation/clip, but
before inverse transformation) was stored as Rect, which is to say that
it was truncated to integer coordinates. After applying the inverse
transformation, this loss of precision can cause glitches where a layer
that should be clipped against, e.g., the side of the screen no longer
creates a watertight seal against that side.

In order to fix this, we now store the intermediate value as a FloatRect
and propagate float precision back through computeBounds. The callers of
computeBounds tend to then immediately apply the transform again, at
which point it is safe to round back to integer.

Bug: 64070729
Bug: 66431327
Bug: 69935057
Test: Modified android.view.cts.SurfaceViewSyncTest#
testSurfaceViewBigScale no longer produces bogus display frames
Change-Id: If5987ca4ad76657f9670a5f59258f896180352e2
/frameworks/native/libs/ui/include/ui/FloatRect.h
e7ec834312579b009c02e5e42012dd465a5779be 22-May-2017 Jiyong Park <jiyong@google.com> Headers of libui is moved to the local directory

This makes clients of libui to be compiled without depending on global
headers.

Bug: 37731063
Test: sailfish build and boots
Test: 'BOARD_VNDK_VERSION=current m libui' successful
Change-Id: I6546f57964f2103bf3534fb8266fee4fb7d4678a
/frameworks/native/libs/ui/include/ui/FloatRect.h