diff options
author | Tobrun <tobrun.van.nuland@gmail.com> | 2018-07-12 20:05:40 +0200 |
---|---|---|
committer | Tobrun <tobrun@mapbox.com> | 2018-07-27 11:40:04 +0200 |
commit | 1be63108bb66f235bec3704a0df8b8145f3c49a1 (patch) | |
tree | 890cf2cd343d7a61230625fd769f9a8db6eb399a /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/ColorUtils.java | |
parent | d61ad7b64243d0dc557d678512218e1f433f2349 (diff) | |
download | qtlocation-mapboxgl-1be63108bb66f235bec3704a0df8b8145f3c49a1.tar.gz |
[android] - wait for the initial render to occur before showing the map to the end-user
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/ColorUtils.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/ColorUtils.java | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/ColorUtils.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/ColorUtils.java index 1c0e439afc..3a53794e50 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/ColorUtils.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/ColorUtils.java @@ -15,6 +15,8 @@ import android.widget.ImageView; import com.mapbox.mapboxsdk.R; import com.mapbox.mapboxsdk.exceptions.ConversionException; +import java.text.DecimalFormat; +import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -139,6 +141,58 @@ public class ColorUtils { } } + /** + * 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) { + 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 float array. + * <p> + * Returned RGB values range from 0 to 255. + * Alpha value ranges from 0-1. + * </p> + * + * @param color Android color int + * @return float rgba array, rgb values range from 0-255, alpha from 0-1 + */ + public static float[] colorToRgbaArray(@ColorInt int color) { + return new float[] { + (color >> 16) & 0xFF, // r (0-255) + (color >> 8) & 0xFF, // g (0-255) + color & 0xFF, // b (0-255) + ((color >> 24) & 0xFF) / 255.0f // a (0-1) + }; + } + + /** + * Converts Android color int to GL rgba float array. + * <p> + * Returned values range from 0-1. + * </p> + * + * @param color Android color int + * @return float rgba array, values range from 0 to 1 + */ + public static float[] colorToGlRgbaArray(@ColorInt int color) { + return new float[] { + ((color >> 16) & 0xFF) / 255.0f, // r (0-1) + ((color >> 8) & 0xFF) / 255.0f, // g (0-1) + (color & 0xFF) / 255.0f, // b (0-1) + ((color >> 24) & 0xFF) / 255.0f // a (0-1) + }; + } + private static int getColorCompat(Context context, int id) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { return context.getResources().getColor(id, context.getTheme()); |