summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2015-03-06 18:54:27 +0900
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-03-09 10:16:19 +0100
commit58c89e41408e1ea0a93d84a02e0921bfe1b34c5c (patch)
tree3d42ca63e03ef35501ae816e4e5c02be445a0e99
parentbbb857c1d3a7c1e5e9f2548e63fb8a80807f1ee3 (diff)
android: support to make selections visible/invisible
Change-Id: Iaebf3e5a2f0c11efa7110b7062ecfc3ae38e0e64
-rw-r--r--android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorLayer.java20
-rw-r--r--android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorView.java27
2 files changed, 40 insertions, 7 deletions
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorLayer.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorLayer.java
index 0fa3764cdbd9..ce17c68eb386 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorLayer.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorLayer.java
@@ -80,6 +80,26 @@ public class TextCursorLayer extends Layer {
});
}
+ public void showSelections() {
+ LOKitShell.getMainHandler().post(new Runnable() {
+ public void run() {
+ LayerView layerView = LOKitShell.getLayerView();
+ if (layerView != null) {
+ layerView.addLayer(TextCursorLayer.this);
+ }
+ mCursorView.showSelections();
+ }
+ });
+ }
+
+ public void hideSelections() {
+ LOKitShell.getMainHandler().post(new Runnable() {
+ public void run() {
+ mCursorView.hideSelections();
+ }
+ });
+ }
+
public void changeSelections(final List<RectF> selections) {
LOKitShell.getMainHandler().post(new Runnable() {
public void run() {
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorView.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorView.java
index f1e903814206..685e8c3f7dc5 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorView.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/TextCursorView.java
@@ -36,6 +36,7 @@ public class TextCursorView extends View {
private Paint mSelectionPaint = new Paint();
private boolean mCursorVisible;
+ private boolean mSelectionsVisible;
public TextCursorView(Context context) {
super(context);
@@ -57,13 +58,14 @@ public class TextCursorView extends View {
postDelayed(cursorAnimation, 500);
mCursorPaint.setColor(Color.BLACK);
- mCursorPaint.setAlpha(0);
+ mCursorPaint.setAlpha(0xFF);
mCursorVisible = false;
mSelectionPaint.setColor(Color.BLUE);
mSelectionPaint.setAlpha(50);
+ mSelectionsVisible = false;
mInitialized = true;
}
}
@@ -110,10 +112,13 @@ public class TextCursorView extends View {
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
- canvas.drawRect(mCursorScaledPosition, mCursorPaint);
-
- for (RectF selection : mScaledSelections) {
- canvas.drawRect(selection, mSelectionPaint);
+ if (mCursorVisible) {
+ canvas.drawRect(mCursorScaledPosition, mCursorPaint);
+ }
+ if (mSelectionsVisible) {
+ for (RectF selection : mScaledSelections) {
+ canvas.drawRect(selection, mSelectionPaint);
+ }
}
}
@@ -129,13 +134,21 @@ public class TextCursorView extends View {
public void showCursor() {
mCursorVisible = true;
- mCursorPaint.setAlpha(0xFF);
invalidate();
}
public void hideCursor() {
mCursorVisible = false;
- mCursorPaint.setAlpha(0);
+ invalidate();
+ }
+
+ public void showSelections() {
+ mSelectionsVisible = true;
+ invalidate();
+ }
+
+ public void hideSelections() {
+ mSelectionsVisible = false;
invalidate();
}
} \ No newline at end of file