Loading core/java/android/view/ThreadedRenderer.java +23 −10 Original line number Diff line number Diff line Loading @@ -25,11 +25,11 @@ import android.graphics.BLASTBufferQueue; import android.graphics.FrameInfo; import android.graphics.HardwareRenderer; import android.graphics.Picture; import android.graphics.Point; import android.graphics.RecordingCanvas; import android.graphics.Rect; import android.graphics.RenderNode; import android.os.Trace; import android.util.DisplayMetrics; import android.util.Log; import android.view.Surface.OutOfResourcesException; import android.view.View.AttachInfo; Loading Loading @@ -596,11 +596,18 @@ public final class ThreadedRenderer extends HardwareRenderer { */ void setLightCenter(AttachInfo attachInfo) { // Adjust light position for window offsets. final Point displaySize = attachInfo.mPoint; attachInfo.mDisplay.getRealSize(displaySize); final float lightX = displaySize.x / 2f - attachInfo.mWindowLeft; DisplayMetrics displayMetrics = new DisplayMetrics(); attachInfo.mDisplay.getRealMetrics(displayMetrics); final float lightX = displayMetrics.widthPixels / 2f - attachInfo.mWindowLeft; final float lightY = mLightY - attachInfo.mWindowTop; setLightSourceGeometry(lightX, lightY, mLightZ, mLightRadius); // To prevent shadow distortion on larger screens, scale the z position of the light source // relative to the smallest screen dimension. final float zRatio = Math.min(displayMetrics.widthPixels, displayMetrics.heightPixels) / (450f * displayMetrics.density); final float zWeightedAdjustment = (zRatio + 2) / 3f; final float lightZ = mLightZ * zWeightedAdjustment; setLightSourceGeometry(lightX, lightY, lightZ, mLightRadius); } /** Loading Loading @@ -849,12 +856,18 @@ public final class ThreadedRenderer extends HardwareRenderer { public void setLightCenter(final Display display, final int windowLeft, final int windowTop) { // Adjust light position for window offsets. final Point displaySize = new Point(); display.getRealSize(displaySize); final float lightX = displaySize.x / 2f - windowLeft; DisplayMetrics displayMetrics = new DisplayMetrics(); display.getRealMetrics(displayMetrics); final float lightX = displayMetrics.widthPixels / 2f - windowLeft; final float lightY = mLightY - windowTop; setLightSourceGeometry(lightX, lightY, mLightZ, mLightRadius); // To prevent shadow distortion on larger screens, scale the z position of the light // source relative to the smallest screen dimension. final float zRatio = Math.min(displayMetrics.widthPixels, displayMetrics.heightPixels) / (450f * displayMetrics.density); final float zWeightedAdjustment = (zRatio + 2) / 3f; final float lightZ = mLightZ * zWeightedAdjustment; setLightSourceGeometry(lightX, lightY, lightZ, mLightRadius); } public RenderNode getRootNode() { Loading core/res/res/values/dimens.xml +1 −1 Original line number Diff line number Diff line Loading @@ -684,7 +684,7 @@ <!-- Lighting and shadow properties --> <dimen name="light_y">0dp</dimen> <dimen name="light_z">600dp</dimen> <dimen name="light_z">500dp</dimen> <dimen name="light_radius">800dp</dimen> <item type="dimen" format="float" name="ambient_shadow_alpha">0.039</item> <item type="dimen" format="float" name="spot_shadow_alpha">0.19</item> Loading Loading
core/java/android/view/ThreadedRenderer.java +23 −10 Original line number Diff line number Diff line Loading @@ -25,11 +25,11 @@ import android.graphics.BLASTBufferQueue; import android.graphics.FrameInfo; import android.graphics.HardwareRenderer; import android.graphics.Picture; import android.graphics.Point; import android.graphics.RecordingCanvas; import android.graphics.Rect; import android.graphics.RenderNode; import android.os.Trace; import android.util.DisplayMetrics; import android.util.Log; import android.view.Surface.OutOfResourcesException; import android.view.View.AttachInfo; Loading Loading @@ -596,11 +596,18 @@ public final class ThreadedRenderer extends HardwareRenderer { */ void setLightCenter(AttachInfo attachInfo) { // Adjust light position for window offsets. final Point displaySize = attachInfo.mPoint; attachInfo.mDisplay.getRealSize(displaySize); final float lightX = displaySize.x / 2f - attachInfo.mWindowLeft; DisplayMetrics displayMetrics = new DisplayMetrics(); attachInfo.mDisplay.getRealMetrics(displayMetrics); final float lightX = displayMetrics.widthPixels / 2f - attachInfo.mWindowLeft; final float lightY = mLightY - attachInfo.mWindowTop; setLightSourceGeometry(lightX, lightY, mLightZ, mLightRadius); // To prevent shadow distortion on larger screens, scale the z position of the light source // relative to the smallest screen dimension. final float zRatio = Math.min(displayMetrics.widthPixels, displayMetrics.heightPixels) / (450f * displayMetrics.density); final float zWeightedAdjustment = (zRatio + 2) / 3f; final float lightZ = mLightZ * zWeightedAdjustment; setLightSourceGeometry(lightX, lightY, lightZ, mLightRadius); } /** Loading Loading @@ -849,12 +856,18 @@ public final class ThreadedRenderer extends HardwareRenderer { public void setLightCenter(final Display display, final int windowLeft, final int windowTop) { // Adjust light position for window offsets. final Point displaySize = new Point(); display.getRealSize(displaySize); final float lightX = displaySize.x / 2f - windowLeft; DisplayMetrics displayMetrics = new DisplayMetrics(); display.getRealMetrics(displayMetrics); final float lightX = displayMetrics.widthPixels / 2f - windowLeft; final float lightY = mLightY - windowTop; setLightSourceGeometry(lightX, lightY, mLightZ, mLightRadius); // To prevent shadow distortion on larger screens, scale the z position of the light // source relative to the smallest screen dimension. final float zRatio = Math.min(displayMetrics.widthPixels, displayMetrics.heightPixels) / (450f * displayMetrics.density); final float zWeightedAdjustment = (zRatio + 2) / 3f; final float lightZ = mLightZ * zWeightedAdjustment; setLightSourceGeometry(lightX, lightY, lightZ, mLightRadius); } public RenderNode getRootNode() { Loading
core/res/res/values/dimens.xml +1 −1 Original line number Diff line number Diff line Loading @@ -684,7 +684,7 @@ <!-- Lighting and shadow properties --> <dimen name="light_y">0dp</dimen> <dimen name="light_z">600dp</dimen> <dimen name="light_z">500dp</dimen> <dimen name="light_radius">800dp</dimen> <item type="dimen" format="float" name="ambient_shadow_alpha">0.039</item> <item type="dimen" format="float" name="spot_shadow_alpha">0.19</item> Loading