[android] Use new GPS markers.
Add missing dpi for mapbox logo and compass. Fixes #2732 Fixes #2690
@@ -658,7 +658,7 @@ public final class MapView extends FrameLayout {
|
||||
|
||||
// Setup Mapbox logo
|
||||
mLogoView = new ImageView(mContext);
|
||||
mLogoView.setImageDrawable(ContextCompat.getDrawable(mContext, R.drawable.ic_logo_mapbox));
|
||||
mLogoView.setImageDrawable(ContextCompat.getDrawable(mContext, R.drawable.attribution_logo));
|
||||
mLogoView.setContentDescription(getResources().getString(R.string.mapboxIconContentDescription));
|
||||
ViewGroup.LayoutParams logoParams = new ViewGroup.LayoutParams(
|
||||
ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||
|
||||
@@ -12,12 +12,15 @@ import android.graphics.Path;
|
||||
import android.graphics.PointF;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.RectF;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.location.Location;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.mapbox.mapboxsdk.R;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLng;
|
||||
import com.mapzen.android.lost.api.LocationListener;
|
||||
import com.mapzen.android.lost.api.LocationRequest;
|
||||
@@ -30,32 +33,37 @@ final class UserLocationView extends View {
|
||||
|
||||
private WeakReference<MapView> mMapView;
|
||||
|
||||
private static final int BLUE_COLOR = 0x39ACCBFF;
|
||||
|
||||
private float mDensity;
|
||||
|
||||
private boolean mShowMarker;
|
||||
private boolean mShowDirection;
|
||||
private boolean mShowAccuracy;
|
||||
|
||||
private PointF mMarkerScreenPoint;
|
||||
private Matrix mMarkerScreenMatrix;
|
||||
|
||||
private Paint mOuterRingPaint;
|
||||
private Path mOuterRingPath;
|
||||
private RectF mOuterRingBounds;
|
||||
|
||||
private Paint mInnerRingPaintFill;
|
||||
private Paint mInnerRingPaintStroke;
|
||||
private Path mInnerRingPath;
|
||||
|
||||
private boolean mShowDirection;
|
||||
private Paint mDirectionArrowPaint;
|
||||
private Path mDirectionArrowPath;
|
||||
|
||||
private boolean mShowAccuracy;
|
||||
private Paint mAccuracyPaintFill;
|
||||
private Paint mAccuracyPaintStroke;
|
||||
private Path mAccuracyPath;
|
||||
private RectF mAccuracyBounds;
|
||||
|
||||
private Drawable mUserLocationDrawable;
|
||||
private RectF mUserLocationDrawableBoundsF;
|
||||
private Rect mUserLocationDrawableBounds;
|
||||
|
||||
private Drawable mUserLocationBearingDrawable;
|
||||
private RectF mUserLocationBearingDrawableBoundsF;
|
||||
private Rect mUserLocationBearingDrawableBounds;
|
||||
|
||||
private Drawable mUserLocationStaleDrawable;
|
||||
private RectF mUserLocationStaleDrawableBoundsF;
|
||||
private Rect mUserLocationStaleDrawableBounds;
|
||||
|
||||
private Rect mDirtyRect;
|
||||
private RectF mDirtyRectF;
|
||||
|
||||
private boolean mShowMarker;
|
||||
private LatLng mMarkerCoordinate;
|
||||
private ValueAnimator mMarkerCoordinateAnimator;
|
||||
private float mMarkerDirection;
|
||||
@@ -91,6 +99,7 @@ final class UserLocationView extends View {
|
||||
|
||||
// View configuration
|
||||
setEnabled(false);
|
||||
setWillNotDraw(false);
|
||||
|
||||
// Layout params
|
||||
ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(
|
||||
@@ -112,58 +121,60 @@ final class UserLocationView extends View {
|
||||
mMarkerScreenPoint = new PointF();
|
||||
mMarkerScreenMatrix = new Matrix();
|
||||
|
||||
mOuterRingPaint = new Paint();
|
||||
mOuterRingPaint.setAntiAlias(true);
|
||||
mOuterRingPaint.setStyle(Paint.Style.FILL);
|
||||
mOuterRingPaint.setColor(Color.BLACK);
|
||||
mOuterRingPaint.setAlpha((int) (255 * 0.5f));
|
||||
|
||||
mOuterRingPath = new Path();
|
||||
mOuterRingPath.addCircle(0.0f, 0.0f, 15.0f * mDensity, Path.Direction.CW);
|
||||
|
||||
mOuterRingBounds = new RectF();
|
||||
mOuterRingPath.computeBounds(mOuterRingBounds, false);
|
||||
|
||||
mInnerRingPaintFill = new Paint();
|
||||
mInnerRingPaintFill.setAntiAlias(true);
|
||||
mInnerRingPaintFill.setStyle(Paint.Style.FILL);
|
||||
mInnerRingPaintFill.setColor(Color.WHITE);
|
||||
|
||||
mInnerRingPaintStroke = new Paint();
|
||||
mInnerRingPaintStroke.setAntiAlias(true);
|
||||
mInnerRingPaintStroke.setStyle(Paint.Style.STROKE);
|
||||
mInnerRingPaintStroke.setStrokeWidth(1.0f * mDensity);
|
||||
mInnerRingPaintStroke.setColor(Color.BLACK);
|
||||
|
||||
mInnerRingPath = new Path();
|
||||
mInnerRingPath.addCircle(0.0f, 0.0f, 7.5f * mDensity, Path.Direction.CW);
|
||||
|
||||
mDirectionArrowPaint = mInnerRingPaintFill;
|
||||
|
||||
mDirectionArrowPath = new Path();
|
||||
mDirectionArrowPath.moveTo(0.0f, -15.0f * mDensity);
|
||||
mDirectionArrowPath.arcTo(
|
||||
new RectF(
|
||||
-9.0f * mDensity, -9.0f * mDensity,
|
||||
9.0f * mDensity, 9.0f * mDensity),
|
||||
225.0f, 90.0f, false);
|
||||
mDirectionArrowPath.close();
|
||||
|
||||
mAccuracyPaintFill = new Paint();
|
||||
mAccuracyPaintFill.setAntiAlias(true);
|
||||
mAccuracyPaintFill.setStyle(Paint.Style.FILL);
|
||||
mAccuracyPaintFill.setColor(Color.BLACK);
|
||||
mAccuracyPaintFill.setColor(BLUE_COLOR);
|
||||
mAccuracyPaintFill.setAlpha((int) (255 * 0.25f));
|
||||
|
||||
mAccuracyPaintStroke = new Paint();
|
||||
mAccuracyPaintStroke.setAntiAlias(true);
|
||||
mAccuracyPaintStroke.setStyle(Paint.Style.STROKE);
|
||||
mAccuracyPaintStroke.setStrokeWidth(0.5f * mDensity);
|
||||
mAccuracyPaintStroke.setColor(Color.BLACK);
|
||||
mAccuracyPaintStroke.setColor(BLUE_COLOR);
|
||||
mAccuracyPaintStroke.setAlpha((int) (255 * 0.5f));
|
||||
|
||||
mAccuracyPath = new Path();
|
||||
mAccuracyBounds = new RectF();
|
||||
|
||||
mUserLocationDrawable = ContextCompat.getDrawable(getContext(), R.drawable.user_location);
|
||||
mUserLocationDrawableBounds = new Rect(
|
||||
-mUserLocationDrawable.getIntrinsicWidth() / 2,
|
||||
-mUserLocationDrawable.getIntrinsicHeight() / 2,
|
||||
mUserLocationDrawable.getIntrinsicWidth() / 2,
|
||||
mUserLocationDrawable.getIntrinsicHeight() / 2);
|
||||
mUserLocationDrawableBoundsF = new RectF(
|
||||
-mUserLocationDrawable.getIntrinsicWidth() / 2,
|
||||
-mUserLocationDrawable.getIntrinsicHeight() / 2,
|
||||
mUserLocationDrawable.getIntrinsicWidth() / 2,
|
||||
mUserLocationDrawable.getIntrinsicHeight() / 2);
|
||||
mUserLocationDrawable.setBounds(mUserLocationDrawableBounds);
|
||||
|
||||
mUserLocationBearingDrawable = ContextCompat.getDrawable(getContext(), R.drawable.user_location_bearing);
|
||||
mUserLocationBearingDrawableBounds = new Rect(
|
||||
-mUserLocationBearingDrawable.getIntrinsicWidth() / 2,
|
||||
-mUserLocationBearingDrawable.getIntrinsicHeight() / 2,
|
||||
mUserLocationBearingDrawable.getIntrinsicWidth() / 2,
|
||||
mUserLocationBearingDrawable.getIntrinsicHeight() / 2);
|
||||
mUserLocationBearingDrawableBoundsF = new RectF(
|
||||
-mUserLocationBearingDrawable.getIntrinsicWidth() / 2,
|
||||
-mUserLocationBearingDrawable.getIntrinsicHeight() / 2,
|
||||
mUserLocationBearingDrawable.getIntrinsicWidth() / 2,
|
||||
mUserLocationBearingDrawable.getIntrinsicHeight() / 2);
|
||||
mUserLocationBearingDrawable.setBounds(mUserLocationBearingDrawableBounds);
|
||||
|
||||
mUserLocationStaleDrawable = ContextCompat.getDrawable(getContext(), R.drawable.user_location_stale);
|
||||
mUserLocationStaleDrawableBounds = new Rect(
|
||||
-mUserLocationStaleDrawable.getIntrinsicWidth() / 2,
|
||||
-mUserLocationStaleDrawable.getIntrinsicHeight() / 2,
|
||||
mUserLocationStaleDrawable.getIntrinsicWidth() / 2,
|
||||
mUserLocationStaleDrawable.getIntrinsicHeight() / 2);
|
||||
mUserLocationStaleDrawableBoundsF = new RectF(
|
||||
-mUserLocationStaleDrawable.getIntrinsicWidth() / 2,
|
||||
-mUserLocationStaleDrawable.getIntrinsicHeight() / 2,
|
||||
mUserLocationStaleDrawable.getIntrinsicWidth() / 2,
|
||||
mUserLocationStaleDrawable.getIntrinsicHeight() / 2);
|
||||
mUserLocationStaleDrawable.setBounds(mUserLocationStaleDrawableBounds);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -176,17 +187,24 @@ final class UserLocationView extends View {
|
||||
|
||||
canvas.concat(mMarkerScreenMatrix);
|
||||
|
||||
if (!canvas.quickReject(mOuterRingPath, Canvas.EdgeType.AA)) {
|
||||
Drawable dotDrawable = mShowDirection ? mUserLocationBearingDrawable : mUserLocationDrawable;
|
||||
// IMPORTANT also update in uodate()
|
||||
RectF dotBounds = mShowDirection ? mUserLocationBearingDrawableBoundsF : mUserLocationDrawableBoundsF;
|
||||
|
||||
boolean willDraw;
|
||||
willDraw = mShowAccuracy && !canvas.quickReject(mAccuracyPath, Canvas.EdgeType.AA);
|
||||
willDraw |= !canvas.quickReject(dotBounds, Canvas.EdgeType.AA);
|
||||
|
||||
dotBounds.offset(
|
||||
(int) -mMarkerScreenPoint.x,
|
||||
(int) -mMarkerScreenPoint.y);
|
||||
|
||||
if (willDraw) {
|
||||
if (mShowAccuracy) {
|
||||
canvas.drawPath(mAccuracyPath, mAccuracyPaintFill);
|
||||
canvas.drawPath(mAccuracyPath, mAccuracyPaintStroke);
|
||||
}
|
||||
canvas.drawPath(mOuterRingPath, mOuterRingPaint);
|
||||
canvas.drawPath(mInnerRingPath, mInnerRingPaintFill);
|
||||
canvas.drawPath(mInnerRingPath, mInnerRingPaintStroke);
|
||||
if (mShowDirection) {
|
||||
canvas.drawPath(mDirectionArrowPath, mDirectionArrowPaint);
|
||||
}
|
||||
dotDrawable.draw(canvas);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -224,6 +242,7 @@ final class UserLocationView extends View {
|
||||
Path.Direction.CW);
|
||||
|
||||
mAccuracyPath.computeBounds(mAccuracyBounds, false);
|
||||
mAccuracyBounds.inset(-1.0f, -1.0f);
|
||||
}
|
||||
|
||||
// invalidate changed pixels
|
||||
@@ -232,22 +251,14 @@ final class UserLocationView extends View {
|
||||
mDirtyRectF = new RectF();
|
||||
} else {
|
||||
// the old marker location
|
||||
// TODO need to take into account accuracy stroke
|
||||
//invalidate(mDirtyRect);
|
||||
invalidate();
|
||||
invalidate(mDirtyRect);
|
||||
}
|
||||
|
||||
RectF largerBounds;
|
||||
if (mAccuracyBounds.contains(mOuterRingBounds)) {
|
||||
largerBounds = mAccuracyBounds;
|
||||
} else {
|
||||
largerBounds = mOuterRingBounds;
|
||||
}
|
||||
RectF dotBounds = mShowDirection ? mUserLocationBearingDrawableBoundsF : mUserLocationDrawableBoundsF;
|
||||
RectF largerBounds = mAccuracyBounds.contains(dotBounds) ? mAccuracyBounds : dotBounds;
|
||||
mMarkerScreenMatrix.mapRect(mDirtyRectF, largerBounds);
|
||||
mDirtyRectF.roundOut(mDirtyRect);
|
||||
// TODO need to take into account accuracy stroke
|
||||
//invalidate(mDirtyRect); // the new marker location
|
||||
invalidate();
|
||||
invalidate(mDirtyRect); // the new marker location
|
||||
} else {
|
||||
setVisibility(View.INVISIBLE);
|
||||
}
|
||||
|
||||
|
After Width: | Height: | Size: 3.3 KiB |
BIN
android/java/MapboxGLAndroidSDK/src/main/res/drawable-hdpi/user_location.png
Executable file
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
BIN
android/java/MapboxGLAndroidSDK/src/main/res/drawable-mdpi/user_location.png
Executable file
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
BIN
android/java/MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/user_location.png
Executable file
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 6.9 KiB |
BIN
android/java/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/user_location.png
Executable file
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 4.6 KiB |
|
After Width: | Height: | Size: 9.2 KiB |
BIN
android/java/MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/compass.png
Executable file
|
After Width: | Height: | Size: 18 KiB |
BIN
android/java/MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/user_location.png
Executable file
|
After Width: | Height: | Size: 5.1 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
@@ -3,7 +3,7 @@
|
||||
<string name="compassContentDescription">Map compass. Click to reset the map rotation to North.</string>
|
||||
<string name="attributionsIconContentDescription">Attribution icon. Click to show attribution dialog.</string>
|
||||
<string name="attributionsDialogTitle">Mapbox Android SDK</string>
|
||||
<string name="mapboxIconContentDescription">Mapbox logo.</string>
|
||||
<string name="mapboxIconContentDescription">The Mapbox logo.</string>
|
||||
<string name="infoWindowTitle">Title</string>
|
||||
<string name="infoWindowDescription">Description</string>
|
||||
<string name="infoWindowAddress">Address</string>
|
||||
|
||||
34
platform/android/resources/compass.svg
Executable file
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="27 -36 353 372" style="enable-background:new 27 -36 353 372;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{opacity:0.3;}
|
||||
.st1{fill:#F7F7F7;}
|
||||
.st2{fill:#F67E64;}
|
||||
.st3{fill:#FCFCFC;}
|
||||
</style>
|
||||
<g class="st0">
|
||||
<path class="st1" d="M203.5,287.3c-75.7,0-137.3-61.6-137.3-137.3S127.8,12.7,203.5,12.7S340.8,74.3,340.8,150
|
||||
S279.2,287.3,203.5,287.3z M203.5,42.1C144,42.1,95.6,90.5,95.6,150S144,257.9,203.5,257.9S311.4,209.5,311.4,150
|
||||
S263,42.1,203.5,42.1z"/>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st2" d="M237.2,147.9l-32.6-69.2c-0.4-0.9-1.7-0.9-2.2,0L169.7,148c-0.3,0.6-0.4,1.3-0.4,2h68.4
|
||||
C237.7,149.3,237.5,148.6,237.2,147.9z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st3" d="M237.2,152l-32.6,69.2c-0.4,0.9-1.7,0.9-2.2,0l-32.7-69.3c-0.3-0.6-0.4-1.3-0.4-2h68.4
|
||||
C237.7,150.7,237.5,151.4,237.2,152z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M128.8,52.7c-63.9,49.5-63.9,145.1,0,194.6c43.5,33.8,105.9,33.8,149.5,0c63.9-49.5,63.9-145.1,0-194.6
|
||||
C234.7,18.9,172.3,18.9,128.8,52.7z M237.2,152l-32.6,69.2c-0.4,0.9-1.7,0.9-2.2,0l-32.7-69.3c-0.6-1.3-0.6-2.7,0-4l32.7-69.3
|
||||
c0.4-0.9,1.7-0.9,2.2,0l32.6,69.2C237.8,149.2,237.8,150.7,237.2,152z M210.4,156.9c4.2-4.2,4.2-9.7,0-13.9s-9.7-4.2-13.9,0
|
||||
c-4.2,4.2-4.2,9.7,0,13.9C200.7,161.1,206.3,161.1,210.4,156.9z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
28
platform/android/resources/direction-dot.svg
Executable file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 300 300" style="enable-background:new 0 0 300 300;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{opacity:0.5;}
|
||||
.st1{fill:#39ADCC;}
|
||||
.st2{fill:#FFFFFF;}
|
||||
</style>
|
||||
<g id="XMLID_3_" class="st0">
|
||||
<circle id="XMLID_12_" class="st1" cx="152" cy="152.8" r="133.2"/>
|
||||
</g>
|
||||
<g id="XMLID_2_">
|
||||
<path class="st1" d="M148.7,5c1.1-1.8,3.7-1.8,4.8,0l9.8,17l13.7,23.7c-12.9-3.4-26-2.4-26-2.4s-15.7-0.5-26,2.9l13.9-24.2L148.7,5
|
||||
z"/>
|
||||
</g>
|
||||
<g id="XMLID_1_">
|
||||
<circle id="XMLID_5_" class="st1" cx="152" cy="152.8" r="69.8"/>
|
||||
<path id="XMLID_9_" class="st2" d="M152,227.5c-41.2,0-74.8-33.5-74.8-74.8S110.8,78,152,78s74.8,33.5,74.8,74.8
|
||||
S193.3,227.5,152,227.5z M152,88c-35.7,0-64.8,29-64.8,64.8c0,35.7,29,64.8,64.8,64.8c35.7,0,64.8-29,64.8-64.8
|
||||
C216.8,117.1,187.7,88,152,88z"/>
|
||||
</g>
|
||||
<g id="XMLID_4_">
|
||||
<path id="XMLID_6_" class="st1" d="M152,263.2c-60.9,0-110.4-49.5-110.4-110.4S91.2,42.4,152,42.4s110.4,49.5,110.4,110.4
|
||||
S212.9,263.2,152,263.2z M152,43.4c-60.3,0-109.4,49.1-109.4,109.4c0,60.3,49.1,109.4,109.4,109.4c60.3,0,109.4-49.1,109.4-109.4
|
||||
C261.4,92.5,212.4,43.4,152,43.4z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
15
platform/android/resources/location-dot.svg
Executable file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 300 300" style="enable-background:new 0 0 300 300;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#39ADCC;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<g id="XMLID_1_">
|
||||
<circle id="XMLID_5_" class="st0" cx="152" cy="152.8" r="69.8"/>
|
||||
<path id="XMLID_9_" class="st1" d="M152,227.5c-41.2,0-74.8-33.5-74.8-74.8S110.8,78,152,78s74.8,33.5,74.8,74.8
|
||||
S193.3,227.5,152,227.5z M152,88c-35.7,0-64.8,29-64.8,64.8c0,35.7,29,64.8,64.8,64.8c35.7,0,64.8-29,64.8-64.8
|
||||
C216.8,117.1,187.7,88,152,88z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 776 B |
15
platform/android/resources/location-static-dot.svg
Executable file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 300 300" style="enable-background:new 0 0 300 300;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#ADADAD;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<g id="XMLID_1_">
|
||||
<circle id="XMLID_5_" class="st0" cx="152" cy="152.8" r="69.8"/>
|
||||
<path id="XMLID_9_" class="st1" d="M152,227.5c-41.2,0-74.8-33.5-74.8-74.8S110.8,78,152,78s74.8,33.5,74.8,74.8
|
||||
S193.3,227.5,152,227.5z M152,88c-35.7,0-64.8,29-64.8,64.8c0,35.7,29,64.8,64.8,64.8c35.7,0,64.8-29,64.8-64.8
|
||||
C216.8,117.1,187.7,88,152,88z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 776 B |
1
platform/default/resources/attribution-logo.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" width="65" height="20"><defs/><metadata><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g transform="translate(-261.8483,-98.50395)"><g transform="matrix(0.17441836,0,0,0.17441836,220.52282,29.229342)" style="opacity:0.25;fill:#ffffff;stroke:#000000;stroke-width:17.20002365;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"><path d="M 5.28 1.5 C 4.54 1.56 3.9 2.25 3.91 3 l 0 11.88 c 0.02 0.77 0.72 1.47 1.5 1.47 l 1.75 0 c 0.78 0 1.48 -0.69 1.5 -1.47 l 0 -4.28 0.72 1.19 c 0.53 0.87 2.03 0.87 2.56 0 l 0.72 -1.19 0 4.28 c 0.02 0.76 0.7 1.45 1.47 1.47 l 1.75 0 c 0.78 0 1.48 -0.69 1.5 -1.47 l 0 -0.16 c 1.02 1.12 2.46 1.81 4.09 1.81 l 4.09 0 0 1.47 c -0 0.78 0.69 1.48 1.47 1.5 l 1.75 0 c 0.79 -0 1.5 -0.71 1.5 -1.5 l 0.02 -1.47 c 1.72 0 3.08 -0.64 4.14 -1.69 l 0 0.19 c 0 0.39 0.16 0.79 0.44 1.06 0.28 0.28 0.67 0.44 1.06 0.44 l 3.31 0 c 2.03 0 3.85 -1.06 4.91 -2.69 1.05 1.61 2.84 2.69 4.88 2.69 1.03 0 1.98 -0.27 2.81 -0.75 0.28 0.35 0.73 0.57 1.19 0.56 l 2.12 0 c 0.48 0.01 0.97 -0.23 1.25 -0.62 l 0.91 -1.28 0.91 1.28 c 0.28 0.39 0.74 0.63 1.22 0.62 l 2.16 0 C 62.67 16.33 63.42 14.89 62.81 14 L 60.22 10.38 62.62 7 C 63.26 6.11 62.5 4.62 61.41 4.62 l -2.16 0 C 58.78 4.62 58.31 4.86 58.03 5.25 L 57.31 6.28 56.56 5.25 C 56.29 4.86 55.82 4.62 55.34 4.62 l -2.16 0 c -0.49 -0 -0.97 0.25 -1.25 0.66 -0.86 -0.51 -1.84 -0.81 -2.91 -0.81 -2.03 0 -3.83 1.08 -4.88 2.69 C 43.1 5.53 41.27 4.47 39.19 4.47 L 39.19 3 C 39.19 2.61 39.03 2.21 38.75 1.94 38.47 1.66 38.08 1.5 37.69 1.5 l -1.75 0 c -0.71 0 -1.5 0.83 -1.5 1.5 l 0 3.16 C 33.38 5.1 31.96 4.47 30.38 4.47 l -3.34 0 c -0.77 0.02 -1.47 0.72 -1.47 1.5 l 0 0.31 c -1.02 -1.12 -2.46 -1.81 -4.09 -1.81 -1.63 0 -3.07 0.7 -4.09 1.81 L 17.38 3 c -0 -0.79 -0.71 -1.5 -1.5 -1.5 L 14.5 1.5 C 13.55 1.5 12.28 1.87 11.66 2.94 l -1 1.69 -1 -1.69 C 9.03 1.87 7.77 1.5 6.81 1.5 l -1.41 0 C 5.36 1.5 5.32 1.5 5.28 1.5 z m 16.19 7.72 c 0.53 0 0.94 0.35 0.94 1.28 l 0 1.28 -0.94 0 c -0.52 0 -0.94 -0.38 -0.94 -1.28 -0 -0.9 0.42 -1.28 0.94 -1.28 z m 8.81 0 c 0.83 0 1.18 0.68 1.19 1.28 0.01 0.94 -0.62 1.28 -1.19 1.28 z m 8.72 0 c 0.72 0 1.37 0.6 1.37 1.28 0 0.77 -0.51 1.28 -1.37 1.28 z m 10.03 0 c 0.58 0 1.09 0.5 1.09 1.28 0 0.78 -0.51 1.28 -1.09 1.28 -0.58 0 -1.12 -0.5 -1.12 -1.28 0 -0.78 0.54 -1.28 1.12 -1.28 z" transform="matrix(5.7333414,0,0,5.7333414,236.93308,397.17498)" style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:17.20002365;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"/></g><g transform="matrix(0.17441836,0,0,0.17441836,220.52282,29.229342)" style="fill:#ffffff"><path d="m 5.41 3 0 12 1.75 0 0 -9.91 3.5 5.94 3.47 -5.94 0 9.91 1.75 0 0 -12 L 14.5 3 C 13.8 3 13.25 3.16 12.94 3.69 L 10.66 7.59 8.38 3.69 C 8.07 3.16 7.51 3 6.81 3 z M 36 3 l 0 12.03 3.25 0 c 2.44 0 4.38 -1.91 4.38 -4.53 0 -2.62 -1.93 -4.47 -4.38 -4.47 C 38.7 6.03 38.32 6 37.75 6 l 0 -3 z M 21.47 5.97 c -2.44 0 -4.19 1.91 -4.19 4.53 0 2.62 1.75 4.53 4.19 4.53 l 4.19 0 0 -4.53 c 0 -2.62 -1.75 -4.53 -4.19 -4.53 z m 27.56 0 c -2.41 0 -4.38 2.03 -4.38 4.53 0 2.5 1.97 4.53 4.38 4.53 2.41 0 4.34 -2.03 4.34 -4.53 0 -2.5 -1.94 -4.53 -4.34 -4.53 z m -22 0.03 0 12 1.75 0 0 -2.97 c 0.57 0 1.04 -0 1.59 0 2.44 0 4.34 -1.91 4.34 -4.53 0 -2.62 -1.9 -4.5 -4.34 -4.5 z m 26.16 0 3.03 4.38 -3.19 4.62 2.12 0 L 57.31 11.91 59.44 15 61.59 15 58.38 10.38 61.41 6 59.25 6 57.31 8.81 55.34 6 z M 21.47 7.72 c 1.4 0 2.44 1.19 2.44 2.78 l 0 2.78 -2.44 0 c -1.4 0 -2.44 -1.21 -2.44 -2.78 -0 -1.57 1.04 -2.78 2.44 -2.78 z m 27.56 0 c 1.44 0 2.59 1.24 2.59 2.78 0 1.54 -1.15 2.78 -2.59 2.78 -1.44 0 -2.62 -1.24 -2.62 -2.78 0 -1.54 1.18 -2.78 2.62 -2.78 z m -20.25 0.03 1.59 0 c 1.59 0 2.59 1.28 2.59 2.75 0 1.47 -1.13 2.78 -2.59 2.78 l -1.59 0 z m 8.97 0 1.5 0 c 1.47 0 2.62 1.28 2.62 2.75 0 1.47 -1.04 2.78 -2.62 2.78 l -1.5 0 z" transform="matrix(5.7333414,0,0,5.7333414,236.93308,397.17498)" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 4.6 KiB |