[Libreoffice-commits] core.git: Branch 'feature/tiled-editing' - 2 commits - android/experimental
Tomaž Vajngerl
tomaz.vajngerl at collabora.co.uk
Thu Mar 26 03:56:55 PDT 2015
android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/CanvasElement.java | 25 +
android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelection.java | 203 ++++++++++
android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionCanvasElement.java | 199 ---------
android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionHandle.java | 100 ++++
android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionHandleCanvasElement.java | 96 ----
android/experimental/LOAndroid3/src/java/org/libreoffice/overlay/TextCursorView.java | 7
6 files changed, 331 insertions(+), 299 deletions(-)
New commits:
commit 888682c22af79dc7bc09a4f5d017f2c98bff817f
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
Date: Thu Mar 26 19:55:18 2015 +0900
android: rename graphic selection and handle
Change-Id: I7bf89b92190ba37535fa89118269d706d6bf05d9
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionCanvasElement.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelection.java
similarity index 80%
rename from android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionCanvasElement.java
rename to android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelection.java
index a205c67..8251495 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionCanvasElement.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelection.java
@@ -17,13 +17,13 @@ import android.graphics.RectF;
import org.libreoffice.LOKitShell;
import org.mozilla.gecko.gfx.LayerView;
-import static org.libreoffice.canvas.GraphicSelectionHandleCanvasElement.HandlePosition;
+import static org.libreoffice.canvas.GraphicSelectionHandle.HandlePosition;
/**
* This class is responsible to draw and reposition the selection
* rectangle.
*/
-public class GraphicSelectionCanvasElement implements CanvasElement {
+public class GraphicSelection implements CanvasElement {
private final Paint mPaint;
public RectF mRectangle = new RectF();
public RectF mScaledRectangle = new RectF();
@@ -31,23 +31,23 @@ public class GraphicSelectionCanvasElement implements CanvasElement {
private DragType mType = DragType.NONE;
private PointF mStartDragPosition;
- private GraphicSelectionHandleCanvasElement mHandles[] = new GraphicSelectionHandleCanvasElement[8];
- private GraphicSelectionHandleCanvasElement mDragHandle = null;
+ private GraphicSelectionHandle mHandles[] = new GraphicSelectionHandle[8];
+ private GraphicSelectionHandle mDragHandle = null;
- public GraphicSelectionCanvasElement() {
+ public GraphicSelection() {
mPaint = new Paint();
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setColor(Color.BLACK);
mPaint.setStrokeWidth(2);
- mHandles[0] = new GraphicSelectionHandleCanvasElement(HandlePosition.TOP_LEFT);
- mHandles[1] = new GraphicSelectionHandleCanvasElement(HandlePosition.TOP);
- mHandles[2] = new GraphicSelectionHandleCanvasElement(HandlePosition.TOP_RIGHT);
- mHandles[3] = new GraphicSelectionHandleCanvasElement(HandlePosition.LEFT);
- mHandles[4] = new GraphicSelectionHandleCanvasElement(HandlePosition.RIGHT);
- mHandles[5] = new GraphicSelectionHandleCanvasElement(HandlePosition.BOTTOM_LEFT);
- mHandles[6] = new GraphicSelectionHandleCanvasElement(HandlePosition.BOTTOM);
- mHandles[7] = new GraphicSelectionHandleCanvasElement(HandlePosition.BOTTOM_RIGHT);
+ mHandles[0] = new GraphicSelectionHandle(HandlePosition.TOP_LEFT);
+ mHandles[1] = new GraphicSelectionHandle(HandlePosition.TOP);
+ mHandles[2] = new GraphicSelectionHandle(HandlePosition.TOP_RIGHT);
+ mHandles[3] = new GraphicSelectionHandle(HandlePosition.LEFT);
+ mHandles[4] = new GraphicSelectionHandle(HandlePosition.RIGHT);
+ mHandles[5] = new GraphicSelectionHandle(HandlePosition.BOTTOM_LEFT);
+ mHandles[6] = new GraphicSelectionHandle(HandlePosition.BOTTOM);
+ mHandles[7] = new GraphicSelectionHandle(HandlePosition.BOTTOM_RIGHT);
}
public void reposition(RectF scaledRectangle) {
@@ -66,7 +66,7 @@ public class GraphicSelectionCanvasElement implements CanvasElement {
public boolean contains(float x, float y) {
// Check if handle was hit
- for (GraphicSelectionHandleCanvasElement handle : mHandles) {
+ for (GraphicSelectionHandle handle : mHandles) {
if (handle.contains(x, y)) {
return true;
}
@@ -80,7 +80,7 @@ public class GraphicSelectionCanvasElement implements CanvasElement {
@Override
public void draw(Canvas canvas) {
canvas.drawRect(mDrawRectangle, mPaint);
- for (GraphicSelectionHandleCanvasElement handle : mHandles) {
+ for (GraphicSelectionHandle handle : mHandles) {
handle.draw(canvas);
}
}
@@ -88,7 +88,7 @@ public class GraphicSelectionCanvasElement implements CanvasElement {
public void dragStart(PointF position) {
mDragHandle = null;
mType = DragType.NONE;
- for (GraphicSelectionHandleCanvasElement handle : mHandles) {
+ for (GraphicSelectionHandle handle : mHandles) {
if (handle.contains(position.x, position.y)) {
mDragHandle = handle;
mDragHandle.select();
@@ -189,7 +189,7 @@ public class GraphicSelectionCanvasElement implements CanvasElement {
public void reset() {
mDragHandle = null;
- for (GraphicSelectionHandleCanvasElement handle : mHandles) {
+ for (GraphicSelectionHandle handle : mHandles) {
handle.reset();
}
}
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionHandleCanvasElement.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionHandle.java
similarity index 93%
rename from android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionHandleCanvasElement.java
rename to android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionHandle.java
index 5bf544c..109592e 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionHandleCanvasElement.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionHandle.java
@@ -19,7 +19,7 @@ import android.graphics.RectF;
* position and perform a hit test to determine if the selection handle was
* touched.
*/
-public class GraphicSelectionHandleCanvasElement implements CanvasElement {
+public class GraphicSelectionHandle implements CanvasElement {
private final HandlePosition mHandlePosition;
public PointF mPosition = new PointF();
private float mRadius = 20.0f;
@@ -29,7 +29,7 @@ public class GraphicSelectionHandleCanvasElement implements CanvasElement {
private RectF mHitRect = new RectF();
private boolean mSelected = false;
- public GraphicSelectionHandleCanvasElement(HandlePosition position) {
+ public GraphicSelectionHandle(HandlePosition position) {
mHandlePosition = position;
mStrokePaint.setStyle(Paint.Style.STROKE);
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/overlay/TextCursorView.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/overlay/TextCursorView.java
index 97230cf..818dbc4 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/overlay/TextCursorView.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/overlay/TextCursorView.java
@@ -20,8 +20,7 @@ import android.view.MotionEvent;
import android.view.View;
import org.libreoffice.LOKitShell;
-import org.libreoffice.canvas.GraphicSelectionCanvasElement;
-import org.libreoffice.canvas.GraphicSelectionHandleCanvasElement;
+import org.libreoffice.canvas.GraphicSelection;
import org.mozilla.gecko.gfx.ImmutableViewportMetrics;
import org.mozilla.gecko.gfx.LayerView;
import org.mozilla.gecko.gfx.RectUtils;
@@ -49,7 +48,7 @@ public class TextCursorView extends View implements View.OnTouchListener {
private Paint mSelectionPaint = new Paint();
private boolean mSelectionsVisible;
- private GraphicSelectionCanvasElement mGraphicSelection;
+ private GraphicSelection mGraphicSelection;
private boolean mGraphicSelectionVisible;
private boolean mGraphicSelectionMove = false;
@@ -86,7 +85,7 @@ public class TextCursorView extends View implements View.OnTouchListener {
mSelectionPaint.setAlpha(50);
mSelectionsVisible = false;
- mGraphicSelection = new GraphicSelectionCanvasElement();
+ mGraphicSelection = new GraphicSelection();
mGraphicSelectionVisible = false;
commit 57e5a175c439bc0a1e0ca0fc45c6668b3afa6268
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
Date: Thu Mar 26 19:50:49 2015 +0900
android: introduce CanvasElement interface
Change-Id: Ic3cb636e397c110af54974159892b32b6c4c33c1
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/CanvasElement.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/CanvasElement.java
new file mode 100644
index 0000000..154d4ce
--- /dev/null
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/CanvasElement.java
@@ -0,0 +1,25 @@
+/* -*- 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;
+
+/**
+ * Canvas element is an element (or part) that is drawn canvas and can
+ * potentially be interacted with.
+ */
+public interface CanvasElement {
+ /**
+ * Called when the element needs to be draw no the canvas.
+ * @param canvas - the canvas
+ */
+ void draw(Canvas canvas);
+}
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
\ No newline at end of file
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionCanvasElement.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionCanvasElement.java
index 909d808..a205c67 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionCanvasElement.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionCanvasElement.java
@@ -23,7 +23,7 @@ import static org.libreoffice.canvas.GraphicSelectionHandleCanvasElement.HandleP
* This class is responsible to draw and reposition the selection
* rectangle.
*/
-public class GraphicSelectionCanvasElement {
+public class GraphicSelectionCanvasElement implements CanvasElement {
private final Paint mPaint;
public RectF mRectangle = new RectF();
public RectF mScaledRectangle = new RectF();
@@ -74,6 +74,10 @@ public class GraphicSelectionCanvasElement {
return mScaledRectangle.contains(x, y);
}
+ /**
+ * @see org.libreoffice.canvas.CanvasElement#draw(android.graphics.Canvas)
+ */
+ @Override
public void draw(Canvas canvas) {
canvas.drawRect(mDrawRectangle, mPaint);
for (GraphicSelectionHandleCanvasElement handle : mHandles) {
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionHandleCanvasElement.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionHandleCanvasElement.java
index 62b6bc1..5bf544c 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionHandleCanvasElement.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/GraphicSelectionHandleCanvasElement.java
@@ -19,7 +19,7 @@ import android.graphics.RectF;
* position and perform a hit test to determine if the selection handle was
* touched.
*/
-public class GraphicSelectionHandleCanvasElement {
+public class GraphicSelectionHandleCanvasElement implements CanvasElement {
private final HandlePosition mHandlePosition;
public PointF mPosition = new PointF();
private float mRadius = 20.0f;
@@ -47,6 +47,10 @@ public class GraphicSelectionHandleCanvasElement {
return mHandlePosition;
}
+ /**
+ * @see org.libreoffice.canvas.CanvasElement#draw(android.graphics.Canvas)
+ */
+ @Override
public void draw(Canvas canvas) {
if (mSelected) {
drawFilledCircle(canvas, mPosition.x, mPosition.y, mRadius, mStrokePaint, mSelectedFillPaint);
More information about the Libreoffice-commits
mailing list