Merge "[Magnifier - 4] Batch of tweaks"
This commit is contained in:
committed by
Android (Google) Code Review
commit
0b57d2f561
@@ -165,7 +165,7 @@ public class Editor {
|
||||
private static final int MENU_ITEM_ORDER_PASTE_AS_PLAIN_TEXT = 11;
|
||||
private static final int MENU_ITEM_ORDER_PROCESS_TEXT_INTENT_ACTIONS_START = 100;
|
||||
|
||||
private static final float MAGNIFIER_ZOOM = 1.5f;
|
||||
private static final float MAGNIFIER_ZOOM = 1.25f;
|
||||
@IntDef({MagnifierHandleTrigger.SELECTION_START,
|
||||
MagnifierHandleTrigger.SELECTION_END,
|
||||
MagnifierHandleTrigger.INSERTION})
|
||||
@@ -4550,12 +4550,14 @@ public class Editor {
|
||||
final float centerYOnScreen = yPosInView + mTextView.getTotalPaddingTop()
|
||||
- mTextView.getScrollY() + coordinatesOnScreen[1];
|
||||
|
||||
suspendBlink();
|
||||
mMagnifier.show(centerXOnScreen, centerYOnScreen, MAGNIFIER_ZOOM);
|
||||
}
|
||||
|
||||
protected final void dismissMagnifier() {
|
||||
if (mMagnifier != null) {
|
||||
mMagnifier.dismiss();
|
||||
resumeBlink();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -41,6 +41,8 @@ import com.android.internal.util.Preconditions;
|
||||
*/
|
||||
public final class Magnifier {
|
||||
private static final String LOG_TAG = "magnifier";
|
||||
private static final int MINIMUM_MAGNIFIER_SCALE = 1;
|
||||
private static final int MAXIMUM_MAGNIFIER_SCALE = 4;
|
||||
// The view for which this magnifier is attached.
|
||||
private final View mView;
|
||||
// The window containing the magnifier.
|
||||
@@ -94,7 +96,23 @@ public final class Magnifier {
|
||||
*/
|
||||
public void show(@FloatRange(from=0) float centerXOnScreen,
|
||||
@FloatRange(from=0) float centerYOnScreen,
|
||||
@FloatRange(from=1, to=10) float scale) {
|
||||
@FloatRange(from=MINIMUM_MAGNIFIER_SCALE, to=MAXIMUM_MAGNIFIER_SCALE) float scale) {
|
||||
if (scale > MAXIMUM_MAGNIFIER_SCALE) {
|
||||
scale = MAXIMUM_MAGNIFIER_SCALE;
|
||||
}
|
||||
|
||||
if (scale < MINIMUM_MAGNIFIER_SCALE) {
|
||||
scale = MINIMUM_MAGNIFIER_SCALE;
|
||||
}
|
||||
|
||||
if (centerXOnScreen < 0) {
|
||||
centerXOnScreen = 0;
|
||||
}
|
||||
|
||||
if (centerYOnScreen < 0) {
|
||||
centerYOnScreen = 0;
|
||||
}
|
||||
|
||||
maybeResizeBitmap(scale);
|
||||
configureCoordinates(centerXOnScreen, centerYOnScreen);
|
||||
performPixelCopy();
|
||||
@@ -144,12 +162,8 @@ public final class Magnifier {
|
||||
|
||||
final int verticalMagnifierOffset = mView.getContext().getResources().getDimensionPixelSize(
|
||||
R.dimen.magnifier_offset);
|
||||
final int availableTopSpace = (mCenterZoomCoords.y - mWindowHeight / 2)
|
||||
- verticalMagnifierOffset - (mBitmap.getHeight() / 2);
|
||||
|
||||
mWindowCoords.x = mCenterZoomCoords.x - mWindowWidth / 2;
|
||||
mWindowCoords.y = mCenterZoomCoords.y - mWindowHeight / 2
|
||||
+ verticalMagnifierOffset * (availableTopSpace > 0 ? -1 : 1);
|
||||
mWindowCoords.y = mCenterZoomCoords.y - mWindowHeight / 2 - verticalMagnifierOffset;
|
||||
}
|
||||
|
||||
private void performPixelCopy() {
|
||||
|
||||
Reference in New Issue
Block a user