android/experimental/LOAndroid3/src/java/org/libreoffice/DrawElementHandle.java | 69 - android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java | 2 android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java | 4 android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorLayer.java | 174 ---- android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorView.java | 346 --------- android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionCanvasElement.java | 75 ++ android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionHandleCanvasElement.java | 67 + android/experimental/LOAndroid3/src/java/org/libreoffice/overlay/TextCursorLayer.java | 175 ++++ android/experimental/LOAndroid3/src/java/org/libreoffice/overlay/TextCursorView.java | 351 ++++++++++ 9 files changed, 670 insertions(+), 593 deletions(-)
New commits: commit 186245083bb87c611ffe2e5b51119bdfc9dce616 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> Date: Mon Mar 23 17:01:37 2015 +0900 android: reorganize (overlay, canvas packages), move classes Added new packages: * overlay - overlay elements like TextCursor* * canvas - classes that its only purpose is to draw to canvas Change-Id: I0dec06e76819231dacae26d24e43bb6315bba6e4 diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java index 1e8c2d9..359f0ca 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java @@ -5,6 +5,7 @@ import android.graphics.RectF; import android.net.Uri; import org.libreoffice.kit.Document; +import org.libreoffice.overlay.TextCursorLayer; import org.mozilla.gecko.TextSelection; import org.mozilla.gecko.TextSelectionHandle; diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java index 3c57301..c054143 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java @@ -8,7 +8,6 @@ import android.os.Bundle; import android.os.Handler; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarActivity; -import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.widget.Toolbar; import android.util.Log; import android.view.Menu; @@ -17,9 +16,8 @@ import android.view.View; import android.view.inputmethod.InputMethodManager; import android.widget.AdapterView; import android.widget.ListView; -import android.widget.RelativeLayout; -import android.widget.Toast; +import org.libreoffice.overlay.TextCursorLayer; import org.mozilla.gecko.TextSelection; import org.mozilla.gecko.ZoomConstraints; import org.mozilla.gecko.gfx.GeckoLayerClient; diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/DrawElementGraphicSelection.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionCanvasElement.java similarity index 74% rename from android/experimental/LOAndroid3/src/java/org/libreoffice/DrawElementGraphicSelection.java rename to android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionCanvasElement.java index e4319fc..5adf8d3 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/DrawElementGraphicSelection.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionCanvasElement.java @@ -1,4 +1,12 @@ -package org.libreoffice; +/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +package org.libreoffice.canvas; import android.graphics.Canvas; import android.graphics.Paint; @@ -9,7 +17,7 @@ import android.graphics.RectF; * This class is responsible to draw and reposition the selection * rectangle. */ -public class DrawElementGraphicSelection { +public class GraphicSelectionCanvasElement { private final Paint mGraphicSelectionPaint; public RectF mRectangle = new RectF(); public RectF mScaledRectangle = new RectF(); @@ -17,7 +25,7 @@ public class DrawElementGraphicSelection { private DragType mType = DragType.NONE; private PointF mStartDragPosition; - public DrawElementGraphicSelection(Paint graphicSelectionPaint) { + public GraphicSelectionCanvasElement(Paint graphicSelectionPaint) { mGraphicSelectionPaint = graphicSelectionPaint; } @@ -58,9 +66,10 @@ public class DrawElementGraphicSelection { mDrawRectangle = mScaledRectangle; } - enum DragType { + public enum DragType { NONE, MOVE, EXTEND } } +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ \ No newline at end of file diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/DrawElementHandle.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionHandleCanvasElement.java similarity index 91% rename from android/experimental/LOAndroid3/src/java/org/libreoffice/DrawElementHandle.java rename to android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionHandleCanvasElement.java index 1912d01..64d369f 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/DrawElementHandle.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionHandleCanvasElement.java @@ -6,7 +6,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -package org.libreoffice; +package org.libreoffice.canvas; import android.graphics.Canvas; import android.graphics.Color; @@ -14,14 +14,12 @@ import android.graphics.Paint; import android.graphics.PointF; import android.graphics.RectF; -import org.mozilla.gecko.gfx.RectUtils; - /** * This class is responsible to draw the selection handles, track the handle * position and perform a hit test to determine if the selection handle was * touched. */ -public class DrawElementHandle { +public class GraphicSelectionHandleCanvasElement { public PointF mPosition = new PointF(); private float mRadius = 20.0f; private Paint mGraphicHandleFillPaint = new Paint(); @@ -29,7 +27,7 @@ public class DrawElementHandle { private Paint mGraphicHandleSelectedFillPaint = new Paint(); private RectF mHitRect = new RectF(); - public DrawElementHandle(Paint graphicSelectionPaint) { + public GraphicSelectionHandleCanvasElement(Paint graphicSelectionPaint) { mGraphicSelectionPaint = graphicSelectionPaint; mGraphicHandleFillPaint.setStyle(Paint.Style.FILL); diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorLayer.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/overlay/TextCursorLayer.java similarity index 98% rename from android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorLayer.java rename to android/experimental/LOAndroid3/src/java/org/libreoffice/overlay/TextCursorLayer.java index 8c044ed..dc7650b 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorLayer.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/overlay/TextCursorLayer.java @@ -6,13 +6,14 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -package org.libreoffice; +package org.libreoffice.overlay; import android.app.Activity; import android.graphics.RectF; import android.util.Log; -import android.view.View; +import org.libreoffice.LOKitShell; +import org.libreoffice.R; import org.mozilla.gecko.gfx.Layer; import org.mozilla.gecko.gfx.LayerView; import org.mozilla.gecko.util.FloatUtils; diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorView.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/overlay/TextCursorView.java similarity index 86% rename from android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorView.java rename to android/experimental/LOAndroid3/src/java/org/libreoffice/overlay/TextCursorView.java index 320cffc..d952b80 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorView.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/overlay/TextCursorView.java @@ -6,21 +6,22 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -package org.libreoffice; +package org.libreoffice.overlay; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; -import android.graphics.Point; import android.graphics.PointF; import android.graphics.RectF; import android.util.AttributeSet; import android.util.Log; import android.view.MotionEvent; import android.view.View; -import android.widget.RelativeLayout; +import org.libreoffice.LOKitShell; +import org.libreoffice.canvas.GraphicSelectionCanvasElement; +import org.libreoffice.canvas.GraphicSelectionHandleCanvasElement; import org.mozilla.gecko.gfx.ImmutableViewportMetrics; import org.mozilla.gecko.gfx.LayerView; import org.mozilla.gecko.gfx.RectUtils; @@ -50,7 +51,7 @@ public class TextCursorView extends View implements View.OnTouchListener { private Paint mGraphicSelectionPaint = new Paint(); - private DrawElementGraphicSelection mGraphicSelection; + private GraphicSelectionCanvasElement mGraphicSelection; private PointF mTouchStart = new PointF(); private PointF mDeltaPoint = new PointF(); @@ -60,8 +61,8 @@ public class TextCursorView extends View implements View.OnTouchListener { private LayerView mLayerView; - private DrawElementHandle mHandles[] = new DrawElementHandle[8]; - private DrawElementHandle mDragHandle = null; + private GraphicSelectionHandleCanvasElement mHandles[] = new GraphicSelectionHandleCanvasElement[8]; + private GraphicSelectionHandleCanvasElement mDragHandle = null; public TextCursorView(Context context) { super(context); @@ -97,18 +98,18 @@ public class TextCursorView extends View implements View.OnTouchListener { mGraphicSelectionPaint.setColor(Color.BLACK); mGraphicSelectionPaint.setStrokeWidth(2); - mGraphicSelection = new DrawElementGraphicSelection(mGraphicSelectionPaint); + mGraphicSelection = new GraphicSelectionCanvasElement(mGraphicSelectionPaint); mGraphicSelectionVisible = false; - mHandles[0] = new DrawElementHandle(mGraphicSelectionPaint); - mHandles[1] = new DrawElementHandle(mGraphicSelectionPaint); - mHandles[2] = new DrawElementHandle(mGraphicSelectionPaint); - mHandles[3] = new DrawElementHandle(mGraphicSelectionPaint); - mHandles[4] = new DrawElementHandle(mGraphicSelectionPaint); - mHandles[5] = new DrawElementHandle(mGraphicSelectionPaint); - mHandles[6] = new DrawElementHandle(mGraphicSelectionPaint); - mHandles[7] = new DrawElementHandle(mGraphicSelectionPaint); + mHandles[0] = new GraphicSelectionHandleCanvasElement(mGraphicSelectionPaint); + mHandles[1] = new GraphicSelectionHandleCanvasElement(mGraphicSelectionPaint); + mHandles[2] = new GraphicSelectionHandleCanvasElement(mGraphicSelectionPaint); + mHandles[3] = new GraphicSelectionHandleCanvasElement(mGraphicSelectionPaint); + mHandles[4] = new GraphicSelectionHandleCanvasElement(mGraphicSelectionPaint); + mHandles[5] = new GraphicSelectionHandleCanvasElement(mGraphicSelectionPaint); + mHandles[6] = new GraphicSelectionHandleCanvasElement(mGraphicSelectionPaint); + mHandles[7] = new GraphicSelectionHandleCanvasElement(mGraphicSelectionPaint); postDelayed(cursorAnimation, CURSOR_BLINK_TIME); @@ -201,7 +202,7 @@ public class TextCursorView extends View implements View.OnTouchListener { mGraphicSelection.draw(canvas); if (mGraphicSelectionMove) { - for (DrawElementHandle handle : mHandles) { + for (GraphicSelectionHandleCanvasElement handle : mHandles) { if (mDragHandle == handle) { handle.drawSelected(canvas); } else { @@ -209,7 +210,7 @@ public class TextCursorView extends View implements View.OnTouchListener { } } } else { - for (DrawElementHandle handle : mHandles) { + for (GraphicSelectionHandleCanvasElement handle : mHandles) { handle.draw(canvas); } } @@ -296,11 +297,11 @@ public class TextCursorView extends View implements View.OnTouchListener { private boolean checkIfGraphicSelectionWasHit() { // Check if handle was hit mDragHandle = null; - for (DrawElementHandle handle : mHandles) { + for (GraphicSelectionHandleCanvasElement handle : mHandles) { if (handle.contains(mTouchStart.x, mTouchStart.y)) { mDragHandle = handle; mGraphicSelectionMove = true; - mGraphicSelection.dragStart(DrawElementGraphicSelection.DragType.EXTEND, mTouchStart); + mGraphicSelection.dragStart(GraphicSelectionCanvasElement.DragType.EXTEND, mTouchStart); sendGraphicSelectionStart(handle.mPosition); return true; } @@ -308,7 +309,7 @@ public class TextCursorView extends View implements View.OnTouchListener { // Check if inside graphic selection was hit if (mGraphicSelection.contains(mTouchStart.x, mTouchStart.y)) { mGraphicSelectionMove = true; - mGraphicSelection.dragStart(DrawElementGraphicSelection.DragType.MOVE, mTouchStart); + mGraphicSelection.dragStart(GraphicSelectionCanvasElement.DragType.MOVE, mTouchStart); sendGraphicSelectionStart(mTouchStart); return true; } commit 19723443a44b625c0f378ae4fb42ae998bdb9fad Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> Date: Mon Mar 23 16:51:47 2015 +0900 android: extract drawing of selection into its own class Change-Id: I8e94edeafbf5b7fd5f02a1429893c4b803c71afa diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/DrawElementGraphicSelection.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/DrawElementGraphicSelection.java new file mode 100644 index 0000000..e4319fc --- /dev/null +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/DrawElementGraphicSelection.java @@ -0,0 +1,66 @@ +package org.libreoffice; + +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.PointF; +import android.graphics.RectF; + +/** + * This class is responsible to draw and reposition the selection + * rectangle. + */ +public class DrawElementGraphicSelection { + private final Paint mGraphicSelectionPaint; + public RectF mRectangle = new RectF(); + public RectF mScaledRectangle = new RectF(); + private RectF mDrawRectangle = new RectF(); + private DragType mType = DragType.NONE; + private PointF mStartDragPosition; + + public DrawElementGraphicSelection(Paint graphicSelectionPaint) { + mGraphicSelectionPaint = graphicSelectionPaint; + } + + public void reposition(RectF scaledRectangle) { + mScaledRectangle = scaledRectangle; + mDrawRectangle = scaledRectangle; + } + + public boolean contains(float x, float y) { + return mScaledRectangle.contains(x, y); + } + + public void draw(Canvas canvas) { + canvas.drawRect(mDrawRectangle, mGraphicSelectionPaint); + } + + public void dragStart(DragType type, PointF position) { + mType = type; + mStartDragPosition = position; + } + + public void dragging(PointF position) { + if (mType == DragType.MOVE) { + + float deltaX = position.x - mStartDragPosition.x; + float deltaY = position.y - mStartDragPosition.y; + + mDrawRectangle = new RectF(mScaledRectangle); + mDrawRectangle.offset(deltaX, deltaY); + } else if (mType == DragType.EXTEND) { + mDrawRectangle = new RectF(mScaledRectangle); + mDrawRectangle.union(position.x, position.y); + } + } + + public void dragEnd() { + mType = DragType.NONE; + mDrawRectangle = mScaledRectangle; + } + + enum DragType { + NONE, + MOVE, + EXTEND + } +} diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorView.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorView.java index 26eb215..320cffc 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorView.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorView.java @@ -48,14 +48,16 @@ public class TextCursorView extends View implements View.OnTouchListener { private Paint mSelectionPaint = new Paint(); private boolean mSelectionsVisible; - private RectF mGraphicSelection = new RectF(); - private RectF mGraphicScaledSelection = new RectF(); private Paint mGraphicSelectionPaint = new Paint(); - private boolean mGraphicSelectionVisible; + private DrawElementGraphicSelection mGraphicSelection; + private PointF mTouchStart = new PointF(); private PointF mDeltaPoint = new PointF(); + + private boolean mGraphicSelectionVisible; private boolean mGraphicSelectionMove = false; + private LayerView mLayerView; private DrawElementHandle mHandles[] = new DrawElementHandle[8]; @@ -94,6 +96,9 @@ public class TextCursorView extends View implements View.OnTouchListener { mGraphicSelectionPaint.setStyle(Paint.Style.STROKE); mGraphicSelectionPaint.setColor(Color.BLACK); mGraphicSelectionPaint.setStrokeWidth(2); + + mGraphicSelection = new DrawElementGraphicSelection(mGraphicSelectionPaint); + mGraphicSelectionVisible = false; mHandles[0] = new DrawElementHandle(mGraphicSelectionPaint); @@ -144,39 +149,43 @@ public class TextCursorView extends View implements View.OnTouchListener { return; } - mGraphicSelection = rectangle; + mGraphicSelection.mRectangle = rectangle; ImmutableViewportMetrics metrics = layerView.getViewportMetrics(); repositionWithViewport(metrics.viewportRectLeft, metrics.viewportRectTop, metrics.zoomFactor); } public void repositionWithViewport(float x, float y, float zoom) { - mCursorScaledPosition = RectUtils.scale(mCursorPosition, zoom); - mCursorScaledPosition.offset(-x, -y); + mCursorScaledPosition = convertPosition(mCursorPosition, x, y, zoom); mCursorScaledPosition.right = mCursorScaledPosition.left + CURSOR_WIDTH; mScaledSelections.clear(); for (RectF selection : mSelections) { - RectF scaledSelection = RectUtils.scale(selection, zoom); - scaledSelection.offset(-x, -y); + RectF scaledSelection = convertPosition(selection, x, y, zoom); mScaledSelections.add(scaledSelection); } - mGraphicScaledSelection = RectUtils.scale(mGraphicSelection, zoom); - mGraphicScaledSelection.offset(-x, -y); + RectF scaledGraphicSelection = convertPosition(mGraphicSelection.mRectangle, x, y, zoom); + mGraphicSelection.reposition(scaledGraphicSelection); - mHandles[0].reposition(mGraphicScaledSelection.left, mGraphicScaledSelection.top); - mHandles[1].reposition(mGraphicScaledSelection.centerX(), mGraphicScaledSelection.top); - mHandles[2].reposition(mGraphicScaledSelection.right, mGraphicScaledSelection.top); - mHandles[3].reposition(mGraphicScaledSelection.left, mGraphicScaledSelection.centerY()); - mHandles[4].reposition(mGraphicScaledSelection.right, mGraphicScaledSelection.centerY()); - mHandles[5].reposition(mGraphicScaledSelection.left, mGraphicScaledSelection.bottom); - mHandles[6].reposition(mGraphicScaledSelection.centerX(), mGraphicScaledSelection.bottom); - mHandles[7].reposition(mGraphicScaledSelection.right, mGraphicScaledSelection.bottom); + mHandles[0].reposition(scaledGraphicSelection.left, scaledGraphicSelection.top); + mHandles[1].reposition(scaledGraphicSelection.centerX(), scaledGraphicSelection.top); + mHandles[2].reposition(scaledGraphicSelection.right, scaledGraphicSelection.top); + mHandles[3].reposition(scaledGraphicSelection.left, scaledGraphicSelection.centerY()); + mHandles[4].reposition(scaledGraphicSelection.right, scaledGraphicSelection.centerY()); + mHandles[5].reposition(scaledGraphicSelection.left, scaledGraphicSelection.bottom); + mHandles[6].reposition(scaledGraphicSelection.centerX(), scaledGraphicSelection.bottom); + mHandles[7].reposition(scaledGraphicSelection.right, scaledGraphicSelection.bottom); invalidate(); } + private RectF convertPosition(RectF cursorPosition, float x, float y, float zoom) { + RectF cursor = RectUtils.scale(cursorPosition, zoom); + cursor.offset(-x, -y); + return cursor; + } + @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); @@ -189,6 +198,8 @@ public class TextCursorView extends View implements View.OnTouchListener { } } if (mGraphicSelectionVisible) { + mGraphicSelection.draw(canvas); + if (mGraphicSelectionMove) { for (DrawElementHandle handle : mHandles) { if (mDragHandle == handle) { @@ -197,20 +208,7 @@ public class TextCursorView extends View implements View.OnTouchListener { handle.draw(canvas); } } - - RectF selectionRect = new RectF(mGraphicScaledSelection); - if (mDragHandle != null) { - PointF dragPosition = new PointF(mDragHandle.mPosition.x, mDragHandle.mPosition.y); - dragPosition.offset(mDeltaPoint.x, mDeltaPoint.y); - selectionRect.union(dragPosition.x, dragPosition.y); - canvas.drawRect(selectionRect, mGraphicSelectionPaint); - } else { - selectionRect.offset(mDeltaPoint.x, mDeltaPoint.y); - canvas.drawRect(selectionRect, mGraphicSelectionPaint); - } } else { - canvas.drawRect(mGraphicScaledSelection, mGraphicSelectionPaint); - for (DrawElementHandle handle : mHandles) { handle.draw(canvas); } @@ -286,6 +284,7 @@ public class TextCursorView extends View implements View.OnTouchListener { if (mGraphicSelectionVisible && mGraphicSelectionMove) { mDeltaPoint.x = event.getX() - mTouchStart.x; mDeltaPoint.y = event.getY() - mTouchStart.y; + mGraphicSelection.dragging(new PointF(event.getX(), event.getY())); invalidate(); return true; } @@ -301,13 +300,15 @@ public class TextCursorView extends View implements View.OnTouchListener { if (handle.contains(mTouchStart.x, mTouchStart.y)) { mDragHandle = handle; mGraphicSelectionMove = true; + mGraphicSelection.dragStart(DrawElementGraphicSelection.DragType.EXTEND, mTouchStart); sendGraphicSelectionStart(handle.mPosition); return true; } } // Check if inside graphic selection was hit - if (mGraphicScaledSelection.contains(mTouchStart.x, mTouchStart.y)) { + if (mGraphicSelection.contains(mTouchStart.x, mTouchStart.y)) { mGraphicSelectionMove = true; + mGraphicSelection.dragStart(DrawElementGraphicSelection.DragType.MOVE, mTouchStart); sendGraphicSelectionStart(mTouchStart); return true; } @@ -316,6 +317,7 @@ public class TextCursorView extends View implements View.OnTouchListener { private boolean stopGraphicSelection() { mGraphicSelectionMove = false; + PointF point = new PointF(); if (mDragHandle != null) { point.x = mDragHandle.mPosition.x; @@ -326,6 +328,8 @@ public class TextCursorView extends View implements View.OnTouchListener { } point.offset(mDeltaPoint.x, mDeltaPoint.y); sendGraphicSelectionEnd(point); + + mGraphicSelection.dragEnd(); invalidate(); return true; } commit a3d531598fb74cccae9e9e2cf20a02c6a17ecc30 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> Date: Mon Mar 23 16:06:38 2015 +0900 android: remove import android.util.Log from InvalidationHandler Change-Id: Ie944ca77abf13c4ac2c3b9c492d56878bfffba55 diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java index 805ed9c..1e8c2d9 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java @@ -3,7 +3,6 @@ package org.libreoffice; import android.content.Intent; import android.graphics.RectF; import android.net.Uri; -import android.util.Log; import org.libreoffice.kit.Document; import org.mozilla.gecko.TextSelection;
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits