Loading core/java/android/hardware/input/IInputManager.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -67,4 +67,6 @@ interface IInputManager { // Input device vibrator control. void vibrate(int deviceId, in long[] pattern, int repeat, IBinder token); void cancelVibrate(int deviceId, IBinder token); void setPointerIconShape(int shapeId); } core/java/android/hardware/input/InputManager.java +16 −0 Original line number Diff line number Diff line Loading @@ -757,6 +757,22 @@ public final class InputManager { } } /** * Changes the mouse pointer's icon shape into the specified id. * * @param iconId The id of the pointer graphic, as a value between * {@link PointerIcon.STYLE_ARROW} and {@link PointerIcon.STYLE_GRABBING}. * * @hide */ public void setPointerIconShape(int iconId) { try { mIm.setPointerIconShape(iconId); } catch (RemoteException ex) { // Do nothing. } } private void populateInputDevicesLocked() { if (mInputDevicesChangedListener == null) { final InputDevicesChangedListener listener = new InputDevicesChangedListener(); Loading core/java/android/view/InputDevice.java +9 −0 Original line number Diff line number Diff line Loading @@ -765,6 +765,15 @@ public final class InputDevice implements Parcelable { return mHasButtonUnderPad; } /** * Sets the current pointer shape. * @param pointerShape the id of the pointer icon. * @hide */ public void setPointerShape(int pointerShape) { InputManager.getInstance().setPointerIconShape(pointerShape); } /** * Provides information about the range of values for a particular {@link MotionEvent} axis. * Loading core/java/android/view/PointerIcon.java +113 −2 Original line number Diff line number Diff line Loading @@ -48,6 +48,12 @@ public final class PointerIcon implements Parcelable { /** Style constant: Null icon. It has no bitmap. */ public static final int STYLE_NULL = 0; /** Style constant: no icons are specified. If all views uses this, then falls back * to the default style, but this is helpful to distinguish a view explicitly want * to have the default icon. */ public static final int STYLE_NOT_SPECIFIED = 1; /** Style constant: Arrow icon. (Default mouse pointer) */ public static final int STYLE_ARROW = 1000; Loading @@ -60,12 +66,74 @@ public final class PointerIcon implements Parcelable { /** {@hide} Style constant: Spot anchor icon for touchpads. */ public static final int STYLE_SPOT_ANCHOR = 2002; // Style constants for additional predefined icons for mice. /** Style constant: context-menu. */ public static final int STYLE_CONTEXT_MENU = 1001; /** Style constant: hand. */ public static final int STYLE_HAND = 1002; /** Style constant: help. */ public static final int STYLE_HELP = 1003; /** Style constant: wait. */ public static final int STYLE_WAIT = 1004; /** Style constant: cell. */ public static final int STYLE_CELL = 1006; /** Style constant: crosshair. */ public static final int STYLE_CROSSHAIR = 1007; /** Style constant: text. */ public static final int STYLE_TEXT = 1008; /** Style constant: vertical-text. */ public static final int STYLE_VERTICAL_TEXT = 1009; /** Style constant: alias (indicating an alias of/shortcut to something is * to be created. */ public static final int STYLE_ALIAS = 1010; /** Style constant: copy. */ public static final int STYLE_COPY = 1011; /** Style constant: no-drop. */ public static final int STYLE_NO_DROP = 1012; /** Style constant: all-scroll. */ public static final int STYLE_ALL_SCROLL = 1013; /** Style constant: horizontal double arrow mainly for resizing. */ public static final int STYLE_HORIZONTAL_DOUBLE_ARROW = 1014; /** Style constant: vertical double arrow mainly for resizing. */ public static final int STYLE_VERTICAL_DOUBLE_ARROW = 1015; /** Style constant: diagonal double arrow -- top-right to bottom-left. */ public static final int STYLE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW = 1016; /** Style constant: diagonal double arrow -- top-left to bottom-right. */ public static final int STYLE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW = 1017; /** Style constant: zoom-in. */ public static final int STYLE_ZOOM_IN = 1018; /** Style constant: zoom-out. */ public static final int STYLE_ZOOM_OUT = 1019; /** Style constant: grab. */ public static final int STYLE_GRAB = 1020; /** Style constant: grabbing. */ public static final int STYLE_GRABBING = 1021; // OEM private styles should be defined starting at this range to avoid // conflicts with any system styles that may be defined in the future. private static final int STYLE_OEM_FIRST = 10000; // The default pointer icon. private static final int STYLE_DEFAULT = STYLE_ARROW; /** {@hide} The default pointer icon. */ public static final int STYLE_DEFAULT = STYLE_ARROW; private static final PointerIcon gNullIcon = new PointerIcon(STYLE_NULL); Loading Loading @@ -434,6 +502,49 @@ public final class PointerIcon implements Parcelable { return com.android.internal.R.styleable.Pointer_pointerIconSpotTouch; case STYLE_SPOT_ANCHOR: return com.android.internal.R.styleable.Pointer_pointerIconSpotAnchor; case STYLE_HAND: return com.android.internal.R.styleable.Pointer_pointerIconHand; case STYLE_CONTEXT_MENU: return com.android.internal.R.styleable.Pointer_pointerIconContextMenu; case STYLE_HELP: return com.android.internal.R.styleable.Pointer_pointerIconHelp; case STYLE_WAIT: // falls back to the default icon because no animation support. return com.android.internal.R.styleable.Pointer_pointerIconArrow; case STYLE_CELL: return com.android.internal.R.styleable.Pointer_pointerIconCell; case STYLE_CROSSHAIR: return com.android.internal.R.styleable.Pointer_pointerIconCrosshair; case STYLE_TEXT: return com.android.internal.R.styleable.Pointer_pointerIconText; case STYLE_VERTICAL_TEXT: return com.android.internal.R.styleable.Pointer_pointerIconVerticalText; case STYLE_ALIAS: return com.android.internal.R.styleable.Pointer_pointerIconAlias; case STYLE_COPY: return com.android.internal.R.styleable.Pointer_pointerIconCopy; case STYLE_ALL_SCROLL: return com.android.internal.R.styleable.Pointer_pointerIconAllScroll; case STYLE_NO_DROP: return com.android.internal.R.styleable.Pointer_pointerIconNodrop; case STYLE_HORIZONTAL_DOUBLE_ARROW: return com.android.internal.R.styleable.Pointer_pointerIconHorizontalDoubleArrow; case STYLE_VERTICAL_DOUBLE_ARROW: return com.android.internal.R.styleable.Pointer_pointerIconVerticalDoubleArrow; case STYLE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW: return com.android.internal.R.styleable. Pointer_pointerIconTopRightDiagonalDoubleArrow; case STYLE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW: return com.android.internal.R.styleable. Pointer_pointerIconTopLeftDiagonalDoubleArrow; case STYLE_ZOOM_IN: return com.android.internal.R.styleable.Pointer_pointerIconZoomIn; case STYLE_ZOOM_OUT: return com.android.internal.R.styleable.Pointer_pointerIconZoomOut; case STYLE_GRAB: return com.android.internal.R.styleable.Pointer_pointerIconGrab; case STYLE_GRABBING: return com.android.internal.R.styleable.Pointer_pointerIconGrabbing; default: return 0; } Loading core/java/android/view/View.java +5 −0 Original line number Diff line number Diff line Loading @@ -20995,6 +20995,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } } /** @hide */ public int getPointerShape(MotionEvent event, float x, float y) { return PointerIcon.STYLE_NOT_SPECIFIED; } // // Properties // Loading
core/java/android/hardware/input/IInputManager.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -67,4 +67,6 @@ interface IInputManager { // Input device vibrator control. void vibrate(int deviceId, in long[] pattern, int repeat, IBinder token); void cancelVibrate(int deviceId, IBinder token); void setPointerIconShape(int shapeId); }
core/java/android/hardware/input/InputManager.java +16 −0 Original line number Diff line number Diff line Loading @@ -757,6 +757,22 @@ public final class InputManager { } } /** * Changes the mouse pointer's icon shape into the specified id. * * @param iconId The id of the pointer graphic, as a value between * {@link PointerIcon.STYLE_ARROW} and {@link PointerIcon.STYLE_GRABBING}. * * @hide */ public void setPointerIconShape(int iconId) { try { mIm.setPointerIconShape(iconId); } catch (RemoteException ex) { // Do nothing. } } private void populateInputDevicesLocked() { if (mInputDevicesChangedListener == null) { final InputDevicesChangedListener listener = new InputDevicesChangedListener(); Loading
core/java/android/view/InputDevice.java +9 −0 Original line number Diff line number Diff line Loading @@ -765,6 +765,15 @@ public final class InputDevice implements Parcelable { return mHasButtonUnderPad; } /** * Sets the current pointer shape. * @param pointerShape the id of the pointer icon. * @hide */ public void setPointerShape(int pointerShape) { InputManager.getInstance().setPointerIconShape(pointerShape); } /** * Provides information about the range of values for a particular {@link MotionEvent} axis. * Loading
core/java/android/view/PointerIcon.java +113 −2 Original line number Diff line number Diff line Loading @@ -48,6 +48,12 @@ public final class PointerIcon implements Parcelable { /** Style constant: Null icon. It has no bitmap. */ public static final int STYLE_NULL = 0; /** Style constant: no icons are specified. If all views uses this, then falls back * to the default style, but this is helpful to distinguish a view explicitly want * to have the default icon. */ public static final int STYLE_NOT_SPECIFIED = 1; /** Style constant: Arrow icon. (Default mouse pointer) */ public static final int STYLE_ARROW = 1000; Loading @@ -60,12 +66,74 @@ public final class PointerIcon implements Parcelable { /** {@hide} Style constant: Spot anchor icon for touchpads. */ public static final int STYLE_SPOT_ANCHOR = 2002; // Style constants for additional predefined icons for mice. /** Style constant: context-menu. */ public static final int STYLE_CONTEXT_MENU = 1001; /** Style constant: hand. */ public static final int STYLE_HAND = 1002; /** Style constant: help. */ public static final int STYLE_HELP = 1003; /** Style constant: wait. */ public static final int STYLE_WAIT = 1004; /** Style constant: cell. */ public static final int STYLE_CELL = 1006; /** Style constant: crosshair. */ public static final int STYLE_CROSSHAIR = 1007; /** Style constant: text. */ public static final int STYLE_TEXT = 1008; /** Style constant: vertical-text. */ public static final int STYLE_VERTICAL_TEXT = 1009; /** Style constant: alias (indicating an alias of/shortcut to something is * to be created. */ public static final int STYLE_ALIAS = 1010; /** Style constant: copy. */ public static final int STYLE_COPY = 1011; /** Style constant: no-drop. */ public static final int STYLE_NO_DROP = 1012; /** Style constant: all-scroll. */ public static final int STYLE_ALL_SCROLL = 1013; /** Style constant: horizontal double arrow mainly for resizing. */ public static final int STYLE_HORIZONTAL_DOUBLE_ARROW = 1014; /** Style constant: vertical double arrow mainly for resizing. */ public static final int STYLE_VERTICAL_DOUBLE_ARROW = 1015; /** Style constant: diagonal double arrow -- top-right to bottom-left. */ public static final int STYLE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW = 1016; /** Style constant: diagonal double arrow -- top-left to bottom-right. */ public static final int STYLE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW = 1017; /** Style constant: zoom-in. */ public static final int STYLE_ZOOM_IN = 1018; /** Style constant: zoom-out. */ public static final int STYLE_ZOOM_OUT = 1019; /** Style constant: grab. */ public static final int STYLE_GRAB = 1020; /** Style constant: grabbing. */ public static final int STYLE_GRABBING = 1021; // OEM private styles should be defined starting at this range to avoid // conflicts with any system styles that may be defined in the future. private static final int STYLE_OEM_FIRST = 10000; // The default pointer icon. private static final int STYLE_DEFAULT = STYLE_ARROW; /** {@hide} The default pointer icon. */ public static final int STYLE_DEFAULT = STYLE_ARROW; private static final PointerIcon gNullIcon = new PointerIcon(STYLE_NULL); Loading Loading @@ -434,6 +502,49 @@ public final class PointerIcon implements Parcelable { return com.android.internal.R.styleable.Pointer_pointerIconSpotTouch; case STYLE_SPOT_ANCHOR: return com.android.internal.R.styleable.Pointer_pointerIconSpotAnchor; case STYLE_HAND: return com.android.internal.R.styleable.Pointer_pointerIconHand; case STYLE_CONTEXT_MENU: return com.android.internal.R.styleable.Pointer_pointerIconContextMenu; case STYLE_HELP: return com.android.internal.R.styleable.Pointer_pointerIconHelp; case STYLE_WAIT: // falls back to the default icon because no animation support. return com.android.internal.R.styleable.Pointer_pointerIconArrow; case STYLE_CELL: return com.android.internal.R.styleable.Pointer_pointerIconCell; case STYLE_CROSSHAIR: return com.android.internal.R.styleable.Pointer_pointerIconCrosshair; case STYLE_TEXT: return com.android.internal.R.styleable.Pointer_pointerIconText; case STYLE_VERTICAL_TEXT: return com.android.internal.R.styleable.Pointer_pointerIconVerticalText; case STYLE_ALIAS: return com.android.internal.R.styleable.Pointer_pointerIconAlias; case STYLE_COPY: return com.android.internal.R.styleable.Pointer_pointerIconCopy; case STYLE_ALL_SCROLL: return com.android.internal.R.styleable.Pointer_pointerIconAllScroll; case STYLE_NO_DROP: return com.android.internal.R.styleable.Pointer_pointerIconNodrop; case STYLE_HORIZONTAL_DOUBLE_ARROW: return com.android.internal.R.styleable.Pointer_pointerIconHorizontalDoubleArrow; case STYLE_VERTICAL_DOUBLE_ARROW: return com.android.internal.R.styleable.Pointer_pointerIconVerticalDoubleArrow; case STYLE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW: return com.android.internal.R.styleable. Pointer_pointerIconTopRightDiagonalDoubleArrow; case STYLE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW: return com.android.internal.R.styleable. Pointer_pointerIconTopLeftDiagonalDoubleArrow; case STYLE_ZOOM_IN: return com.android.internal.R.styleable.Pointer_pointerIconZoomIn; case STYLE_ZOOM_OUT: return com.android.internal.R.styleable.Pointer_pointerIconZoomOut; case STYLE_GRAB: return com.android.internal.R.styleable.Pointer_pointerIconGrab; case STYLE_GRABBING: return com.android.internal.R.styleable.Pointer_pointerIconGrabbing; default: return 0; } Loading
core/java/android/view/View.java +5 −0 Original line number Diff line number Diff line Loading @@ -20995,6 +20995,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } } /** @hide */ public int getPointerShape(MotionEvent event, float x, float y) { return PointerIcon.STYLE_NOT_SPECIFIED; } // // Properties //