Index: content/browser/android/composited_touch_handle_drawable.cc |
diff --git a/content/browser/android/composited_touch_handle_drawable.cc b/content/browser/android/composited_touch_handle_drawable.cc |
index aa7c71920c10575f21e32fceeb8d6a0b6541d1f7..af30bb380e2a3e255743648d0935763bc5119d19 100644 |
--- a/content/browser/android/composited_touch_handle_drawable.cc |
+++ b/content/browser/android/composited_touch_handle_drawable.cc |
@@ -44,10 +44,19 @@ class HandleResources { |
Java_HandleViewResources_getRightHandleBitmap(env, context)); |
center_bitmap_ = CreateSkBitmapFromJavaBitmap( |
Java_HandleViewResources_getCenterHandleBitmap(env, context)); |
+ left_inverted_bitmap_ = CreateSkBitmapFromJavaBitmap( |
+ Java_HandleViewResources_getLeftHandleBitmapInverted(env, context)); |
+ right_inverted_bitmap_ = CreateSkBitmapFromJavaBitmap( |
+ Java_HandleViewResources_getRightHandleBitmapInverted(env, context)); |
+ center_inverted_bitmap_ = CreateSkBitmapFromJavaBitmap( |
+ Java_HandleViewResources_getCenterHandleBitmapInverted(env, context)); |
left_bitmap_.setImmutable(); |
right_bitmap_.setImmutable(); |
center_bitmap_.setImmutable(); |
+ left_inverted_bitmap_.setImmutable(); |
+ right_inverted_bitmap_.setImmutable(); |
+ center_inverted_bitmap_.setImmutable(); |
} |
const SkBitmap& GetBitmap(TouchHandleOrientation orientation) { |
@@ -59,6 +68,20 @@ class HandleResources { |
return right_bitmap_; |
case TOUCH_HANDLE_CENTER: |
return center_bitmap_; |
+ case TOUCH_HANDLE_LEFT_INVERTED: |
+ return left_inverted_bitmap_; |
+ case TOUCH_HANDLE_RIGHT_INVERTED: |
+ return right_inverted_bitmap_; |
+ case TOUCH_HANDLE_LEFT_FLIPPED: |
+ return right_bitmap_; |
+ case TOUCH_HANDLE_RIGHT_FLIPPED: |
+ return left_bitmap_; |
+ case TOUCH_HANDLE_LEFT_FLIPPED_INVERTED: |
+ return right_inverted_bitmap_; |
+ case TOUCH_HANDLE_RIGHT_FLIPPED_INVERTED: |
+ return left_inverted_bitmap_; |
+ case TOUCH_HANDLE_CENTER_INVERTED: |
+ return center_inverted_bitmap_; |
case TOUCH_HANDLE_ORIENTATION_UNDEFINED: |
NOTREACHED() << "Invalid touch handle orientation."; |
}; |
@@ -69,6 +92,9 @@ class HandleResources { |
SkBitmap left_bitmap_; |
SkBitmap right_bitmap_; |
SkBitmap center_bitmap_; |
+ SkBitmap left_inverted_bitmap_; |
+ SkBitmap right_inverted_bitmap_; |
+ SkBitmap center_inverted_bitmap_; |
bool loaded_; |
DISALLOW_COPY_AND_ASSIGN(HandleResources); |
@@ -117,6 +143,32 @@ void CompositedTouchHandleDrawable::SetOrientation( |
case TOUCH_HANDLE_CENTER: |
focal_offset_from_origin_ = gfx::Vector2dF(bitmap.width() * 0.5f, 0); |
break; |
+ case TOUCH_HANDLE_LEFT_INVERTED: |
+ focal_offset_from_origin_ = |
+ gfx::Vector2dF(bitmap.width() * 0.75f, bitmap.height()); |
+ break; |
+ case TOUCH_HANDLE_RIGHT_INVERTED: |
+ focal_offset_from_origin_ = |
+ gfx::Vector2dF(bitmap.width() * 0.25f, bitmap.height()); |
+ break; |
+ case TOUCH_HANDLE_LEFT_FLIPPED: |
+ focal_offset_from_origin_ = gfx::Vector2dF(bitmap.width() * 0.25f, 0); |
+ break; |
+ case TOUCH_HANDLE_RIGHT_FLIPPED: |
+ focal_offset_from_origin_ = gfx::Vector2dF(bitmap.width() * 0.75f, 0); |
+ break; |
+ case TOUCH_HANDLE_LEFT_FLIPPED_INVERTED: |
+ focal_offset_from_origin_ = |
+ gfx::Vector2dF(bitmap.width() * 0.25f, bitmap.height()); |
+ break; |
+ case TOUCH_HANDLE_RIGHT_FLIPPED_INVERTED: |
+ focal_offset_from_origin_ = |
+ gfx::Vector2dF(bitmap.width() * 0.75f, bitmap.height()); |
+ break; |
+ case TOUCH_HANDLE_CENTER_INVERTED: |
+ focal_offset_from_origin_ = |
+ gfx::Vector2dF(bitmap.width() * 0.5f, bitmap.height()); |
+ break; |
case TOUCH_HANDLE_ORIENTATION_UNDEFINED: |
NOTREACHED() << "Invalid touch handle orientation."; |
break; |