diff --git a/app/src/main/java/com/simplemobiletools/draw/MyCanvas.java b/app/src/main/java/com/simplemobiletools/draw/MyCanvas.java
index 607712d..ab32d8a 100644
--- a/app/src/main/java/com/simplemobiletools/draw/MyCanvas.java
+++ b/app/src/main/java/com/simplemobiletools/draw/MyCanvas.java
@@ -85,7 +85,7 @@ public class MyCanvas extends View {
canvas.drawPath(mPath, mPaint);
}
- public void clearCanvas(){
+ public void clearCanvas() {
mPath.reset();
mPaths.clear();
pathsUpdated();
diff --git a/app/src/main/java/com/simplemobiletools/draw/Utils.java b/app/src/main/java/com/simplemobiletools/draw/Utils.java
index ecdea08..7115145 100644
--- a/app/src/main/java/com/simplemobiletools/draw/Utils.java
+++ b/app/src/main/java/com/simplemobiletools/draw/Utils.java
@@ -1,10 +1,28 @@
package com.simplemobiletools.draw;
import android.content.Context;
+import android.graphics.Color;
import android.widget.Toast;
public class Utils {
+ private final static double BRIGHTNESS_CUTOFF = 130.0;
+
public static void showToast(Context cxt, int msgId) {
Toast.makeText(cxt, cxt.getResources().getString(msgId), Toast.LENGTH_SHORT).show();
}
+
+ // Used to determine the best foreground color (black or white) given a background color
+ public static boolean shouldUseWhite(int color) {
+ float r, g, b;
+ r = Color.red(color);
+ g = Color.green(color);
+ b = Color.blue(color);
+
+ double brightness = Math.sqrt(
+ r * r * .299 +
+ g * g * .587 +
+ b * b * .114);
+
+ return brightness < BRIGHTNESS_CUTOFF;
+ }
}
diff --git a/app/src/main/java/com/simplemobiletools/draw/activities/MainActivity.java b/app/src/main/java/com/simplemobiletools/draw/activities/MainActivity.java
index 63b9c00..6a4aafb 100644
--- a/app/src/main/java/com/simplemobiletools/draw/activities/MainActivity.java
+++ b/app/src/main/java/com/simplemobiletools/draw/activities/MainActivity.java
@@ -5,6 +5,7 @@ import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
import android.media.MediaScannerConnection;
import android.net.Uri;
import android.os.Bundle;
@@ -18,6 +19,7 @@ import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
+import android.widget.ImageView;
import android.widget.Toast;
import com.simplemobiletools.draw.Config;
@@ -87,6 +89,27 @@ public class MainActivity extends SimpleActivity implements MyCanvas.PathsChange
case R.id.clear:
mMyCanvas.clearCanvas();
return true;
+ case R.id.change_background:
+ int oldColor = ((ColorDrawable)mMyCanvas.getBackground()).getColor();
+ AmbilWarnaDialog dialog = new AmbilWarnaDialog(this, oldColor,
+ new AmbilWarnaDialog.OnAmbilWarnaListener() {
+ @Override
+ public void onCancel(AmbilWarnaDialog dialog) {
+ }
+
+ @Override
+ public void onOk(AmbilWarnaDialog dialog, int pickedColor) {
+ if (Utils.shouldUseWhite(pickedColor)) {
+ ((ImageView)mUndoBtn).setImageResource(R.mipmap.undo_white);
+ } else {
+ ((ImageView)mUndoBtn).setImageResource(R.mipmap.undo_black);
+ }
+ mMyCanvas.setBackgroundColor(pickedColor);
+ }
+ });
+
+ dialog.show();
+ return true;
case R.id.about:
startActivity(new Intent(getApplicationContext(), AboutActivity.class));
return true;
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index e40ba7d..ab8c976 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -23,7 +23,7 @@
android:layout_alignParentRight="true"
android:layout_below="@id/color_picker"
android:padding="@dimen/icon_padding"
- android:src="@mipmap/undo"
+ android:src="@mipmap/undo_black"
android:visibility="gone"/>
diff --git a/app/src/main/res/menu/menu.xml b/app/src/main/res/menu/menu.xml
index 38445c6..51b0885 100644
--- a/app/src/main/res/menu/menu.xml
+++ b/app/src/main/res/menu/menu.xml
@@ -15,6 +15,10 @@
android:id="@+id/clear"
android:title="@string/clear"
app:showAsAction="never"/>
+
- Ajustes
Tema oscuro
Limpiar
+ Cambiar fondo
Acerca de
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 80ab415..eca8301 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -17,6 +17,7 @@
Settings
Dark theme
Clear
+ Change background
About