summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox
diff options
context:
space:
mode:
authortobrun <tobrun.van.nuland@gmail.com>2018-06-25 13:36:57 +0200
committerTobrun <tobrun@mapbox.com>2018-06-27 19:11:48 +0200
commitabca28c66bbce4ff4d8fa5cb42f9abadfe8d3d5b (patch)
treec6feacb52869ec30d1b888ba74591d4b5b57e864 /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox
parent192bee256b3d767afca6c6f4c1161b0e931e5592 (diff)
downloadqtlocation-mapboxgl-abca28c66bbce4ff4d8fa5cb42f9abadfe8d3d5b.tar.gz
[android] - range alpha between 0 and 1 with android color conversion
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/expressions/Expression.java2
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/PropertyFactory.java20
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/property_factory.java.ejs20
3 files changed, 29 insertions, 13 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/expressions/Expression.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/expressions/Expression.java
index 72e8187b96..1aa0ce9093 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/expressions/Expression.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/expressions/Expression.java
@@ -213,7 +213,7 @@ public class Expression {
* @return the color expression
*/
public static Expression color(@ColorInt int color) {
- int[] rgba = PropertyFactory.colorToRgbaArray(color);
+ float[] rgba = PropertyFactory.colorToRgbaArray(color);
return rgba(rgba[0], rgba[1], rgba[2], rgba[3]);
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/PropertyFactory.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/PropertyFactory.java
index 5338fb84f6..ad603d356e 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/PropertyFactory.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/PropertyFactory.java
@@ -6,6 +6,7 @@ import android.support.annotation.ColorInt;
import com.mapbox.mapboxsdk.style.expressions.Expression;
+import java.text.DecimalFormat;
import java.util.Locale;
/**
@@ -2397,22 +2398,29 @@ public class PropertyFactory {
/**
* Converts Android color int to "rbga(r, g, b, a)" String equivalent.
+ * <p>
+ * Alpha value will be converted from 0-255 range to 0-1.
+ * </p>
*
* @param color Android color int
* @return String rgba color
*/
public static String colorToRgbaString(@ColorInt int color) {
- return String.format(Locale.US, "rgba(%d, %d, %d, %d)",
- (color >> 16) & 0xFF, (color >> 8) & 0xFF, color & 0xFF, (color >> 24) & 0xFF);
+ String alpha = new DecimalFormat("#.###").format(((float)((color >> 24) & 0xFF)) / 255.0f);
+ return String.format(Locale.US, "rgba(%d, %d, %d, %s)",
+ (color >> 16) & 0xFF, (color >> 8) & 0xFF, color & 0xFF, alpha);
}
/**
- * Converts Android color int to rgba int array.
+ * Converts Android color int to rgba float array.
+ * <p>
+ * Alpha value will be converted from 0-255 range to 0-1.
+ * </p>
*
* @param color Android color int
* @return int rgba array
*/
- public static int[] colorToRgbaArray(@ColorInt int color) {
- return new int[] {(color >> 16) & 0xFF, (color >> 8) & 0xFF, color & 0xFF, (color >> 24) & 0xFF};
+ public static float[] colorToRgbaArray(@ColorInt int color) {
+ return new float[] {(color >> 16) & 0xFF, (color >> 8) & 0xFF, color & 0xFF, ((color >> 24) & 0xFF) / 255.0f};
}
-}
+} \ No newline at end of file
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/property_factory.java.ejs b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/property_factory.java.ejs
index ce0489409c..2fb51f4a47 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/property_factory.java.ejs
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/property_factory.java.ejs
@@ -10,6 +10,7 @@ import android.support.annotation.ColorInt;
import com.mapbox.mapboxsdk.style.expressions.Expression;
+import java.text.DecimalFormat;
import java.util.Locale;
/**
@@ -87,22 +88,29 @@ public class PropertyFactory {
<% } -%>
/**
* Converts Android color int to "rbga(r, g, b, a)" String equivalent.
+ * <p>
+ * Alpha value will be converted from 0-255 range to 0-1.
+ * </p>
*
* @param color Android color int
* @return String rgba color
*/
public static String colorToRgbaString(@ColorInt int color) {
- return String.format(Locale.US, "rgba(%d, %d, %d, %d)",
- (color >> 16) & 0xFF, (color >> 8) & 0xFF, color & 0xFF, (color >> 24) & 0xFF);
+ String alpha = new DecimalFormat("#.###").format(((float)((color >> 24) & 0xFF)) / 255.0f);
+ return String.format(Locale.US, "rgba(%d, %d, %d, %s)",
+ (color >> 16) & 0xFF, (color >> 8) & 0xFF, color & 0xFF, alpha);
}
/**
- * Converts Android color int to rgba int array.
+ * Converts Android color int to rgba float array.
+ * <p>
+ * Alpha value will be converted from 0-255 range to 0-1.
+ * </p>
*
* @param color Android color int
* @return int rgba array
*/
- public static int[] colorToRgbaArray(@ColorInt int color) {
- return new int[] {(color >> 16) & 0xFF, (color >> 8) & 0xFF, color & 0xFF, (color >> 24) & 0xFF};
+ public static float[] colorToRgbaArray(@ColorInt int color) {
+ return new float[] {(color >> 16) & 0xFF, (color >> 8) & 0xFF, color & 0xFF, ((color >> 24) & 0xFF) / 255.0f};
}
-}
+} \ No newline at end of file