From 9d491e492cbe768305a7c80ce1d28bf3acbda712 Mon Sep 17 00:00:00 2001 From: Mike Penz Date: Sat, 22 Sep 2018 18:55:53 +0200 Subject: [PATCH 01/15] * update libs to final release --- app/build.gradle | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 4818901c..d4163f83 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -68,13 +68,13 @@ dependencies { // used to fill the RecyclerView with the DrawerItems // and provides single and multi selection, expandable items // https://github.com/mikepenz/FastAdapter - implementation 'com.mikepenz:fastadapter:3.3.0-rc02' - implementation 'com.mikepenz:fastadapter-commons:3.3.0-rc02' - implementation 'com.mikepenz:fastadapter-extensions-expandable:3.3.0-rc02' + implementation 'com.mikepenz:fastadapter:3.3.0' + implementation 'com.mikepenz:fastadapter-commons:3.3.0' + implementation 'com.mikepenz:fastadapter-extensions-expandable:3.3.0' //used to generate the drawer on the left //https://github.com/mikepenz/MaterialDrawer - implementation('com.mikepenz:materialdrawer:6.1.0-rc02') { + implementation('com.mikepenz:materialdrawer:6.1.0') { transitive = true exclude module: "fastadapter" exclude module: "fastadapter-extensions-expandable" @@ -84,7 +84,7 @@ dependencies { // used to generate the Open Source section // https://github.com/mikepenz/AboutLibraries - implementation('com.mikepenz:aboutlibraries:6.2.0-rc02') { + implementation('com.mikepenz:aboutlibraries:6.2.0') { transitive = true exclude module: "fastadapter" exclude module: "iconics-core" From aa18a137445f1a72cc7599ddaa7d3769628b485a Mon Sep 17 00:00:00 2001 From: "zTrap (Peter Gulko)" Date: Fri, 30 Nov 2018 11:41:13 +0300 Subject: [PATCH 02/15] - all colors made be stateful - added @Nullable / @NonNull annotations for more compatibility with kotlin --- app/build.gradle | 3 + app/src/main/res/color/color_states_bg.xml | 21 + .../res/color/color_states_bg_contour.xml | 21 + .../main/res/color/color_states_contour.xml | 21 + app/src/main/res/color/color_states_icon.xml | 21 + .../main/res/layout/activity_playground.xml | 15 + app/src/test/java/StringFieldsGenerator.java | 146 +-- .../com/mikepenz/iconics/IconicsBrush.java | 99 ++ .../com/mikepenz/iconics/IconicsDrawable.java | 900 ++++++++++-------- .../context/IconicsAttrsExtractor.java | 68 +- 10 files changed, 759 insertions(+), 556 deletions(-) create mode 100644 app/src/main/res/color/color_states_bg.xml create mode 100644 app/src/main/res/color/color_states_bg_contour.xml create mode 100644 app/src/main/res/color/color_states_contour.xml create mode 100644 app/src/main/res/color/color_states_icon.xml create mode 100644 library-core/src/main/java/com/mikepenz/iconics/IconicsBrush.java diff --git a/app/build.gradle b/app/build.gradle index d4163f83..66a55fe6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -72,6 +72,9 @@ dependencies { implementation 'com.mikepenz:fastadapter-commons:3.3.0' implementation 'com.mikepenz:fastadapter-extensions-expandable:3.3.0' + // used to generating string fields for icons (sample - test/java/StringFieldGenerator.java) + testImplementation 'ru.ztrap.iconics:string-generator:1.0.2' + //used to generate the drawer on the left //https://github.com/mikepenz/MaterialDrawer implementation('com.mikepenz:materialdrawer:6.1.0') { diff --git a/app/src/main/res/color/color_states_bg.xml b/app/src/main/res/color/color_states_bg.xml new file mode 100644 index 00000000..d9364811 --- /dev/null +++ b/app/src/main/res/color/color_states_bg.xml @@ -0,0 +1,21 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/color/color_states_bg_contour.xml b/app/src/main/res/color/color_states_bg_contour.xml new file mode 100644 index 00000000..8bf9a687 --- /dev/null +++ b/app/src/main/res/color/color_states_bg_contour.xml @@ -0,0 +1,21 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/color/color_states_contour.xml b/app/src/main/res/color/color_states_contour.xml new file mode 100644 index 00000000..85e1f6ac --- /dev/null +++ b/app/src/main/res/color/color_states_contour.xml @@ -0,0 +1,21 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/color/color_states_icon.xml b/app/src/main/res/color/color_states_icon.xml new file mode 100644 index 00000000..4568b7e4 --- /dev/null +++ b/app/src/main/res/color/color_states_icon.xml @@ -0,0 +1,21 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_playground.xml b/app/src/main/res/layout/activity_playground.xml index 62c4772a..4beb945d 100644 --- a/app/src/main/res/layout/activity_playground.xml +++ b/app/src/main/res/layout/activity_playground.xml @@ -250,6 +250,21 @@ android:layout_width="0dp" android:layout_height="60dp" android:layout_weight="1"/> + + - file.getName().matches(MODIFIER_CURRENT + handledClassName + ".+\\." + XML)); - - if (files.length > 0){ - File current = files[0]; - File renamed = new File(fontDirectory, current.getName().replace(MODIFIER_CURRENT, "")); - if (!current.renameTo(renamed)) { - throw new IllegalArgumentException("Unable to rename file from " + current.getName() + " to " - + renamed.getName() + ". Probably file " + renamed.getName() + " is already exist."); - } - } - //endregion - - File newFile = new File(fontDirectory, MODIFIER_CURRENT + fileName); - - Transformer transformer = TransformerFactory.newInstance().newTransformer(); - transformer.setOutputProperty(OutputKeys.INDENT, "yes"); - transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); - transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); + @Test public void generateWeatherIcons() throws Exception { + generateIconsFrom(new WeatherIcons()); + } - transformer.transform(new DOMSource(doc), new StreamResult(newFile)); + @Override protected FileCreationStrategy fileCreationStrategy() { + return FileCreationStrategy.SAVE_ONLY_CURRENT; } - private String handleWords(String fieldName) { - fieldName = fieldName.replace(" ", ""); - String[] words = UPPERCASE_PATTERN.split(fieldName); - StringBuilder sb = new StringBuilder(); - for (String word : words) { - if (sb.length() > 0) { - sb.append(WORD_DELIMITER); - } - sb.append(word.toLowerCase()); - } - return sb.toString(); + @Override protected String modifierCurrent() { + return ""; } } diff --git a/library-core/src/main/java/com/mikepenz/iconics/IconicsBrush.java b/library-core/src/main/java/com/mikepenz/iconics/IconicsBrush.java new file mode 100644 index 00000000..150a6573 --- /dev/null +++ b/library-core/src/main/java/com/mikepenz/iconics/IconicsBrush.java @@ -0,0 +1,99 @@ +/* + * Copyright 2018 Mike Penz + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.mikepenz.iconics; + +import android.content.res.ColorStateList; +import android.graphics.Color; +import android.graphics.Paint; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +/** + * @author pa.gulko zTrap (28.11.2018) + */ +public class IconicsBrush implements Cloneable { + private @Nullable ColorStateList mColors; + private @NonNull final T mPaint; + private @Nullable int[] mState; + private int mAlpha; + + public IconicsBrush(@NonNull T paint) { + mPaint = paint; + } + + public void setColors(@Nullable ColorStateList colors) { + mColors = colors; + } + + public @Nullable ColorStateList getColorsList() { + return mColors; + } + + public @NonNull T getPaint() { + return mPaint; + } + + public void setAlpha(int alpha) { + mAlpha = alpha; + mPaint.setAlpha(alpha); + } + + boolean isStateful() { + return mColors != null && mColors.isStateful(); + } + + int getColorForCurrentState(int defaultColor) { + if (mColors != null) { + return mColors.getColorForState(mState, defaultColor); + } else { + return defaultColor; + } + } + + int getColorForCurrentState() { + if (mColors != null) { + return getColorForCurrentState(mColors.getDefaultColor()); + } else { + return Color.TRANSPARENT; + } + } + + boolean applyState(@NonNull int[] state) { + mState = state; + + boolean isInvalidate = false; + + int colorForState = getColorForCurrentState(); + int red = Color.red(colorForState); + int green = Color.green(colorForState); + int blue = Color.blue(colorForState); + + int colorRgb = Color.rgb(red, green, blue); + if (colorRgb != mPaint.getColor()) { + mPaint.setColor(colorRgb); + isInvalidate = true; + } + + int alpha = Color.alpha(colorForState); + if (alpha != 255 && alpha != mAlpha) { + setAlpha(alpha); + isInvalidate = true; + } + return isInvalidate; + } +} diff --git a/library-core/src/main/java/com/mikepenz/iconics/IconicsDrawable.java b/library-core/src/main/java/com/mikepenz/iconics/IconicsDrawable.java index 1a92c4dd..447070e5 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/IconicsDrawable.java +++ b/library-core/src/main/java/com/mikepenz/iconics/IconicsDrawable.java @@ -48,13 +48,6 @@ import android.graphics.RectF; import android.graphics.Typeface; import android.graphics.drawable.Drawable; -import androidx.annotation.ColorInt; -import androidx.annotation.ColorRes; -import androidx.annotation.DimenRes; -import androidx.annotation.Dimension; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; import android.text.TextPaint; import android.util.Log; import android.view.View; @@ -63,9 +56,17 @@ import com.mikepenz.iconics.typeface.ITypeface; import com.mikepenz.iconics.utils.Utils; +import androidx.annotation.ColorInt; +import androidx.annotation.ColorRes; +import androidx.annotation.DimenRes; +import androidx.annotation.Dimension; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; + +import static android.view.View.LAYER_TYPE_SOFTWARE; import static androidx.annotation.Dimension.DP; import static androidx.annotation.Dimension.PX; -import static android.view.View.LAYER_TYPE_SOFTWARE; /** * A custom {@link Drawable} which can display icons from icon fonts. @@ -84,30 +85,34 @@ public class IconicsDrawable extends Drawable { @Dimension(unit = DP) public static final int TOOLBAR_ICON_PADDING = 1; - private Context mContext; + protected Context mContext; private int mSizeX = -1; private int mSizeY = -1; private boolean mRespectFontBounds = false; - private ColorStateList mIconColor; - private Paint mIconPaint; - private int mBackgroundContourColor; - private int mContourColor; - private Paint mContourPaint; - private int mBackgroundColor; - private Paint mBackgroundPaint; + // icon + private final IconicsBrush mIconBrush = new IconicsBrush<>(new TextPaint(Paint.ANTI_ALIAS_FLAG)); + + // background + private final IconicsBrush mBackgroundBrush = new IconicsBrush<>(new Paint(Paint.ANTI_ALIAS_FLAG)); - private Paint mBackgroundContourPaint; + // contour + private final IconicsBrush mContourBrush = new IconicsBrush<>(new Paint(Paint.ANTI_ALIAS_FLAG)); + private boolean mDrawContour; + + // background contour + private final IconicsBrush mBackgroundContourBrush = new IconicsBrush<>(new Paint(Paint.ANTI_ALIAS_FLAG)); + private boolean mDrawBackgroundContour; private int mRoundedCornerRx = -1; private int mRoundedCornerRy = -1; - private Rect mPaddingBounds; - private RectF mPathBounds; + private Rect mPaddingBounds = new Rect(); + private RectF mPathBounds = new RectF(); - private Path mPath; + private Path mPath = new Path(); private int mIconPadding; private int mContourWidth; @@ -118,109 +123,128 @@ public class IconicsDrawable extends Drawable { private int mAlpha = 255; - private boolean mDrawContour; - private boolean mDrawBackgroundContour; - private float mShadowRadius = 0F; private float mShadowDx = 0F; private float mShadowDy = 0F; private int mShadowColor = Color.TRANSPARENT; - private IIcon mIcon; - private String mPlainIcon; + private @Nullable IIcon mIcon; + private @Nullable String mPlainIcon; - private ColorStateList mTint; - private PorterDuff.Mode mTintMode = PorterDuff.Mode.SRC_IN; - private ColorFilter mTintFilter; - private ColorFilter mColorFilter; + private @Nullable ColorStateList mTint; + private @NonNull PorterDuff.Mode mTintMode = PorterDuff.Mode.SRC_IN; + private @Nullable ColorFilter mTintFilter; + private @Nullable ColorFilter mColorFilter; - public IconicsDrawable(Context context) { + public IconicsDrawable(@NonNull Context context) { mContext = context.getApplicationContext(); - prepare(); icon(' '); } - public IconicsDrawable(Context context, Character icon) { - mContext = context.getApplicationContext(); - prepare(); + public IconicsDrawable(@NonNull Context context, @NonNull Character icon) { + this(context); icon(icon); } - public IconicsDrawable(Context context, String icon) { - mContext = context.getApplicationContext(); - prepare(); + public IconicsDrawable(@NonNull Context context, @NonNull String icon) { + this(context); - try { - ITypeface font = Iconics.findFont(context, icon.substring(0, 3)); - icon = icon.replace("-", "_"); - icon(font.getIcon(icon)); - } catch (Exception ex) { - Log.e(Iconics.TAG, "Wrong icon name: " + icon); - } + icon(icon); } - public IconicsDrawable(Context context, final IIcon icon) { - mContext = context.getApplicationContext(); - prepare(); + public IconicsDrawable(@NonNull Context context, @NonNull IIcon icon) { + this(context); + icon(icon); } - protected IconicsDrawable(Context context, final ITypeface typeface, final IIcon icon) { - mContext = context.getApplicationContext(); - prepare(); + protected IconicsDrawable(@NonNull Context context, @NonNull ITypeface typeface, @NonNull IIcon icon) { + this(context); + icon(typeface, icon); } + { + mIconBrush.getPaint().setStyle(Paint.Style.FILL); + mIconBrush.getPaint().setTextAlign(Paint.Align.CENTER); + mIconBrush.getPaint().setUnderlineText(false); + + mContourBrush.getPaint().setStyle(Paint.Style.STROKE); + + mBackgroundContourBrush.getPaint().setStyle(Paint.Style.STROKE); + } + //region getters /** - * @return the icon default color + * @return the icon color */ public int getColor() { - return mIconColor.getDefaultColor(); + return mIconBrush.getColorForCurrentState(); } /** * @return the icon colors */ - public ColorStateList getColorList() { - return mIconColor; + public @Nullable ColorStateList getColorList() { + return mIconBrush.getColorsList(); } /** * @return the icon contour color */ public int getContourColor() { - return mContourColor; + return mContourBrush.getColorForCurrentState(); + } + + /** + * @return the contour colors + */ + public @Nullable ColorStateList getContourColorList() { + return mContourBrush.getColorsList(); } /** * @return the icon background color */ public int getBackgroundColor() { - return mBackgroundColor; + return mBackgroundBrush.getColorForCurrentState(); + } + + /** + * @return the background colors + */ + public @Nullable ColorStateList getBackgroundColorList() { + return mBackgroundBrush.getColorsList(); } /** * @return the icon background contour color */ public int getBackgroundContourColor() { - return mBackgroundContourColor; + return mBackgroundContourBrush.getColorForCurrentState(); + } + + /** + * @return the background contour colors + */ + public @Nullable ColorStateList getBackgroundContourColorList() { + return mBackgroundContourBrush.getColorsList(); } /** * @return the IIcon which is used inside this IconicsDrawable */ - public IIcon getIcon() { + public @Nullable IIcon getIcon() { return mIcon; } /** * @return the PlainIcon which is used inside this IconicsDrawable */ - public String getPlainIcon() { + public @Nullable String getPlainIcon() { return mPlainIcon; } @@ -238,16 +262,16 @@ public int getCompatAlpha() { * * @return bitmap to set */ - public Bitmap toBitmap() { + public @NonNull Bitmap toBitmap() { if (mSizeX == -1 || mSizeY == -1) { actionBar(); } - final Bitmap bitmap = Bitmap.createBitmap(getIntrinsicWidth(), getIntrinsicHeight(), Bitmap.Config.ARGB_8888); + Bitmap bitmap = Bitmap.createBitmap(getIntrinsicWidth(), getIntrinsicHeight(), Bitmap.Config.ARGB_8888); style(Paint.Style.FILL); - final Canvas canvas = new Canvas(bitmap); + Canvas canvas = new Canvas(bitmap); setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); draw(canvas); @@ -260,26 +284,32 @@ public Bitmap toBitmap() { * @return new IconicsDrawable with the same values. */ @Override - public IconicsDrawable clone() { + public @NonNull IconicsDrawable clone() { IconicsDrawable iconicsDrawable = new IconicsDrawable(mContext) - .paddingPx(mIconPadding) - .roundedCornersRxPx(mRoundedCornerRx) - .roundedCornersRyPx(mRoundedCornerRy) + // icon + .color(mIconBrush.getColorsList()) .sizePxX(mSizeX) .sizePxY(mSizeY) .iconOffsetXPx(mIconOffsetX) .iconOffsetYPx(mIconOffsetY) - .contourColor(mContourColor) - .contourWidthPx(mContourWidth) - .shadowPx(mShadowRadius, mShadowDx, mShadowDy, mShadowColor) - .backgroundColor(mBackgroundColor) - .backgroundContourColor(mBackgroundContourColor) - .backgroundContourWidthPx(mBackgroundContourWidth) - .color(mIconColor) - .alpha(mAlpha) + .paddingPx(mIconPadding) + .typeface(mIconBrush.getPaint().getTypeface()) + // background + .backgroundColor(mBackgroundBrush.getColorsList()) + .roundedCornersRxPx(mRoundedCornerRx) + .roundedCornersRyPx(mRoundedCornerRy) + // icon contour .drawContour(mDrawContour) + .contourColor(mContourBrush.getColorsList()) + .contourWidthPx(mContourWidth) + // background contour .drawBackgroundContour(mDrawBackgroundContour) - .typeface(mIconPaint.getTypeface()); + .backgroundContourColor(mBackgroundContourBrush.getColorsList()) + .backgroundContourWidthPx(mBackgroundContourWidth) + // shadow + .shadowPx(mShadowRadius, mShadowDx, mShadowDy, mShadowColor) + // common + .alpha(mAlpha); if (mIcon != null) { iconicsDrawable.icon(mIcon); @@ -298,7 +328,7 @@ public IconicsDrawable clone() { * @param icon * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable icon(String icon) { + public @NonNull IconicsDrawable icon(@NonNull String icon) { try { ITypeface font = Iconics.findFont(mContext, icon.substring(0, 3)); icon = icon.replace("-", "_"); @@ -315,7 +345,7 @@ public IconicsDrawable icon(String icon) { * @param icon * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable icon(Character icon) { + public @NonNull IconicsDrawable icon(@NonNull Character icon) { return iconText(icon.toString(), null); } @@ -326,7 +356,7 @@ public IconicsDrawable icon(Character icon) { * @param typeface * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable icon(Character icon, @Nullable Typeface typeface) { + public @NonNull IconicsDrawable icon(@NonNull Character icon, @Nullable Typeface typeface) { return iconText(icon.toString(), typeface); } @@ -336,7 +366,7 @@ public IconicsDrawable icon(Character icon, @Nullable Typeface typeface) { * @param icon * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable iconText(String icon) { + public @NonNull IconicsDrawable iconText(@NonNull String icon) { return iconText(icon, null); } @@ -347,10 +377,10 @@ public IconicsDrawable iconText(String icon) { * @param typeface * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable iconText(String icon, @Nullable Typeface typeface) { + public @NonNull IconicsDrawable iconText(@NonNull String icon, @Nullable Typeface typeface) { mPlainIcon = icon; mIcon = null; - mIconPaint.setTypeface(typeface == null ? Typeface.DEFAULT : typeface); + mIconBrush.getPaint().setTypeface(typeface == null ? Typeface.DEFAULT : typeface); invalidateSelf(); return this; @@ -362,11 +392,11 @@ public IconicsDrawable iconText(String icon, @Nullable Typeface typeface) { * @param icon * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable icon(IIcon icon) { + public @NonNull IconicsDrawable icon(@NonNull IIcon icon) { mIcon = icon; mPlainIcon = null; ITypeface typeface = icon.getTypeface(); - mIconPaint.setTypeface(typeface.getTypeface(mContext)); + mIconBrush.getPaint().setTypeface(typeface.getTypeface(mContext)); invalidateSelf(); return this; @@ -379,9 +409,9 @@ public IconicsDrawable icon(IIcon icon) { * @param typeface * @return The current IconicsDrawable for chaining. */ - protected IconicsDrawable icon(ITypeface typeface, IIcon icon) { + protected @NonNull IconicsDrawable icon(@NonNull ITypeface typeface, @NonNull IIcon icon) { mIcon = icon; - mIconPaint.setTypeface(typeface.getTypeface(mContext)); + mIconBrush.getPaint().setTypeface(typeface.getTypeface(mContext)); invalidateSelf(); return this; @@ -395,7 +425,7 @@ protected IconicsDrawable icon(ITypeface typeface, IIcon icon) { * @param respectBounds set to true if it should respect the original bounds * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable respectFontBounds(boolean respectBounds) { + public @NonNull IconicsDrawable respectFontBounds(boolean respectBounds) { mRespectFontBounds = respectBounds; invalidateSelf(); @@ -408,31 +438,28 @@ public IconicsDrawable respectFontBounds(boolean respectBounds) { * @param color The color, usually from android.graphics.Color or 0xFF012345. * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable color(@ColorInt int color) { - mIconColor = ColorStateList.valueOf(color); - - updateIconColor(); - return this; + public @NonNull IconicsDrawable color(@ColorInt int color) { + return color(ColorStateList.valueOf(color)); } /** * Set the color of the drawable. * - * @param colorRes The color resource, from your R file. + * @param colorResId The color resource, from your R file. * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable colorRes(@ColorRes int colorRes) { - return color(ContextCompat.getColor(mContext, colorRes)); + public @NonNull IconicsDrawable colorRes(@ColorRes int colorResId) { + return color(ContextCompat.getColor(mContext, colorResId)); } /** * Set the color of the drawable. * - * @param colorRes The color resource, from your R file. + * @param colorResId The color resource, from your R file. * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable colorListRes(@ColorRes int colorRes) { - return color(ContextCompat.getColorStateList(mContext, colorRes)); + public @NonNull IconicsDrawable colorListRes(@ColorRes int colorResId) { + return color(ContextCompat.getColorStateList(mContext, colorResId)); } /** @@ -441,10 +468,12 @@ public IconicsDrawable colorListRes(@ColorRes int colorRes) { * @param colors The color, usually from android.graphics.Color or 0xFF012345. * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable color(ColorStateList colors) { + public @NonNull IconicsDrawable color(@NonNull ColorStateList colors) { if (colors != null) { - mIconColor = colors; - updateIconColor(); + mIconBrush.setColors(colors); + if (mIconBrush.applyState(getState())) { + invalidateSelf(); + } } return this; } @@ -452,31 +481,31 @@ public IconicsDrawable color(ColorStateList colors) { /** * set the icon offset for X from resource * - * @param iconOffsetXRes + * @param sizeResId * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable iconOffsetXRes(@DimenRes int iconOffsetXRes) { - return iconOffsetXPx(mContext.getResources().getDimensionPixelSize(iconOffsetXRes)); + public @NonNull IconicsDrawable iconOffsetXRes(@DimenRes int sizeResId) { + return iconOffsetXPx(mContext.getResources().getDimensionPixelSize(sizeResId)); } /** * set the icon offset for X as dp * - * @param iconOffsetXDp + * @param sizeDp * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable iconOffsetXDp(@Dimension(unit = DP) int iconOffsetXDp) { - return iconOffsetXPx(Utils.convertDpToPx(mContext, iconOffsetXDp)); + public @NonNull IconicsDrawable iconOffsetXDp(@Dimension(unit = DP) int sizeDp) { + return iconOffsetXPx(Utils.convertDpToPx(mContext, sizeDp)); } /** * set the icon offset for X * - * @param iconOffsetX + * @param sizePx * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable iconOffsetXPx(@Dimension(unit = PX) int iconOffsetX) { - mIconOffsetX = iconOffsetX; + public @NonNull IconicsDrawable iconOffsetXPx(@Dimension(unit = PX) int sizePx) { + mIconOffsetX = sizePx; invalidateSelf(); return this; @@ -485,31 +514,31 @@ public IconicsDrawable iconOffsetXPx(@Dimension(unit = PX) int iconOffsetX) { /** * set the icon offset for Y from resource * - * @param iconOffsetYRes + * @param sizeResId * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable iconOffsetYRes(@DimenRes int iconOffsetYRes) { - return iconOffsetYPx(mContext.getResources().getDimensionPixelSize(iconOffsetYRes)); + public @NonNull IconicsDrawable iconOffsetYRes(@DimenRes int sizeResId) { + return iconOffsetYPx(mContext.getResources().getDimensionPixelSize(sizeResId)); } /** * set the icon offset for Y as dp * - * @param iconOffsetYDp + * @param sizeDp * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable iconOffsetYDp(@Dimension(unit = DP) int iconOffsetYDp) { - return iconOffsetYPx(Utils.convertDpToPx(mContext, iconOffsetYDp)); + public @NonNull IconicsDrawable iconOffsetYDp(@Dimension(unit = DP) int sizeDp) { + return iconOffsetYPx(Utils.convertDpToPx(mContext, sizeDp)); } /** * set the icon offset for Y * - * @param iconOffsetY + * @param sizePx * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable iconOffsetYPx(@Dimension(unit = PX) int iconOffsetY) { - mIconOffsetY = iconOffsetY; + public @NonNull IconicsDrawable iconOffsetYPx(@Dimension(unit = PX) int sizePx) { + mIconOffsetY = sizePx; invalidateSelf(); return this; @@ -518,32 +547,32 @@ public IconicsDrawable iconOffsetYPx(@Dimension(unit = PX) int iconOffsetY) { /** * Set the padding of the drawable from res * - * @param dimenRes + * @param sizeResId * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable paddingRes(@DimenRes int dimenRes) { - return paddingPx(mContext.getResources().getDimensionPixelSize(dimenRes)); + public @NonNull IconicsDrawable paddingRes(@DimenRes int sizeResId) { + return paddingPx(mContext.getResources().getDimensionPixelSize(sizeResId)); } /** * Set the padding in dp for the drawable * - * @param iconPadding + * @param sizeDp * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable paddingDp(@Dimension(unit = DP) int iconPadding) { - return paddingPx(Utils.convertDpToPx(mContext, iconPadding)); + public @NonNull IconicsDrawable paddingDp(@Dimension(unit = DP) int sizeDp) { + return paddingPx(Utils.convertDpToPx(mContext, sizeDp)); } /** * Set a padding for the. * - * @param iconPadding + * @param sizePx * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable paddingPx(@Dimension(unit = PX) int iconPadding) { - if (mIconPadding != iconPadding) { - mIconPadding = iconPadding; + public @NonNull IconicsDrawable paddingPx(@Dimension(unit = PX) int sizePx) { + if (mIconPadding != sizePx) { + mIconPadding = sizePx; if (mDrawContour) { mIconPadding += mContourWidth; } @@ -561,7 +590,7 @@ public IconicsDrawable paddingPx(@Dimension(unit = PX) int iconPadding) { * * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable actionBar() { + public @NonNull IconicsDrawable actionBar() { sizeDp(TOOLBAR_ICON_SIZE); paddingDp(TOOLBAR_ICON_PADDING); return this; @@ -570,31 +599,31 @@ public IconicsDrawable actionBar() { /** * Set the size of the drawable. * - * @param dimenRes The dimension resource. + * @param sizeResId The dimension resource. * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable sizeRes(@DimenRes int dimenRes) { - return sizePx(mContext.getResources().getDimensionPixelSize(dimenRes)); + public @NonNull IconicsDrawable sizeRes(@DimenRes int sizeResId) { + return sizePx(mContext.getResources().getDimensionPixelSize(sizeResId)); } /** * Set the size of the drawable. * - * @param size The size in density-independent pixels (dp). + * @param sizeDp The size in density-independent pixels (dp). * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable sizeDp(@Dimension(unit = DP) int size) { - return sizePx(Utils.convertDpToPx(mContext, size)); + public @NonNull IconicsDrawable sizeDp(@Dimension(unit = DP) int sizeDp) { + return sizePx(Utils.convertDpToPx(mContext, sizeDp)); } /** * Set the size of the drawable. * - * @param size The size in pixels (px). + * @param sizePx The size in pixels (px). * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable sizePx(@Dimension(unit = PX) int size) { - mSizeX = mSizeY = size; + public @NonNull IconicsDrawable sizePx(@Dimension(unit = PX) int sizePx) { + mSizeX = mSizeY = sizePx; setBounds(0, 0, mSizeX, mSizeY); invalidateSelf(); @@ -604,31 +633,31 @@ public IconicsDrawable sizePx(@Dimension(unit = PX) int size) { /** * Set the size of the drawable. * - * @param dimenResX The dimension resource. + * @param sizeResId The dimension resource. * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable sizeResX(@DimenRes int dimenResX) { - return sizePxX(mContext.getResources().getDimensionPixelSize(dimenResX)); + public @NonNull IconicsDrawable sizeResX(@DimenRes int sizeResId) { + return sizePxX(mContext.getResources().getDimensionPixelSize(sizeResId)); } /** * Set the size of the drawable. * - * @param sizeX The size in density-independent pixels (dp). + * @param sizeDp The size in density-independent pixels (dp). * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable sizeDpX(@Dimension(unit = DP) int sizeX) { - return sizePxX(Utils.convertDpToPx(mContext, sizeX)); + public @NonNull IconicsDrawable sizeDpX(@Dimension(unit = DP) int sizeDp) { + return sizePxX(Utils.convertDpToPx(mContext, sizeDp)); } /** * Set the size of the drawable. * - * @param sizeX The size in pixels (px). + * @param sizePx The size in pixels (px). * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable sizePxX(@Dimension(unit = PX) int sizeX) { - mSizeX = sizeX; + public @NonNull IconicsDrawable sizePxX(@Dimension(unit = PX) int sizePx) { + mSizeX = sizePx; setBounds(0, 0, mSizeX, mSizeY); invalidateSelf(); @@ -638,31 +667,31 @@ public IconicsDrawable sizePxX(@Dimension(unit = PX) int sizeX) { /** * Set the size of the drawable. * - * @param dimenResY The dimension resource. + * @param sizeResId The dimension resource. * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable sizeResY(@DimenRes int dimenResY) { - return sizePxY(mContext.getResources().getDimensionPixelSize(dimenResY)); + public @NonNull IconicsDrawable sizeResY(@DimenRes int sizeResId) { + return sizePxY(mContext.getResources().getDimensionPixelSize(sizeResId)); } /** * Set the size of the drawable. * - * @param sizeY The size in density-independent pixels (dp). + * @param sizeDp The size in density-independent pixels (dp). * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable sizeDpY(@Dimension(unit = DP) int sizeY) { - return sizePxY(Utils.convertDpToPx(mContext, sizeY)); + public @NonNull IconicsDrawable sizeDpY(@Dimension(unit = DP) int sizeDp) { + return sizePxY(Utils.convertDpToPx(mContext, sizeDp)); } /** * Set the size of the drawable. * - * @param sizeY The size in pixels (px). + * @param sizePx The size in pixels (px). * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable sizePxY(@Dimension(unit = PX) int sizeY) { - mSizeY = sizeY; + public @NonNull IconicsDrawable sizePxY(@Dimension(unit = PX) int sizePx) { + mSizeY = sizePx; setBounds(0, 0, mSizeX, mSizeY); invalidateSelf(); @@ -672,183 +701,256 @@ public IconicsDrawable sizePxY(@Dimension(unit = PX) int sizeY) { /** * Set background contour color from color res. * - * @param backgroundContourColorRes + * @param colorResId * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable backgroundContourColorRes(@ColorRes int backgroundContourColorRes) { - return backgroundContourColor(ContextCompat.getColor(mContext, backgroundContourColorRes)); + public @NonNull IconicsDrawable backgroundContourColorRes(@ColorRes int colorResId) { + return backgroundContourColor(ContextCompat.getColor(mContext, colorResId)); } /** - * Set background contour color for the. + * Set background contour color. * - * @param backgroundContourColor + * @param color * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable backgroundContourColor(@ColorInt int backgroundContourColor) { - int red = Color.red(backgroundContourColor); - int green = Color.green(backgroundContourColor); - int blue = Color.blue(backgroundContourColor); - mBackgroundContourPaint.setColor(Color.rgb(red, green, blue)); - mBackgroundContourPaint.setAlpha(Color.alpha(backgroundContourColor)); - mBackgroundContourColor = backgroundContourColor; + public @NonNull IconicsDrawable backgroundContourColor(@ColorInt int color) { + return backgroundContourColor(ColorStateList.valueOf(color)); + } - invalidateSelf(); + + /** + * Set background contour colors from color res. + * + * @param colorResId + * @return The current IconicsDrawable for chaining. + */ + public @NonNull IconicsDrawable backgroundContourColorListRes(@ColorRes int colorResId) { + return backgroundContourColor(ContextCompat.getColorStateList(mContext, colorResId)); + } + + + /** + * Set background contour colors. + * + * @param colors + * @return The current IconicsDrawable for chaining. + */ + public @NonNull IconicsDrawable backgroundContourColor(@NonNull ColorStateList colors) { + if (colors != null) { + mBackgroundContourBrush.setColors(colors); + if (mBackgroundContourBrush.applyState(getState())) { + invalidateSelf(); + } + } return this; } /** * Set contour color from color res. * - * @param contourColorRes + * @param colorResId * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable contourColorRes(@ColorRes int contourColorRes) { - return contourColor(ContextCompat.getColor(mContext, contourColorRes)); + public @NonNull IconicsDrawable contourColorRes(@ColorRes int colorResId) { + return contourColor(ContextCompat.getColor(mContext, colorResId)); } /** - * Set contour color for the. + * Set contour color. * - * @param contourColor + * @param color * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable contourColor(@ColorInt int contourColor) { - int red = Color.red(contourColor); - int green = Color.green(contourColor); - int blue = Color.blue(contourColor); - mContourPaint.setColor(Color.rgb(red, green, blue)); - mContourPaint.setAlpha(Color.alpha(contourColor)); - mContourColor = contourColor; + public @NonNull IconicsDrawable contourColor(@ColorInt int color) { + return contourColor(ColorStateList.valueOf(color)); + } - invalidateSelf(); + + /** + * Set contour colors from color res. + * + * @param colorResId + * @return The current IconicsDrawable for chaining. + */ + public @NonNull IconicsDrawable contourColorListRes(@ColorRes int colorResId) { + return contourColor(ContextCompat.getColorStateList(mContext, colorResId)); + } + + + /** + * Set contour colors. + * + * @param colors + * @return The current IconicsDrawable for chaining. + */ + public @NonNull IconicsDrawable contourColor(@NonNull ColorStateList colors) { + if (colors != null) { + mContourBrush.setColors(colors); + if (mContourBrush.applyState(getState())) { + invalidateSelf(); + } + } return this; } /** - * set background color from res + * Set background color from res. * - * @param backgroundColorRes - * @return + * @param colorResId + * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable backgroundColorRes(@ColorRes int backgroundColorRes) { - return backgroundColor(ContextCompat.getColor(mContext, backgroundColorRes)); + public @NonNull IconicsDrawable backgroundColorRes(@ColorRes int colorResId) { + return backgroundColor(ContextCompat.getColor(mContext, colorResId)); } /** - * set background color + * Set background color. * - * @param backgroundColor - * @return + * @param color + * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable backgroundColor(@ColorInt int backgroundColor) { - mBackgroundPaint.setColor(backgroundColor); - mBackgroundColor = backgroundColor; - if (mRoundedCornerRx == -1) { - mRoundedCornerRx = 0; - } - if (mRoundedCornerRy == -1) { - mRoundedCornerRy = 0; - } + public @NonNull IconicsDrawable backgroundColor(@ColorInt int color) { + return backgroundColor(ColorStateList.valueOf(color)); + } - invalidateSelf(); + + /** + * Set background contour colors from color res. + * + * @param colorResId + * @return The current IconicsDrawable for chaining. + */ + public @NonNull IconicsDrawable backgroundColorListRes(@ColorRes int colorResId) { + return backgroundColor(ContextCompat.getColorStateList(mContext, colorResId)); + } + + + /** + * Set background contour colors. + * + * @param colors + * @return The current IconicsDrawable for chaining. + */ + public @NonNull IconicsDrawable backgroundColor(@NonNull ColorStateList colors) { + if (colors != null) { + boolean isInvalidate = false; + + if (mRoundedCornerRx == -1) { + mRoundedCornerRx = 0; + isInvalidate = true; + } + if (mRoundedCornerRy == -1) { + mRoundedCornerRy = 0; + isInvalidate = true; + } + + mBackgroundBrush.setColors(colors); + if (mBackgroundBrush.applyState(getState())) { + isInvalidate = true; + } + + if (isInvalidate) { + invalidateSelf(); + } + } return this; } /** - * set rounded corner from res + * Set rounded corner from res * - * @param roundedCornerRxRes - * @return + * @param sizeResId + * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable roundedCornersRxRes(@DimenRes int roundedCornerRxRes) { - return roundedCornersRxPx(mContext.getResources().getDimensionPixelSize(roundedCornerRxRes)); + public @NonNull IconicsDrawable roundedCornersRxRes(@DimenRes int sizeResId) { + return roundedCornersRxPx(mContext.getResources().getDimensionPixelSize(sizeResId)); } /** - * set rounded corner from dp + * Set rounded corner from dp * - * @param roundedCornerRxDp - * @return + * @param sizeDp + * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable roundedCornersRxDp(@Dimension(unit = DP) int roundedCornerRxDp) { - return roundedCornersRxPx(Utils.convertDpToPx(mContext, roundedCornerRxDp)); + public @NonNull IconicsDrawable roundedCornersRxDp(@Dimension(unit = DP) int sizeDp) { + return roundedCornersRxPx(Utils.convertDpToPx(mContext, sizeDp)); } /** - * set rounded corner from px + * Set rounded corner from px * - * @param roundedCornerRxPx - * @return + * @param sizePx + * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable roundedCornersRxPx(@Dimension(unit = PX) int roundedCornerRxPx) { - mRoundedCornerRx = roundedCornerRxPx; + public @NonNull IconicsDrawable roundedCornersRxPx(@Dimension(unit = PX) int sizePx) { + mRoundedCornerRx = sizePx; invalidateSelf(); return this; } /** - * set rounded corner from res + * Set rounded corner from res * - * @param roundedCornerRyRes - * @return + * @param sizeResId + * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable roundedCornersRyRes(@DimenRes int roundedCornerRyRes) { - return roundedCornersRyPx(mContext.getResources().getDimensionPixelSize(roundedCornerRyRes)); + public @NonNull IconicsDrawable roundedCornersRyRes(@DimenRes int sizeResId) { + return roundedCornersRyPx(mContext.getResources().getDimensionPixelSize(sizeResId)); } /** - * set rounded corner from dp + * Set rounded corner from dp * - * @param roundedCornerRyDp - * @return + * @param sizeDp + * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable roundedCornersRyDp(@Dimension(unit = DP) int roundedCornerRyDp) { - return roundedCornersRyPx(Utils.convertDpToPx(mContext, roundedCornerRyDp)); + public @NonNull IconicsDrawable roundedCornersRyDp(@Dimension(unit = DP) int sizeDp) { + return roundedCornersRyPx(Utils.convertDpToPx(mContext, sizeDp)); } /** - * set rounded corner from px + * Set rounded corner from px * - * @param roundedCornerRyPx - * @return + * @param sizePx + * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable roundedCornersRyPx(@Dimension(unit = PX) int roundedCornerRyPx) { - mRoundedCornerRy = roundedCornerRyPx; + public @NonNull IconicsDrawable roundedCornersRyPx(@Dimension(unit = PX) int sizePx) { + mRoundedCornerRy = sizePx; invalidateSelf(); return this; } /** - * set rounded corner from res + * Set rounded corner from res * - * @param roundedCornerRes - * @return + * @param sizeResId + * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable roundedCornersRes(@DimenRes int roundedCornerRes) { - return roundedCornersPx(mContext.getResources().getDimensionPixelSize(roundedCornerRes)); + public @NonNull IconicsDrawable roundedCornersRes(@DimenRes int sizeResId) { + return roundedCornersPx(mContext.getResources().getDimensionPixelSize(sizeResId)); } /** - * set rounded corner from dp + * Set rounded corner from dp * - * @param roundedCornerDp - * @return + * @param sizeDp + * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable roundedCornersDp(@Dimension(unit = DP) int roundedCornerDp) { - return roundedCornersPx(Utils.convertDpToPx(mContext, roundedCornerDp)); + public @NonNull IconicsDrawable roundedCornersDp(@Dimension(unit = DP) int sizeDp) { + return roundedCornersPx(Utils.convertDpToPx(mContext, sizeDp)); } /** - * set rounded corner from px + * Set rounded corner from px * - * @param roundedCornerPx - * @return + * @param sizePx + * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable roundedCornersPx(@Dimension(unit = PX) int roundedCornerPx) { - mRoundedCornerRx = mRoundedCornerRy = roundedCornerPx; + public @NonNull IconicsDrawable roundedCornersPx(@Dimension(unit = PX) int sizePx) { + mRoundedCornerRx = mRoundedCornerRy = sizePx; invalidateSelf(); return this; @@ -857,32 +959,32 @@ public IconicsDrawable roundedCornersPx(@Dimension(unit = PX) int roundedCornerP /** * Set contour width from an dimen res for the icon * - * @param contourWidthRes + * @param sizeResId * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable contourWidthRes(@DimenRes int contourWidthRes) { - return contourWidthPx(mContext.getResources().getDimensionPixelSize(contourWidthRes)); + public @NonNull IconicsDrawable contourWidthRes(@DimenRes int sizeResId) { + return contourWidthPx(mContext.getResources().getDimensionPixelSize(sizeResId)); } /** * Set contour width from dp for the icon * - * @param contourWidthDp + * @param sizeDp * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable contourWidthDp(@Dimension(unit = DP) int contourWidthDp) { - return contourWidthPx(Utils.convertDpToPx(mContext, contourWidthDp)); + public @NonNull IconicsDrawable contourWidthDp(@Dimension(unit = DP) int sizeDp) { + return contourWidthPx(Utils.convertDpToPx(mContext, sizeDp)); } /** * Set contour width for the icon. * - * @param contourWidth + * @param sizePx * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable contourWidthPx(@Dimension(unit = PX) int contourWidth) { - mContourWidth = contourWidth; - mContourPaint.setStrokeWidth(mContourWidth); + public @NonNull IconicsDrawable contourWidthPx(@Dimension(unit = PX) int sizePx) { + mContourWidth = sizePx; + mContourBrush.getPaint().setStrokeWidth(sizePx); drawContour(true); invalidateSelf(); @@ -897,7 +999,7 @@ public IconicsDrawable contourWidthPx(@Dimension(unit = PX) int contourWidth) { * @return The current IconicsDrawable for chaining. * @see View#setLayerType(int, Paint) */ - public IconicsDrawable enableShadowSupport(View view) { + public @NonNull IconicsDrawable enableShadowSupport(@NonNull View view) { view.setLayerType(LAYER_TYPE_SOFTWARE, null); return this; } @@ -910,8 +1012,16 @@ public IconicsDrawable enableShadowSupport(View view) { * @see Paint#setShadowLayer(float, float, float, int) * @see #enableShadowSupport(View) */ - public IconicsDrawable shadowRes(@DimenRes int radiusRes, @DimenRes int dxRes, @DimenRes int dyRes, @ColorRes int colorRes) { - return shadowPx(mContext.getResources().getDimensionPixelSize(radiusRes), mContext.getResources().getDimensionPixelSize(dxRes), mContext.getResources().getDimensionPixelSize(dyRes), ContextCompat.getColor(mContext, colorRes)); + public @NonNull IconicsDrawable shadowRes( + @DimenRes int radiusRes, + @DimenRes int dxRes, + @DimenRes int dyRes, + @ColorRes int colorResId) { + return shadowPx( + mContext.getResources().getDimensionPixelSize(radiusRes), + mContext.getResources().getDimensionPixelSize(dxRes), + mContext.getResources().getDimensionPixelSize(dyRes), + ContextCompat.getColor(mContext, colorResId)); } /** @@ -922,8 +1032,16 @@ public IconicsDrawable shadowRes(@DimenRes int radiusRes, @DimenRes int dxRes, @ * @see Paint#setShadowLayer(float, float, float, int) * @see #enableShadowSupport(View) */ - public IconicsDrawable shadowDp(@Dimension(unit = DP) float radiusDp, @Dimension(unit = DP) float dxDp, @Dimension(unit = DP) float dyDp, @ColorInt int color) { - return shadowPx(Utils.convertDpToPx(mContext, radiusDp), Utils.convertDpToPx(mContext, dxDp), Utils.convertDpToPx(mContext, dyDp), color); + public @NonNull IconicsDrawable shadowDp( + @Dimension(unit = DP) float radiusDp, + @Dimension(unit = DP) float dxDp, + @Dimension(unit = DP) float dyDp, + @ColorInt int color) { + return shadowPx( + Utils.convertDpToPx(mContext, radiusDp), + Utils.convertDpToPx(mContext, dxDp), + Utils.convertDpToPx(mContext, dyDp), + color); } /** @@ -934,13 +1052,17 @@ public IconicsDrawable shadowDp(@Dimension(unit = DP) float radiusDp, @Dimension * @see Paint#setShadowLayer(float, float, float, int) * @see #enableShadowSupport(View) */ - public IconicsDrawable shadowPx(@Dimension(unit = PX) float radius, @Dimension(unit = PX) float dx, @Dimension(unit = PX) float dy, @ColorInt int color) { + public @NonNull IconicsDrawable shadowPx( + @Dimension(unit = PX) float radius, + @Dimension(unit = PX) float dx, + @Dimension(unit = PX) float dy, + @ColorInt int color) { mShadowRadius = radius; mShadowDx = dx; mShadowDy = dy; mShadowColor = color; - mIconPaint.setShadowLayer(radius, dx, dy, color); + mIconBrush.getPaint().setShadowLayer(radius, dx, dy, color); invalidateSelf(); return this; } @@ -948,32 +1070,32 @@ public IconicsDrawable shadowPx(@Dimension(unit = PX) float radius, @Dimension(u /** * Set background contour width from an dimen res for the icon * - * @param backgroundContourWidthRes + * @param sizeResId * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable backgroundContourWidthRes(@DimenRes int backgroundContourWidthRes) { - return backgroundContourWidthPx(mContext.getResources().getDimensionPixelSize(backgroundContourWidthRes)); + public @NonNull IconicsDrawable backgroundContourWidthRes(@DimenRes int sizeResId) { + return backgroundContourWidthPx(mContext.getResources().getDimensionPixelSize(sizeResId)); } /** * Set background contour width from dp for the icon * - * @param backgroundContourWidthDp + * @param sizeDp * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable backgroundContourWidthDp(@Dimension(unit = DP) int backgroundContourWidthDp) { - return backgroundContourWidthPx(Utils.convertDpToPx(mContext, backgroundContourWidthDp)); + public @NonNull IconicsDrawable backgroundContourWidthDp(@Dimension(unit = DP) int sizeDp) { + return backgroundContourWidthPx(Utils.convertDpToPx(mContext, sizeDp)); } /** * Set background contour width for the icon. * - * @param backgroundContourWidth + * @param sizePx * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable backgroundContourWidthPx(@Dimension(unit = PX) int backgroundContourWidth) { - mBackgroundContourWidth = backgroundContourWidth; - mBackgroundContourPaint.setStrokeWidth(mBackgroundContourWidth); + public @NonNull IconicsDrawable backgroundContourWidthPx(@Dimension(unit = PX) int sizePx) { + mBackgroundContourWidth = sizePx; + mBackgroundContourBrush.getPaint().setStrokeWidth(sizePx); drawBackgroundContour(true); invalidateSelf(); @@ -986,7 +1108,7 @@ public IconicsDrawable backgroundContourWidthPx(@Dimension(unit = PX) int backgr * @param drawContour * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable drawContour(boolean drawContour) { + public @NonNull IconicsDrawable drawContour(boolean drawContour) { if (mDrawContour != drawContour) { mDrawContour = drawContour; @@ -1003,7 +1125,7 @@ public IconicsDrawable drawContour(boolean drawContour) { * @param drawBackgroundContour * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable drawBackgroundContour(boolean drawBackgroundContour) { + public @NonNull IconicsDrawable drawBackgroundContour(boolean drawBackgroundContour) { if (mDrawBackgroundContour != drawBackgroundContour) { mDrawBackgroundContour = drawBackgroundContour; @@ -1020,7 +1142,7 @@ public IconicsDrawable drawBackgroundContour(boolean drawBackgroundContour) { * @param cf * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable colorFilter(ColorFilter cf) { + public @NonNull IconicsDrawable colorFilter(@Nullable ColorFilter cf) { setColorFilter(cf); return this; } @@ -1033,7 +1155,7 @@ public IconicsDrawable colorFilter(ColorFilter cf) { * @param alpha * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable alpha(int alpha) { + public @NonNull IconicsDrawable alpha(int alpha) { setAlpha(alpha); return this; } @@ -1044,8 +1166,8 @@ public IconicsDrawable alpha(int alpha) { * @param style * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable style(Paint.Style style) { - mIconPaint.setStyle(style); + public @NonNull IconicsDrawable style(@NonNull Paint.Style style) { + mIconBrush.getPaint().setStyle(style); invalidateSelf(); return this; @@ -1058,8 +1180,8 @@ public IconicsDrawable style(Paint.Style style) { * @param typeface * @return The current IconicsDrawable for chaining. */ - public IconicsDrawable typeface(Typeface typeface) { - mIconPaint.setTypeface(typeface); + public @NonNull IconicsDrawable typeface(@Nullable Typeface typeface) { + mIconBrush.getPaint().setTypeface(typeface); invalidateSelf(); return this; @@ -1067,68 +1189,76 @@ public IconicsDrawable typeface(Typeface typeface) { //endregion //region overridden methods from android.graphics.drawable.Drawable class - @Override - public void draw(@NonNull Canvas canvas) { - if (mIcon != null || mPlainIcon != null) { - final Rect viewBounds = getBounds(); - - updatePaddingBounds(viewBounds); - updateTextSize(viewBounds); - offsetIcon(viewBounds); - - if (mBackgroundPaint != null && mRoundedCornerRy > -1 && mRoundedCornerRx > -1) { - if (mDrawBackgroundContour && mBackgroundContourPaint != null) { - float halfContourSize = mBackgroundContourWidth / 2; - RectF rectF = new RectF(halfContourSize, halfContourSize, - viewBounds.width() - halfContourSize, - viewBounds.height() - halfContourSize); - canvas.drawRoundRect(rectF, mRoundedCornerRx, mRoundedCornerRy, mBackgroundPaint); - canvas.drawRoundRect(rectF, mRoundedCornerRx, mRoundedCornerRy, mBackgroundContourPaint); - } else { - RectF rectF = new RectF(0, 0, viewBounds.width(), viewBounds.height()); - canvas.drawRoundRect(rectF, mRoundedCornerRx, mRoundedCornerRy, mBackgroundPaint); - } - } + @Override public void draw(@NonNull Canvas canvas) { + if (mIcon == null && mPlainIcon == null) return; - try { - mPath.close(); - } catch (Exception ignored) { - } + Rect viewBounds = getBounds(); - if (mDrawContour) { - canvas.drawPath(mPath, mContourPaint); + updatePaddingBounds(viewBounds); + updateTextSize(viewBounds); + offsetIcon(viewBounds); + + if (mRoundedCornerRy > -1 && mRoundedCornerRx > -1) { + if (mDrawBackgroundContour) { + float halfContourSize = mBackgroundContourWidth / 2; + RectF rectF = new RectF( + halfContourSize, + halfContourSize, + viewBounds.width() - halfContourSize, + viewBounds.height() - halfContourSize); + canvas.drawRoundRect( + rectF, + mRoundedCornerRx, + mRoundedCornerRy, + mBackgroundBrush.getPaint()); + canvas.drawRoundRect( + rectF, + mRoundedCornerRx, + mRoundedCornerRy, + mBackgroundContourBrush.getPaint()); + } else { + RectF rectF = new RectF(0, 0, viewBounds.width(), viewBounds.height()); + canvas.drawRoundRect( + rectF, + mRoundedCornerRx, + mRoundedCornerRy, + mBackgroundBrush.getPaint()); } + } - mIconPaint.setAlpha(mAlpha); - mIconPaint.setColorFilter(mColorFilter == null ? mTintFilter : mColorFilter); + try { + mPath.close(); + } catch (Exception ignored) { + } - canvas.drawPath(mPath, mIconPaint); + if (mDrawContour) { + canvas.drawPath(mPath, mContourBrush.getPaint()); } + + mIconBrush.getPaint().setColorFilter(mColorFilter == null ? mTintFilter : mColorFilter); + + canvas.drawPath(mPath, mIconBrush.getPaint()); } - @Override - public void setTint(int tintColor) { + @Override public void setTint(int tintColor) { setTintList(ColorStateList.valueOf(tintColor)); } - @Override - public void setTintList(ColorStateList tint) { + @Override public void setTintList(@Nullable ColorStateList tint) { mTint = tint; mTintFilter = updateTintFilter(tint, mTintMode); invalidateSelf(); } - @Override - public void setTintMode(@NonNull PorterDuff.Mode tintMode) { + @Override public void setTintMode(@NonNull PorterDuff.Mode tintMode) { mTintMode = tintMode; mTintFilter = updateTintFilter(mTint, tintMode); invalidateSelf(); } - @Override - protected void onBoundsChange(Rect bounds) { + @Override protected void onBoundsChange(@Nullable Rect bounds) { offsetIcon(bounds); try { mPath.close(); @@ -1137,20 +1267,25 @@ protected void onBoundsChange(Rect bounds) { super.onBoundsChange(bounds); } - @Override - public boolean isStateful() { - return true; + @Override public boolean isStateful() { + return mIconBrush.isStateful() + || mContourBrush.isStateful() + || mBackgroundBrush.isStateful() + || mBackgroundContourBrush.isStateful(); } - @Override - public boolean setState(@NonNull int[] stateSet) { + @Override public boolean setState(@NonNull int[] stateSet) { boolean b = super.setState(stateSet); - return b || (mIconColor != null && mIconColor.isStateful() || mColorFilter != null || mTintFilter != null); + return b || mIconBrush.isStateful() + || mContourBrush.isStateful() + || mBackgroundBrush.isStateful() + || mBackgroundContourBrush.isStateful() + || mColorFilter != null + || mTintFilter != null; } - @Override - public int getOpacity() { - if (mTintFilter != null || mIconPaint.getColorFilter() != null) { + @Override public int getOpacity() { + if (mTintFilter != null || mIconBrush.getPaint().getColorFilter() != null) { return PixelFormat.TRANSLUCENT; } switch (getAlpha()) { @@ -1162,53 +1297,50 @@ public int getOpacity() { return PixelFormat.TRANSLUCENT; } - @Override - protected boolean onStateChange(int[] stateSet) { - boolean ret = false; - if (mIconColor != null && mIconColor.isStateful()) { - updateIconColor(); - ret = true; - } + @Override protected boolean onStateChange(@NonNull int[] stateSet) { + boolean isNeedsRedraw = mIconBrush.applyState(stateSet); + isNeedsRedraw |= mContourBrush.applyState(stateSet); + isNeedsRedraw |= mBackgroundBrush.applyState(stateSet); + isNeedsRedraw |= mBackgroundContourBrush.applyState(stateSet); + if (mTint != null && mTintMode != null) { mTintFilter = updateTintFilter(mTint, mTintMode); - invalidateSelf(); - ret = true; + isNeedsRedraw = true; } - return ret; + + return isNeedsRedraw; } - @Override - public int getIntrinsicWidth() { + @Override public int getIntrinsicWidth() { return mSizeX; } - @Override - public int getIntrinsicHeight() { + @Override public int getIntrinsicHeight() { return mSizeY; } - @Override - public void setAlpha(int alpha) { - mIconPaint.setAlpha(alpha); + @Override public void setAlpha(int alpha) { + mIconBrush.setAlpha(alpha); + mContourBrush.setAlpha(alpha); + mBackgroundBrush.setAlpha(alpha); + mBackgroundContourBrush.setAlpha(alpha); + mAlpha = alpha; invalidateSelf(); } - @Override - public int getAlpha() { + @Override public int getAlpha() { return mAlpha; } - @Override - public void setColorFilter(ColorFilter cf) { + @Override public void setColorFilter(@Nullable ColorFilter cf) { mColorFilter = cf; invalidateSelf(); } - @Override - public void clearColorFilter() { + @Override public void clearColorFilter() { mColorFilter = null; invalidateSelf(); @@ -1216,36 +1348,16 @@ public void clearColorFilter() { //endregion //region PRIVATE HELPER METHODS - private void prepare() { - mIconPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG); - mIconPaint.setStyle(Paint.Style.FILL); - mIconPaint.setTextAlign(Paint.Align.CENTER); - mIconPaint.setUnderlineText(false); - mIconPaint.setAntiAlias(true); - - mBackgroundPaint = new Paint(Paint.ANTI_ALIAS_FLAG); - - mContourPaint = new Paint(Paint.ANTI_ALIAS_FLAG); - mContourPaint.setStyle(Paint.Style.STROKE); - - mBackgroundContourPaint = new Paint(Paint.ANTI_ALIAS_FLAG); - mBackgroundContourPaint.setStyle(Paint.Style.STROKE); - - mPath = new Path(); - - mPathBounds = new RectF(); - mPaddingBounds = new Rect(); - } /** * Update the Padding Bounds * * @param viewBounds */ - private void updatePaddingBounds(Rect viewBounds) { + private void updatePaddingBounds(@NonNull Rect viewBounds) { if (mIconPadding >= 0 - && !(mIconPadding * 2 > viewBounds.width()) - && !(mIconPadding * 2 > viewBounds.height())) { + && mIconPadding * 2 <= viewBounds.width() + && mIconPadding * 2 <= viewBounds.height()) { mPaddingBounds.set( viewBounds.left + mIconPadding, viewBounds.top + mIconPadding, @@ -1259,12 +1371,12 @@ private void updatePaddingBounds(Rect viewBounds) { * * @param viewBounds */ - private void updateTextSize(Rect viewBounds) { + private void updateTextSize(@NonNull Rect viewBounds) { float textSize = (float) viewBounds.height() * (mRespectFontBounds ? 1 : 2); - mIconPaint.setTextSize(textSize); + mIconBrush.getPaint().setTextSize(textSize); String textValue = mIcon != null ? String.valueOf(mIcon.getCharacter()) : String.valueOf(mPlainIcon); - mIconPaint.getTextPath(textValue, 0, textValue.length(), 0, viewBounds.height(), mPath); + mIconBrush.getPaint().getTextPath(textValue, 0, textValue.length(), 0, viewBounds.height(), mPath); mPath.computeBounds(mPathBounds, true); if (!mRespectFontBounds) { @@ -1273,9 +1385,9 @@ private void updateTextSize(Rect viewBounds) { float delta = (deltaWidth < deltaHeight) ? deltaWidth : deltaHeight; textSize *= delta; - mIconPaint.setTextSize(textSize); + mIconBrush.getPaint().setTextSize(textSize); - mIconPaint.getTextPath(textValue, 0, textValue.length(), 0, viewBounds.height(), mPath); + mIconBrush.getPaint().getTextPath(textValue, 0, textValue.length(), 0, viewBounds.height(), mPath); mPath.computeBounds(mPathBounds, true); } } @@ -1285,7 +1397,7 @@ private void updateTextSize(Rect viewBounds) { * * @param viewBounds */ - private void offsetIcon(Rect viewBounds) { + private void offsetIcon(@NonNull Rect viewBounds) { float startX = viewBounds.centerX() - (mPathBounds.width() / 2); float offsetX = startX - mPathBounds.left; @@ -1295,37 +1407,11 @@ private void offsetIcon(Rect viewBounds) { mPath.offset(offsetX + mIconOffsetX, offsetY + mIconOffsetY); } - /** - * Ensures that the icon paint and alpha is consistent with icon state, invalidates icon if - * any changes were made - */ - private void updateIconColor() { - boolean invalidate = false; - - int color = mIconColor.getColorForState(getState(), mIconColor.getDefaultColor()); - int red = Color.red(color); - int green = Color.green(color); - int blue = Color.blue(color); - - int iconColor = Color.rgb(red, green, blue); - if (iconColor != mIconPaint.getColor()) { - mIconPaint.setColor(iconColor); - invalidate = true; - } - - int alpha = Color.alpha(color); - if (alpha != 255 && alpha != mAlpha) { - setAlpha(alpha); - } else if (invalidate) { - invalidateSelf(); - } - } - /** * Ensures the tint filter is consistent with the current tint color and * mode. */ - private PorterDuffColorFilter updateTintFilter(ColorStateList tint, PorterDuff.Mode tintMode) { + private PorterDuffColorFilter updateTintFilter(@Nullable ColorStateList tint, @Nullable PorterDuff.Mode tintMode) { if (tint == null || tintMode == null) { return null; } diff --git a/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsExtractor.java b/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsExtractor.java index 04a898e9..4f487e81 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsExtractor.java +++ b/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsExtractor.java @@ -19,13 +19,14 @@ import android.content.Context; import android.content.res.ColorStateList; import android.content.res.TypedArray; +import android.text.TextUtils; + +import com.mikepenz.iconics.IconicsDrawable; + import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.RestrictTo; import androidx.annotation.StyleableRes; -import android.text.TextUtils; - -import com.mikepenz.iconics.IconicsDrawable; import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP; @@ -34,11 +35,10 @@ */ @RestrictTo(LIBRARY_GROUP) public class IconicsAttrsExtractor { - private final static int DEF_COLOR = Integer.MIN_VALUE; private final static int DEF_SIZE = -1; - @NonNull private final Context mContext; - @NonNull private final TypedArray mTypedArray; + private final @NonNull Context mContext; + private final @NonNull TypedArray mTypedArray; @StyleableRes private int mIconId; @StyleableRes private int mSizeId; @@ -61,84 +61,80 @@ public IconicsAttrsExtractor(@NonNull Context context, @NonNull TypedArray typed } //region chain setters - public IconicsAttrsExtractor iconId(@StyleableRes int iconId) { + public @NonNull IconicsAttrsExtractor iconId(@StyleableRes int iconId) { mIconId = iconId; return this; } - public IconicsAttrsExtractor sizeId(@StyleableRes int sizeId) { + public @NonNull IconicsAttrsExtractor sizeId(@StyleableRes int sizeId) { mSizeId = sizeId; return this; } - public IconicsAttrsExtractor colorsId(@StyleableRes int colorsId) { + public @NonNull IconicsAttrsExtractor colorsId(@StyleableRes int colorsId) { mColorsId = colorsId; return this; } - public IconicsAttrsExtractor paddingId(@StyleableRes int paddingId) { + public @NonNull IconicsAttrsExtractor paddingId(@StyleableRes int paddingId) { mPaddingId = paddingId; return this; } - public IconicsAttrsExtractor contourColorId(@StyleableRes int contourColorId) { + public @NonNull IconicsAttrsExtractor contourColorId(@StyleableRes int contourColorId) { mContourColorId = contourColorId; return this; } - public IconicsAttrsExtractor contourWidthId(@StyleableRes int contourWidthId) { + public @NonNull IconicsAttrsExtractor contourWidthId(@StyleableRes int contourWidthId) { mContourWidthId = contourWidthId; return this; } - public IconicsAttrsExtractor backgroundColorId(@StyleableRes int backgroundColorId) { + public @NonNull IconicsAttrsExtractor backgroundColorId(@StyleableRes int backgroundColorId) { mBackgroundColorId = backgroundColorId; return this; } - public IconicsAttrsExtractor cornerRadiusId(@StyleableRes int cornerRadiusId) { + public @NonNull IconicsAttrsExtractor cornerRadiusId(@StyleableRes int cornerRadiusId) { mCornerRadiusId = cornerRadiusId; return this; } - public IconicsAttrsExtractor backgroundContourColorId(@StyleableRes int backgroundContourColorId) { + public @NonNull IconicsAttrsExtractor backgroundContourColorId(@StyleableRes int backgroundContourColorId) { mBackgroundContourColorId = backgroundContourColorId; return this; } - public IconicsAttrsExtractor backgroundContourWidthId(@StyleableRes int backgroundContourWidthId) { + public @NonNull IconicsAttrsExtractor backgroundContourWidthId(@StyleableRes int backgroundContourWidthId) { mBackgroundContourWidthId = backgroundContourWidthId; return this; } - public IconicsAttrsExtractor offsetXId(@StyleableRes int offsetXId) { + public @NonNull IconicsAttrsExtractor offsetXId(@StyleableRes int offsetXId) { mOffsetXId = offsetXId; return this; } - public IconicsAttrsExtractor offsetYId(@StyleableRes int offsetYId) { + public @NonNull IconicsAttrsExtractor offsetYId(@StyleableRes int offsetYId) { mOffsetYId = offsetYId; return this; } //endregion - @NonNull - public IconicsDrawable extractNonNull() { + public @NonNull IconicsDrawable extractNonNull() { return extract(null, false, true); } - @Nullable - public IconicsDrawable extract(@Nullable IconicsDrawable icon) { + public @Nullable IconicsDrawable extract(@Nullable IconicsDrawable icon) { return extract(icon, false, false); } - @Nullable - public IconicsDrawable extract() { + public @Nullable IconicsDrawable extract() { return extract(null, false, false); } - @Nullable - public IconicsDrawable extractWithOffsets() { + public @Nullable IconicsDrawable extractWithOffsets() { return extract(null, true, false); } @@ -162,24 +158,24 @@ private IconicsDrawable extract(@Nullable IconicsDrawable icon, boolean extractO if (padding != DEF_SIZE) { icon = createIfNeeds(icon, mContext).paddingPx(padding); } - int contourColor = mTypedArray.getColor(mContourColorId, DEF_COLOR); - if (contourColor != DEF_COLOR) { + ColorStateList contourColor = mTypedArray.getColorStateList(mContourColorId); + if (contourColor != null) { icon = createIfNeeds(icon, mContext).contourColor(contourColor); } int contourWidth = mTypedArray.getDimensionPixelSize(mContourWidthId, DEF_SIZE); if (contourWidth != DEF_SIZE) { icon = createIfNeeds(icon, mContext).contourWidthPx(contourWidth); } - int backgroundColor = mTypedArray.getColor(mBackgroundColorId, DEF_COLOR); - if (backgroundColor != DEF_COLOR) { + ColorStateList backgroundColor = mTypedArray.getColorStateList(mBackgroundColorId); + if (backgroundColor != null) { icon = createIfNeeds(icon, mContext).backgroundColor(backgroundColor); } int cornerRadius = mTypedArray.getDimensionPixelSize(mCornerRadiusId, DEF_SIZE); if (cornerRadius != DEF_SIZE) { icon = createIfNeeds(icon, mContext).roundedCornersPx(cornerRadius); } - int backgroundContourColor = mTypedArray.getColor(mBackgroundContourColorId, DEF_COLOR); - if (backgroundContourColor != DEF_COLOR) { + ColorStateList backgroundContourColor = mTypedArray.getColorStateList(mBackgroundContourColorId); + if (backgroundContourColor != null) { icon = createIfNeeds(icon, mContext).backgroundContourColor(backgroundContourColor); } int backgroundContourWidth = mTypedArray.getDimensionPixelSize(mBackgroundContourWidthId, DEF_SIZE); @@ -202,16 +198,16 @@ private IconicsDrawable extract(@Nullable IconicsDrawable icon, boolean extractO return icon; } - @Nullable - private static IconicsDrawable copyIfCan(@Nullable IconicsDrawable drawable) { + private static @Nullable IconicsDrawable copyIfCan(@Nullable IconicsDrawable drawable) { if (drawable != null) { return drawable.clone(); } return null; } - @NonNull - private static IconicsDrawable createIfNeeds(@Nullable IconicsDrawable drawable, Context context){ + private static @NonNull IconicsDrawable createIfNeeds( + @Nullable IconicsDrawable drawable, + @NonNull Context context){ if (drawable == null){ drawable = new IconicsDrawable(context); } From 6b609c3fa139bd19dbdfdcc2bf8adacdd2bdfeb3 Mon Sep 17 00:00:00 2001 From: "zTrap (Peter Gulko)" Date: Mon, 3 Dec 2018 12:25:51 +0300 Subject: [PATCH 03/15] - added documentation - introduced build-in animation processing - introduced custom animation processing - added support shadows via xml - language level was bumped to JAVA 8 --- .../main/res/layout/activity_playground.xml | 25 +- .../internal/IconicsViewsAttrsApplier.java | 149 ++++-- .../mikepenz/iconics/view/IconicsButton.java | 36 +- .../view/IconicsCheckableTextView.java | 42 +- .../iconics/view/IconicsCompoundButton.java | 20 +- .../iconics/view/IconicsImageView.java | 18 +- .../iconics/view/IconicsTextView.java | 36 +- .../src/main/res/values/attrs.xml | 67 ++- library-core/build.gradle | 4 + .../java/com/mikepenz/iconics/Iconics.java | 226 ++++---- .../com/mikepenz/iconics/IconicsBrush.java | 30 +- .../com/mikepenz/iconics/IconicsDrawable.java | 164 +++--- .../animation/BlinkAlphaProcessor.java | 95 ++++ .../animation/BlinkScaleProcessor.java | 99 ++++ .../animation/IconicsAnimatedDrawable.java | 173 ++++++ .../animation/IconicsAnimationListener.java | 88 +++ .../IconicsAnimationPauseListener.java | 48 ++ .../animation/IconicsAnimationProcessor.java | 499 ++++++++++++++++++ .../iconics/animation/SpinProcessor.java | 105 ++++ .../iconics/context/IconicsAttrsApplier.java | 19 +- .../context/IconicsAttrsExtractor.java | 143 ++++- .../iconics/context/IconicsFactory.java | 31 +- .../iconics/typeface/GenericFont.java | 56 +- .../mikepenz/iconics/utils/GenericsUtil.java | 42 +- library-core/src/main/res/values/attrs.xml | 5 + library-core/src/main/res/values/strings.xml | 22 + 26 files changed, 1854 insertions(+), 388 deletions(-) create mode 100644 library-core/src/main/java/com/mikepenz/iconics/animation/BlinkAlphaProcessor.java create mode 100644 library-core/src/main/java/com/mikepenz/iconics/animation/BlinkScaleProcessor.java create mode 100644 library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimatedDrawable.java create mode 100644 library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationListener.java create mode 100644 library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationPauseListener.java create mode 100644 library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationProcessor.java create mode 100644 library-core/src/main/java/com/mikepenz/iconics/animation/SpinProcessor.java create mode 100644 library-core/src/main/res/values/strings.xml diff --git a/app/src/main/res/layout/activity_playground.xml b/app/src/main/res/layout/activity_playground.xml index 4beb945d..4bceab92 100644 --- a/app/src/main/res/layout/activity_playground.xml +++ b/app/src/main/res/layout/activity_playground.xml @@ -264,7 +264,30 @@ app:iiv_background_contour_color="@color/color_states_bg_contour" app:iiv_contour_color="@color/color_states_contour" app:iiv_background_contour_width="2dp" - app:iiv_contour_width="2dp"/> + app:iiv_contour_width="2dp" + app:iiv_shadow_color="@color/md_green_A400" + app:iiv_shadow_dx="4dp" + app:iiv_shadow_dy="4dp" + app:iiv_shadow_radius="4dp"/> + + * For overriding some of attributes to default use resources with prefix 'default_' */ - public static void readIconicsTextView(Context ctx, AttributeSet attrs, CompoundIconsBundle bundle) { + public static void readIconicsTextView(@NonNull Context ctx, + @Nullable AttributeSet attrs, + @NonNull CompoundIconsBundle bundle) { final TypedArray a = ctx.obtainStyledAttributes(attrs, R.styleable.IconicsTextView, 0, 0); //obtaining attributes for all icons IconicsDrawable allIcon = getIconicsTextViewAllDrawable(ctx, a); @@ -93,8 +101,8 @@ public static void readIconicsTextView(Context ctx, AttributeSet attrs, Compound a.recycle(); } - @Nullable - public static IconicsDrawable getIconicsTextViewAllDrawable(Context ctx, TypedArray a) { + public static @Nullable IconicsDrawable getIconicsTextViewAllDrawable(@NonNull Context ctx, + @Nullable TypedArray a) { return new IconicsAttrsExtractor(ctx, a) .iconId(R.styleable.IconicsTextView_iiv_all_icon) .colorsId(R.styleable.IconicsTextView_iiv_all_color) @@ -106,11 +114,17 @@ public static IconicsDrawable getIconicsTextViewAllDrawable(Context ctx, TypedAr .cornerRadiusId(R.styleable.IconicsTextView_iiv_all_corner_radius) .backgroundContourColorId(R.styleable.IconicsTextView_iiv_all_background_contour_color) .backgroundContourWidthId(R.styleable.IconicsTextView_iiv_all_background_contour_width) + .shadowRadiusId(R.styleable.IconicsTextView_iiv_all_shadow_radius) + .shadowDxId(R.styleable.IconicsTextView_iiv_all_shadow_dx) + .shadowDyId(R.styleable.IconicsTextView_iiv_all_shadow_dy) + .shadowColorId(R.styleable.IconicsTextView_iiv_all_shadow_color) + .animationsId(R.styleable.IconicsTextView_iiv_all_animations) .extract(); } - @Nullable - public static IconicsDrawable getIconicsTextViewStartDrawable(Context ctx, TypedArray a, @Nullable IconicsDrawable icon) { + public static @Nullable IconicsDrawable getIconicsTextViewStartDrawable(@NonNull Context ctx, + @Nullable TypedArray a, + @Nullable IconicsDrawable icon) { return new IconicsAttrsExtractor(ctx, a) .iconId(R.styleable.IconicsTextView_iiv_start_icon) .colorsId(R.styleable.IconicsTextView_iiv_start_color) @@ -122,11 +136,17 @@ public static IconicsDrawable getIconicsTextViewStartDrawable(Context ctx, Typed .cornerRadiusId(R.styleable.IconicsTextView_iiv_start_corner_radius) .backgroundContourColorId(R.styleable.IconicsTextView_iiv_start_background_contour_color) .backgroundContourWidthId(R.styleable.IconicsTextView_iiv_start_background_contour_width) + .shadowRadiusId(R.styleable.IconicsTextView_iiv_start_shadow_radius) + .shadowDxId(R.styleable.IconicsTextView_iiv_start_shadow_dx) + .shadowDyId(R.styleable.IconicsTextView_iiv_start_shadow_dy) + .shadowColorId(R.styleable.IconicsTextView_iiv_start_shadow_color) + .animationsId(R.styleable.IconicsTextView_iiv_start_animations) .extract(icon); } - @Nullable - public static IconicsDrawable getIconicsTextViewTopDrawable(Context ctx, TypedArray a, @Nullable IconicsDrawable icon) { + public static @Nullable IconicsDrawable getIconicsTextViewTopDrawable(@NonNull Context ctx, + @Nullable TypedArray a, + @Nullable IconicsDrawable icon) { return new IconicsAttrsExtractor(ctx, a) .iconId(R.styleable.IconicsTextView_iiv_top_icon) .colorsId(R.styleable.IconicsTextView_iiv_top_color) @@ -138,11 +158,17 @@ public static IconicsDrawable getIconicsTextViewTopDrawable(Context ctx, TypedAr .cornerRadiusId(R.styleable.IconicsTextView_iiv_top_corner_radius) .backgroundContourColorId(R.styleable.IconicsTextView_iiv_top_background_contour_color) .backgroundContourWidthId(R.styleable.IconicsTextView_iiv_top_background_contour_width) + .shadowRadiusId(R.styleable.IconicsTextView_iiv_top_shadow_radius) + .shadowDxId(R.styleable.IconicsTextView_iiv_top_shadow_dx) + .shadowDyId(R.styleable.IconicsTextView_iiv_top_shadow_dy) + .shadowColorId(R.styleable.IconicsTextView_iiv_top_shadow_color) + .animationsId(R.styleable.IconicsTextView_iiv_top_animations) .extract(icon); } - @Nullable - public static IconicsDrawable getIconicsTextViewEndDrawable(Context ctx, TypedArray a, @Nullable IconicsDrawable icon) { + public static @Nullable IconicsDrawable getIconicsTextViewEndDrawable(@NonNull Context ctx, + @Nullable TypedArray a, + @Nullable IconicsDrawable icon) { return new IconicsAttrsExtractor(ctx, a) .iconId(R.styleable.IconicsTextView_iiv_end_icon) .colorsId(R.styleable.IconicsTextView_iiv_end_color) @@ -154,11 +180,17 @@ public static IconicsDrawable getIconicsTextViewEndDrawable(Context ctx, TypedAr .cornerRadiusId(R.styleable.IconicsTextView_iiv_end_corner_radius) .backgroundContourColorId(R.styleable.IconicsTextView_iiv_end_background_contour_color) .backgroundContourWidthId(R.styleable.IconicsTextView_iiv_end_background_contour_width) + .shadowRadiusId(R.styleable.IconicsTextView_iiv_end_shadow_radius) + .shadowDxId(R.styleable.IconicsTextView_iiv_end_shadow_dx) + .shadowDyId(R.styleable.IconicsTextView_iiv_end_shadow_dy) + .shadowColorId(R.styleable.IconicsTextView_iiv_end_shadow_color) + .animationsId(R.styleable.IconicsTextView_iiv_end_animations) .extract(icon); } - @Nullable - public static IconicsDrawable getIconicsTextViewBottomDrawable(Context ctx, TypedArray a, @Nullable IconicsDrawable icon) { + public static @Nullable IconicsDrawable getIconicsTextViewBottomDrawable(@NonNull Context ctx, + @Nullable TypedArray a, + @Nullable IconicsDrawable icon) { return new IconicsAttrsExtractor(ctx, a) .iconId(R.styleable.IconicsTextView_iiv_bottom_icon) .colorsId(R.styleable.IconicsTextView_iiv_bottom_color) @@ -170,12 +202,19 @@ public static IconicsDrawable getIconicsTextViewBottomDrawable(Context ctx, Type .cornerRadiusId(R.styleable.IconicsTextView_iiv_bottom_corner_radius) .backgroundContourColorId(R.styleable.IconicsTextView_iiv_bottom_background_contour_color) .backgroundContourWidthId(R.styleable.IconicsTextView_iiv_bottom_background_contour_width) + .shadowRadiusId(R.styleable.IconicsTextView_iiv_bottom_shadow_radius) + .shadowDxId(R.styleable.IconicsTextView_iiv_bottom_shadow_dx) + .shadowDyId(R.styleable.IconicsTextView_iiv_bottom_shadow_dy) + .shadowColorId(R.styleable.IconicsTextView_iiv_bottom_shadow_color) + .animationsId(R.styleable.IconicsTextView_iiv_bottom_animations) .extract(icon); } //endregion //region IconicsCompoundButton - public static void readIconicsCompoundButton(Context ctx, AttributeSet attrs, CheckableIconBundle icon) { + public static void readIconicsCompoundButton(@NonNull Context ctx, + @Nullable AttributeSet attrs, + @NonNull CheckableIconBundle icon) { TypedArray a = ctx.obtainStyledAttributes(attrs, R.styleable.IconicsCompoundButton, 0, 0); //obtaining attributes for Unchecked icon state @@ -187,8 +226,8 @@ public static void readIconicsCompoundButton(Context ctx, AttributeSet attrs, Ch a.recycle(); } - @NonNull - public static IconicsDrawable getIconicsCompoundButtonUncheckedDrawable(Context ctx, TypedArray a) { + public static @NonNull IconicsDrawable getIconicsCompoundButtonUncheckedDrawable(@NonNull Context ctx, + @Nullable TypedArray a) { return new IconicsAttrsExtractor(ctx, a) .iconId(R.styleable.IconicsCompoundButton_iiv_unchecked_icon) .colorsId(R.styleable.IconicsCompoundButton_iiv_unchecked_color) @@ -200,11 +239,16 @@ public static IconicsDrawable getIconicsCompoundButtonUncheckedDrawable(Context .cornerRadiusId(R.styleable.IconicsCompoundButton_iiv_unchecked_corner_radius) .backgroundContourColorId(R.styleable.IconicsCompoundButton_iiv_unchecked_background_contour_color) .backgroundContourWidthId(R.styleable.IconicsCompoundButton_iiv_unchecked_background_contour_width) + .shadowRadiusId(R.styleable.IconicsCompoundButton_iiv_unchecked_shadow_radius) + .shadowDxId(R.styleable.IconicsCompoundButton_iiv_unchecked_shadow_dx) + .shadowDyId(R.styleable.IconicsCompoundButton_iiv_unchecked_shadow_dy) + .shadowColorId(R.styleable.IconicsCompoundButton_iiv_unchecked_shadow_color) + .animationsId(R.styleable.IconicsCompoundButton_iiv_unchecked_animations) .extractNonNull(); } - @NonNull - public static IconicsDrawable getIconicsCompoundButtonCheckedDrawable(Context ctx, TypedArray a) { + public static @NonNull IconicsDrawable getIconicsCompoundButtonCheckedDrawable(@NonNull Context ctx, + @Nullable TypedArray a) { return new IconicsAttrsExtractor(ctx, a) .iconId(R.styleable.IconicsCompoundButton_iiv_checked_icon) .colorsId(R.styleable.IconicsCompoundButton_iiv_checked_color) @@ -216,6 +260,11 @@ public static IconicsDrawable getIconicsCompoundButtonCheckedDrawable(Context ct .cornerRadiusId(R.styleable.IconicsCompoundButton_iiv_checked_corner_radius) .backgroundContourColorId(R.styleable.IconicsCompoundButton_iiv_checked_background_contour_color) .backgroundContourWidthId(R.styleable.IconicsCompoundButton_iiv_checked_background_contour_width) + .shadowRadiusId(R.styleable.IconicsCompoundButton_iiv_checked_shadow_radius) + .shadowDxId(R.styleable.IconicsCompoundButton_iiv_checked_shadow_dx) + .shadowDyId(R.styleable.IconicsCompoundButton_iiv_checked_shadow_dy) + .shadowColorId(R.styleable.IconicsCompoundButton_iiv_checked_shadow_color) + .animationsId(R.styleable.IconicsCompoundButton_iiv_checked_animations) .extractNonNull(); } //endregion @@ -232,7 +281,9 @@ public static IconicsDrawable getIconicsCompoundButtonCheckedDrawable(Context ct *

* For overriding some of attributes to default use resources with prefix 'default_' */ - public static void readIconicsCheckableTextView(Context ctx, AttributeSet attrs, CompoundIconsBundle bundle) { + public static void readIconicsCheckableTextView(@NonNull Context ctx, + @Nullable AttributeSet attrs, + @NonNull CompoundIconsBundle bundle) { TypedArray a = ctx.obtainStyledAttributes(attrs, R.styleable.IconicsCheckableTextView, 0, 0); //obtaining attributes for all icons @@ -253,8 +304,8 @@ public static void readIconicsCheckableTextView(Context ctx, AttributeSet attrs, a.recycle(); } - @Nullable - public static IconicsDrawable getIconicsCheckableTextViewAllDrawable(Context ctx, TypedArray a) { + public static @Nullable IconicsDrawable getIconicsCheckableTextViewAllDrawable(@NonNull Context ctx, + @Nullable TypedArray a) { return new IconicsAttrsExtractor(ctx, a) .iconId(R.styleable.IconicsCheckableTextView_iiv_all_checked_icon) .colorsId(R.styleable.IconicsCheckableTextView_iiv_all_checked_color) @@ -266,11 +317,17 @@ public static IconicsDrawable getIconicsCheckableTextViewAllDrawable(Context ctx .cornerRadiusId(R.styleable.IconicsCheckableTextView_iiv_all_checked_corner_radius) .backgroundContourColorId(R.styleable.IconicsCheckableTextView_iiv_all_checked_background_contour_color) .backgroundContourWidthId(R.styleable.IconicsCheckableTextView_iiv_all_checked_background_contour_width) + .shadowRadiusId(R.styleable.IconicsCheckableTextView_iiv_all_checked_shadow_radius) + .shadowDxId(R.styleable.IconicsCheckableTextView_iiv_all_checked_shadow_dx) + .shadowDyId(R.styleable.IconicsCheckableTextView_iiv_all_checked_shadow_dy) + .shadowColorId(R.styleable.IconicsCheckableTextView_iiv_all_checked_shadow_color) + .animationsId(R.styleable.IconicsCheckableTextView_iiv_all_checked_animations) .extract(); } - @Nullable - public static IconicsDrawable getIconicsCheckableTextViewStartDrawable(Context ctx, TypedArray a, @Nullable IconicsDrawable icon) { + public static @Nullable IconicsDrawable getIconicsCheckableTextViewStartDrawable(@NonNull Context ctx, + @Nullable TypedArray a, + @Nullable IconicsDrawable icon) { return new IconicsAttrsExtractor(ctx, a) .iconId(R.styleable.IconicsCheckableTextView_iiv_start_checked_icon) .colorsId(R.styleable.IconicsCheckableTextView_iiv_start_checked_color) @@ -282,11 +339,17 @@ public static IconicsDrawable getIconicsCheckableTextViewStartDrawable(Context c .cornerRadiusId(R.styleable.IconicsCheckableTextView_iiv_start_checked_corner_radius) .backgroundContourColorId(R.styleable.IconicsCheckableTextView_iiv_start_checked_background_contour_color) .backgroundContourWidthId(R.styleable.IconicsCheckableTextView_iiv_start_checked_background_contour_width) + .shadowRadiusId(R.styleable.IconicsCheckableTextView_iiv_start_checked_shadow_radius) + .shadowDxId(R.styleable.IconicsCheckableTextView_iiv_start_checked_shadow_dx) + .shadowDyId(R.styleable.IconicsCheckableTextView_iiv_start_checked_shadow_dy) + .shadowColorId(R.styleable.IconicsCheckableTextView_iiv_start_checked_shadow_color) + .animationsId(R.styleable.IconicsCheckableTextView_iiv_start_checked_animations) .extract(icon); } - @Nullable - public static IconicsDrawable getIconicsCheckableTextViewTopDrawable(Context ctx, TypedArray a, @Nullable IconicsDrawable icon) { + public static @Nullable IconicsDrawable getIconicsCheckableTextViewTopDrawable(@NonNull Context ctx, + @Nullable TypedArray a, + @Nullable IconicsDrawable icon) { return new IconicsAttrsExtractor(ctx, a) .iconId(R.styleable.IconicsCheckableTextView_iiv_top_checked_icon) .colorsId(R.styleable.IconicsCheckableTextView_iiv_top_checked_color) @@ -298,11 +361,17 @@ public static IconicsDrawable getIconicsCheckableTextViewTopDrawable(Context ctx .cornerRadiusId(R.styleable.IconicsCheckableTextView_iiv_top_checked_corner_radius) .backgroundContourColorId(R.styleable.IconicsCheckableTextView_iiv_top_checked_background_contour_color) .backgroundContourWidthId(R.styleable.IconicsCheckableTextView_iiv_top_checked_background_contour_width) + .shadowRadiusId(R.styleable.IconicsCheckableTextView_iiv_top_checked_shadow_radius) + .shadowDxId(R.styleable.IconicsCheckableTextView_iiv_top_checked_shadow_dx) + .shadowDyId(R.styleable.IconicsCheckableTextView_iiv_top_checked_shadow_dy) + .shadowColorId(R.styleable.IconicsCheckableTextView_iiv_top_checked_shadow_color) + .animationsId(R.styleable.IconicsCheckableTextView_iiv_top_checked_animations) .extract(icon); } - @Nullable - public static IconicsDrawable getIconicsCheckableTextViewEndDrawable(Context ctx, TypedArray a, @Nullable IconicsDrawable icon) { + public static @Nullable IconicsDrawable getIconicsCheckableTextViewEndDrawable(@NonNull Context ctx, + @Nullable TypedArray a, + @Nullable IconicsDrawable icon) { return new IconicsAttrsExtractor(ctx, a) .iconId(R.styleable.IconicsCheckableTextView_iiv_end_checked_icon) .colorsId(R.styleable.IconicsCheckableTextView_iiv_end_checked_color) @@ -314,11 +383,17 @@ public static IconicsDrawable getIconicsCheckableTextViewEndDrawable(Context ctx .cornerRadiusId(R.styleable.IconicsCheckableTextView_iiv_end_checked_corner_radius) .backgroundContourColorId(R.styleable.IconicsCheckableTextView_iiv_end_checked_background_contour_color) .backgroundContourWidthId(R.styleable.IconicsCheckableTextView_iiv_end_checked_background_contour_width) + .shadowRadiusId(R.styleable.IconicsCheckableTextView_iiv_end_checked_shadow_radius) + .shadowDxId(R.styleable.IconicsCheckableTextView_iiv_end_checked_shadow_dx) + .shadowDyId(R.styleable.IconicsCheckableTextView_iiv_end_checked_shadow_dy) + .shadowColorId(R.styleable.IconicsCheckableTextView_iiv_end_checked_shadow_color) + .animationsId(R.styleable.IconicsCheckableTextView_iiv_end_checked_animations) .extract(icon); } - @Nullable - public static IconicsDrawable getIconicsCheckableTextViewBottomDrawable(Context ctx, TypedArray a, @Nullable IconicsDrawable icon) { + public static @Nullable IconicsDrawable getIconicsCheckableTextViewBottomDrawable(@NonNull Context ctx, + @Nullable TypedArray a, + @Nullable IconicsDrawable icon) { return new IconicsAttrsExtractor(ctx, a) .iconId(R.styleable.IconicsCheckableTextView_iiv_bottom_checked_icon) .colorsId(R.styleable.IconicsCheckableTextView_iiv_bottom_checked_color) @@ -330,11 +405,17 @@ public static IconicsDrawable getIconicsCheckableTextViewBottomDrawable(Context .cornerRadiusId(R.styleable.IconicsCheckableTextView_iiv_bottom_checked_corner_radius) .backgroundContourColorId(R.styleable.IconicsCheckableTextView_iiv_bottom_checked_background_contour_color) .backgroundContourWidthId(R.styleable.IconicsCheckableTextView_iiv_bottom_checked_background_contour_width) + .shadowRadiusId(R.styleable.IconicsCheckableTextView_iiv_bottom_checked_shadow_radius) + .shadowDxId(R.styleable.IconicsCheckableTextView_iiv_bottom_checked_shadow_dx) + .shadowDyId(R.styleable.IconicsCheckableTextView_iiv_bottom_checked_shadow_dy) + .shadowColorId(R.styleable.IconicsCheckableTextView_iiv_bottom_checked_shadow_color) + .animationsId(R.styleable.IconicsCheckableTextView_iiv_bottom_checked_animations) .extract(icon); } //endregion - public static boolean isIconicsAnimateChanges(Context context, AttributeSet attrs) { + public static boolean isIconicsAnimateChanges(@NonNull Context context, + @Nullable AttributeSet attrs) { TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.IconicsAnimateChanges, 0, 0); try { return a.getBoolean(R.styleable.IconicsAnimateChanges_iiv_animate_icon_changes, true); diff --git a/iconics-view-library/src/main/java/com/mikepenz/iconics/view/IconicsButton.java b/iconics-view-library/src/main/java/com/mikepenz/iconics/view/IconicsButton.java index 293a5dd9..7ee62bd8 100644 --- a/iconics-view-library/src/main/java/com/mikepenz/iconics/view/IconicsButton.java +++ b/iconics-view-library/src/main/java/com/mikepenz/iconics/view/IconicsButton.java @@ -17,18 +17,20 @@ package com.mikepenz.iconics.view; import android.content.Context; -import androidx.annotation.Nullable; -import androidx.annotation.RestrictTo; -import androidx.appcompat.widget.AppCompatButton; import android.util.AttributeSet; import com.mikepenz.iconics.Iconics; import com.mikepenz.iconics.IconicsDrawable; +import com.mikepenz.iconics.animation.IconicsAnimatedDrawable; import com.mikepenz.iconics.internal.CompoundIconicsDrawables; import com.mikepenz.iconics.internal.CompoundIconsBundle; import com.mikepenz.iconics.internal.IconicsView; import com.mikepenz.iconics.internal.IconicsViewsAttrsApplier; +import androidx.annotation.Nullable; +import androidx.annotation.RestrictTo; +import androidx.appcompat.widget.AppCompatButton; + import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP; public class IconicsButton extends AppCompatButton implements IconicsView, CompoundIconicsDrawables { @@ -54,6 +56,10 @@ public IconicsButton(Context context, AttributeSet attrs, int defStyle) { public void initialize(Context context, AttributeSet attrs, int defStyle) { applyAttr(context, attrs, defStyle); //setting created icons + checkAnimation(mIconsBundle.mBottomIcon); + checkAnimation(mIconsBundle.mTopIcon); + checkAnimation(mIconsBundle.mEndIcon); + checkAnimation(mIconsBundle.mStartIcon); setIcons(); } @@ -106,36 +112,44 @@ public IconicsDrawable getIconicsDrawableBottom() { @Override public void setDrawableStart(@Nullable IconicsDrawable drawable) { - mIconsBundle.mStartIcon = drawable; + mIconsBundle.mStartIcon = checkAnimation(drawable); setIcons(); } @Override public void setDrawableTop(@Nullable IconicsDrawable drawable) { - mIconsBundle.mTopIcon = drawable; + mIconsBundle.mTopIcon = checkAnimation(drawable); setIcons(); } @Override public void setDrawableEnd(@Nullable IconicsDrawable drawable) { - mIconsBundle.mEndIcon = drawable; + mIconsBundle.mEndIcon = checkAnimation(drawable); setIcons(); } @Override public void setDrawableBottom(@Nullable IconicsDrawable drawable) { - mIconsBundle.mBottomIcon = drawable; + mIconsBundle.mBottomIcon = checkAnimation(drawable); setIcons(); } @Override public void setDrawableForAll(@Nullable IconicsDrawable drawable) { - mIconsBundle.mStartIcon = drawable; - mIconsBundle.mTopIcon = drawable; - mIconsBundle.mEndIcon = drawable; - mIconsBundle.mBottomIcon = drawable; + mIconsBundle.mStartIcon = checkAnimation(drawable); + mIconsBundle.mTopIcon = checkAnimation(drawable); + mIconsBundle.mEndIcon = checkAnimation(drawable); + mIconsBundle.mBottomIcon = checkAnimation(drawable); setIcons(); } + + private @Nullable IconicsDrawable checkAnimation(@Nullable IconicsDrawable drawable) { + if (drawable == null) return null; + if (drawable instanceof IconicsAnimatedDrawable) { + ((IconicsAnimatedDrawable) drawable).animateIn(this); + } + return drawable; + } //endregion @Override diff --git a/iconics-view-library/src/main/java/com/mikepenz/iconics/view/IconicsCheckableTextView.java b/iconics-view-library/src/main/java/com/mikepenz/iconics/view/IconicsCheckableTextView.java index 90c07966..2607afcc 100644 --- a/iconics-view-library/src/main/java/com/mikepenz/iconics/view/IconicsCheckableTextView.java +++ b/iconics-view-library/src/main/java/com/mikepenz/iconics/view/IconicsCheckableTextView.java @@ -18,19 +18,21 @@ import android.content.Context; import android.graphics.drawable.StateListDrawable; -import androidx.annotation.Nullable; -import androidx.annotation.RestrictTo; -import androidx.core.widget.TextViewCompat; import android.util.AttributeSet; import android.view.SoundEffectConstants; import android.widget.Checkable; import com.mikepenz.iconics.IconicsDrawable; +import com.mikepenz.iconics.animation.IconicsAnimatedDrawable; import com.mikepenz.iconics.internal.CheckedCompoundIconicsDrawables; import com.mikepenz.iconics.internal.CompoundIconsBundle; import com.mikepenz.iconics.internal.IconicsViewsAttrsApplier; import com.mikepenz.iconics.utils.Utils; +import androidx.annotation.Nullable; +import androidx.annotation.RestrictTo; +import androidx.core.widget.TextViewCompat; + import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP; /** @@ -69,8 +71,18 @@ public void initialize(Context context, AttributeSet attrs, int defStyle) { setClickable(true); //taking normal state attrs super.applyAttr(context, attrs, defStyle); + checkAnimation(mIconsBundle.mBottomIcon); + checkAnimation(mIconsBundle.mTopIcon); + checkAnimation(mIconsBundle.mEndIcon); + checkAnimation(mIconsBundle.mStartIcon); + //taking checked state attrs applyAttr(context, attrs, defStyle); + + checkAnimation(mCheckedIconsBundle.mBottomIcon); + checkAnimation(mCheckedIconsBundle.mTopIcon); + checkAnimation(mCheckedIconsBundle.mEndIcon); + checkAnimation(mCheckedIconsBundle.mStartIcon); //setting created icons setIcons(); } @@ -209,36 +221,44 @@ public IconicsDrawable getCheckedIconicsDrawableBottom() { @Override public void setCheckedDrawableStart(@Nullable IconicsDrawable drawable) { - mCheckedIconsBundle.mStartIcon = drawable; + mCheckedIconsBundle.mStartIcon = checkAnimation(drawable); setIcons(); } @Override public void setCheckedDrawableTop(@Nullable IconicsDrawable drawable) { - mCheckedIconsBundle.mTopIcon = drawable; + mCheckedIconsBundle.mTopIcon = checkAnimation(drawable); setIcons(); } @Override public void setCheckedDrawableEnd(@Nullable IconicsDrawable drawable) { - mCheckedIconsBundle.mEndIcon = drawable; + mCheckedIconsBundle.mEndIcon = checkAnimation(drawable); setIcons(); } @Override public void setCheckedDrawableBottom(@Nullable IconicsDrawable drawable) { - mCheckedIconsBundle.mBottomIcon = drawable; + mCheckedIconsBundle.mBottomIcon = checkAnimation(drawable); setIcons(); } @Override public void setCheckedDrawableForAll(@Nullable IconicsDrawable drawable) { - mCheckedIconsBundle.mStartIcon = drawable; - mCheckedIconsBundle.mTopIcon = drawable; - mCheckedIconsBundle.mEndIcon = drawable; - mCheckedIconsBundle.mBottomIcon = drawable; + mCheckedIconsBundle.mStartIcon = checkAnimation(drawable); + mCheckedIconsBundle.mTopIcon = checkAnimation(drawable); + mCheckedIconsBundle.mEndIcon = checkAnimation(drawable); + mCheckedIconsBundle.mBottomIcon = checkAnimation(drawable); setIcons(); } + + private @Nullable IconicsDrawable checkAnimation(@Nullable IconicsDrawable drawable) { + if (drawable == null) return null; + if (drawable instanceof IconicsAnimatedDrawable) { + ((IconicsAnimatedDrawable) drawable).animateIn(this); + } + return drawable; + } //endregion public interface OnCheckedChangeListener { diff --git a/iconics-view-library/src/main/java/com/mikepenz/iconics/view/IconicsCompoundButton.java b/iconics-view-library/src/main/java/com/mikepenz/iconics/view/IconicsCompoundButton.java index 322065c3..51658c00 100644 --- a/iconics-view-library/src/main/java/com/mikepenz/iconics/view/IconicsCompoundButton.java +++ b/iconics-view-library/src/main/java/com/mikepenz/iconics/view/IconicsCompoundButton.java @@ -17,17 +17,19 @@ package com.mikepenz.iconics.view; import android.content.Context; -import androidx.annotation.Nullable; -import androidx.annotation.RestrictTo; import android.util.AttributeSet; import android.widget.CompoundButton; import com.mikepenz.iconics.Iconics; import com.mikepenz.iconics.IconicsDrawable; +import com.mikepenz.iconics.animation.IconicsAnimatedDrawable; import com.mikepenz.iconics.internal.CheckableIconBundle; import com.mikepenz.iconics.internal.IconicsView; import com.mikepenz.iconics.internal.IconicsViewsAttrsApplier; +import androidx.annotation.Nullable; +import androidx.annotation.RestrictTo; + import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP; /** @@ -56,6 +58,8 @@ public IconicsCompoundButton(Context context, AttributeSet attrs, int defStyle) public void initialize(Context context, AttributeSet attrs, int defStyle) { mIconsBundle.createIcons(context); applyAttr(context, attrs, defStyle); + checkAnimation(mIconsBundle.mCheckedIcon); + checkAnimation(mIconsBundle.mUncheckedIcon); setButtonDrawable(mIconsBundle.createStates(context)); } @@ -67,12 +71,12 @@ public void applyAttr(Context context, AttributeSet attrs, int defStyle) { } public void setCheckedIcon(@Nullable IconicsDrawable icon) { - mIconsBundle.mCheckedIcon = icon; + mIconsBundle.mCheckedIcon = checkAnimation(icon); setButtonDrawable(mIconsBundle.createStates(getContext())); } public void setUncheckedIcon(@Nullable IconicsDrawable icon) { - mIconsBundle.mUncheckedIcon = icon; + mIconsBundle.mUncheckedIcon = checkAnimation(icon); setButtonDrawable(mIconsBundle.createStates(getContext())); } @@ -92,6 +96,14 @@ public IconicsDrawable getUncheckedIcon() { } } + private @Nullable IconicsDrawable checkAnimation(@Nullable IconicsDrawable drawable) { + if (drawable == null) return null; + if (drawable instanceof IconicsAnimatedDrawable) { + ((IconicsAnimatedDrawable) drawable).animateIn(this); + } + return drawable; + } + @Override public void setText(CharSequence text, BufferType type) { if (!isInEditMode()) { diff --git a/iconics-view-library/src/main/java/com/mikepenz/iconics/view/IconicsImageView.java b/iconics-view-library/src/main/java/com/mikepenz/iconics/view/IconicsImageView.java index 57c285b5..8940b440 100644 --- a/iconics-view-library/src/main/java/com/mikepenz/iconics/view/IconicsImageView.java +++ b/iconics-view-library/src/main/java/com/mikepenz/iconics/view/IconicsImageView.java @@ -17,15 +17,17 @@ package com.mikepenz.iconics.view; import android.content.Context; -import androidx.annotation.Nullable; -import androidx.annotation.RestrictTo; -import androidx.appcompat.widget.AppCompatImageView; import android.util.AttributeSet; import com.mikepenz.iconics.IconicsDrawable; +import com.mikepenz.iconics.animation.IconicsAnimatedDrawable; import com.mikepenz.iconics.internal.IconicsView; import com.mikepenz.iconics.internal.IconicsViewsAttrsApplier; +import androidx.annotation.Nullable; +import androidx.annotation.RestrictTo; +import androidx.appcompat.widget.AppCompatImageView; + import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP; public class IconicsImageView extends AppCompatImageView implements IconicsView { @@ -61,7 +63,7 @@ public void applyAttr(Context context, AttributeSet attrs, int defStyle) { } public void setIcon(@Nullable IconicsDrawable icon) { - setImageDrawable(icon); + setImageDrawable(checkAnimation(icon)); } public IconicsDrawable getIcon() { @@ -71,4 +73,12 @@ public IconicsDrawable getIcon() { return null; } } + + private @Nullable IconicsDrawable checkAnimation(@Nullable IconicsDrawable drawable) { + if (drawable == null) return null; + if (drawable instanceof IconicsAnimatedDrawable) { + ((IconicsAnimatedDrawable) drawable).animateIn(this); + } + return drawable; + } } diff --git a/iconics-view-library/src/main/java/com/mikepenz/iconics/view/IconicsTextView.java b/iconics-view-library/src/main/java/com/mikepenz/iconics/view/IconicsTextView.java index c7672c3c..13a47b78 100644 --- a/iconics-view-library/src/main/java/com/mikepenz/iconics/view/IconicsTextView.java +++ b/iconics-view-library/src/main/java/com/mikepenz/iconics/view/IconicsTextView.java @@ -17,18 +17,20 @@ package com.mikepenz.iconics.view; import android.content.Context; -import androidx.annotation.Nullable; -import androidx.annotation.RestrictTo; -import androidx.appcompat.widget.AppCompatTextView; import android.util.AttributeSet; import com.mikepenz.iconics.Iconics; import com.mikepenz.iconics.IconicsDrawable; +import com.mikepenz.iconics.animation.IconicsAnimatedDrawable; import com.mikepenz.iconics.internal.CompoundIconicsDrawables; import com.mikepenz.iconics.internal.CompoundIconsBundle; import com.mikepenz.iconics.internal.IconicsView; import com.mikepenz.iconics.internal.IconicsViewsAttrsApplier; +import androidx.annotation.Nullable; +import androidx.annotation.RestrictTo; +import androidx.appcompat.widget.AppCompatTextView; + import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP; public class IconicsTextView extends AppCompatTextView implements CompoundIconicsDrawables, IconicsView { @@ -53,6 +55,10 @@ public IconicsTextView(Context context, AttributeSet attrs, int defStyle) { @RestrictTo(LIBRARY_GROUP) public void initialize(Context context, AttributeSet attrs, int defStyle) { applyAttr(context, attrs, defStyle); + checkAnimation(mIconsBundle.mBottomIcon); + checkAnimation(mIconsBundle.mTopIcon); + checkAnimation(mIconsBundle.mEndIcon); + checkAnimation(mIconsBundle.mStartIcon); setIcons(); } @@ -105,36 +111,44 @@ public IconicsDrawable getIconicsDrawableBottom() { @Override public void setDrawableStart(@Nullable IconicsDrawable drawable) { - mIconsBundle.mStartIcon = drawable; + mIconsBundle.mStartIcon = checkAnimation(drawable); setIcons(); } @Override public void setDrawableTop(@Nullable IconicsDrawable drawable) { - mIconsBundle.mTopIcon = drawable; + mIconsBundle.mTopIcon = checkAnimation(drawable); setIcons(); } @Override public void setDrawableEnd(@Nullable IconicsDrawable drawable) { - mIconsBundle.mEndIcon = drawable; + mIconsBundle.mEndIcon = checkAnimation(drawable); setIcons(); } @Override public void setDrawableBottom(@Nullable IconicsDrawable drawable) { - mIconsBundle.mBottomIcon = drawable; + mIconsBundle.mBottomIcon = checkAnimation(drawable); setIcons(); } @Override public void setDrawableForAll(@Nullable IconicsDrawable drawable) { - mIconsBundle.mStartIcon = drawable; - mIconsBundle.mTopIcon = drawable; - mIconsBundle.mEndIcon = drawable; - mIconsBundle.mBottomIcon = drawable; + mIconsBundle.mStartIcon = checkAnimation(drawable); + mIconsBundle.mTopIcon = checkAnimation(drawable); + mIconsBundle.mEndIcon = checkAnimation(drawable); + mIconsBundle.mBottomIcon = checkAnimation(drawable); setIcons(); } + + private @Nullable IconicsDrawable checkAnimation(@Nullable IconicsDrawable drawable) { + if (drawable == null) return null; + if (drawable instanceof IconicsAnimatedDrawable) { + ((IconicsAnimatedDrawable) drawable).animateIn(this); + } + return drawable; + } //endregion @Override diff --git a/iconics-view-library/src/main/res/values/attrs.xml b/iconics-view-library/src/main/res/values/attrs.xml index 68dbf8af..7008079a 100644 --- a/iconics-view-library/src/main/res/values/attrs.xml +++ b/iconics-view-library/src/main/res/values/attrs.xml @@ -30,6 +30,11 @@ + + + + + @@ -44,6 +49,11 @@ + + + + + @@ -57,6 +67,11 @@ + + + + + @@ -70,6 +85,11 @@ + + + + + @@ -83,6 +103,11 @@ + + + + + @@ -96,6 +121,11 @@ + + + + + @@ -111,6 +141,11 @@ + + + + + @@ -124,6 +159,11 @@ + + + + + @@ -139,6 +179,11 @@ + + + + + @@ -151,7 +196,12 @@ - + v + + + + + @@ -165,6 +215,11 @@ + + + + + @@ -178,6 +233,11 @@ + + + + + @@ -191,6 +251,11 @@ + + + + + diff --git a/library-core/build.gradle b/library-core/build.gradle index 190e6bc6..121bdd6e 100644 --- a/library-core/build.gradle +++ b/library-core/build.gradle @@ -23,6 +23,10 @@ android { lintOptions { abortOnError false } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } } if (project.hasProperty('pushall') || project.hasProperty('librarycoreonly')) { apply from: '../gradle-release.gradle' diff --git a/library-core/src/main/java/com/mikepenz/iconics/Iconics.java b/library-core/src/main/java/com/mikepenz/iconics/Iconics.java index c31a95fb..1b954601 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/Iconics.java +++ b/library-core/src/main/java/com/mikepenz/iconics/Iconics.java @@ -24,6 +24,7 @@ import android.widget.Button; import android.widget.TextView; +import com.mikepenz.iconics.animation.IconicsAnimationProcessor; import com.mikepenz.iconics.typeface.IIcon; import com.mikepenz.iconics.typeface.ITypeface; import com.mikepenz.iconics.utils.GenericsUtil; @@ -37,28 +38,39 @@ import java.util.LinkedList; import java.util.List; -@SuppressWarnings("JavaDoc, UnusedReturnValue, WeakerAccess, unused, SameParameterValue") +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +@SuppressWarnings("UnusedReturnValue, WeakerAccess, unused") public final class Iconics { - public static final String TAG = Iconics.class.getSimpleName(); + public static final @NonNull String TAG = Iconics.class.getSimpleName(); private static boolean INIT_DONE = false; - private static HashMap FONTS = new HashMap<>(); + private static final @NonNull HashMap FONTS = new HashMap<>(); + private static final @NonNull HashMap> PROCESSORS = new HashMap<>(); /** * initializes the FONTS. This also tries to find all founds automatically via their font file - * - * @param ctx */ - public static void init(Context ctx) { + public static void init(@NonNull Context ctx) { if (!INIT_DONE) { - String[] fonts = GenericsUtil.getFields(ctx); + String[] fonts = GenericsUtil.getDefinedFonts(ctx); for (String fontsClassPath : fonts) { try { ITypeface typeface = (ITypeface) Class.forName(fontsClassPath).newInstance(); validateFont(typeface); FONTS.put(typeface.getMappingPrefix(), typeface); } catch (Exception e) { - Log.e("Android-Iconics", "Can't init: " + fontsClassPath); + Log.e(TAG, "Can't init: " + fontsClassPath); + } + } + String[] processors = GenericsUtil.getDefinedProcessors(ctx); + for (String processorClassPath : processors) { + try { + IconicsAnimationProcessor processor = (IconicsAnimationProcessor) Class.forName(processorClassPath).newInstance(); + registerProcessor(processor); + } catch (Exception e) { + Log.e(TAG, "Can't init: " + processorClassPath); } } INIT_DONE = true; @@ -67,12 +79,9 @@ public static void init(Context ctx) { /** * this makes sure the FONTS are initialized. If the given fonts Map is empty we set the initialized FONTS on it - * - * @param ctx - * @param fonts - * @return */ - private static HashMap init(Context ctx, HashMap fonts) { + private static HashMap init(@NonNull Context ctx, + @NonNull HashMap fonts) { init(ctx); if (fonts == null || fonts.size() == 0) { fonts = FONTS; @@ -99,7 +108,7 @@ public static void markInitDone() { * @param icon The icon to verify * @return true if the icon is available */ - public static boolean iconExists(Context context, String icon) { + public static boolean iconExists(@NonNull Context context, @NonNull String icon) { try { ITypeface font = findFont(context, icon.substring(0, 3)); icon = icon.replace("-", "_"); @@ -112,23 +121,39 @@ public static boolean iconExists(Context context, String icon) { /** * Registers a fonts into the FONTS array for performance - * - * @param font - * @return */ - public static boolean registerFont(ITypeface font) { + public static boolean registerFont(@NonNull ITypeface font) { validateFont(font); FONTS.put(font.getMappingPrefix(), font); return true; } + public static void registerProcessor(@NonNull IconicsAnimationProcessor processor) { + PROCESSORS.put(processor.animationTag(), processor.getClass()); + } + + public static @Nullable IconicsAnimationProcessor findProcessor(@NonNull Context ctx, + @NonNull String animationTag) { + init(ctx); + + Class processorClass = PROCESSORS.get(animationTag); + if (processorClass != null) { + try { + return processorClass.newInstance(); + } catch (IllegalAccessException e) { + Log.d(Iconics.TAG, "Can't create processor for animation tag " + animationTag, e); + } catch (InstantiationException e) { + Log.d(Iconics.TAG, "Can't create processor for animation tag " + animationTag, e); + } + } + return null; + } + /** * Perform a basic sanity check for a font. - * - * @param font */ - private static void validateFont(ITypeface font) { + private static void validateFont(@NonNull ITypeface font) { if (font.getMappingPrefix().length() != 3) { throw new IllegalArgumentException("The mapping prefix of a font must be three characters long."); } @@ -136,34 +161,24 @@ private static void validateFont(ITypeface font) { /** * return all registered FONTS - * - * @param ctx - * @return */ - public static Collection getRegisteredFonts(Context ctx) { + public static @NonNull Collection getRegisteredFonts(@NonNull Context ctx) { init(ctx); return FONTS.values(); } /** * tries to find a font by its key in all registered FONTS - * - * @param ctx - * @param key - * @return */ - public static ITypeface findFont(Context ctx, String key) { + public static @Nullable ITypeface findFont(@NonNull Context ctx, @NonNull String key) { init(ctx); return FONTS.get(key); } /** * fetches the font from the Typeface of an IIcon - * - * @param icon - * @return */ - public static ITypeface findFont(IIcon icon) { + public static @NonNull ITypeface findFont(@NonNull IIcon icon) { return icon.getTypeface(); } @@ -175,12 +190,8 @@ private Iconics() { * Creates a new SpannableStringBuilder and will iterate over the textSpanned once and copy over * all characters, it will also directly replace icon font placeholders with the correct mapping. * Afterwards it will apply the styles - * - * @param ctx - * @param textSpanned - * @return */ - public static Spanned style(Context ctx, Spanned textSpanned) { + public static @NonNull Spanned style(@NonNull Context ctx, @NonNull Spanned textSpanned) { return style(ctx, null, textSpanned, null, null); } @@ -188,15 +199,12 @@ public static Spanned style(Context ctx, Spanned textSpanned) { * Creates a new SpannableStringBuilder and will iterate over the textSpanned once and copy over * all characters, it will also directly replace icon font placeholders with the correct mapping. * Afterwards it will apply the styles - * - * @param ctx - * @param fonts - * @param textSpanned - * @param styles - * @param stylesFor - * @return */ - public static Spanned style(Context ctx, HashMap fonts, Spanned textSpanned, List styles, HashMap> stylesFor) { + public static @NonNull Spanned style(@NonNull Context ctx, + @Nullable HashMap fonts, + @NonNull Spanned textSpanned, + @Nullable List styles, + @Nullable HashMap> stylesFor) { fonts = init(ctx, fonts); //find all icons which should be replaced with the iconFont @@ -214,25 +222,20 @@ public static Spanned style(Context ctx, HashMap fonts, Spann /** * Iterates over the editable once and replace icon font placeholders with the correct mapping. * Afterwards it will apply the styles - * - * @param ctx - * @param editable */ - public static void styleEditable(Context ctx, Editable editable) { + public static void styleEditable(@NonNull Context ctx, @NonNull Editable editable) { styleEditable(ctx, null, editable, null, null); } /** * Iterates over the editable once and replace icon font placeholders with the correct mapping. * Afterwards it will apply the styles - * - * @param ctx - * @param fonts - * @param textSpanned - * @param styles - * @param stylesFor */ - public static void styleEditable(Context ctx, HashMap fonts, Editable textSpanned, List styles, HashMap> stylesFor) { + public static void styleEditable(@NonNull Context ctx, + @Nullable HashMap fonts, + @NonNull Editable textSpanned, + @Nullable List styles, + @Nullable HashMap> stylesFor) { fonts = init(ctx, fonts); //find all icons which should be replaced with the iconFont @@ -243,13 +246,17 @@ public static void styleEditable(Context ctx, HashMap fonts, } public static class IconicsBuilderString { - private Context ctx; - private Spanned text; - private List withStyles; - private HashMap> withStylesFor; - private List fonts; - - public IconicsBuilderString(Context ctx, List fonts, Spanned text, List styles, HashMap> stylesFor) { + private @NonNull Context ctx; + private @NonNull Spanned text; + private @NonNull List withStyles; + private @NonNull HashMap> withStylesFor; + private @NonNull List fonts; + + public IconicsBuilderString(@NonNull Context ctx, + @NonNull List fonts, + @NonNull Spanned text, + @NonNull List styles, + @NonNull HashMap> stylesFor) { this.ctx = ctx; this.fonts = fonts; this.text = text; @@ -257,7 +264,7 @@ public IconicsBuilderString(Context ctx, List fonts, Spanned text, Li this.withStylesFor = stylesFor; } - public Spanned build() { + public @NonNull Spanned build() { HashMap mappedFonts = new HashMap<>(); for (ITypeface font : fonts) { mappedFonts.put(font.getMappingPrefix(), font); @@ -267,13 +274,17 @@ public Spanned build() { } public static class IconicsBuilderView { - private Context ctx; - private TextView view; - private List withStyles; - private HashMap> withStylesFor; - private List fonts; - - public IconicsBuilderView(Context ctx, List fonts, TextView view, List styles, HashMap> stylesFor) { + private @NonNull Context ctx; + private @NonNull TextView view; + private @NonNull List withStyles; + private @NonNull HashMap> withStylesFor; + private @NonNull List fonts; + + public IconicsBuilderView(@NonNull Context ctx, + @NonNull List fonts, + @NonNull TextView view, + @NonNull List styles, + @NonNull HashMap> stylesFor) { this.ctx = ctx; this.fonts = fonts; this.view = view; @@ -306,20 +317,20 @@ public void build() { } public static class IconicsBuilder { - private List styles = new LinkedList<>(); - private HashMap> stylesFor = new HashMap<>(); - private List fonts = new LinkedList<>(); - private Context ctx; + private final @NonNull List styles = new LinkedList<>(); + private final @NonNull HashMap> stylesFor = new HashMap<>(); + private final @NonNull List fonts = new LinkedList<>(); + private @NonNull Context ctx; public IconicsBuilder() { } - public IconicsBuilder ctx(Context ctx) { + public @NonNull IconicsBuilder ctx(@NonNull Context ctx) { this.ctx = ctx; return this; } - public IconicsBuilder style(CharacterStyle... styles) { + public @NonNull IconicsBuilder style(@NonNull CharacterStyle... styles) { if (styles != null && styles.length > 0) { Collections.addAll(this.styles, styles); } @@ -327,28 +338,24 @@ public IconicsBuilder style(CharacterStyle... styles) { } /** - * this method allows you to apply additional styles on icons , just provide all CharacterStyles you want to apply on the given IIcon - * - * @param styleFor - * @param styles - * @return + * this method allows you to apply additional styles on icons , just provide all + * CharacterStyles you want to apply on the given IIcon */ - public IconicsBuilder styleFor(IIcon styleFor, CharacterStyle... styles) { + public @NonNull IconicsBuilder styleFor(@NonNull IIcon styleFor, + @NonNull CharacterStyle... styles) { return styleFor(styleFor.getName(), styles); } /** - * this method allows you to apply additional styles on icons , just provide all CharacterStyles you want to apply on the given icon (by it's name faw-android) - * - * @param styleFor - * @param styles - * @return + * this method allows you to apply additional styles on icons , just provide all + * CharacterStyles you want to apply on the given icon (by it's name faw-android) */ - public IconicsBuilder styleFor(String styleFor, CharacterStyle... styles) { + public @NonNull IconicsBuilder styleFor(@NonNull String styleFor, + @NonNull CharacterStyle... styles) { styleFor = styleFor.replace("-", "_"); if (!stylesFor.containsKey(styleFor)) { - this.stylesFor.put(styleFor, new LinkedList()); + this.stylesFor.put(styleFor, new LinkedList<>()); } if (styles != null && styles.length > 0) { @@ -361,72 +368,51 @@ public IconicsBuilder styleFor(String styleFor, CharacterStyle... styles) { /** * adds additional fonts which should be used to apply the icons - * - * @param font - * @return */ - public IconicsBuilder font(ITypeface font) { + public @NonNull IconicsBuilder font(@NonNull ITypeface font) { this.fonts.add(font); return this; } /** * defines where the icons should be applied to - * - * @param on - * @return */ - public IconicsBuilderString on(Spanned on) { + public @NonNull IconicsBuilderString on(@NonNull Spanned on) { return new IconicsBuilderString(ctx, fonts, on, styles, stylesFor); } /** * defines where the icons should be applied to - * - * @param on - * @return */ - public IconicsBuilderString on(String on) { + public @NonNull IconicsBuilderString on(@NonNull String on) { return on(new SpannableString(on)); } /** * defines where the icons should be applied to - * - * @param on - * @return */ - public IconicsBuilderString on(CharSequence on) { + public @NonNull IconicsBuilderString on(@NonNull CharSequence on) { return on(on.toString()); } /** * defines where the icons should be applied to - * - * @param on - * @return */ - public IconicsBuilderString on(StringBuilder on) { + public @NonNull IconicsBuilderString on(@NonNull StringBuilder on) { return on(on.toString()); } /** * defines where the icons should be applied to - * - * @param on - * @return */ - public IconicsBuilderView on(TextView on) { + public @NonNull IconicsBuilderView on(@NonNull TextView on) { return new IconicsBuilderView(ctx, fonts, on, styles, stylesFor); } /** * defines where the icons should be applied to - * - * @param on - * @return */ - public IconicsBuilderView on(Button on) { + public @NonNull IconicsBuilderView on(@NonNull Button on) { return new IconicsBuilderView(ctx, fonts, on, styles, stylesFor); } } diff --git a/library-core/src/main/java/com/mikepenz/iconics/IconicsBrush.java b/library-core/src/main/java/com/mikepenz/iconics/IconicsBrush.java index 150a6573..6b4c5d0c 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/IconicsBrush.java +++ b/library-core/src/main/java/com/mikepenz/iconics/IconicsBrush.java @@ -20,13 +20,19 @@ import android.graphics.Color; import android.graphics.Paint; +import com.mikepenz.iconics.animation.IconicsAnimationProcessor; + +import androidx.annotation.IntRange; import androidx.annotation.NonNull; import androidx.annotation.Nullable; /** + * Helper class to control applying state changes to colors and paint. Also for compact providing + * into {@link IconicsAnimationProcessor AnimationProcessor} + * * @author pa.gulko zTrap (28.11.2018) */ -public class IconicsBrush implements Cloneable { +public class IconicsBrush { private @Nullable ColorStateList mColors; private @NonNull final T mPaint; private @Nullable int[] mState; @@ -36,23 +42,43 @@ public IconicsBrush(@NonNull T paint) { mPaint = paint; } + /** + * @param colors which will be applied on {@link #getPaint()} for drawing current state + * */ public void setColors(@Nullable ColorStateList colors) { mColors = colors; + applyState(mState); } + /** + * @return colors which applied on {@link #getPaint()} for drawing current state + * */ public @Nullable ColorStateList getColorsList() { return mColors; } + /** + * @return paint. Will be used for drawing something (icon, background etc.) + * */ public @NonNull T getPaint() { return mPaint; } - public void setAlpha(int alpha) { + /** + * @param alpha channel for colors + * */ + public void setAlpha(@IntRange(from = 0, to = 255) int alpha) { mAlpha = alpha; mPaint.setAlpha(alpha); } + /** + * @return alpha channel for colors + * */ + public @IntRange(from = 0, to = 255) int getAlpha() { + return mAlpha; + } + boolean isStateful() { return mColors != null && mColors.isStateful(); } diff --git a/library-core/src/main/java/com/mikepenz/iconics/IconicsDrawable.java b/library-core/src/main/java/com/mikepenz/iconics/IconicsDrawable.java index 447070e5..73a5f0a4 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/IconicsDrawable.java +++ b/library-core/src/main/java/com/mikepenz/iconics/IconicsDrawable.java @@ -52,6 +52,7 @@ import android.util.Log; import android.view.View; +import com.mikepenz.iconics.animation.IconicsAnimatedDrawable; import com.mikepenz.iconics.typeface.IIcon; import com.mikepenz.iconics.typeface.ITypeface; import com.mikepenz.iconics.utils.Utils; @@ -60,6 +61,7 @@ import androidx.annotation.ColorRes; import androidx.annotation.DimenRes; import androidx.annotation.Dimension; +import androidx.annotation.IntRange; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; @@ -71,7 +73,7 @@ /** * A custom {@link Drawable} which can display icons from icon fonts. */ -@SuppressWarnings("JavaDoc, UnusedReturnValue, WeakerAccess, unused, MethodDoesntCallSuperMethod, SameParameterValue") +@SuppressWarnings({"UnusedReturnValue, WeakerAccess, unused, DefaultAnnotationParam"}) public class IconicsDrawable extends Drawable { /** * Size of {@link androidx.appcompat.widget.Toolbar} icon in dp @@ -85,7 +87,7 @@ public class IconicsDrawable extends Drawable { @Dimension(unit = DP) public static final int TOOLBAR_ICON_PADDING = 1; - protected Context mContext; + protected @NonNull Context mContext; private int mSizeX = -1; private int mSizeY = -1; @@ -93,26 +95,30 @@ public class IconicsDrawable extends Drawable { private boolean mRespectFontBounds = false; // icon - private final IconicsBrush mIconBrush = new IconicsBrush<>(new TextPaint(Paint.ANTI_ALIAS_FLAG)); + protected final @NonNull IconicsBrush mIconBrush = new IconicsBrush<>( + new TextPaint(Paint.ANTI_ALIAS_FLAG)); // background - private final IconicsBrush mBackgroundBrush = new IconicsBrush<>(new Paint(Paint.ANTI_ALIAS_FLAG)); + protected final @NonNull IconicsBrush mBackgroundBrush = new IconicsBrush<>( + new Paint(Paint.ANTI_ALIAS_FLAG)); // contour - private final IconicsBrush mContourBrush = new IconicsBrush<>(new Paint(Paint.ANTI_ALIAS_FLAG)); + protected final @NonNull IconicsBrush mContourBrush = new IconicsBrush<>( + new Paint(Paint.ANTI_ALIAS_FLAG)); private boolean mDrawContour; // background contour - private final IconicsBrush mBackgroundContourBrush = new IconicsBrush<>(new Paint(Paint.ANTI_ALIAS_FLAG)); + protected final @NonNull IconicsBrush mBackgroundContourBrush = new IconicsBrush<>( + new Paint(Paint.ANTI_ALIAS_FLAG)); private boolean mDrawBackgroundContour; private int mRoundedCornerRx = -1; private int mRoundedCornerRy = -1; - private Rect mPaddingBounds = new Rect(); - private RectF mPathBounds = new RectF(); + private final @NonNull Rect mPaddingBounds = new Rect(); + private final @NonNull RectF mPathBounds = new RectF(); - private Path mPath = new Path(); + private final @NonNull Path mPath = new Path(); private int mIconPadding; private int mContourWidth; @@ -160,7 +166,9 @@ public IconicsDrawable(@NonNull Context context, @NonNull IIcon icon) { icon(icon); } - protected IconicsDrawable(@NonNull Context context, @NonNull ITypeface typeface, @NonNull IIcon icon) { + protected IconicsDrawable(@NonNull Context context, + @NonNull ITypeface typeface, + @NonNull IIcon icon) { this(context); icon(typeface, icon); @@ -181,7 +189,7 @@ protected IconicsDrawable(@NonNull Context context, @NonNull ITypeface typeface, /** * @return the icon color */ - public int getColor() { + public @ColorInt int getColor() { return mIconBrush.getColorForCurrentState(); } @@ -195,7 +203,7 @@ public int getColor() { /** * @return the icon contour color */ - public int getContourColor() { + public @ColorInt int getContourColor() { return mContourBrush.getColorForCurrentState(); } @@ -209,7 +217,7 @@ public int getContourColor() { /** * @return the icon background color */ - public int getBackgroundColor() { + public @ColorInt int getBackgroundColor() { return mBackgroundBrush.getColorForCurrentState(); } @@ -223,7 +231,7 @@ public int getBackgroundColor() { /** * @return the icon background contour color */ - public int getBackgroundContourColor() { + public @ColorInt int getBackgroundContourColor() { return mBackgroundContourBrush.getColorForCurrentState(); } @@ -253,7 +261,7 @@ public int getBackgroundContourColor() { * * @return current alpha */ - public int getCompatAlpha() { + public @IntRange(from = 0, to = 255) int getCompatAlpha() { return mAlpha; } @@ -267,7 +275,10 @@ public int getCompatAlpha() { actionBar(); } - Bitmap bitmap = Bitmap.createBitmap(getIntrinsicWidth(), getIntrinsicHeight(), Bitmap.Config.ARGB_8888); + Bitmap bitmap = Bitmap.createBitmap( + getIntrinsicWidth(), + getIntrinsicHeight(), + Bitmap.Config.ARGB_8888); style(Paint.Style.FILL); @@ -283,11 +294,23 @@ public int getCompatAlpha() { * * @return new IconicsDrawable with the same values. */ - @Override - public @NonNull IconicsDrawable clone() { - IconicsDrawable iconicsDrawable = new IconicsDrawable(mContext) - // icon - .color(mIconBrush.getColorsList()) + @SuppressWarnings("MethodDoesntCallSuperMethod") + @Override public @NonNull IconicsDrawable clone() { + return copyTo(new IconicsDrawable(mContext)); + } + + /** + * Transform the icon to an animated icon + * + * @return new IconicsDrawable with the same values. + */ + public @NonNull IconicsAnimatedDrawable toAnimatedDrawable() { + return copyTo(new IconicsAnimatedDrawable(mContext)); + } + + private T copyTo(T drawable) { + // icon + drawable.color(mIconBrush.getColorsList()) .sizePxX(mSizeX) .sizePxY(mSizeY) .iconOffsetXPx(mIconOffsetX) @@ -312,11 +335,11 @@ public int getCompatAlpha() { .alpha(mAlpha); if (mIcon != null) { - iconicsDrawable.icon(mIcon); + drawable.icon(mIcon); } else if (mPlainIcon != null) { - iconicsDrawable.iconText(mPlainIcon); + drawable.iconText(mPlainIcon); } - return iconicsDrawable; + return drawable; } //endregion @@ -325,7 +348,6 @@ public int getCompatAlpha() { /** * Loads and draws given text * - * @param icon * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable icon(@NonNull String icon) { @@ -342,7 +364,6 @@ public int getCompatAlpha() { /** * Loads and draws given. * - * @param icon * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable icon(@NonNull Character icon) { @@ -352,8 +373,6 @@ public int getCompatAlpha() { /** * Loads and draws given. * - * @param icon - * @param typeface * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable icon(@NonNull Character icon, @Nullable Typeface typeface) { @@ -363,7 +382,6 @@ public int getCompatAlpha() { /** * Loads and draws given text * - * @param icon * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable iconText(@NonNull String icon) { @@ -373,8 +391,6 @@ public int getCompatAlpha() { /** * Loads and draws given text * - * @param icon - * @param typeface * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable iconText(@NonNull String icon, @Nullable Typeface typeface) { @@ -389,7 +405,6 @@ public int getCompatAlpha() { /** * Loads and draws given. * - * @param icon * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable icon(@NonNull IIcon icon) { @@ -405,8 +420,6 @@ public int getCompatAlpha() { /** * Loads and draws given. * - * @param icon - * @param typeface * @return The current IconicsDrawable for chaining. */ protected @NonNull IconicsDrawable icon(@NonNull ITypeface typeface, @NonNull IIcon icon) { @@ -481,7 +494,6 @@ public int getCompatAlpha() { /** * set the icon offset for X from resource * - * @param sizeResId * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable iconOffsetXRes(@DimenRes int sizeResId) { @@ -491,7 +503,6 @@ public int getCompatAlpha() { /** * set the icon offset for X as dp * - * @param sizeDp * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable iconOffsetXDp(@Dimension(unit = DP) int sizeDp) { @@ -501,7 +512,6 @@ public int getCompatAlpha() { /** * set the icon offset for X * - * @param sizePx * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable iconOffsetXPx(@Dimension(unit = PX) int sizePx) { @@ -514,7 +524,6 @@ public int getCompatAlpha() { /** * set the icon offset for Y from resource * - * @param sizeResId * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable iconOffsetYRes(@DimenRes int sizeResId) { @@ -524,7 +533,6 @@ public int getCompatAlpha() { /** * set the icon offset for Y as dp * - * @param sizeDp * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable iconOffsetYDp(@Dimension(unit = DP) int sizeDp) { @@ -534,7 +542,6 @@ public int getCompatAlpha() { /** * set the icon offset for Y * - * @param sizePx * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable iconOffsetYPx(@Dimension(unit = PX) int sizePx) { @@ -547,7 +554,6 @@ public int getCompatAlpha() { /** * Set the padding of the drawable from res * - * @param sizeResId * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable paddingRes(@DimenRes int sizeResId) { @@ -557,7 +563,6 @@ public int getCompatAlpha() { /** * Set the padding in dp for the drawable * - * @param sizeDp * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable paddingDp(@Dimension(unit = DP) int sizeDp) { @@ -567,7 +572,6 @@ public int getCompatAlpha() { /** * Set a padding for the. * - * @param sizePx * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable paddingPx(@Dimension(unit = PX) int sizePx) { @@ -591,9 +595,7 @@ public int getCompatAlpha() { * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable actionBar() { - sizeDp(TOOLBAR_ICON_SIZE); - paddingDp(TOOLBAR_ICON_PADDING); - return this; + return sizeDp(TOOLBAR_ICON_SIZE).paddingDp(TOOLBAR_ICON_PADDING); } /** @@ -701,7 +703,6 @@ public int getCompatAlpha() { /** * Set background contour color from color res. * - * @param colorResId * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable backgroundContourColorRes(@ColorRes int colorResId) { @@ -711,7 +712,6 @@ public int getCompatAlpha() { /** * Set background contour color. * - * @param color * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable backgroundContourColor(@ColorInt int color) { @@ -722,7 +722,6 @@ public int getCompatAlpha() { /** * Set background contour colors from color res. * - * @param colorResId * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable backgroundContourColorListRes(@ColorRes int colorResId) { @@ -733,7 +732,6 @@ public int getCompatAlpha() { /** * Set background contour colors. * - * @param colors * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable backgroundContourColor(@NonNull ColorStateList colors) { @@ -749,7 +747,6 @@ public int getCompatAlpha() { /** * Set contour color from color res. * - * @param colorResId * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable contourColorRes(@ColorRes int colorResId) { @@ -759,7 +756,6 @@ public int getCompatAlpha() { /** * Set contour color. * - * @param color * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable contourColor(@ColorInt int color) { @@ -770,7 +766,6 @@ public int getCompatAlpha() { /** * Set contour colors from color res. * - * @param colorResId * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable contourColorListRes(@ColorRes int colorResId) { @@ -781,7 +776,6 @@ public int getCompatAlpha() { /** * Set contour colors. * - * @param colors * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable contourColor(@NonNull ColorStateList colors) { @@ -797,7 +791,6 @@ public int getCompatAlpha() { /** * Set background color from res. * - * @param colorResId * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable backgroundColorRes(@ColorRes int colorResId) { @@ -807,7 +800,6 @@ public int getCompatAlpha() { /** * Set background color. * - * @param color * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable backgroundColor(@ColorInt int color) { @@ -818,7 +810,6 @@ public int getCompatAlpha() { /** * Set background contour colors from color res. * - * @param colorResId * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable backgroundColorListRes(@ColorRes int colorResId) { @@ -829,7 +820,6 @@ public int getCompatAlpha() { /** * Set background contour colors. * - * @param colors * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable backgroundColor(@NonNull ColorStateList colors) { @@ -860,7 +850,6 @@ public int getCompatAlpha() { /** * Set rounded corner from res * - * @param sizeResId * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable roundedCornersRxRes(@DimenRes int sizeResId) { @@ -870,7 +859,6 @@ public int getCompatAlpha() { /** * Set rounded corner from dp * - * @param sizeDp * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable roundedCornersRxDp(@Dimension(unit = DP) int sizeDp) { @@ -880,7 +868,6 @@ public int getCompatAlpha() { /** * Set rounded corner from px * - * @param sizePx * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable roundedCornersRxPx(@Dimension(unit = PX) int sizePx) { @@ -893,7 +880,6 @@ public int getCompatAlpha() { /** * Set rounded corner from res * - * @param sizeResId * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable roundedCornersRyRes(@DimenRes int sizeResId) { @@ -903,7 +889,6 @@ public int getCompatAlpha() { /** * Set rounded corner from dp * - * @param sizeDp * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable roundedCornersRyDp(@Dimension(unit = DP) int sizeDp) { @@ -913,7 +898,6 @@ public int getCompatAlpha() { /** * Set rounded corner from px * - * @param sizePx * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable roundedCornersRyPx(@Dimension(unit = PX) int sizePx) { @@ -926,7 +910,6 @@ public int getCompatAlpha() { /** * Set rounded corner from res * - * @param sizeResId * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable roundedCornersRes(@DimenRes int sizeResId) { @@ -936,7 +919,6 @@ public int getCompatAlpha() { /** * Set rounded corner from dp * - * @param sizeDp * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable roundedCornersDp(@Dimension(unit = DP) int sizeDp) { @@ -946,7 +928,6 @@ public int getCompatAlpha() { /** * Set rounded corner from px * - * @param sizePx * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable roundedCornersPx(@Dimension(unit = PX) int sizePx) { @@ -959,7 +940,6 @@ public int getCompatAlpha() { /** * Set contour width from an dimen res for the icon * - * @param sizeResId * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable contourWidthRes(@DimenRes int sizeResId) { @@ -969,7 +949,6 @@ public int getCompatAlpha() { /** * Set contour width from dp for the icon * - * @param sizeDp * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable contourWidthDp(@Dimension(unit = DP) int sizeDp) { @@ -979,7 +958,6 @@ public int getCompatAlpha() { /** * Set contour width for the icon. * - * @param sizePx * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable contourWidthPx(@Dimension(unit = PX) int sizePx) { @@ -1067,10 +1045,25 @@ public int getCompatAlpha() { return this; } + /** + * Clear the shadow for the icon + * + * @return The current IconicsDrawable for chaining. + * @see Paint#clearShadowLayer() + * @see #enableShadowSupport(View) + * @see #shadowPx(float, float, float, int) + * @see #shadowDp(float, float, float, int) + * @see #shadowRes(int, int, int, int) + */ + public @NonNull IconicsDrawable clearShadow() { + mIconBrush.getPaint().clearShadowLayer(); + invalidateSelf(); + return this; + } + /** * Set background contour width from an dimen res for the icon * - * @param sizeResId * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable backgroundContourWidthRes(@DimenRes int sizeResId) { @@ -1080,7 +1073,6 @@ public int getCompatAlpha() { /** * Set background contour width from dp for the icon * - * @param sizeDp * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable backgroundContourWidthDp(@Dimension(unit = DP) int sizeDp) { @@ -1090,7 +1082,6 @@ public int getCompatAlpha() { /** * Set background contour width for the icon. * - * @param sizePx * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable backgroundContourWidthPx(@Dimension(unit = PX) int sizePx) { @@ -1105,7 +1096,6 @@ public int getCompatAlpha() { /** * Enable/disable contour drawing. * - * @param drawContour * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable drawContour(boolean drawContour) { @@ -1122,7 +1112,6 @@ public int getCompatAlpha() { /** * Enable/disable background contour drawing. * - * @param drawBackgroundContour * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable drawBackgroundContour(boolean drawBackgroundContour) { @@ -1139,7 +1128,6 @@ public int getCompatAlpha() { /** * Set the colorFilter * - * @param cf * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable colorFilter(@Nullable ColorFilter cf) { @@ -1152,10 +1140,9 @@ public int getCompatAlpha() { * **NOTE** if you define a color (or as part of a colorStateList) with alpha * the alpha value of that color will ALWAYS WIN! * - * @param alpha * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable alpha(int alpha) { + public @NonNull IconicsDrawable alpha(@IntRange(from = 0, to = 255) int alpha) { setAlpha(alpha); return this; } @@ -1163,7 +1150,6 @@ public int getCompatAlpha() { /** * Sets the style * - * @param style * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable style(@NonNull Paint.Style style) { @@ -1177,7 +1163,6 @@ public int getCompatAlpha() { * sets the typeface of the drawable * NOTE THIS WILL OVERWRITE THE ICONFONT! * - * @param typeface * @return The current IconicsDrawable for chaining. */ public @NonNull IconicsDrawable typeface(@Nullable Typeface typeface) { @@ -1240,10 +1225,6 @@ public int getCompatAlpha() { canvas.drawPath(mPath, mIconBrush.getPaint()); } - @Override public void setTint(int tintColor) { - setTintList(ColorStateList.valueOf(tintColor)); - } - @Override public void setTintList(@Nullable ColorStateList tint) { mTint = tint; mTintFilter = updateTintFilter(tint, mTintMode); @@ -1258,7 +1239,7 @@ public int getCompatAlpha() { invalidateSelf(); } - @Override protected void onBoundsChange(@Nullable Rect bounds) { + @Override protected void onBoundsChange(@NonNull Rect bounds) { offsetIcon(bounds); try { mPath.close(); @@ -1319,7 +1300,7 @@ public int getCompatAlpha() { return mSizeY; } - @Override public void setAlpha(int alpha) { + @Override public void setAlpha(@IntRange(from = 0, to = 255) int alpha) { mIconBrush.setAlpha(alpha); mContourBrush.setAlpha(alpha); mBackgroundBrush.setAlpha(alpha); @@ -1330,7 +1311,7 @@ public int getCompatAlpha() { invalidateSelf(); } - @Override public int getAlpha() { + @Override public @IntRange(from = 0, to = 255) int getAlpha() { return mAlpha; } @@ -1351,8 +1332,6 @@ public int getCompatAlpha() { /** * Update the Padding Bounds - * - * @param viewBounds */ private void updatePaddingBounds(@NonNull Rect viewBounds) { if (mIconPadding >= 0 @@ -1368,8 +1347,6 @@ private void updatePaddingBounds(@NonNull Rect viewBounds) { /** * Update the TextSize - * - * @param viewBounds */ private void updateTextSize(@NonNull Rect viewBounds) { float textSize = (float) viewBounds.height() * (mRespectFontBounds ? 1 : 2); @@ -1394,8 +1371,6 @@ private void updateTextSize(@NonNull Rect viewBounds) { /** * Set the icon offset - * - * @param viewBounds */ private void offsetIcon(@NonNull Rect viewBounds) { float startX = viewBounds.centerX() - (mPathBounds.width() / 2); @@ -1411,7 +1386,8 @@ private void offsetIcon(@NonNull Rect viewBounds) { * Ensures the tint filter is consistent with the current tint color and * mode. */ - private PorterDuffColorFilter updateTintFilter(@Nullable ColorStateList tint, @Nullable PorterDuff.Mode tintMode) { + private PorterDuffColorFilter updateTintFilter(@Nullable ColorStateList tint, + @Nullable PorterDuff.Mode tintMode) { if (tint == null || tintMode == null) { return null; } diff --git a/library-core/src/main/java/com/mikepenz/iconics/animation/BlinkAlphaProcessor.java b/library-core/src/main/java/com/mikepenz/iconics/animation/BlinkAlphaProcessor.java new file mode 100644 index 00000000..e070c992 --- /dev/null +++ b/library-core/src/main/java/com/mikepenz/iconics/animation/BlinkAlphaProcessor.java @@ -0,0 +1,95 @@ +/* + * Copyright 2018 Mike Penz + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.mikepenz.iconics.animation; + +import android.graphics.Canvas; +import android.graphics.Paint; +import android.text.TextPaint; + +import com.mikepenz.iconics.IconicsBrush; + +import androidx.annotation.IntRange; +import androidx.annotation.NonNull; + +/** + * @author pa.gulko zTrap (30.11.2018) + */ +public class BlinkAlphaProcessor extends IconicsAnimationProcessor { + /** + * Duration used for all instances of this processor by default. 500 ms by default. + * */ + public static int defaultDuration = 500; + + private @IntRange(from = 0, to = 255) int mMinimumAlpha = 0; + private @IntRange(from = 0, to = 255) int mMaximumAlpha = 255; + + { + mRepeatMode = REVERSE; + mDuration = defaultDuration; + } + + /** + * @param minimumAlpha The alpha which will be used as minimal available value. + * */ + public @NonNull BlinkAlphaProcessor minimumAlpha(@IntRange(from = 0, to = 255) int minimumAlpha) { + mMinimumAlpha = minimumAlpha; + return this; + } + + /** + * @param maximumAlpha The alpha which will be used as maximal available value. + * */ + public @NonNull BlinkAlphaProcessor maximumAlpha(@IntRange(from = 0, to = 255) int maximumAlpha) { + mMaximumAlpha = maximumAlpha; + return this; + } + + /** + * @return The minimal available alpha. + * */ + public @IntRange(from = 0, to = 255) int getMinimumAlpha() { + return mMinimumAlpha; + } + + /** + * @return The maximal available alpha. + * */ + public @IntRange(from = 0, to = 255) int getMaximumAlpha() { + return mMaximumAlpha; + } + + @Override public @NonNull String animationTag() { + return "blink_alpha"; + } + + @Override protected void processPreDraw( + @NonNull Canvas canvas, + @NonNull IconicsBrush iconBrush, + @NonNull IconicsBrush iconContourBrush, + @NonNull IconicsBrush backgroundBrush, + @NonNull IconicsBrush backgroundContourBrush) { + + int alphaByPercent = (mMaximumAlpha - mMinimumAlpha) / 100; + + int alpha = (int) (getAnimatedPercent() * alphaByPercent); + + iconBrush.setAlpha(alpha); + iconContourBrush.setAlpha(alpha); + backgroundBrush.setAlpha(alpha); + backgroundContourBrush.setAlpha(alpha); + } +} diff --git a/library-core/src/main/java/com/mikepenz/iconics/animation/BlinkScaleProcessor.java b/library-core/src/main/java/com/mikepenz/iconics/animation/BlinkScaleProcessor.java new file mode 100644 index 00000000..ddb71c8c --- /dev/null +++ b/library-core/src/main/java/com/mikepenz/iconics/animation/BlinkScaleProcessor.java @@ -0,0 +1,99 @@ +/* + * Copyright 2018 Mike Penz + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.mikepenz.iconics.animation; + +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Rect; +import android.text.TextPaint; + +import com.mikepenz.iconics.IconicsBrush; + +import androidx.annotation.FloatRange; +import androidx.annotation.NonNull; + +/** + * @author pa.gulko zTrap (30.11.2018) + */ +public class BlinkScaleProcessor extends IconicsAnimationProcessor { + /** + * Duration used for all instances of this processor by default. 500 ms by default. + * */ + public static int defaultDuration = 500; + + private @FloatRange(from = 0) float mMinimumScale = 0; + private @FloatRange(from = 0) float mMaximumScale = 1; + + { + mRepeatMode = REVERSE; + mDuration = defaultDuration; + } + + /** + * @param minimumScale The scale which will be used as minimal available value. + * */ + public @NonNull BlinkScaleProcessor minimumScale(@FloatRange(from = 0) float minimumScale) { + mMinimumScale = minimumScale; + return this; + } + + /** + * @param maximumScale The scale which will be used as maximal available value. + * */ + public @NonNull BlinkScaleProcessor maximumScale(@FloatRange(from = 0) float maximumScale) { + mMaximumScale = maximumScale; + return this; + } + + /** + * @return The minimal available scale. + * */ + public @FloatRange(from = 0) float getMinimumScale() { + return mMinimumScale; + } + + /** + * @return The minimal available scale. + * */ + public @FloatRange(from = 0) float getMaximumScale() { + return mMaximumScale; + } + + @Override public @NonNull String animationTag() { + return "blink_scale"; + } + + @Override protected void processPreDraw( + @NonNull Canvas canvas, + @NonNull IconicsBrush iconBrush, + @NonNull IconicsBrush iconContourBrush, + @NonNull IconicsBrush backgroundBrush, + @NonNull IconicsBrush backgroundContourBrush) { + + float scaleByPercent = (mMaximumScale - mMinimumScale) / 100; + + float scale = getAnimatedPercent() * scaleByPercent; + Rect bounds = getDrawableBounds(); + + canvas.save(); + canvas.scale(scale, scale, bounds.width() / 2, bounds.height() / 2); + } + + @Override protected void processPostDraw(@NonNull Canvas canvas) { + canvas.restore(); + } +} diff --git a/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimatedDrawable.java b/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimatedDrawable.java new file mode 100644 index 00000000..b7529a67 --- /dev/null +++ b/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimatedDrawable.java @@ -0,0 +1,173 @@ +/* + * Copyright 2018 Mike Penz + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.mikepenz.iconics.animation; + +import android.content.Context; +import android.graphics.Canvas; +import android.view.View; + +import com.mikepenz.iconics.IconicsDrawable; +import com.mikepenz.iconics.typeface.IIcon; +import com.mikepenz.iconics.typeface.ITypeface; + +import java.util.ArrayList; +import java.util.List; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.view.ViewCompat; + +/** + * @author pa.gulko zTrap (28.11.2018) + */ +@SuppressWarnings("UnusedReturnValue, WeakerAccess, unused") +public class IconicsAnimatedDrawable extends IconicsDrawable { + private @NonNull List mProcessors = new ArrayList<>(); + + public IconicsAnimatedDrawable(Context context) { + super(context); + } + + public IconicsAnimatedDrawable(Context context, Character icon) { + super(context, icon); + } + + public IconicsAnimatedDrawable(Context context, String icon) { + super(context, icon); + } + + public IconicsAnimatedDrawable(Context context, IIcon icon) { + super(context, icon); + } + + protected IconicsAnimatedDrawable(Context context, ITypeface typeface, IIcon icon) { + super(context, typeface, icon); + } + + @Override public int getAlpha() { + return mIconBrush.getAlpha(); + } + + @Override public int getCompatAlpha() { + return mIconBrush.getAlpha(); + } + + // FI-LO + @Override public void draw(@NonNull Canvas canvas) { + for (int i = 0; i < mProcessors.size(); i++) { + IconicsAnimationProcessor p = mProcessors.get(i); + p.processPreDraw( + canvas, + mIconBrush, + mContourBrush, + mBackgroundBrush, + mBackgroundContourBrush); + } + + super.draw(canvas); + + for (int i = mProcessors.size() - 1; i >= 0; i--) { + IconicsAnimationProcessor p = mProcessors.get(i); + p.processPostDraw(canvas); + } + } + + /** + * Attach an {@link IconicsAnimationProcessor processor} to this drawable + * */ + public @NonNull IconicsAnimatedDrawable processor(@NonNull IconicsAnimationProcessor processor) { + if (processor == null) return this; + processor.setDrawable(this); + mProcessors.add(processor); + return this; + } + + /** + * Attach an {@link IconicsAnimationProcessor processors} to this drawable + * */ + public @NonNull IconicsAnimatedDrawable processors(@NonNull IconicsAnimationProcessor... processors) { + if (processors == null || processors.length == 0) return this; + for (IconicsAnimationProcessor processor : processors) { + processor(processor); + } + return this; + } + + /** + * @return The runner which used for animations. Animations can be easily removed by calling + * {@link Runner#unset()} + * */ + public @NonNull Runner animateIn(@Nullable View view) { + Runner runner = new Runner(); + runner.setFor(view, this); + return runner; + } + + public static class Runner { + private boolean mIsAttached = false; + private @Nullable View mView; + private @Nullable IconicsAnimatedDrawable mDrawable; + + private Runner() { + } + + private View.OnAttachStateChangeListener mListener = new View.OnAttachStateChangeListener() { + + @Override public void onViewAttachedToWindow(@NonNull final View v) { + mIsAttached = true; + ViewCompat.postOnAnimation(v, new Runnable() { + @Override public void run() { + if (mIsAttached && mDrawable != null) { + v.invalidateDrawable(mDrawable); + ViewCompat.postOnAnimation(v, this); + } + } + }); + } + + @Override public void onViewDetachedFromWindow(@NonNull View v) { + mIsAttached = false; + } + }; + + /** + * Setup all animations to provided drawable and view + * */ + public void setFor(@NonNull View view, @NonNull IconicsAnimatedDrawable drawable) { + unset(); + if (view == null || drawable == null) return; + mView = view; + mDrawable = drawable; + if (ViewCompat.isAttachedToWindow(view)) { + mListener.onViewAttachedToWindow(view); + } + view.addOnAttachStateChangeListener(mListener); + } + + /** + * Clear all animations from previously provided drawable and view + * */ + public void unset() { + mDrawable = null; + if (mView != null) { + mView.removeOnAttachStateChangeListener(mListener); + mView = null; + } + mIsAttached = false; + } + } +} diff --git a/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationListener.java b/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationListener.java new file mode 100644 index 00000000..41bc7e49 --- /dev/null +++ b/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationListener.java @@ -0,0 +1,88 @@ +/* + * Copyright 2018 Mike Penz + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.mikepenz.iconics.animation; + +/** + * @author pa.gulko zTrap (01.12.2018) + */ +public interface IconicsAnimationListener { + + /** + * Notifies the start of the animation as well as the animation's overall play direction. + * This method's default behavior is to call + * {@link #onAnimationStart(IconicsAnimationProcessor)}. This method can be overridden, + * though not required, to get the additional play direction info when an animation starts. + * Skipping calling super when overriding this method results in + * {@link #onAnimationStart(IconicsAnimationProcessor)} not getting called. + * + * @param processor The started processor. + * @param isReverse Whether the processor is playing in reverse. + */ + default void onAnimationStart(IconicsAnimationProcessor processor, boolean isReverse) { + onAnimationStart(processor); + } + + /** + * Notifies the end of the animation. This callback is not invoked + * for animations with repeat count set to INFINITE. + * + * This method's default behavior is to call {@link #onAnimationEnd(IconicsAnimationProcessor)}. + * This method can be overridden, though not required, to get the additional play direction info + * when an animation ends. Skipping calling super when overriding this method results in + * {@link #onAnimationEnd(IconicsAnimationProcessor)} not getting called. + * + * @param processor The processor which reached its end. + * @param isReverse Whether the processor is playing in reverse. + */ + default void onAnimationEnd(IconicsAnimationProcessor processor, boolean isReverse) { + onAnimationEnd(processor); + } + + /** + * Notifies the start of the animation. + * + * @param processor The started processor. + */ + default void onAnimationStart(IconicsAnimationProcessor processor) { + } + + /** + * Notifies the end of the animation. This callback is not invoked + * for processors with repeat count set to INFINITE. + * + * @param processor The processor which reached its end. + */ + default void onAnimationEnd(IconicsAnimationProcessor processor) { + } + + /** + * Notifies the cancellation of the animation. This callback is not invoked + * for animations with repeat count set to INFINITE. + * + * @param processor The processor which was canceled. + */ + default void onAnimationCancel(IconicsAnimationProcessor processor) { + } + + /** + * Notifies the repetition of the animation. + * + * @param processor The processor which was repeated. + */ + default void onAnimationRepeat(IconicsAnimationProcessor processor) { + } +} \ No newline at end of file diff --git a/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationPauseListener.java b/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationPauseListener.java new file mode 100644 index 00000000..f63c9185 --- /dev/null +++ b/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationPauseListener.java @@ -0,0 +1,48 @@ +/* + * Copyright 2018 Mike Penz + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.mikepenz.iconics.animation; + +import android.os.Build; + +import androidx.annotation.RequiresApi; + +/** + * @author pa.gulko zTrap (01.12.2018) + */ +@RequiresApi(Build.VERSION_CODES.KITKAT) +public interface IconicsAnimationPauseListener { + /** + * Notifies that the processor was paused. + * + * @param processor The processor being paused. + * @see IconicsAnimationProcessor#pause() + */ + @RequiresApi(Build.VERSION_CODES.KITKAT) + default void onAnimationPause(IconicsAnimationProcessor processor) { + } + + /** + * Notifies that the processor was resumed, after being + * previously paused. + * + * @param processor The processor being resumed. + * @see IconicsAnimationProcessor#resume() + */ + @RequiresApi(Build.VERSION_CODES.KITKAT) + default void onAnimationResume(IconicsAnimationProcessor processor) { + } +} \ No newline at end of file diff --git a/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationProcessor.java b/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationProcessor.java new file mode 100644 index 00000000..967b72d1 --- /dev/null +++ b/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationProcessor.java @@ -0,0 +1,499 @@ +/* + * Copyright 2018 Mike Penz + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.mikepenz.iconics.animation; + +import android.animation.Animator; +import android.animation.TimeInterpolator; +import android.animation.ValueAnimator; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Rect; +import android.os.Build; +import android.text.TextPaint; +import android.view.animation.LinearInterpolator; + +import com.mikepenz.iconics.IconicsBrush; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.TimeUnit; + +import androidx.annotation.FloatRange; +import androidx.annotation.IntDef; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.RequiresApi; +import androidx.core.util.Consumer; + +/** + * @author pa.gulko zTrap (28.11.2018) + */ +public abstract class IconicsAnimationProcessor { + private static final @NonNull TimeInterpolator sDefaultInterpolator = new LinearInterpolator(); + + private final @NonNull ValueAnimator mAnimator = ValueAnimator.ofFloat(0, 100); + + private @Nullable IconicsAnimatedDrawable mDrawable; + private boolean mIsStartRequested = false; + + /** + * When the animation reaches the end and {@code repeatCount} is INFINITE + * or a positive value, the animation restarts from the beginning. + */ + public static final int RESTART = ValueAnimator.RESTART; + /** + * When the animation reaches the end and {@code repeatCount} is INFINITE + * or a positive value, the animation reverses direction on every iteration. + */ + public static final int REVERSE = ValueAnimator.REVERSE; + /** + * This value used used with the {@link #repeatCount(int)} property to repeat + * the animation indefinitely. + */ + public static final int INFINITE = ValueAnimator.INFINITE; + + protected @NonNull TimeInterpolator mInterpolator = sDefaultInterpolator; + protected long mDuration = 300; + protected int mRepeatCount = INFINITE; + protected int mRepeatMode = RESTART; + protected boolean mIsStartImmediately = true; + + @IntDef({RESTART, REVERSE}) + @Retention(RetentionPolicy.SOURCE) + private @interface RepeatMode {} + + /** + * The set of listeners to be sent events through the life of an animation. + */ + private @Nullable List mListeners = null; + + /** + * The set of listeners to be sent pause/resume events through the life + * of an animation. + */ + private @Nullable List mPauseListeners = null; + + private final Animator.AnimatorListener mProxyListener = new Animator.AnimatorListener() { + + @Override public void onAnimationStart(Animator animation, boolean isReverse) { + forEachListeners(l -> l.onAnimationStart(IconicsAnimationProcessor.this, isReverse)); + } + + @Override public void onAnimationEnd(Animator animation, boolean isReverse) { + forEachListeners(l -> l.onAnimationEnd(IconicsAnimationProcessor.this, isReverse)); + } + + @Override public void onAnimationStart(Animator animation) { + forEachListeners(l -> l.onAnimationStart(IconicsAnimationProcessor.this)); + } + + @Override public void onAnimationEnd(Animator animation) { + forEachListeners(l -> l.onAnimationEnd(IconicsAnimationProcessor.this)); + } + + @Override public void onAnimationCancel(Animator animation) { + forEachListeners(l -> l.onAnimationCancel(IconicsAnimationProcessor.this)); + } + + @Override public void onAnimationRepeat(Animator animation) { + forEachListeners(l -> l.onAnimationRepeat(IconicsAnimationProcessor.this)); + } + + private void forEachListeners(Consumer consumer) { + if (mListeners == null) return; + for (IconicsAnimationListener l : mListeners) { + consumer.accept(l); + } + } + }; + + @RequiresApi(Build.VERSION_CODES.KITKAT) + private final Animator.AnimatorPauseListener mProxyPauseListener = new Animator.AnimatorPauseListener() { + + @Override public void onAnimationPause(Animator animation) { + forEachListeners(l -> l.onAnimationPause(IconicsAnimationProcessor.this)); + } + + @Override public void onAnimationResume(Animator animation) { + forEachListeners(l -> l.onAnimationResume(IconicsAnimationProcessor.this)); + } + + private void forEachListeners(Consumer consumer) { + if (mPauseListeners == null) return; + for (IconicsAnimationPauseListener l : mPauseListeners) { + consumer.accept(l); + } + } + }; + + /** + * @return Tag which will be used to apply this processor via xml + * */ + public abstract @NonNull String animationTag(); + + /** + * Sets the length of the animation. The default duration is 300 milliseconds. + * + * @param duration The length of the animation. This value cannot be negative. + */ + public @NonNull IconicsAnimationProcessor duration(long duration, @NonNull TimeUnit timeUnit) { + mDuration = timeUnit.toMillis(duration); + return this; + } + + /** + * Defines what this animation should do when it reaches the end. This + * setting is applied only when the repeat count is either greater than + * 0 or {@link #INFINITE}. Defaults to {@link #RESTART}. + * + * @param value {@link #RESTART} or {@link #REVERSE} + */ + public @NonNull IconicsAnimationProcessor repeatMode(@RepeatMode int value) { + mRepeatMode = value; + return this; + } + + /** + * Sets how many times the animation should be repeated. If the repeat + * count is 0, the animation is never repeated. If the repeat count is + * greater than 0 or {@link #INFINITE}, the repeat mode will be taken + * into account. The repeat count is {@link #INFINITE} by default. + * + * @param repeatCount the number of times the animation should be repeated + */ + public @NonNull IconicsAnimationProcessor repeatCount(int repeatCount) { + mRepeatCount = repeatCount; + return this; + } + + /** + * The time interpolator used in calculating the elapsed fraction of this animation. The + * interpolator determines whether the animation runs with linear or non-linear motion, + * such as acceleration and deceleration. The default value is + * {@link android.view.animation.LinearInterpolator} + * + * @param interpolator the interpolator to be used by this processor. A value of {@code null} + * will result in linear interpolation. + */ + public @NonNull IconicsAnimationProcessor interpolator(@NonNull TimeInterpolator interpolator) { + if (interpolator != null) { + mInterpolator = interpolator; + } else { + mInterpolator = sDefaultInterpolator; + } + return this; + } + + /** + * Set the flag for starting animation immediately after attach to drawable and after drawable + * with the view is attached to window. Default value is {@code true}. + * + * @param startImmediately the flag + * */ + public @NonNull IconicsAnimationProcessor startImmediately(boolean startImmediately) { + mIsStartImmediately = startImmediately; + return this; + } + + /** + * Starts the animation, if processor is attached to drawable, otherwise sets flag to start + * animation immediately after attaching + * */ + public @NonNull IconicsAnimationProcessor start() { + mAnimator.setInterpolator(mInterpolator); + mAnimator.setDuration(mDuration); + mAnimator.setRepeatCount(mRepeatCount); + mAnimator.setRepeatMode(mRepeatMode); + + if (mDrawable != null) { + mIsStartRequested = false; + mAnimator.start(); + } else { + mIsStartRequested = true; + } + return this; + } + + /** + * Adds a listener to the set of listeners that are sent events through the life of an + * processor, such as start, repeat, and end. + * + * @param listener the listener to be added to the current set of listeners for this processor. + */ + public @NonNull IconicsAnimationProcessor addListener(@NonNull IconicsAnimationListener listener) { + if (mListeners == null) { + mListeners = new ArrayList<>(); + mAnimator.addListener(mProxyListener); + } + mListeners.add(listener); + return this; + } + + /** + * Removes a listener from the set listening to this processor. + * + * @param listener the listener to be removed from the current set of listeners for this + * processor. + */ + public void removeListener(@NonNull IconicsAnimationListener listener) { + if (mListeners == null) { + return; + } + mListeners.remove(listener); + if (mListeners.size() == 0) { + mListeners = null; + mAnimator.removeListener(mProxyListener); + } + } + + /** + * Adds a pause listener to this processor. + * + * @param listener the listener to be added to the current set of pause listeners + * for this processor. + */ + @RequiresApi(Build.VERSION_CODES.KITKAT) + public @NonNull IconicsAnimationProcessor addPauseListener(@NonNull IconicsAnimationPauseListener listener) { + if (mPauseListeners == null) { + mPauseListeners = new ArrayList<>(); + mAnimator.addPauseListener(mProxyPauseListener); + } + mPauseListeners.add(listener); + return this; + } + + /** + * Removes a pause listener from the set listening to this processor. + * + * @param listener the listener to be removed from the current set of pause + * listeners for this processor. + */ + @RequiresApi(Build.VERSION_CODES.KITKAT) + public void removePauseListener(@NonNull IconicsAnimationPauseListener listener) { + if (mPauseListeners == null) { + return; + } + mPauseListeners.remove(listener); + if (mPauseListeners.size() == 0) { + mPauseListeners = null; + mAnimator.removePauseListener(mProxyPauseListener); + } + } + + /** + * Removes all {@link #addListener(IconicsAnimationListener) listeners} and + * {@link #addPauseListener(IconicsAnimationPauseListener) pauseListeners} from this processor. + */ + public void removeAllListeners() { + if (mListeners != null) { + mListeners.clear(); + mListeners = null; + mAnimator.removeListener(mProxyListener); + } + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + if (mPauseListeners != null) { + mPauseListeners.clear(); + mPauseListeners = null; + mAnimator.removePauseListener(mProxyPauseListener); + } + } + } + + /** + * Cancels the animation. Unlike {@link #end()}, {@code cancel()} causes the animation to + * stop in its tracks, sending an + * {@link IconicsAnimationListener#onAnimationCancel(IconicsAnimationProcessor)} to + * its listeners, followed by an + * {@link IconicsAnimationListener#onAnimationEnd(IconicsAnimationProcessor)} message. + * + * This method must be called on the thread that is running the processor. + */ + public void cancel() { + mAnimator.cancel(); + } + + /** + * Ends the animation. This causes the processor to assign the end value of the property being + * animated, then calling the + * {@link IconicsAnimationListener#onAnimationEnd(IconicsAnimationProcessor)} method on + * its listeners. + * + * This method must be called on the thread that is running the processor. + */ + public void end() { + mAnimator.end(); + } + + /** + * @return Whether the processor has been started and not yet ended. + */ + public boolean isStarted() { + return mAnimator.isStarted(); + } + + /** + * @return Whether the processor is running. + */ + public boolean isRunning() { + return mAnimator.isRunning(); + } + + /** + * Plays the processor in reverse. If the processor is already running, + * it will stop itself and play backwards from the point reached when reverse was called. + * If the processor is not currently running, then it will start from the end and + * play backwards. + */ + public void reverse() { + mAnimator.reverse(); + } + + /** + * Pauses a running processor. This method should only be called on the same thread on + * which the animation was started. If the animation has not yet been + * {@link #isStarted() started} or has since ended, then the call is ignored. Paused + * processors can be resumed by calling {@link #resume()}. + * + * @see #resume() + * @see #isPaused() + */ + @RequiresApi(Build.VERSION_CODES.KITKAT) + public void pause() { + mAnimator.pause(); + } + + /** + * Resumes a paused processor, causing the processor to pick up where it left off + * when it was paused. This method should only be called on the same thread on + * which the processor was started. Calls to {@code resume()} on an processor that is + * not currently paused will be ignored. + * + * @see #pause() + * @see #isPaused() + */ + @RequiresApi(Build.VERSION_CODES.KITKAT) + public void resume() { + mAnimator.resume(); + } + + /** + * Returns whether this processor is currently in a paused state. + * + * @return True if the processor is currently paused, false otherwise. + * + * @see #pause() + * @see #resume() + */ + @RequiresApi(Build.VERSION_CODES.KITKAT) + public boolean isPaused() { + return mAnimator.isPaused(); + } + + /** + * Will be called before {@link android.graphics.drawable.Drawable#draw(Canvas) .draw(Canvas)}. + * Useful for some changes, based on {@link android.graphics.Paint Paint} + * */ + protected void processPreDraw( + @NonNull Canvas canvas, + @NonNull IconicsBrush iconBrush, + @NonNull IconicsBrush iconContourBrush, + @NonNull IconicsBrush backgroundBrush, + @NonNull IconicsBrush backgroundContourBrush) { + } + + /** + * Will be called after {@link android.graphics.drawable.Drawable#draw(Canvas) .draw(Canvas)}. + * Useful for some changes, based on canvas and need to restore canvas after drawing the icon + * (scale, rotate etc.). + * */ + protected void processPostDraw(@NonNull Canvas canvas) { + } + + /** + * Return the drawable's current state + * + * Nullability contract: calling this into + * {@link #processPreDraw(Canvas, IconicsBrush, IconicsBrush, IconicsBrush, IconicsBrush)} or + * {@link #processPostDraw(Canvas)} is guaranteed return {@code @NonNull} value, otherwise it + * can be {@code @Nullable}. + * + * @return The current state of the drawable + * */ + protected @Nullable int[] getDrawableState() { + return mDrawable == null ? null : mDrawable.getState(); + } + + /** + * Return the drawable's bounds Rect. Note: for efficiency, the returned object may be the same + * object stored in the drawable (though this is not guaranteed). + * + * Nullability contract: calling this into + * {@link #processPreDraw(Canvas, IconicsBrush, IconicsBrush, IconicsBrush, IconicsBrush)} or + * {@link #processPostDraw(Canvas)} is guaranteed return {@code @NonNull} value, otherwise it + * can be {@code @Nullable}. + * + * @return The bounds of the drawable (which may change later, so caller beware). DO NOT ALTER + * the returned object as it may change the stored bounds of this drawable. + */ + protected @Nullable Rect getDrawableBounds() { + return mDrawable == null ? null : mDrawable.getBounds(); + } + + /** + * @return completed percent of animation + * */ + protected @FloatRange(from = 0, to = 100) float getAnimatedPercent() { + return (float) mAnimator.getAnimatedValue(); + } + + /** + * Called when a drawable was attached and now {@link #getDrawableBounds()} and + * {@link #getDrawableState()} will return valid values. Good place to set some + * drawable-dependent fields + * */ + protected void onDrawableAttached() { + } + + /** + * Called when a drawable was detached and now {@link #getDrawableBounds()} and + * {@link #getDrawableState()} will return {@code null}. Good place to reset some + * drawable-dependent fields + * */ + protected void onDrawableDetached() { + } + + /** + * Internal set an drawable to this processor + * */ + void setDrawable(@Nullable IconicsAnimatedDrawable drawable) { + mDrawable = null; + onDrawableDetached(); + + if (mDrawable != null) { + mDrawable = drawable; + onDrawableAttached(); + + if (mIsStartImmediately || mIsStartRequested) { + start(); + } + } else { + mAnimator.cancel(); + } + } +} diff --git a/library-core/src/main/java/com/mikepenz/iconics/animation/SpinProcessor.java b/library-core/src/main/java/com/mikepenz/iconics/animation/SpinProcessor.java new file mode 100644 index 00000000..81442df2 --- /dev/null +++ b/library-core/src/main/java/com/mikepenz/iconics/animation/SpinProcessor.java @@ -0,0 +1,105 @@ +/* + * Copyright 2018 Mike Penz + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.mikepenz.iconics.animation; + +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Rect; +import android.text.TextPaint; + +import com.mikepenz.iconics.IconicsBrush; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +import androidx.annotation.IntDef; +import androidx.annotation.NonNull; + +/** + * @author pa.gulko zTrap (30.11.2018) + */ +public class SpinProcessor extends IconicsAnimationProcessor { + /** + * Duration used for all instances of this processor by default. 2000 ms by default. + * */ + public static int defaultDuration = 2000; + + public final static int DIRECTION_CLOCKWISE = +1; + public final static int DIRECTION_COUNTER_CLOCKWISE = -1; + + @IntDef({DIRECTION_CLOCKWISE, DIRECTION_COUNTER_CLOCKWISE}) + @Retention(RetentionPolicy.SOURCE) + private @interface Direction { + } + + private @Direction int mDirection = DIRECTION_CLOCKWISE; + private boolean mIsDrawableShadowCleared = false; + + { + mDuration = defaultDuration; + } + + /** + * @param direction The direction of the spin, {@link #DIRECTION_CLOCKWISE clockwise (+1)} + * or {@link #DIRECTION_COUNTER_CLOCKWISE counter clockwise (-1)} + * */ + public @NonNull SpinProcessor direction(@Direction int direction) { + mDirection = direction; + return this; + } + + /** + * @return the direction of the spin, clockwise (+1) or counter clockwise (-1) + * */ + public @Direction int getDirection() { + return (int) Math.signum(mDirection); + } + + @Override public @NonNull String animationTag() { + return "spin"; + } + + @Override protected void processPreDraw( + @NonNull Canvas canvas, + @NonNull IconicsBrush iconBrush, + @NonNull IconicsBrush iconContourBrush, + @NonNull IconicsBrush backgroundBrush, + @NonNull IconicsBrush backgroundContourBrush) { + + // Shadow are not recalculate while spin (it spin with drawable). It looks ugly! + // Turn off ugly shadow! + if (!mIsDrawableShadowCleared) { + iconBrush.getPaint().clearShadowLayer(); + mIsDrawableShadowCleared = true; + } + + canvas.save(); + + Rect bounds = getDrawableBounds(); + float degrees = getAnimatedPercent() * 3.6f * getDirection(); + + canvas.rotate(degrees, bounds.width() / 2, bounds.height() / 2); + } + + @Override protected void processPostDraw(@NonNull Canvas canvas) { + canvas.restore(); + } + + @Override protected void onDrawableDetached() { + mIsDrawableShadowCleared = false; + } +} diff --git a/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsApplier.java b/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsApplier.java index 6655826f..e1b1f284 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsApplier.java +++ b/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsApplier.java @@ -18,13 +18,15 @@ import android.content.Context; import android.content.res.TypedArray; -import androidx.annotation.Nullable; -import androidx.annotation.RestrictTo; import android.util.AttributeSet; import com.mikepenz.iconics.IconicsDrawable; import com.mikepenz.iconics.core.R; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.RestrictTo; + import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP; /** @@ -33,8 +35,8 @@ @RestrictTo(LIBRARY_GROUP) public class IconicsAttrsApplier { - @Nullable - public static IconicsDrawable getIconicsDrawable(Context ctx, AttributeSet attrs) { + public static @Nullable IconicsDrawable getIconicsDrawable(@NonNull Context ctx, + @Nullable AttributeSet attrs) { TypedArray a = ctx.obtainStyledAttributes(attrs, R.styleable.Iconics); try { return new IconicsAttrsExtractor(ctx, a) @@ -42,14 +44,19 @@ public static IconicsDrawable getIconicsDrawable(Context ctx, AttributeSet attrs .colorsId(R.styleable.Iconics_ico_color) .sizeId(R.styleable.Iconics_ico_size) .paddingId(R.styleable.Iconics_ico_padding) + .offsetXId(R.styleable.Iconics_ico_offset_x) + .offsetYId(R.styleable.Iconics_ico_offset_y) .contourColorId(R.styleable.Iconics_ico_contour_color) .contourWidthId(R.styleable.Iconics_ico_contour_width) .backgroundColorId(R.styleable.Iconics_ico_background_color) .cornerRadiusId(R.styleable.Iconics_ico_corner_radius) .backgroundContourColorId(R.styleable.Iconics_ico_background_contour_color) .backgroundContourWidthId(R.styleable.Iconics_ico_background_contour_width) - .offsetXId(R.styleable.Iconics_ico_offset_x) - .offsetYId(R.styleable.Iconics_ico_offset_y) + .shadowRadiusId(R.styleable.Iconics_ico_shadow_radius) + .shadowDxId(R.styleable.Iconics_ico_shadow_dx) + .shadowDyId(R.styleable.Iconics_ico_shadow_dy) + .shadowColorId(R.styleable.Iconics_ico_shadow_color) + .animationsId(R.styleable.Iconics_ico_animations) .extractWithOffsets(); } finally { a.recycle(); diff --git a/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsExtractor.java b/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsExtractor.java index 4f487e81..9f6faaf5 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsExtractor.java +++ b/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsExtractor.java @@ -21,7 +21,12 @@ import android.content.res.TypedArray; import android.text.TextUtils; +import com.mikepenz.iconics.Iconics; import com.mikepenz.iconics.IconicsDrawable; +import com.mikepenz.iconics.animation.IconicsAnimationProcessor; + +import java.util.ArrayList; +import java.util.List; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -35,24 +40,34 @@ */ @RestrictTo(LIBRARY_GROUP) public class IconicsAttrsExtractor { + private final static int DEF_COLOR = Integer.MIN_VALUE; private final static int DEF_SIZE = -1; private final @NonNull Context mContext; private final @NonNull TypedArray mTypedArray; - @StyleableRes private int mIconId; - @StyleableRes private int mSizeId; - @StyleableRes private int mColorsId; - @StyleableRes private int mPaddingId; - @StyleableRes private int mContourColorId; - @StyleableRes private int mContourWidthId; - @StyleableRes private int mBackgroundColorId; - @StyleableRes private int mCornerRadiusId; - @StyleableRes private int mBackgroundContourColorId; - @StyleableRes private int mBackgroundContourWidthId; + private @StyleableRes int mIconId; + private @StyleableRes int mSizeId; + private @StyleableRes int mColorsId; + private @StyleableRes int mPaddingId; + private @StyleableRes int mOffsetXId; + private @StyleableRes int mOffsetYId; + + private @StyleableRes int mContourColorId; + private @StyleableRes int mContourWidthId; + + private @StyleableRes int mBackgroundColorId; + private @StyleableRes int mCornerRadiusId; + + private @StyleableRes int mBackgroundContourColorId; + private @StyleableRes int mBackgroundContourWidthId; - @StyleableRes private int mOffsetXId; - @StyleableRes private int mOffsetYId; + private @StyleableRes int mShadowRadiusId; + private @StyleableRes int mShadowDxId; + private @StyleableRes int mShadowDyId; + private @StyleableRes int mShadowColorId; + + private @StyleableRes int mAnimationsId; public IconicsAttrsExtractor(@NonNull Context context, @NonNull TypedArray typedArray) { @@ -81,6 +96,16 @@ public IconicsAttrsExtractor(@NonNull Context context, @NonNull TypedArray typed return this; } + public @NonNull IconicsAttrsExtractor offsetXId(@StyleableRes int offsetXId) { + mOffsetXId = offsetXId; + return this; + } + + public @NonNull IconicsAttrsExtractor offsetYId(@StyleableRes int offsetYId) { + mOffsetYId = offsetYId; + return this; + } + public @NonNull IconicsAttrsExtractor contourColorId(@StyleableRes int contourColorId) { mContourColorId = contourColorId; return this; @@ -111,13 +136,28 @@ public IconicsAttrsExtractor(@NonNull Context context, @NonNull TypedArray typed return this; } - public @NonNull IconicsAttrsExtractor offsetXId(@StyleableRes int offsetXId) { - mOffsetXId = offsetXId; + public @NonNull IconicsAttrsExtractor shadowRadiusId(@StyleableRes int shadowRadiusId) { + mShadowRadiusId = shadowRadiusId; return this; } - public @NonNull IconicsAttrsExtractor offsetYId(@StyleableRes int offsetYId) { - mOffsetYId = offsetYId; + public @NonNull IconicsAttrsExtractor shadowDxId(@StyleableRes int shadowDxId) { + mShadowDxId = shadowDxId; + return this; + } + + public @NonNull IconicsAttrsExtractor shadowDyId(@StyleableRes int shadowDyId) { + mShadowDyId = shadowDyId; + return this; + } + + public @NonNull IconicsAttrsExtractor shadowColorId(@StyleableRes int shadowColorId) { + mShadowColorId = shadowColorId; + return this; + } + + public @NonNull IconicsAttrsExtractor animationsId(@StyleableRes int animationsId) { + mAnimationsId = animationsId; return this; } //endregion @@ -138,10 +178,13 @@ public IconicsAttrsExtractor(@NonNull Context context, @NonNull TypedArray typed return extract(null, true, false); } - private IconicsDrawable extract(@Nullable IconicsDrawable icon, boolean extractOffsets, boolean nonNull) { + private IconicsDrawable extract(@Nullable IconicsDrawable icon, + boolean extractOffsets, + boolean nonNull) { icon = copyIfCan(icon); + // region icon String i = mTypedArray.getString(mIconId); if (!TextUtils.isEmpty(i)) { icon = createIfNeeds(icon, mContext).icon(i); @@ -158,6 +201,18 @@ private IconicsDrawable extract(@Nullable IconicsDrawable icon, boolean extractO if (padding != DEF_SIZE) { icon = createIfNeeds(icon, mContext).paddingPx(padding); } + if (extractOffsets) { + int offsetY = mTypedArray.getDimensionPixelSize(mOffsetYId, DEF_SIZE); + if (offsetY != DEF_SIZE) { + icon = createIfNeeds(icon, mContext).iconOffsetYPx(offsetY); + } + int offsetX = mTypedArray.getDimensionPixelSize(mOffsetXId, DEF_SIZE); + if (offsetX != DEF_SIZE) { + icon = createIfNeeds(icon, mContext).iconOffsetXPx(offsetX); + } + } + // endregion + // region contour ColorStateList contourColor = mTypedArray.getColorStateList(mContourColorId); if (contourColor != null) { icon = createIfNeeds(icon, mContext).contourColor(contourColor); @@ -166,6 +221,8 @@ private IconicsDrawable extract(@Nullable IconicsDrawable icon, boolean extractO if (contourWidth != DEF_SIZE) { icon = createIfNeeds(icon, mContext).contourWidthPx(contourWidth); } + // endregion + // region background ColorStateList backgroundColor = mTypedArray.getColorStateList(mBackgroundColorId); if (backgroundColor != null) { icon = createIfNeeds(icon, mContext).backgroundColor(backgroundColor); @@ -174,6 +231,8 @@ private IconicsDrawable extract(@Nullable IconicsDrawable icon, boolean extractO if (cornerRadius != DEF_SIZE) { icon = createIfNeeds(icon, mContext).roundedCornersPx(cornerRadius); } + // endregion + // region background contour ColorStateList backgroundContourColor = mTypedArray.getColorStateList(mBackgroundContourColorId); if (backgroundContourColor != null) { icon = createIfNeeds(icon, mContext).backgroundContourColor(backgroundContourColor); @@ -182,16 +241,46 @@ private IconicsDrawable extract(@Nullable IconicsDrawable icon, boolean extractO if (backgroundContourWidth != DEF_SIZE) { icon = createIfNeeds(icon, mContext).backgroundContourWidthPx(backgroundContourWidth); } - if (extractOffsets) { - int offsetY = mTypedArray.getDimensionPixelSize(mOffsetYId, DEF_SIZE); - if (offsetY != DEF_SIZE) { - icon = createIfNeeds(icon, mContext).iconOffsetYPx(offsetY); - } - int offsetX = mTypedArray.getDimensionPixelSize(mOffsetXId, DEF_SIZE); - if (offsetX != DEF_SIZE) { - icon = createIfNeeds(icon, mContext).iconOffsetXPx(offsetX); + // endregion + // region shadow + int shadowRadius = mTypedArray.getDimensionPixelSize(mShadowRadiusId, DEF_SIZE); + int shadowDx = mTypedArray.getDimensionPixelSize(mShadowDxId, DEF_SIZE); + int shadowDy = mTypedArray.getDimensionPixelSize(mShadowDyId, DEF_SIZE); + int shadowColor = mTypedArray.getColor(mShadowColorId, DEF_COLOR); + + if (shadowRadius != DEF_SIZE + && shadowDx != DEF_SIZE + && shadowDy != DEF_SIZE + && shadowColor != DEF_COLOR) { + icon = createIfNeeds(icon, mContext).shadowPx( + shadowRadius, + shadowDx, + shadowDy, + shadowColor); + } + // endregion + + // animations should be applied at the end because here we transform the drawable, + // therefore all properties must be processed before + + // region animations + String animations = mTypedArray.getString(mAnimationsId); + if (!TextUtils.isEmpty(animations)) { + List processors = new ArrayList<>(); + String[] animationsList = animations.split("\\|"); + for (String animationTag : animationsList) { + IconicsAnimationProcessor processor = Iconics.findProcessor(mContext, animationTag); + if (processor != null) { + processors.add(processor); + } } + + icon = createIfNeeds(icon, mContext) + .toAnimatedDrawable() + .processors(processors.toArray(new IconicsAnimationProcessor[0])); } + // endregion + if (nonNull) { icon = createIfNeeds(icon, mContext); } @@ -207,8 +296,8 @@ private IconicsDrawable extract(@Nullable IconicsDrawable icon, boolean extractO private static @NonNull IconicsDrawable createIfNeeds( @Nullable IconicsDrawable drawable, - @NonNull Context context){ - if (drawable == null){ + @NonNull Context context) { + if (drawable == null) { drawable = new IconicsDrawable(context); } return drawable; diff --git a/library-core/src/main/java/com/mikepenz/iconics/context/IconicsFactory.java b/library-core/src/main/java/com/mikepenz/iconics/context/IconicsFactory.java index babd6a2f..bfc96470 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/context/IconicsFactory.java +++ b/library-core/src/main/java/com/mikepenz/iconics/context/IconicsFactory.java @@ -1,7 +1,7 @@ package com.mikepenz.iconics.context; +import android.annotation.SuppressLint; import android.content.Context; -import androidx.appcompat.view.menu.ActionMenuItemView; import android.text.Editable; import android.text.TextWatcher; import android.util.AttributeSet; @@ -12,17 +12,14 @@ import com.mikepenz.iconics.Iconics; import com.mikepenz.iconics.IconicsDrawable; +import com.mikepenz.iconics.animation.IconicsAnimatedDrawable; import com.mikepenz.iconics.core.R; -@SuppressWarnings("RestrictedApi, JavaDoc") +import androidx.appcompat.view.menu.ActionMenuItemView; + class IconicsFactory { - /** - * @param view - * @param context - * @param attrs - * @return - */ - public View onViewCreated(View view, Context context, AttributeSet attrs) { + + View onViewCreated(View view, Context context, AttributeSet attrs) { if (view != null && view.getTag(R.id.iconics_tag_id) != Boolean.TRUE) { onViewCreatedInternal(view, context, attrs); view.setTag(R.id.iconics_tag_id, Boolean.TRUE); @@ -30,12 +27,8 @@ public View onViewCreated(View view, Context context, AttributeSet attrs) { return view; } - /** - * @param view - * @param context - * @param attrs - */ - void onViewCreatedInternal(View view, final Context context, AttributeSet attrs) { + @SuppressLint("RestrictedApi") + private void onViewCreatedInternal(View view, final Context context, AttributeSet attrs) { if (attrs == null) { return; } @@ -44,6 +37,10 @@ void onViewCreatedInternal(View view, final Context context, AttributeSet attrs) IconicsDrawable drawable = IconicsAttrsApplier.getIconicsDrawable(context, attrs); if (drawable != null) { ((ActionMenuItemView) view).setIcon(drawable); + + if (drawable instanceof IconicsAnimatedDrawable) { + ((IconicsAnimatedDrawable) drawable).animateIn(view); + } } } else if (view instanceof EditText) { //handle iconics @@ -74,6 +71,10 @@ public void afterTextChanged(Editable editable) { IconicsDrawable drawable = IconicsAttrsApplier.getIconicsDrawable(context, attrs); if (drawable != null) { ((ImageView) view).setImageDrawable(drawable); + + if (drawable instanceof IconicsAnimatedDrawable) { + ((IconicsAnimatedDrawable) drawable).animateIn(view); + } } } } diff --git a/library-core/src/main/java/com/mikepenz/iconics/typeface/GenericFont.java b/library-core/src/main/java/com/mikepenz/iconics/typeface/GenericFont.java index befb5fbc..988e8b63 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/typeface/GenericFont.java +++ b/library-core/src/main/java/com/mikepenz/iconics/typeface/GenericFont.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2014 Mike Penz *

* Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,6 +18,7 @@ *

* http://scripts.sil.org/cms/scripts/render_download.php?format=file&media_id=OFL_plaintext&filename=OFL.txt */ + package com.mikepenz.iconics.typeface; import android.content.Context; @@ -47,7 +48,7 @@ public GenericFont(String mappingPrefix, String fontFile) { public GenericFont(String fontName, String author, String mappingPrefix, String fontFile) { if (mappingPrefix.length() != 3) { - new IllegalArgumentException("MappingPrefix must be 3 char long"); + throw new IllegalArgumentException("MappingPrefix must be 3 char long"); } this.mFontName = fontName; this.mAuthor = author; @@ -59,68 +60,55 @@ public void registerIcon(String name, char aChar) { mChars.put(mMappingPrefix + "_" + name, aChar); } - @Override - public IIcon getIcon(String key) { + @Override public IIcon getIcon(String key) { return new Icon(mChars.get(key)).withTypeface(this); } - @Override - public HashMap getCharacters() { + @Override public HashMap getCharacters() { return new HashMap<>(); } - @Override - public String getMappingPrefix() { + @Override public String getMappingPrefix() { return mMappingPrefix; } - @Override - public String getFontName() { + @Override public String getFontName() { return mFontName; } - @Override - public String getVersion() { + @Override public String getVersion() { return "1.0.0"; } - @Override - public int getIconCount() { + @Override public int getIconCount() { return mChars.size(); } - @Override - public Collection getIcons() { + @Override public Collection getIcons() { return mChars.keySet(); } - @Override - public String getAuthor() { + @Override public String getAuthor() { return mAuthor; } - @Override - public String getUrl() { + @Override public String getUrl() { return ""; } - @Override - public String getDescription() { + @Override public String getDescription() { return ""; } - @Override - public String getLicense() { + @Override public String getLicense() { return ""; } - @Override - public String getLicenseUrl() { + @Override public String getLicenseUrl() { return ""; } - @Override - public Typeface getTypeface(Context context) { + @Override public Typeface getTypeface(Context context) { if (typeface == null) { try { typeface = Typeface.createFromAsset(context.getAssets(), mFontFile); @@ -151,26 +139,22 @@ public Icon withTypeface(ITypeface typeface) { return this; } - @Override - public String getFormattedName() { + @Override public String getFormattedName() { return "{" + getName() + "}"; } - @Override - public String getName() { + @Override public String getName() { if (mName != null) { return mName; } return String.valueOf(aChar); } - @Override - public char getCharacter() { + @Override public char getCharacter() { return aChar; } - @Override - public ITypeface getTypeface() { + @Override public ITypeface getTypeface() { if (mTypeface != null) { return mTypeface; } else { diff --git a/library-core/src/main/java/com/mikepenz/iconics/utils/GenericsUtil.java b/library-core/src/main/java/com/mikepenz/iconics/utils/GenericsUtil.java index 54aad35d..58db7162 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/utils/GenericsUtil.java +++ b/library-core/src/main/java/com/mikepenz/iconics/utils/GenericsUtil.java @@ -13,11 +13,14 @@ public class GenericsUtil { /** * a helper to get the string fields from the R class - * - * @param ctx - * @return + * @deprecated use {@link #getDefinedFonts(Context)} instead */ + @Deprecated public static String[] getFields(Context ctx) { + return getDefinedFonts(ctx); + } + + public static String[] getDefinedFonts(Context ctx) { Class rStringClass = resolveRClass(ctx.getPackageName()); if (rStringClass != null) { return getDefinedFonts(ctx, rStringClass.getFields()); @@ -25,11 +28,16 @@ public static String[] getFields(Context ctx) { return new String[0]; } + public static String[] getDefinedProcessors(Context ctx) { + Class rStringClass = resolveRClass(ctx.getPackageName()); + if (rStringClass != null) { + return getDefinedProcessors(ctx, rStringClass.getFields()); + } + return new String[0]; + } + /** * a helper class to resolve the correct R Class for the package - * - * @param packageName - * @return */ private static Class resolveRClass(String packageName) { do { @@ -56,15 +64,27 @@ private static String[] getDefinedFonts(Context ctx, Field[] fields) { fieldArray.add(getStringResourceByName(ctx, field.getName())); } } - return fieldArray.toArray(new String[fieldArray.size()]); + return fieldArray.toArray(new String[0]); } /** - * helper class to retrieve a string by it's resource name + * A helper method to get a String[] out of a fieldArray * - * @param ctx - * @param resourceName - * @return + * @param fields R.strings.class.getFields() + * @return a String[] with the string ids we need + */ + private static String[] getDefinedProcessors(Context ctx, Field[] fields) { + ArrayList fieldArray = new ArrayList<>(); + for (Field field : fields) { + if (field.getName().contains("define_processor_")) { + fieldArray.add(getStringResourceByName(ctx, field.getName())); + } + } + return fieldArray.toArray(new String[0]); + } + + /** + * helper class to retrieve a string by it's resource name */ private static String getStringResourceByName(Context ctx, String resourceName) { String packageName = ctx.getPackageName(); diff --git a/library-core/src/main/res/values/attrs.xml b/library-core/src/main/res/values/attrs.xml index a781d50e..b5e7a7d3 100644 --- a/library-core/src/main/res/values/attrs.xml +++ b/library-core/src/main/res/values/attrs.xml @@ -28,5 +28,10 @@ + + + + + \ No newline at end of file diff --git a/library-core/src/main/res/values/strings.xml b/library-core/src/main/res/values/strings.xml new file mode 100644 index 00000000..d467e70e --- /dev/null +++ b/library-core/src/main/res/values/strings.xml @@ -0,0 +1,22 @@ + + + + + com.mikepenz.iconics.animation.SpinProcessor + com.mikepenz.iconics.animation.BlinkAlphaProcessor + com.mikepenz.iconics.animation.BlinkScaleProcessor + \ No newline at end of file From 8e387a3eb59b94a862eb102d12ed6999967a53a2 Mon Sep 17 00:00:00 2001 From: "zTrap (Peter Gulko)" Date: Mon, 3 Dec 2018 12:33:03 +0300 Subject: [PATCH 04/15] oops, fix typo --- .../mikepenz/iconics/animation/IconicsAnimationProcessor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationProcessor.java b/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationProcessor.java index 967b72d1..ccc54f05 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationProcessor.java +++ b/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationProcessor.java @@ -485,7 +485,7 @@ void setDrawable(@Nullable IconicsAnimatedDrawable drawable) { mDrawable = null; onDrawableDetached(); - if (mDrawable != null) { + if (drawable != null) { mDrawable = drawable; onDrawableAttached(); From 8b65793478e53fd2ea5e711141ac387cf3dff6c7 Mon Sep 17 00:00:00 2001 From: "zTrap (Peter Gulko)" Date: Mon, 3 Dec 2018 16:46:45 +0300 Subject: [PATCH 05/15] removed old and unused folder with icons string ids --- ...nt_community_material_design_v2.0.46.1.xml | 2048 ----------------- FONT_IDS/_current_dev_icon_v2.0.0.1.xml | 164 -- FONT_IDS/_current_entypo_v1.0.0.1.xml | 387 ---- FONT_IDS/_current_font_awesome_v4.7.0.0.xml | 677 ------ .../_current_foundation_icons_v3.0.0.1.xml | 285 --- ...rent_google_material_v3.0.1.0.original.xml | 934 -------- FONT_IDS/_current_ionicons_v2.0.1.1.xml | 735 ------ ..._current_material_design_iconic_v2.2.0.xml | 888 ------- FONT_IDS/_current_meteocons_v1.1.1.xml | 49 - FONT_IDS/_current_octicons_v3.2.0.xml | 195 -- .../_current_pixeden7_stroke_v1.2.0.0.xml | 204 -- FONT_IDS/_current_typeicons_v2.0.7.1.xml | 338 --- FONT_IDS/_current_weather_icons_v2.0.10.xml | 592 ----- 13 files changed, 7496 deletions(-) delete mode 100644 FONT_IDS/_current_community_material_design_v2.0.46.1.xml delete mode 100644 FONT_IDS/_current_dev_icon_v2.0.0.1.xml delete mode 100644 FONT_IDS/_current_entypo_v1.0.0.1.xml delete mode 100644 FONT_IDS/_current_font_awesome_v4.7.0.0.xml delete mode 100644 FONT_IDS/_current_foundation_icons_v3.0.0.1.xml delete mode 100644 FONT_IDS/_current_google_material_v3.0.1.0.original.xml delete mode 100644 FONT_IDS/_current_ionicons_v2.0.1.1.xml delete mode 100644 FONT_IDS/_current_material_design_iconic_v2.2.0.xml delete mode 100644 FONT_IDS/_current_meteocons_v1.1.1.xml delete mode 100644 FONT_IDS/_current_octicons_v3.2.0.xml delete mode 100644 FONT_IDS/_current_pixeden7_stroke_v1.2.0.0.xml delete mode 100644 FONT_IDS/_current_typeicons_v2.0.7.1.xml delete mode 100644 FONT_IDS/_current_weather_icons_v2.0.10.xml diff --git a/FONT_IDS/_current_community_material_design_v2.0.46.1.xml b/FONT_IDS/_current_community_material_design_v2.0.46.1.xml deleted file mode 100644 index cf782e11..00000000 --- a/FONT_IDS/_current_community_material_design_v2.0.46.1.xml +++ /dev/null @@ -1,2048 +0,0 @@ - - cmd_access_point - cmd_access_point_network - cmd_account - cmd_account_alert - cmd_account_box - cmd_account_box_outline - cmd_account_card_details - cmd_account_check - cmd_account_circle - cmd_account_convert - cmd_account_edit - cmd_account_key - cmd_account_location - cmd_account_minus - cmd_account_multiple - cmd_account_multiple_minus - cmd_account_multiple_outline - cmd_account_multiple_plus - cmd_account_network - cmd_account_off - cmd_account_outline - cmd_account_plus - cmd_account_remove - cmd_account_search - cmd_account_settings - cmd_account_settings_variant - cmd_account_star - cmd_account_switch - cmd_adjust - cmd_air_conditioner - cmd_airballoon - cmd_airplane - cmd_airplane_landing - cmd_airplane_off - cmd_airplane_takeoff - cmd_airplay - cmd_alarm - cmd_alarm_bell - cmd_alarm_check - cmd_alarm_light - cmd_alarm_multiple - cmd_alarm_off - cmd_alarm_plus - cmd_alarm_snooze - cmd_album - cmd_alert - cmd_alert_box - cmd_alert_circle - cmd_alert_circle_outline - cmd_alert_decagram - cmd_alert_octagon - cmd_alert_octagram - cmd_alert_outline - cmd_all_inclusive - cmd_alpha - cmd_alphabetical - cmd_altimeter - cmd_amazon - cmd_amazon_clouddrive - cmd_ambulance - cmd_amplifier - cmd_anchor - cmd_android - cmd_android_debug_bridge - cmd_android_head - cmd_android_studio - cmd_angular - cmd_angularjs - cmd_animation - cmd_apple - cmd_apple_finder - cmd_apple_ios - cmd_apple_keyboard_caps - cmd_apple_keyboard_command - cmd_apple_keyboard_control - cmd_apple_keyboard_option - cmd_apple_keyboard_shift - cmd_apple_mobileme - cmd_apple_safari - cmd_application - cmd_approval - cmd_apps - cmd_archive - cmd_arrange_bring_forward - cmd_arrange_bring_to_front - cmd_arrange_send_backward - cmd_arrange_send_to_back - cmd_arrow_all - cmd_arrow_bottom_left - cmd_arrow_bottom_right - cmd_arrow_collapse - cmd_arrow_collapse_all - cmd_arrow_collapse_down - cmd_arrow_collapse_left - cmd_arrow_collapse_right - cmd_arrow_collapse_up - cmd_arrow_down - cmd_arrow_down_bold - cmd_arrow_down_bold_box - cmd_arrow_down_bold_box_outline - cmd_arrow_down_bold_circle - cmd_arrow_down_bold_circle_outline - cmd_arrow_down_bold_hexagon_outline - cmd_arrow_down_box - cmd_arrow_down_drop_circle - cmd_arrow_down_drop_circle_outline - cmd_arrow_down_thick - cmd_arrow_expand - cmd_arrow_expand_all - cmd_arrow_expand_down - cmd_arrow_expand_left - cmd_arrow_expand_right - cmd_arrow_expand_up - cmd_arrow_left - cmd_arrow_left_bold - cmd_arrow_left_bold_box - cmd_arrow_left_bold_box_outline - cmd_arrow_left_bold_circle - cmd_arrow_left_bold_circle_outline - cmd_arrow_left_bold_hexagon_outline - cmd_arrow_left_box - cmd_arrow_left_drop_circle - cmd_arrow_left_drop_circle_outline - cmd_arrow_left_thick - cmd_arrow_right - cmd_arrow_right_bold - cmd_arrow_right_bold_box - cmd_arrow_right_bold_box_outline - cmd_arrow_right_bold_circle - cmd_arrow_right_bold_circle_outline - cmd_arrow_right_bold_hexagon_outline - cmd_arrow_right_box - cmd_arrow_right_drop_circle - cmd_arrow_right_drop_circle_outline - cmd_arrow_right_thick - cmd_arrow_top_left - cmd_arrow_top_right - cmd_arrow_up - cmd_arrow_up_bold - cmd_arrow_up_bold_box - cmd_arrow_up_bold_box_outline - cmd_arrow_up_bold_circle - cmd_arrow_up_bold_circle_outline - cmd_arrow_up_bold_hexagon_outline - cmd_arrow_up_box - cmd_arrow_up_drop_circle - cmd_arrow_up_drop_circle_outline - cmd_arrow_up_thick - cmd_assistant - cmd_asterisk - cmd_at - cmd_atom - cmd_attachment - cmd_audiobook - cmd_auto_fix - cmd_auto_upload - cmd_autorenew - cmd_av_timer - cmd_baby - cmd_baby_buggy - cmd_backburger - cmd_backspace - cmd_backup_restore - cmd_bandcamp - cmd_bank - cmd_barcode - cmd_barcode_scan - cmd_barley - cmd_barrel - cmd_basecamp - cmd_basket - cmd_basket_fill - cmd_basket_unfill - cmd_battery - cmd_battery_10 - cmd_battery_20 - cmd_battery_30 - cmd_battery_40 - cmd_battery_50 - cmd_battery_60 - cmd_battery_70 - cmd_battery_80 - cmd_battery_90 - cmd_battery_alert - cmd_battery_charging - cmd_battery_charging_100 - cmd_battery_charging_20 - cmd_battery_charging_30 - cmd_battery_charging_40 - cmd_battery_charging_60 - cmd_battery_charging_80 - cmd_battery_charging_90 - cmd_battery_minus - cmd_battery_negative - cmd_battery_outline - cmd_battery_plus - cmd_battery_positive - cmd_battery_unknown - cmd_beach - cmd_beaker - cmd_beats - cmd_beer - cmd_behance - cmd_bell - cmd_bell_off - cmd_bell_outline - cmd_bell_plus - cmd_bell_ring - cmd_bell_ring_outline - cmd_bell_sleep - cmd_beta - cmd_bible - cmd_bike - cmd_bing - cmd_binoculars - cmd_bio - cmd_biohazard - cmd_bitbucket - cmd_black_mesa - cmd_blackberry - cmd_blender - cmd_blinds - cmd_block_helper - cmd_blogger - cmd_bluetooth - cmd_bluetooth_audio - cmd_bluetooth_connect - cmd_bluetooth_off - cmd_bluetooth_settings - cmd_bluetooth_transfer - cmd_blur - cmd_blur_linear - cmd_blur_off - cmd_blur_radial - cmd_bomb - cmd_bomb_off - cmd_bone - cmd_book - cmd_book_minus - cmd_book_multiple - cmd_book_multiple_variant - cmd_book_open - cmd_book_open_page_variant - cmd_book_open_variant - cmd_book_plus - cmd_book_secure - cmd_book_unsecure - cmd_book_variant - cmd_bookmark - cmd_bookmark_check - cmd_bookmark_music - cmd_bookmark_outline - cmd_bookmark_plus - cmd_bookmark_plus_outline - cmd_bookmark_remove - cmd_boombox - cmd_bootstrap - cmd_border_all - cmd_border_bottom - cmd_border_color - cmd_border_horizontal - cmd_border_inside - cmd_border_left - cmd_border_none - cmd_border_outside - cmd_border_right - cmd_border_style - cmd_border_top - cmd_border_vertical - cmd_bow_tie - cmd_bowl - cmd_bowling - cmd_box - cmd_box_cutter - cmd_box_shadow - cmd_bridge - cmd_briefcase - cmd_briefcase_check - cmd_briefcase_download - cmd_briefcase_upload - cmd_brightness_1 - cmd_brightness_2 - cmd_brightness_3 - cmd_brightness_4 - cmd_brightness_5 - cmd_brightness_6 - cmd_brightness_7 - cmd_brightness_auto - cmd_broom - cmd_brush - cmd_buffer - cmd_bug - cmd_bulletin_board - cmd_bullhorn - cmd_bullseye - cmd_burst_mode - cmd_bus - cmd_bus_articulated_end - cmd_bus_articulated_front - cmd_bus_double_decker - cmd_bus_school - cmd_bus_side - cmd_cached - cmd_cake - cmd_cake_layered - cmd_cake_variant - cmd_calculator - cmd_calendar - cmd_calendar_blank - cmd_calendar_check - cmd_calendar_clock - cmd_calendar_multiple - cmd_calendar_multiple_check - cmd_calendar_plus - cmd_calendar_question - cmd_calendar_range - cmd_calendar_remove - cmd_calendar_text - cmd_calendar_today - cmd_call_made - cmd_call_merge - cmd_call_missed - cmd_call_received - cmd_call_split - cmd_camcorder - cmd_camcorder_box - cmd_camcorder_box_off - cmd_camcorder_off - cmd_camera - cmd_camera_burst - cmd_camera_enhance - cmd_camera_front - cmd_camera_front_variant - cmd_camera_gopro - cmd_camera_iris - cmd_camera_metering_center - cmd_camera_metering_matrix - cmd_camera_metering_partial - cmd_camera_metering_spot - cmd_camera_off - cmd_camera_party_mode - cmd_camera_rear - cmd_camera_rear_variant - cmd_camera_switch - cmd_camera_timer - cmd_cancel - cmd_candle - cmd_candycane - cmd_cannabis - cmd_car - cmd_car_battery - cmd_car_connected - cmd_car_convertable - cmd_car_estate - cmd_car_hatchback - cmd_car_pickup - cmd_car_side - cmd_car_sports - cmd_car_wash - cmd_caravan - cmd_cards - cmd_cards_outline - cmd_cards_playing_outline - cmd_cards_variant - cmd_carrot - cmd_cart - cmd_cart_off - cmd_cart_outline - cmd_cart_plus - cmd_case_sensitive_alt - cmd_cash - cmd_cash_100 - cmd_cash_multiple - cmd_cash_usd - cmd_cast - cmd_cast_connected - cmd_cast_off - cmd_castle - cmd_cat - cmd_cctv - cmd_ceiling_light - cmd_cellphone - cmd_cellphone_android - cmd_cellphone_basic - cmd_cellphone_dock - cmd_cellphone_iphone - cmd_cellphone_link - cmd_cellphone_link_off - cmd_cellphone_settings - cmd_certificate - cmd_chair_school - cmd_chart_arc - cmd_chart_areaspline - cmd_chart_bar - cmd_chart_bar_stacked - cmd_chart_bubble - cmd_chart_donut - cmd_chart_donut_variant - cmd_chart_gantt - cmd_chart_histogram - cmd_chart_line - cmd_chart_line_stacked - cmd_chart_line_variant - cmd_chart_pie - cmd_chart_scatterplot_hexbin - cmd_chart_timeline - cmd_check - cmd_check_all - cmd_check_circle - cmd_check_circle_outline - cmd_checkbox_blank - cmd_checkbox_blank_circle - cmd_checkbox_blank_circle_outline - cmd_checkbox_blank_outline - cmd_checkbox_marked - cmd_checkbox_marked_circle - cmd_checkbox_marked_circle_outline - cmd_checkbox_marked_outline - cmd_checkbox_multiple_blank - cmd_checkbox_multiple_blank_circle - cmd_checkbox_multiple_blank_circle_outline - cmd_checkbox_multiple_blank_outline - cmd_checkbox_multiple_marked - cmd_checkbox_multiple_marked_circle - cmd_checkbox_multiple_marked_circle_outline - cmd_checkbox_multiple_marked_outline - cmd_checkerboard - cmd_chemical_weapon - cmd_chevron_double_down - cmd_chevron_double_left - cmd_chevron_double_right - cmd_chevron_double_up - cmd_chevron_down - cmd_chevron_left - cmd_chevron_right - cmd_chevron_up - cmd_chili_hot - cmd_chili_medium - cmd_chili_mild - cmd_chip - cmd_church - cmd_circle - cmd_circle_outline - cmd_cisco_webex - cmd_city - cmd_clipboard - cmd_clipboard_account - cmd_clipboard_alert - cmd_clipboard_arrow_down - cmd_clipboard_arrow_left - cmd_clipboard_check - cmd_clipboard_flow - cmd_clipboard_outline - cmd_clipboard_plus - cmd_clipboard_text - cmd_clippy - cmd_clock - cmd_clock_alert - cmd_clock_end - cmd_clock_fast - cmd_clock_in - cmd_clock_out - cmd_clock_start - cmd_close - cmd_close_box - cmd_close_box_outline - cmd_close_circle - cmd_close_circle_outline - cmd_close_network - cmd_close_octagon - cmd_close_octagon_outline - cmd_close_outline - cmd_closed_caption - cmd_cloud - cmd_cloud_braces - cmd_cloud_check - cmd_cloud_circle - cmd_cloud_download - cmd_cloud_off_outline - cmd_cloud_outline - cmd_cloud_print - cmd_cloud_print_outline - cmd_cloud_sync - cmd_cloud_tags - cmd_cloud_upload - cmd_code_array - cmd_code_braces - cmd_code_brackets - cmd_code_equal - cmd_code_greater_than - cmd_code_greater_than_or_equal - cmd_code_less_than - cmd_code_less_than_or_equal - cmd_code_not_equal - cmd_code_not_equal_variant - cmd_code_parentheses - cmd_code_string - cmd_code_tags - cmd_code_tags_check - cmd_codepen - cmd_coffee - cmd_coffee_outline - cmd_coffee_to_go - cmd_coin - cmd_coins - cmd_collage - cmd_color_helper - cmd_comment - cmd_comment_account - cmd_comment_account_outline - cmd_comment_alert - cmd_comment_alert_outline - cmd_comment_check - cmd_comment_check_outline - cmd_comment_multiple_outline - cmd_comment_outline - cmd_comment_plus_outline - cmd_comment_processing - cmd_comment_processing_outline - cmd_comment_question_outline - cmd_comment_remove_outline - cmd_comment_text - cmd_comment_text_outline - cmd_compare - cmd_compass - cmd_compass_outline - cmd_console - cmd_console_line - cmd_contact_mail - cmd_contacts - cmd_content_copy - cmd_content_cut - cmd_content_duplicate - cmd_content_paste - cmd_content_save - cmd_content_save_all - cmd_content_save_settings - cmd_contrast - cmd_contrast_box - cmd_contrast_circle - cmd_cookie - cmd_copyright - cmd_corn - cmd_counter - cmd_cow - cmd_creation - cmd_credit_card - cmd_credit_card_multiple - cmd_credit_card_off - cmd_credit_card_plus - cmd_credit_card_scan - cmd_crop - cmd_crop_free - cmd_crop_landscape - cmd_crop_portrait - cmd_crop_rotate - cmd_crop_square - cmd_crosshairs - cmd_crosshairs_gps - cmd_crown - cmd_cube - cmd_cube_outline - cmd_cube_send - cmd_cube_unfolded - cmd_cup - cmd_cup_off - cmd_cup_water - cmd_currency_btc - cmd_currency_chf - cmd_currency_cny - cmd_currency_eth - cmd_currency_eur - cmd_currency_gbp - cmd_currency_inr - cmd_currency_jpy - cmd_currency_krw - cmd_currency_ngn - cmd_currency_rub - cmd_currency_sign - cmd_currency_try - cmd_currency_twd - cmd_currency_usd - cmd_currency_usd_off - cmd_cursor_default - cmd_cursor_default_outline - cmd_cursor_move - cmd_cursor_pointer - cmd_cursor_text - cmd_database - cmd_database_minus - cmd_database_plus - cmd_debug_step_into - cmd_debug_step_out - cmd_debug_step_over - cmd_decagram - cmd_decagram_outline - cmd_decimal_decrease - cmd_decimal_increase - cmd_delete - cmd_delete_circle - cmd_delete_empty - cmd_delete_forever - cmd_delete_sweep - cmd_delete_variant - cmd_delta - cmd_deskphone - cmd_desktop_classic - cmd_desktop_mac - cmd_desktop_tower - cmd_details - cmd_developer_board - cmd_deviantart - cmd_dialpad - cmd_diamond - cmd_dice_1 - cmd_dice_2 - cmd_dice_3 - cmd_dice_4 - cmd_dice_5 - cmd_dice_6 - cmd_dice_d10 - cmd_dice_d20 - cmd_dice_d4 - cmd_dice_d6 - cmd_dice_d8 - cmd_dice_multiple - cmd_dictionary - cmd_dip_switch - cmd_directions - cmd_directions_fork - cmd_discord - cmd_disk - cmd_disk_alert - cmd_disqus - cmd_disqus_outline - cmd_division - cmd_division_box - cmd_dna - cmd_dns - cmd_do_not_disturb - cmd_do_not_disturb_off - cmd_dolby - cmd_domain - cmd_donkey - cmd_dots_horizontal - cmd_dots_horizontal_circle - cmd_dots_vertical - cmd_dots_vertical_circle - cmd_douban - cmd_download - cmd_download_network - cmd_drag - cmd_drag_horizontal - cmd_drag_vertical - cmd_drawing - cmd_drawing_box - cmd_dribbble - cmd_dribbble_box - cmd_drone - cmd_dropbox - cmd_drupal - cmd_duck - cmd_dumbbell - cmd_ear_hearing - cmd_earth - cmd_earth_box - cmd_earth_box_off - cmd_earth_off - cmd_edge - cmd_eject - cmd_elephant - cmd_elevation_decline - cmd_elevation_rise - cmd_elevator - cmd_email - cmd_email_alert - cmd_email_open - cmd_email_open_outline - cmd_email_outline - cmd_email_secure - cmd_email_variant - cmd_emby - cmd_emoticon - cmd_emoticon_cool - cmd_emoticon_dead - cmd_emoticon_devil - cmd_emoticon_excited - cmd_emoticon_happy - cmd_emoticon_neutral - cmd_emoticon_poop - cmd_emoticon_sad - cmd_emoticon_tongue - cmd_engine - cmd_engine_outline - cmd_equal - cmd_equal_box - cmd_eraser - cmd_eraser_variant - cmd_escalator - cmd_ethernet - cmd_ethernet_cable - cmd_ethernet_cable_off - cmd_etsy - cmd_ev_station - cmd_eventbrite - cmd_evernote - cmd_exclamation - cmd_exit_to_app - cmd_export - cmd_eye - cmd_eye_off - cmd_eye_off_outline - cmd_eye_outline - cmd_eyedropper - cmd_eyedropper_variant - cmd_face - cmd_face_profile - cmd_facebook - cmd_facebook_box - cmd_facebook_messenger - cmd_factory - cmd_fan - cmd_fast_forward - cmd_fast_forward_outline - cmd_fax - cmd_feather - cmd_ferry - cmd_file - cmd_file_account - cmd_file_chart - cmd_file_check - cmd_file_cloud - cmd_file_delimited - cmd_file_document - cmd_file_document_box - cmd_file_excel - cmd_file_excel_box - cmd_file_export - cmd_file_find - cmd_file_hidden - cmd_file_image - cmd_file_import - cmd_file_lock - cmd_file_multiple - cmd_file_music - cmd_file_outline - cmd_file_pdf - cmd_file_pdf_box - cmd_file_plus - cmd_file_powerpoint - cmd_file_powerpoint_box - cmd_file_presentation_box - cmd_file_restore - cmd_file_send - cmd_file_tree - cmd_file_video - cmd_file_word - cmd_file_word_box - cmd_file_xml - cmd_film - cmd_filmstrip - cmd_filmstrip_off - cmd_filter - cmd_filter_outline - cmd_filter_remove - cmd_filter_remove_outline - cmd_filter_variant - cmd_find_replace - cmd_fingerprint - cmd_fire - cmd_firefox - cmd_fish - cmd_flag - cmd_flag_checkered - cmd_flag_outline - cmd_flag_outline_variant - cmd_flag_triangle - cmd_flag_variant - cmd_flash - cmd_flash_auto - cmd_flash_off - cmd_flash_outline - cmd_flash_red_eye - cmd_flashlight - cmd_flashlight_off - cmd_flask - cmd_flask_empty - cmd_flask_empty_outline - cmd_flask_outline - cmd_flattr - cmd_flip_to_back - cmd_flip_to_front - cmd_floppy - cmd_flower - cmd_folder - cmd_folder_account - cmd_folder_download - cmd_folder_google_drive - cmd_folder_image - cmd_folder_lock - cmd_folder_lock_open - cmd_folder_move - cmd_folder_multiple - cmd_folder_multiple_image - cmd_folder_multiple_outline - cmd_folder_open - cmd_folder_outline - cmd_folder_plus - cmd_folder_remove - cmd_folder_star - cmd_folder_upload - cmd_font_awesome - cmd_food - cmd_food_apple - cmd_food_croissant - cmd_food_fork_drink - cmd_food_off - cmd_food_variant - cmd_football - cmd_football_australian - cmd_football_helmet - cmd_forklift - cmd_format_align_bottom - cmd_format_align_center - cmd_format_align_justify - cmd_format_align_left - cmd_format_align_middle - cmd_format_align_right - cmd_format_align_top - cmd_format_annotation_plus - cmd_format_bold - cmd_format_clear - cmd_format_color_fill - cmd_format_color_text - cmd_format_float_center - cmd_format_float_left - cmd_format_float_none - cmd_format_float_right - cmd_format_font - cmd_format_header_1 - cmd_format_header_2 - cmd_format_header_3 - cmd_format_header_4 - cmd_format_header_5 - cmd_format_header_6 - cmd_format_header_decrease - cmd_format_header_equal - cmd_format_header_increase - cmd_format_header_pound - cmd_format_horizontal_align_center - cmd_format_horizontal_align_left - cmd_format_horizontal_align_right - cmd_format_indent_decrease - cmd_format_indent_increase - cmd_format_italic - cmd_format_line_spacing - cmd_format_line_style - cmd_format_line_weight - cmd_format_list_bulleted - cmd_format_list_bulleted_type - cmd_format_list_checks - cmd_format_list_numbers - cmd_format_page_break - cmd_format_paint - cmd_format_paragraph - cmd_format_pilcrow - cmd_format_quote_close - cmd_format_quote_open - cmd_format_rotate_90 - cmd_format_section - cmd_format_size - cmd_format_strikethrough - cmd_format_strikethrough_variant - cmd_format_subscript - cmd_format_superscript - cmd_format_text - cmd_format_textdirection_l_to_r - cmd_format_textdirection_r_to_l - cmd_format_title - cmd_format_underline - cmd_format_vertical_align_bottom - cmd_format_vertical_align_center - cmd_format_vertical_align_top - cmd_format_wrap_inline - cmd_format_wrap_square - cmd_format_wrap_tight - cmd_format_wrap_top_bottom - cmd_forum - cmd_forward - cmd_foursquare - cmd_fridge - cmd_fridge_filled - cmd_fridge_filled_bottom - cmd_fridge_filled_top - cmd_fuel - cmd_fullscreen - cmd_fullscreen_exit - cmd_function - cmd_gamepad - cmd_gamepad_variant - cmd_garage - cmd_garage_open - cmd_gas_cylinder - cmd_gas_station - cmd_gate - cmd_gauge - cmd_gavel - cmd_gender_female - cmd_gender_male - cmd_gender_male_female - cmd_gender_transgender - cmd_gesture - cmd_gesture_double_tap - cmd_gesture_swipe_down - cmd_gesture_swipe_left - cmd_gesture_swipe_right - cmd_gesture_swipe_up - cmd_gesture_tap - cmd_gesture_two_double_tap - cmd_gesture_two_tap - cmd_ghost - cmd_gift - cmd_git - cmd_github_box - cmd_github_circle - cmd_github_face - cmd_glass_flute - cmd_glass_mug - cmd_glass_stange - cmd_glass_tulip - cmd_glassdoor - cmd_glasses - cmd_gmail - cmd_gnome - cmd_gondola - cmd_google - cmd_google_analytics - cmd_google_assistant - cmd_google_cardboard - cmd_google_chrome - cmd_google_circles - cmd_google_circles_communities - cmd_google_circles_extended - cmd_google_circles_group - cmd_google_controller - cmd_google_controller_off - cmd_google_drive - cmd_google_earth - cmd_google_glass - cmd_google_keep - cmd_google_maps - cmd_google_nearby - cmd_google_pages - cmd_google_photos - cmd_google_physical_web - cmd_google_play - cmd_google_plus - cmd_google_plus_box - cmd_google_translate - cmd_google_wallet - cmd_gradient - cmd_grease_pencil - cmd_grid - cmd_grid_large - cmd_grid_off - cmd_group - cmd_guitar_acoustic - cmd_guitar_electric - cmd_guitar_pick - cmd_guitar_pick_outline - cmd_hackernews - cmd_hamburger - cmd_hand_pointing_right - cmd_hanger - cmd_hangouts - cmd_harddisk - cmd_headphones - cmd_headphones_box - cmd_headphones_off - cmd_headphones_settings - cmd_headset - cmd_headset_dock - cmd_headset_off - cmd_heart - cmd_heart_box - cmd_heart_box_outline - cmd_heart_broken - cmd_heart_half - cmd_heart_half_full - cmd_heart_half_outline - cmd_heart_off - cmd_heart_outline - cmd_heart_pulse - cmd_help - cmd_help_box - cmd_help_circle - cmd_help_circle_outline - cmd_help_network - cmd_hexagon - cmd_hexagon_multiple - cmd_hexagon_outline - cmd_high_definition - cmd_highway - cmd_history - cmd_hololens - cmd_home - cmd_home_assistant - cmd_home_automation - cmd_home_circle - cmd_home_map_marker - cmd_home_modern - cmd_home_outline - cmd_home_variant - cmd_hook - cmd_hook_off - cmd_hops - cmd_hospital - cmd_hospital_building - cmd_hospital_marker - cmd_hotel - cmd_houzz - cmd_houzz_box - cmd_human - cmd_human_child - cmd_human_female - cmd_human_greeting - cmd_human_handsdown - cmd_human_handsup - cmd_human_male - cmd_human_male_female - cmd_human_pregnant - cmd_humble_bundle - cmd_image - cmd_image_album - cmd_image_area - cmd_image_area_close - cmd_image_broken - cmd_image_broken_variant - cmd_image_filter - cmd_image_filter_black_white - cmd_image_filter_center_focus - cmd_image_filter_center_focus_weak - cmd_image_filter_drama - cmd_image_filter_frames - cmd_image_filter_hdr - cmd_image_filter_none - cmd_image_filter_tilt_shift - cmd_image_filter_vintage - cmd_image_multiple - cmd_import - cmd_inbox - cmd_inbox_arrow_down - cmd_inbox_arrow_up - cmd_incognito - cmd_infinity - cmd_information - cmd_information_outline - cmd_information_variant - cmd_instagram - cmd_instapaper - cmd_internet_explorer - cmd_invert_colors - cmd_itunes - cmd_jeepney - cmd_jira - cmd_jsfiddle - cmd_json - cmd_keg - cmd_kettle - cmd_key - cmd_key_change - cmd_key_minus - cmd_key_plus - cmd_key_remove - cmd_key_variant - cmd_keyboard - cmd_keyboard_backspace - cmd_keyboard_caps - cmd_keyboard_close - cmd_keyboard_off - cmd_keyboard_return - cmd_keyboard_tab - cmd_keyboard_variant - cmd_kickstarter - cmd_kodi - cmd_label - cmd_label_outline - cmd_lambda - cmd_lamp - cmd_lan - cmd_lan_connect - cmd_lan_disconnect - cmd_lan_pending - cmd_language_c - cmd_language_cpp - cmd_language_csharp - cmd_language_css3 - cmd_language_go - cmd_language_html5 - cmd_language_javascript - cmd_language_php - cmd_language_python - cmd_language_python_text - cmd_language_r - cmd_language_swift - cmd_language_typescript - cmd_laptop - cmd_laptop_chromebook - cmd_laptop_mac - cmd_laptop_off - cmd_laptop_windows - cmd_lastfm - cmd_launch - cmd_lava_lamp - cmd_layers - cmd_layers_off - cmd_lead_pencil - cmd_leaf - cmd_led_off - cmd_led_on - cmd_led_outline - cmd_led_strip - cmd_led_variant_off - cmd_led_variant_on - cmd_led_variant_outline - cmd_library - cmd_library_books - cmd_library_music - cmd_library_plus - cmd_lightbulb - cmd_lightbulb_on - cmd_lightbulb_on_outline - cmd_lightbulb_outline - cmd_link - cmd_link_off - cmd_link_variant - cmd_link_variant_off - cmd_linkedin - cmd_linkedin_box - cmd_linux - cmd_loading - cmd_lock - cmd_lock_open - cmd_lock_open_outline - cmd_lock_outline - cmd_lock_pattern - cmd_lock_plus - cmd_lock_reset - cmd_locker - cmd_locker_multiple - cmd_login - cmd_login_variant - cmd_logout - cmd_logout_variant - cmd_looks - cmd_loop - cmd_loupe - cmd_lumx - cmd_magnet - cmd_magnet_on - cmd_magnify - cmd_magnify_minus - cmd_magnify_minus_outline - cmd_magnify_plus - cmd_magnify_plus_outline - cmd_mail_ru - cmd_mailbox - cmd_map - cmd_map_marker - cmd_map_marker_circle - cmd_map_marker_minus - cmd_map_marker_multiple - cmd_map_marker_off - cmd_map_marker_outline - cmd_map_marker_plus - cmd_map_marker_radius - cmd_margin - cmd_markdown - cmd_marker - cmd_marker_check - cmd_martini - cmd_material_ui - cmd_math_compass - cmd_matrix - cmd_maxcdn - cmd_medical_bag - cmd_medium - cmd_memory - cmd_menu - cmd_menu_down - cmd_menu_down_outline - cmd_menu_left - cmd_menu_right - cmd_menu_up - cmd_menu_up_outline - cmd_message - cmd_message_alert - cmd_message_bulleted - cmd_message_bulleted_off - cmd_message_draw - cmd_message_image - cmd_message_outline - cmd_message_plus - cmd_message_processing - cmd_message_reply - cmd_message_reply_text - cmd_message_settings - cmd_message_settings_variant - cmd_message_text - cmd_message_text_outline - cmd_message_video - cmd_meteor - cmd_metronome - cmd_metronome_tick - cmd_micro_sd - cmd_microphone - cmd_microphone_off - cmd_microphone_outline - cmd_microphone_settings - cmd_microphone_variant - cmd_microphone_variant_off - cmd_microscope - cmd_microsoft - cmd_minecraft - cmd_minus - cmd_minus_box - cmd_minus_box_outline - cmd_minus_circle - cmd_minus_circle_outline - cmd_minus_network - cmd_mixcloud - cmd_mixer - cmd_monitor - cmd_monitor_multiple - cmd_more - cmd_motorbike - cmd_mouse - cmd_mouse_off - cmd_mouse_variant - cmd_mouse_variant_off - cmd_move_resize - cmd_move_resize_variant - cmd_movie - cmd_movie_roll - cmd_multiplication - cmd_multiplication_box - cmd_mushroom - cmd_mushroom_outline - cmd_music - cmd_music_box - cmd_music_box_outline - cmd_music_circle - cmd_music_note - cmd_music_note_bluetooth - cmd_music_note_bluetooth_off - cmd_music_note_eighth - cmd_music_note_half - cmd_music_note_off - cmd_music_note_quarter - cmd_music_note_sixteenth - cmd_music_note_whole - cmd_music_off - cmd_nature - cmd_nature_people - cmd_navigation - cmd_near_me - cmd_needle - cmd_nest_protect - cmd_nest_thermostat - cmd_netflix - cmd_network - cmd_new_box - cmd_newspaper - cmd_nfc - cmd_nfc_tap - cmd_nfc_variant - cmd_ninja - cmd_nintendo_switch - cmd_nodejs - cmd_note - cmd_note_multiple - cmd_note_multiple_outline - cmd_note_outline - cmd_note_plus - cmd_note_plus_outline - cmd_note_text - cmd_notification_clear_all - cmd_npm - cmd_nuke - cmd_null - cmd_numeric - cmd_numeric_0_box - cmd_numeric_0_box_multiple_outline - cmd_numeric_0_box_outline - cmd_numeric_1_box - cmd_numeric_1_box_multiple_outline - cmd_numeric_1_box_outline - cmd_numeric_2_box - cmd_numeric_2_box_multiple_outline - cmd_numeric_2_box_outline - cmd_numeric_3_box - cmd_numeric_3_box_multiple_outline - cmd_numeric_3_box_outline - cmd_numeric_4_box - cmd_numeric_4_box_multiple_outline - cmd_numeric_4_box_outline - cmd_numeric_5_box - cmd_numeric_5_box_multiple_outline - cmd_numeric_5_box_outline - cmd_numeric_6_box - cmd_numeric_6_box_multiple_outline - cmd_numeric_6_box_outline - cmd_numeric_7_box - cmd_numeric_7_box_multiple_outline - cmd_numeric_7_box_outline - cmd_numeric_8_box - cmd_numeric_8_box_multiple_outline - cmd_numeric_8_box_outline - cmd_numeric_9_box - cmd_numeric_9_box_multiple_outline - cmd_numeric_9_box_outline - cmd_numeric_9_plus_box - cmd_numeric_9_plus_box_multiple_outline - cmd_numeric_9_plus_box_outline - cmd_nut - cmd_nutrition - cmd_oar - cmd_octagon - cmd_octagon_outline - cmd_octagram - cmd_octagram_outline - cmd_odnoklassniki - cmd_office - cmd_oil - cmd_oil_temperature - cmd_omega - cmd_onedrive - cmd_onenote - cmd_opacity - cmd_open_in_app - cmd_open_in_new - cmd_openid - cmd_opera - cmd_orbit - cmd_ornament - cmd_ornament_variant - cmd_owl - cmd_package - cmd_package_down - cmd_package_up - cmd_package_variant - cmd_package_variant_closed - cmd_page_first - cmd_page_last - cmd_page_layout_body - cmd_page_layout_footer - cmd_page_layout_header - cmd_page_layout_sidebar_left - cmd_page_layout_sidebar_right - cmd_palette - cmd_palette_advanced - cmd_panda - cmd_pandora - cmd_panorama - cmd_panorama_fisheye - cmd_panorama_horizontal - cmd_panorama_vertical - cmd_panorama_wide_angle - cmd_paper_cut_vertical - cmd_paperclip - cmd_parking - cmd_passport - cmd_pause - cmd_pause_circle - cmd_pause_circle_outline - cmd_pause_octagon - cmd_pause_octagon_outline - cmd_paw - cmd_paw_off - cmd_pen - cmd_pencil - cmd_pencil_box - cmd_pencil_box_outline - cmd_pencil_circle - cmd_pencil_circle_outline - cmd_pencil_lock - cmd_pencil_off - cmd_pentagon - cmd_pentagon_outline - cmd_percent - cmd_periodic_table_co2 - cmd_periscope - cmd_pharmacy - cmd_phone - cmd_phone_bluetooth - cmd_phone_classic - cmd_phone_forward - cmd_phone_hangup - cmd_phone_in_talk - cmd_phone_incoming - cmd_phone_locked - cmd_phone_log - cmd_phone_minus - cmd_phone_missed - cmd_phone_outgoing - cmd_phone_paused - cmd_phone_plus - cmd_phone_settings - cmd_phone_voip - cmd_pi - cmd_pi_box - cmd_piano - cmd_pig - cmd_pill - cmd_pillar - cmd_pin - cmd_pin_off - cmd_pine_tree - cmd_pine_tree_box - cmd_pinterest - cmd_pinterest_box - cmd_pipe - cmd_pipe_disconnected - cmd_pistol - cmd_pizza - cmd_plane_shield - cmd_play - cmd_play_box_outline - cmd_play_circle - cmd_play_circle_outline - cmd_play_pause - cmd_play_protected_content - cmd_playlist_check - cmd_playlist_minus - cmd_playlist_play - cmd_playlist_plus - cmd_playlist_remove - cmd_playstation - cmd_plex - cmd_plus - cmd_plus_box - cmd_plus_box_outline - cmd_plus_circle - cmd_plus_circle_multiple_outline - cmd_plus_circle_outline - cmd_plus_network - cmd_plus_one - cmd_plus_outline - cmd_pocket - cmd_pokeball - cmd_polaroid - cmd_poll - cmd_poll_box - cmd_polymer - cmd_pool - cmd_popcorn - cmd_pot - cmd_pot_mix - cmd_pound - cmd_pound_box - cmd_power - cmd_power_plug - cmd_power_plug_off - cmd_power_settings - cmd_power_socket - cmd_power_socket_eu - cmd_power_socket_uk - cmd_power_socket_us - cmd_prescription - cmd_presentation - cmd_presentation_play - cmd_printer - cmd_printer_3d - cmd_printer_alert - cmd_printer_settings - cmd_priority_high - cmd_priority_low - cmd_professional_hexagon - cmd_projector - cmd_projector_screen - cmd_publish - cmd_pulse - cmd_puzzle - cmd_qqchat - cmd_qrcode - cmd_qrcode_scan - cmd_quadcopter - cmd_quality_high - cmd_quicktime - cmd_radar - cmd_radiator - cmd_radio - cmd_radio_handheld - cmd_radio_tower - cmd_radioactive - cmd_radiobox_blank - cmd_radiobox_marked - cmd_raspberrypi - cmd_ray_end - cmd_ray_end_arrow - cmd_ray_start - cmd_ray_start_arrow - cmd_ray_start_end - cmd_ray_vertex - cmd_rdio - cmd_react - cmd_read - cmd_readability - cmd_receipt - cmd_record - cmd_record_rec - cmd_recycle - cmd_reddit - cmd_redo - cmd_redo_variant - cmd_refresh - cmd_regex - cmd_relative_scale - cmd_reload - cmd_remote - cmd_rename_box - cmd_reorder_horizontal - cmd_reorder_vertical - cmd_repeat - cmd_repeat_off - cmd_repeat_once - cmd_replay - cmd_reply - cmd_reply_all - cmd_reproduction - cmd_resize_bottom_right - cmd_responsive - cmd_restart - cmd_restore - cmd_rewind - cmd_rewind_outline - cmd_rhombus - cmd_rhombus_outline - cmd_ribbon - cmd_rice - cmd_ring - cmd_road - cmd_road_variant - cmd_robot - cmd_rocket - cmd_roomba - cmd_rotate_3d - cmd_rotate_left - cmd_rotate_left_variant - cmd_rotate_right - cmd_rotate_right_variant - cmd_rounded_corner - cmd_router_wireless - cmd_routes - cmd_rowing - cmd_rss - cmd_rss_box - cmd_ruler - cmd_run - cmd_run_fast - cmd_sale - cmd_sass - cmd_satellite - cmd_satellite_variant - cmd_saxophone - cmd_scale - cmd_scale_balance - cmd_scale_bathroom - cmd_scanner - cmd_school - cmd_screen_rotation - cmd_screen_rotation_lock - cmd_screwdriver - cmd_script - cmd_sd - cmd_seal - cmd_search_web - cmd_seat_flat - cmd_seat_flat_angled - cmd_seat_individual_suite - cmd_seat_legroom_extra - cmd_seat_legroom_normal - cmd_seat_legroom_reduced - cmd_seat_recline_extra - cmd_seat_recline_normal - cmd_security - cmd_security_home - cmd_security_network - cmd_select - cmd_select_all - cmd_select_inverse - cmd_select_off - cmd_selection - cmd_selection_off - cmd_send - cmd_send_secure - cmd_serial_port - cmd_server - cmd_server_minus - cmd_server_network - cmd_server_network_off - cmd_server_off - cmd_server_plus - cmd_server_remove - cmd_server_security - cmd_set_all - cmd_set_center - cmd_set_center_right - cmd_set_left - cmd_set_left_center - cmd_set_left_right - cmd_set_none - cmd_set_right - cmd_settings - cmd_settings_box - cmd_shape_circle_plus - cmd_shape_plus - cmd_shape_polygon_plus - cmd_shape_rectangle_plus - cmd_shape_square_plus - cmd_share - cmd_share_variant - cmd_shield - cmd_shield_half_full - cmd_shield_outline - cmd_shopping - cmd_shopping_music - cmd_shovel - cmd_shovel_off - cmd_shredder - cmd_shuffle - cmd_shuffle_disabled - cmd_shuffle_variant - cmd_sigma - cmd_sigma_lower - cmd_sign_caution - cmd_sign_direction - cmd_sign_text - cmd_signal - cmd_signal_2g - cmd_signal_3g - cmd_signal_4g - cmd_signal_hspa - cmd_signal_hspa_plus - cmd_signal_off - cmd_signal_variant - cmd_silverware - cmd_silverware_fork - cmd_silverware_spoon - cmd_silverware_variant - cmd_sim - cmd_sim_alert - cmd_sim_off - cmd_sitemap - cmd_skip_backward - cmd_skip_forward - cmd_skip_next - cmd_skip_next_circle - cmd_skip_next_circle_outline - cmd_skip_previous - cmd_skip_previous_circle - cmd_skip_previous_circle_outline - cmd_skull - cmd_skype - cmd_skype_business - cmd_slack - cmd_sleep - cmd_sleep_off - cmd_smoking - cmd_smoking_off - cmd_snapchat - cmd_snowflake - cmd_snowman - cmd_soccer - cmd_sofa - cmd_solid - cmd_sort - cmd_sort_alphabetical - cmd_sort_ascending - cmd_sort_descending - cmd_sort_numeric - cmd_sort_variant - cmd_soundcloud - cmd_source_branch - cmd_source_commit - cmd_source_commit_end - cmd_source_commit_end_local - cmd_source_commit_local - cmd_source_commit_next_local - cmd_source_commit_start - cmd_source_commit_start_next_local - cmd_source_fork - cmd_source_merge - cmd_source_pull - cmd_soy_sauce - cmd_speaker - cmd_speaker_off - cmd_speaker_wireless - cmd_speedometer - cmd_spellcheck - cmd_spotify - cmd_spotlight - cmd_spotlight_beam - cmd_spray - cmd_square - cmd_square_inc - cmd_square_inc_cash - cmd_square_outline - cmd_square_root - cmd_stackexchange - cmd_stackoverflow - cmd_stadium - cmd_stairs - cmd_standard_definition - cmd_star - cmd_star_circle - cmd_star_half - cmd_star_off - cmd_star_outline - cmd_steam - cmd_steering - cmd_step_backward - cmd_step_backward_2 - cmd_step_forward - cmd_step_forward_2 - cmd_stethoscope - cmd_sticker - cmd_sticker_emoji - cmd_stocking - cmd_stop - cmd_stop_circle - cmd_stop_circle_outline - cmd_store - cmd_store_24_hour - cmd_stove - cmd_subdirectory_arrow_left - cmd_subdirectory_arrow_right - cmd_subway - cmd_subway_variant - cmd_summit - cmd_sunglasses - cmd_surround_sound - cmd_surround_sound_2_0 - cmd_surround_sound_3_1 - cmd_surround_sound_5_1 - cmd_surround_sound_7_1 - cmd_svg - cmd_swap_horizontal - cmd_swap_vertical - cmd_swim - cmd_switch - cmd_sword - cmd_sword_cross - cmd_sync - cmd_sync_alert - cmd_sync_off - cmd_tab - cmd_tab_plus - cmd_tab_unselected - cmd_table - cmd_table_column_plus_after - cmd_table_column_plus_before - cmd_table_column_remove - cmd_table_column_width - cmd_table_edit - cmd_table_large - cmd_table_row_height - cmd_table_row_plus_after - cmd_table_row_plus_before - cmd_table_row_remove - cmd_tablet - cmd_tablet_android - cmd_tablet_ipad - cmd_taco - cmd_tag - cmd_tag_faces - cmd_tag_heart - cmd_tag_multiple - cmd_tag_outline - cmd_tag_plus - cmd_tag_remove - cmd_tag_text_outline - cmd_target - cmd_taxi - cmd_teamviewer - cmd_telegram - cmd_television - cmd_television_classic - cmd_television_guide - cmd_temperature_celsius - cmd_temperature_fahrenheit - cmd_temperature_kelvin - cmd_tennis - cmd_tent - cmd_terrain - cmd_test_tube - cmd_text_shadow - cmd_text_to_speech - cmd_text_to_speech_off - cmd_textbox - cmd_textbox_password - cmd_texture - cmd_theater - cmd_theme_light_dark - cmd_thermometer - cmd_thermometer_lines - cmd_thought_bubble - cmd_thought_bubble_outline - cmd_thumb_down - cmd_thumb_down_outline - cmd_thumb_up - cmd_thumb_up_outline - cmd_thumbs_up_down - cmd_ticket - cmd_ticket_account - cmd_ticket_confirmation - cmd_ticket_percent - cmd_tie - cmd_tilde - cmd_timelapse - cmd_timer - cmd_timer_10 - cmd_timer_3 - cmd_timer_off - cmd_timer_sand - cmd_timer_sand_empty - cmd_timer_sand_full - cmd_timetable - cmd_toggle_switch - cmd_toggle_switch_off - cmd_tooltip - cmd_tooltip_edit - cmd_tooltip_image - cmd_tooltip_outline - cmd_tooltip_outline_plus - cmd_tooltip_text - cmd_tooth - cmd_tor - cmd_tower_beach - cmd_tower_fire - cmd_trackpad - cmd_traffic_light - cmd_train - cmd_tram - cmd_transcribe - cmd_transcribe_close - cmd_transfer - cmd_transit_transfer - cmd_translate - cmd_treasure_chest - cmd_tree - cmd_trello - cmd_trending_down - cmd_trending_neutral - cmd_trending_up - cmd_triangle - cmd_triangle_outline - cmd_trophy - cmd_trophy_award - cmd_trophy_outline - cmd_trophy_variant - cmd_trophy_variant_outline - cmd_truck - cmd_truck_delivery - cmd_truck_fast - cmd_truck_trailer - cmd_tshirt_crew - cmd_tshirt_v - cmd_tumblr - cmd_tumblr_reblog - cmd_tune - cmd_tune_vertical - cmd_twitch - cmd_twitter - cmd_twitter_box - cmd_twitter_circle - cmd_twitter_retweet - cmd_uber - cmd_ubuntu - cmd_ultra_high_definition - cmd_umbraco - cmd_umbrella - cmd_umbrella_outline - cmd_undo - cmd_undo_variant - cmd_unfold_less_horizontal - cmd_unfold_less_vertical - cmd_unfold_more_horizontal - cmd_unfold_more_vertical - cmd_ungroup - cmd_unity - cmd_untappd - cmd_update - cmd_upload - cmd_upload_network - cmd_usb - cmd_van_passenger - cmd_van_utility - cmd_vanish - cmd_vector_arrange_above - cmd_vector_arrange_below - cmd_vector_circle - cmd_vector_circle_variant - cmd_vector_combine - cmd_vector_curve - cmd_vector_difference - cmd_vector_difference_ab - cmd_vector_difference_ba - cmd_vector_intersection - cmd_vector_line - cmd_vector_point - cmd_vector_polygon - cmd_vector_polyline - cmd_vector_radius - cmd_vector_rectangle - cmd_vector_selection - cmd_vector_square - cmd_vector_triangle - cmd_vector_union - cmd_verified - cmd_vibrate - cmd_video - cmd_video_3d - cmd_video_off - cmd_video_switch - cmd_view_agenda - cmd_view_array - cmd_view_carousel - cmd_view_column - cmd_view_dashboard - cmd_view_day - cmd_view_grid - cmd_view_headline - cmd_view_list - cmd_view_module - cmd_view_parallel - cmd_view_quilt - cmd_view_sequential - cmd_view_stream - cmd_view_week - cmd_vimeo - cmd_vine - cmd_violin - cmd_visualstudio - cmd_vk - cmd_vk_box - cmd_vk_circle - cmd_vlc - cmd_voice - cmd_voicemail - cmd_volume_high - cmd_volume_low - cmd_volume_medium - cmd_volume_minus - cmd_volume_mute - cmd_volume_off - cmd_volume_plus - cmd_vpn - cmd_walk - cmd_wall - cmd_wallet - cmd_wallet_giftcard - cmd_wallet_membership - cmd_wallet_travel - cmd_wan - cmd_washing_machine - cmd_watch - cmd_watch_export - cmd_watch_import - cmd_watch_vibrate - cmd_water - cmd_water_off - cmd_water_percent - cmd_water_pump - cmd_watermark - cmd_waves - cmd_weather_cloudy - cmd_weather_fog - cmd_weather_hail - cmd_weather_lightning - cmd_weather_lightning_rainy - cmd_weather_night - cmd_weather_partlycloudy - cmd_weather_pouring - cmd_weather_rainy - cmd_weather_snowy - cmd_weather_snowy_rainy - cmd_weather_sunny - cmd_weather_sunset - cmd_weather_sunset_down - cmd_weather_sunset_up - cmd_weather_windy - cmd_weather_windy_variant - cmd_web - cmd_webcam - cmd_webhook - cmd_webpack - cmd_wechat - cmd_weight - cmd_weight_kilogram - cmd_whatsapp - cmd_wheelchair_accessibility - cmd_white_balance_auto - cmd_white_balance_incandescent - cmd_white_balance_iridescent - cmd_white_balance_sunny - cmd_widgets - cmd_wifi - cmd_wifi_off - cmd_wii - cmd_wiiu - cmd_wikipedia - cmd_window_close - cmd_window_closed - cmd_window_maximize - cmd_window_minimize - cmd_window_open - cmd_window_restore - cmd_windows - cmd_wordpress - cmd_worker - cmd_wrap - cmd_wrench - cmd_wunderlist - cmd_xaml - cmd_xbox - cmd_xbox_controller - cmd_xbox_controller_battery_alert - cmd_xbox_controller_battery_empty - cmd_xbox_controller_battery_full - cmd_xbox_controller_battery_low - cmd_xbox_controller_battery_medium - cmd_xbox_controller_battery_unknown - cmd_xbox_controller_off - cmd_xda - cmd_xing - cmd_xing_box - cmd_xing_circle - cmd_xml - cmd_xmpp - cmd_yammer - cmd_yeast - cmd_yelp - cmd_yin_yang - cmd_youtube_play - cmd_zip_box - diff --git a/FONT_IDS/_current_dev_icon_v2.0.0.1.xml b/FONT_IDS/_current_dev_icon_v2.0.0.1.xml deleted file mode 100644 index 98fd7af8..00000000 --- a/FONT_IDS/_current_dev_icon_v2.0.0.1.xml +++ /dev/null @@ -1,164 +0,0 @@ - - dev_ssh_plain_wordmark - dev_ssh_plain - dev_sourcetree_plain_wordmark - dev_sourcetree_plain - dev_phpstorm_plain_wordmark - dev_phpstorm_plain - dev_jeet_plain_wordmark - dev_jeet_plain - dev_gitlab_plain_wordmark - dev_gitlab_plain - dev_github_plain_wordmark - dev_github_plain - dev_d3js_plain - dev_confluence_plain_wordmark - dev_confluence_plain - dev_bitbucket_plain_wordmark - dev_bitbucket_plain - dev_safari_line_wordmark - dev_safari_line - dev_safari_plain_wordmark - dev_safari_plain - dev_jetbrains_plain_wordmark - dev_django_line_wordmark - dev_django_plain_wordmark - dev_gimp_plain - dev_redhat_plain_wordmark - dev_redhat_plain - dev_cplusplus_line_wordmark - dev_cplusplus_plain_wordmark - dev_csharp_line_wordmark - dev_csharp_plain_wordmark - dev_c_line_wordmark - dev_c_plain_wordmark - dev_nodewebkit_line_wordmark - dev_nodewebkit_line - dev_nodewebkit_plain_wordmark - dev_nodewebkit_plain - dev_nginx_plain_wordmark - dev_erlang_plain_wordmark - dev_erlang_plain - dev_doctrine_line_wordmark - dev_doctrine_line - dev_doctrine_plain_wordmark - dev_doctrine_plain - dev_apache_line_wordmark - dev_apache_line - dev_apache_plain_wordmark - dev_apache_plain - dev_go_line - dev_redis_plain_wordmark - dev_redis_plain - dev_meteor_plain_wordmark - dev_meteor_plain - dev_heroku_original_wordmark - dev_heroku_original - dev_heroku_plain_wordmark - dev_heroku_plain - dev_go_plain - dev_docker_plain_wordmark - dev_docker_plain - dev_amazonwebservices_plain - dev_amazonwebservices_plain_wordmark - dev_android_plain_wordmark - dev_android_plain - dev_angularjs_plain_wordmark - dev_angularjs_plain - dev_appcelerator_plain - dev_appcelerator_plain_wordmark - dev_apple_plain - dev_atom_plain_wordmark - dev_atom_plain - dev_backbonejs_plain_wordmark - dev_backbonejs_plain - dev_bootstrap_plain_wordmark - dev_bootstrap_plain - dev_bower_line_wordmark - dev_bower_line - dev_bower_plain_wordmark - dev_bower_plain - dev_chrome_plain_wordmark - dev_chrome_plain - dev_codeigniter_plain_wordmark - dev_codeigniter_plain - dev_coffeescript_plain_wordmark - dev_coffeescript_plain - dev_css3_plain_wordmark - dev_css3_plain - dev_debian_plain_wordmark - dev_debian_plain - dev_dot_net_plain_wordmark - dev_dot_net_plain - dev_drupal_plain_wordmark - dev_drupal_plain - dev_firefox_plain_wordmark - dev_firefox_plain - dev_foundation_plain_wordmark - dev_foundation_plain - dev_git_plain_wordmark - dev_git_plain - dev_grunt_line_wordmark - dev_grunt_line - dev_grunt_plain_wordmark - dev_grunt_plain - dev_gulp_plain - dev_html5_plain_wordmark - dev_html5_plain - dev_ie10_plain - dev_illustrator_line - dev_illustrator_plain - dev_inkscape_plain_wordmark - dev_inkscape_plain - dev_java_plain_wordmark - dev_java_plain - dev_javascript_plain - dev_jquery_plain_wordmark - dev_jquery_plain - dev_krakenjs_plain_wordmark - dev_krakenjs_plain - dev_laravel_plain_wordmark - dev_laravel_plain - dev_less_plain_wordmark - dev_linux_plain - dev_mongodb_plain_wordmark - dev_mongodb_plain - dev_moodle_plain_wordmark - dev_moodle_plain - dev_mysql_plain_wordmark - dev_mysql_plain - dev_nodejs_plain_wordmark - dev_nodejs_plain - dev_oracle_plain - dev_photoshop_line - dev_photoshop_plain - dev_php_plain - dev_postgresql_plain_wordmark - dev_postgresql_plain - dev_python_plain_wordmark - dev_python_plain - dev_rails_plain_wordmark - dev_rails_plain - dev_react_plain_wordmark - dev_react_plain - dev_ruby_plain_wordmark - dev_ruby_plain - dev_sass_plain - dev_symfony_plain_wordmark - dev_symfony_plain - dev_travis_plain_wordmark - dev_travis_plain - dev_trello_plain_wordmark - dev_trello_plain - dev_ubuntu_plain_wordmark - dev_ubuntu_plain - dev_vim_plain - dev_windows8_plain_wordmark - dev_windows8_plain - dev_wordpress_plain_wordmark - dev_wordpress_plain - dev_yii_plain_wordmark - dev_yii_plain - dev_zend_plain_wordmark - dev_zend_plain - diff --git a/FONT_IDS/_current_entypo_v1.0.0.1.xml b/FONT_IDS/_current_entypo_v1.0.0.1.xml deleted file mode 100644 index f7f7b6e0..00000000 --- a/FONT_IDS/_current_entypo_v1.0.0.1.xml +++ /dev/null @@ -1,387 +0,0 @@ - - ent_add_to_list - ent_classic_computer - ent_controller_fast_backward - ent_creative_commons_attribution - ent_creative_commons_noderivs - ent_creative_commons_noncommercial_eu - ent_creative_commons_noncommercial_us - ent_creative_commons_public_domain - ent_creative_commons_remix - ent_creative_commons_share - ent_creative_commons_sharealike - ent_creative_commons - ent_document_landscape - ent_remove_user - ent_warning - ent_arrow_bold_down - ent_arrow_bold_left - ent_arrow_bold_right - ent_arrow_bold_up - ent_arrow_down - ent_arrow_left - ent_arrow_long_down - ent_arrow_long_left - ent_arrow_long_right - ent_arrow_long_up - ent_arrow_right - ent_arrow_up - ent_arrow_with_circle_down - ent_arrow_with_circle_left - ent_arrow_with_circle_right - ent_arrow_with_circle_up - ent_bookmark - ent_bookmarks - ent_chevron_down - ent_chevron_left - ent_chevron_right - ent_chevron_small_down - ent_chevron_small_left - ent_chevron_small_right - ent_chevron_small_up - ent_chevron_thin_down - ent_chevron_thin_left - ent_chevron_thin_right - ent_chevron_thin_up - ent_chevron_up - ent_chevron_with_circle_down - ent_chevron_with_circle_left - ent_chevron_with_circle_right - ent_chevron_with_circle_up - ent_cloud - ent_controller_fast_forward - ent_controller_jump_to_start - ent_controller_next - ent_controller_paus - ent_controller_play - ent_controller_record - ent_controller_stop - ent_controller_volume - ent_dot_single - ent_dots_three_horizontal - ent_dots_three_vertical - ent_dots_two_horizontal - ent_dots_two_vertical - ent_download - ent_emoji_flirt - ent_flow_branch - ent_flow_cascade - ent_flow_line - ent_flow_parallel - ent_flow_tree - ent_install - ent_layers - ent_open_book - ent_resize_100 - ent_resize_full_screen - ent_save - ent_select_arrows - ent_sound_mute - ent_sound - ent_trash - ent_triangle_down - ent_triangle_left - ent_triangle_right - ent_triangle_up - ent_uninstall - ent_upload_to_cloud - ent_upload - ent_add_user - ent_address - ent_adjust - ent_air - ent_aircraft_landing - ent_aircraft_take_off - ent_aircraft - ent_align_bottom - ent_align_horizontal_middle - ent_align_left - ent_align_right - ent_align_top - ent_align_vertical_middle - ent_archive - ent_area_graph - ent_attachment - ent_awareness_ribbon - ent_back_in_time - ent_back - ent_bar_graph - ent_battery - ent_beamed_note - ent_bell - ent_blackboard - ent_block - ent_book - ent_bowl - ent_box - ent_briefcase - ent_browser - ent_brush - ent_bucket - ent_cake - ent_calculator - ent_calendar - ent_camera - ent_ccw - ent_chat - ent_check - ent_circle_with_cross - ent_circle_with_minus - ent_circle_with_plus - ent_circle - ent_circular_graph - ent_clapperboard - ent_clipboard - ent_clock - ent_code - ent_cog - ent_colours - ent_compass - ent_copy - ent_credit_card - ent_credit - ent_cross - ent_cup - ent_cw - ent_cycle - ent_database - ent_dial_pad - ent_direction - ent_document - ent_documents - ent_drink - ent_drive - ent_drop - ent_edit - ent_email - ent_emoji_happy - ent_emoji_neutral - ent_emoji_sad - ent_erase - ent_eraser - ent_export - ent_eye - ent_feather - ent_flag - ent_flash - ent_flashlight - ent_flat_brush - ent_folder_images - ent_folder_music - ent_folder_video - ent_folder - ent_forward - ent_funnel - ent_game_controller - ent_gauge - ent_globe - ent_graduation_cap - ent_grid - ent_hair_cross - ent_hand - ent_heart_outlined - ent_heart - ent_help_with_circle - ent_help - ent_home - ent_hour_glass - ent_image_inverted - ent_image - ent_images - ent_inbox - ent_infinity - ent_info_with_circle - ent_info - ent_key - ent_keyboard - ent_lab_flask - ent_landline - ent_language - ent_laptop - ent_leaf - ent_level_down - ent_level_up - ent_lifebuoy - ent_light_bulb - ent_light_down - ent_light_up - ent_line_graph - ent_link - ent_list - ent_location_pin - ent_location - ent_lock_open - ent_lock - ent_log_out - ent_login - ent_loop - ent_magnet - ent_magnifying_glass - ent_mail - ent_man - ent_map - ent_mask - ent_medal - ent_megaphone - ent_menu - ent_message - ent_mic - ent_minus - ent_mobile - ent_modern_mic - ent_moon - ent_mouse - ent_music - ent_network - ent_new_message - ent_new - ent_news - ent_note - ent_notification - ent_old_mobile - ent_old_phone - ent_palette - ent_paper_plane - ent_pencil - ent_phone - ent_pie_chart - ent_pin - ent_plus - ent_popup - ent_power_plug - ent_price_ribbon - ent_price_tag - ent_print - ent_progress_empty - ent_progress_full - ent_progress_one - ent_progress_two - ent_publish - ent_quote - ent_radio - ent_reply_all - ent_reply - ent_retweet - ent_rocket - ent_round_brush - ent_rss - ent_ruler - ent_scissors - ent_share_alternitive - ent_share - ent_shareable - ent_shield - ent_shop - ent_shopping_bag - ent_shopping_basket - ent_shopping_cart - ent_shuffle - ent_signal - ent_sound_mix - ent_sports_club - ent_spreadsheet - ent_squared_cross - ent_squared_minus - ent_squared_plus - ent_star_outlined - ent_star - ent_stopwatch - ent_suitcase - ent_swap - ent_sweden - ent_switch - ent_tablet - ent_tag - ent_text_document_inverted - ent_text_document - ent_text - ent_thermometer - ent_thumbs_down - ent_thumbs_up - ent_thunder_cloud - ent_ticket - ent_time_slot - ent_tools - ent_traffic_cone - ent_tree - ent_trophy - ent_tv - ent_typing - ent_unread - ent_untag - ent_user - ent_users - ent_v_card - ent_video - ent_vinyl - ent_voicemail - ent_wallet - ent_water - ent_500px_with_circle - ent_500px - ent_basecamp - ent_behance - ent_creative_cloud - ent_dropbox - ent_evernote - ent_flattr - ent_foursquare - ent_google_drive - ent_google_hangouts - ent_grooveshark - ent_icloud - ent_mixi - ent_onedrive - ent_paypal - ent_picasa - ent_qq - ent_rdio_with_circle - ent_renren - ent_scribd - ent_sina_weibo - ent_skype_with_circle - ent_skype - ent_slideshare - ent_smashing - ent_soundcloud - ent_spotify_with_circle - ent_spotify - ent_swarm - ent_vine_with_circle - ent_vine - ent_vk_alternitive - ent_vk_with_circle - ent_vk - ent_xing_with_circle - ent_xing - ent_yelp - ent_dribbble_with_circle - ent_dribbble - ent_facebook_with_circle - ent_facebook - ent_flickr_with_circle - ent_flickr - ent_github_with_circle - ent_github - ent_google_with_circle - ent_google - ent_instagram_with_circle - ent_instagram - ent_lastfm_with_circle - ent_lastfm - ent_linkedin_with_circle - ent_linkedin - ent_pinterest_with_circle - ent_pinterest - ent_rdio - ent_stumbleupon_with_circle - ent_stumbleupon - ent_tumblr_with_circle - ent_tumblr - ent_twitter_with_circle - ent_twitter - ent_vimeo_with_circle - ent_vimeo - ent_youtube_with_circle - ent_youtube - diff --git a/FONT_IDS/_current_font_awesome_v4.7.0.0.xml b/FONT_IDS/_current_font_awesome_v4.7.0.0.xml deleted file mode 100644 index 353cef90..00000000 --- a/FONT_IDS/_current_font_awesome_v4.7.0.0.xml +++ /dev/null @@ -1,677 +0,0 @@ - - faw_glass - faw_music - faw_search - faw_envelope_o - faw_heart - faw_star - faw_star_o - faw_user - faw_film - faw_th_large - faw_th - faw_th_list - faw_check - faw_times - faw_search_plus - faw_search_minus - faw_power_off - faw_signal - faw_cog - faw_trash_o - faw_home - faw_file_o - faw_clock_o - faw_road - faw_download - faw_arrow_circle_o_down - faw_arrow_circle_o_up - faw_inbox - faw_play_circle_o - faw_repeat - faw_refresh - faw_list_alt - faw_lock - faw_flag - faw_headphones - faw_volume_off - faw_volume_down - faw_volume_up - faw_qrcode - faw_barcode - faw_tag - faw_tags - faw_book - faw_bookmark - faw_print - faw_camera - faw_font - faw_bold - faw_italic - faw_text_height - faw_text_width - faw_align_left - faw_align_center - faw_align_right - faw_align_justify - faw_list - faw_outdent - faw_indent - faw_video_camera - faw_picture_o - faw_pencil - faw_map_marker - faw_adjust - faw_tint - faw_pencil_square_o - faw_share_square_o - faw_check_square_o - faw_arrows - faw_step_backward - faw_fast_backward - faw_backward - faw_play - faw_pause - faw_stop - faw_forward - faw_fast_forward - faw_step_forward - faw_eject - faw_chevron_left - faw_chevron_right - faw_plus_circle - faw_minus_circle - faw_times_circle - faw_check_circle - faw_question_circle - faw_info_circle - faw_crosshairs - faw_times_circle_o - faw_check_circle_o - faw_ban - faw_arrow_left - faw_arrow_right - faw_arrow_up - faw_arrow_down - faw_share - faw_expand - faw_compress - faw_plus - faw_minus - faw_asterisk - faw_exclamation_circle - faw_gift - faw_leaf - faw_fire - faw_eye - faw_eye_slash - faw_exclamation_triangle - faw_plane - faw_calendar - faw_random - faw_comment - faw_magnet - faw_chevron_up - faw_chevron_down - faw_retweet - faw_shopping_cart - faw_folder - faw_folder_open - faw_arrows_v - faw_arrows_h - faw_bar_chart - faw_twitter_square - faw_facebook_square - faw_camera_retro - faw_key - faw_cogs - faw_comments - faw_thumbs_o_up - faw_thumbs_o_down - faw_star_half - faw_heart_o - faw_sign_out - faw_linkedin_square - faw_thumb_tack - faw_external_link - faw_sign_in - faw_trophy - faw_github_square - faw_upload - faw_lemon_o - faw_phone - faw_square_o - faw_bookmark_o - faw_phone_square - faw_twitter - faw_facebook - faw_github - faw_unlock - faw_credit_card - faw_rss - faw_hdd_o - faw_bullhorn - faw_bell_o - faw_certificate - faw_hand_o_right - faw_hand_o_left - faw_hand_o_up - faw_hand_o_down - faw_arrow_circle_left - faw_arrow_circle_right - faw_arrow_circle_up - faw_arrow_circle_down - faw_globe - faw_wrench - faw_tasks - faw_filter - faw_briefcase - faw_arrows_alt - faw_users - faw_link - faw_cloud - faw_flask - faw_scissors - faw_files_o - faw_paperclip - faw_floppy_o - faw_square - faw_bars - faw_list_ul - faw_list_ol - faw_strikethrough - faw_underline - faw_table - faw_magic - faw_truck - faw_pinterest - faw_pinterest_square - faw_google_plus_square - faw_google_plus - faw_money - faw_caret_down - faw_caret_up - faw_caret_left - faw_caret_right - faw_columns - faw_sort - faw_sort_desc - faw_sort_asc - faw_envelope - faw_linkedin - faw_undo - faw_gavel - faw_tachometer - faw_comment_o - faw_comments_o - faw_bolt - faw_sitemap - faw_umbrella - faw_clipboard - faw_lightbulb_o - faw_exchange - faw_cloud_download - faw_cloud_upload - faw_user_md - faw_stethoscope - faw_suitcase - faw_bell - faw_coffee - faw_cutlery - faw_file_text_o - faw_building_o - faw_hospital_o - faw_ambulance - faw_medkit - faw_fighter_jet - faw_beer - faw_h_square - faw_plus_square - faw_angle_double_left - faw_angle_double_right - faw_angle_double_up - faw_angle_double_down - faw_angle_left - faw_angle_right - faw_angle_up - faw_angle_down - faw_desktop - faw_laptop - faw_tablet - faw_mobile - faw_circle_o - faw_quote_left - faw_quote_right - faw_spinner - faw_circle - faw_reply - faw_github_alt - faw_folder_o - faw_folder_open_o - faw_smile_o - faw_frown_o - faw_meh_o - faw_gamepad - faw_keyboard_o - faw_flag_o - faw_flag_checkered - faw_terminal - faw_code - faw_reply_all - faw_star_half_o - faw_location_arrow - faw_crop - faw_code_fork - faw_chain_broken - faw_question - faw_info - faw_exclamation - faw_superscript - faw_subscript - faw_eraser - faw_puzzle_piece - faw_microphone - faw_microphone_slash - faw_shield - faw_calendar_o - faw_fire_extinguisher - faw_rocket - faw_maxcdn - faw_chevron_circle_left - faw_chevron_circle_right - faw_chevron_circle_up - faw_chevron_circle_down - faw_html5 - faw_css3 - faw_anchor - faw_unlock_alt - faw_bullseye - faw_ellipsis_h - faw_ellipsis_v - faw_rss_square - faw_play_circle - faw_ticket - faw_minus_square - faw_minus_square_o - faw_level_up - faw_level_down - faw_check_square - faw_pencil_square - faw_external_link_square - faw_share_square - faw_compass - faw_caret_square_o_down - faw_caret_square_o_up - faw_caret_square_o_right - faw_eur - faw_gbp - faw_usd - faw_inr - faw_jpy - faw_rub - faw_krw - faw_btc - faw_file - faw_file_text - faw_sort_alpha_asc - faw_sort_alpha_desc - faw_sort_amount_asc - faw_sort_amount_desc - faw_sort_numeric_asc - faw_sort_numeric_desc - faw_thumbs_up - faw_thumbs_down - faw_youtube_square - faw_youtube - faw_xing - faw_xing_square - faw_youtube_play - faw_dropbox - faw_stack_overflow - faw_instagram - faw_flickr - faw_adn - faw_bitbucket - faw_bitbucket_square - faw_tumblr - faw_tumblr_square - faw_long_arrow_down - faw_long_arrow_up - faw_long_arrow_left - faw_long_arrow_right - faw_apple - faw_windows - faw_android - faw_linux - faw_dribbble - faw_skype - faw_foursquare - faw_trello - faw_female - faw_male - faw_gratipay - faw_sun_o - faw_moon_o - faw_archive - faw_bug - faw_vk - faw_weibo - faw_renren - faw_pagelines - faw_stack_exchange - faw_arrow_circle_o_right - faw_arrow_circle_o_left - faw_caret_square_o_left - faw_dot_circle_o - faw_wheelchair - faw_vimeo_square - faw_try - faw_plus_square_o - faw_space_shuttle - faw_slack - faw_envelope_square - faw_wordpress - faw_openid - faw_university - faw_graduation_cap - faw_yahoo - faw_google - faw_reddit - faw_reddit_square - faw_stumbleupon_circle - faw_stumbleupon - faw_delicious - faw_digg - faw_pied_piper_pp - faw_pied_piper_alt - faw_drupal - faw_joomla - faw_language - faw_fax - faw_building - faw_child - faw_paw - faw_spoon - faw_cube - faw_cubes - faw_behance - faw_behance_square - faw_steam - faw_steam_square - faw_recycle - faw_car - faw_taxi - faw_tree - faw_spotify - faw_deviantart - faw_soundcloud - faw_database - faw_file_pdf_o - faw_file_word_o - faw_file_excel_o - faw_file_powerpoint_o - faw_file_image_o - faw_file_archive_o - faw_file_audio_o - faw_file_video_o - faw_file_code_o - faw_vine - faw_codepen - faw_jsfiddle - faw_life_ring - faw_circle_o_notch - faw_rebel - faw_empire - faw_git_square - faw_git - faw_hacker_news - faw_tencent_weibo - faw_qq - faw_weixin - faw_paper_plane - faw_paper_plane_o - faw_history - faw_circle_thin - faw_header - faw_paragraph - faw_sliders - faw_share_alt - faw_share_alt_square - faw_bomb - faw_futbol_o - faw_tty - faw_binoculars - faw_plug - faw_slideshare - faw_twitch - faw_yelp - faw_newspaper_o - faw_wifi - faw_calculator - faw_paypal - faw_google_wallet - faw_cc_visa - faw_cc_mastercard - faw_cc_discover - faw_cc_amex - faw_cc_paypal - faw_cc_stripe - faw_bell_slash - faw_bell_slash_o - faw_trash - faw_copyright - faw_at - faw_eyedropper - faw_paint_brush - faw_birthday_cake - faw_area_chart - faw_pie_chart - faw_line_chart - faw_lastfm - faw_lastfm_square - faw_toggle_off - faw_toggle_on - faw_bicycle - faw_bus - faw_ioxhost - faw_angellist - faw_cc - faw_ils - faw_meanpath - faw_buysellads - faw_connectdevelop - faw_dashcube - faw_forumbee - faw_leanpub - faw_sellsy - faw_shirtsinbulk - faw_simplybuilt - faw_skyatlas - faw_cart_plus - faw_cart_arrow_down - faw_diamond - faw_ship - faw_user_secret - faw_motorcycle - faw_street_view - faw_heartbeat - faw_venus - faw_mars - faw_mercury - faw_transgender - faw_transgender_alt - faw_venus_double - faw_mars_double - faw_venus_mars - faw_mars_stroke - faw_mars_stroke_v - faw_mars_stroke_h - faw_neuter - faw_genderless - faw_facebook_official - faw_pinterest_p - faw_whatsapp - faw_server - faw_user_plus - faw_user_times - faw_bed - faw_viacoin - faw_train - faw_subway - faw_medium - faw_y_combinator - faw_optin_monster - faw_opencart - faw_expeditedssl - faw_battery_full - faw_battery_three_quarters - faw_battery_half - faw_battery_quarter - faw_battery_empty - faw_mouse_pointer - faw_i_cursor - faw_object_group - faw_object_ungroup - faw_sticky_note - faw_sticky_note_o - faw_cc_jcb - faw_cc_diners_club - faw_clone - faw_balance_scale - faw_hourglass_o - faw_hourglass_start - faw_hourglass_half - faw_hourglass_end - faw_hourglass - faw_hand_rock_o - faw_hand_paper_o - faw_hand_scissors_o - faw_hand_lizard_o - faw_hand_spock_o - faw_hand_pointer_o - faw_hand_peace_o - faw_trademark - faw_registered - faw_creative_commons - faw_gg - faw_gg_circle - faw_tripadvisor - faw_odnoklassniki - faw_odnoklassniki_square - faw_get_pocket - faw_wikipedia_w - faw_safari - faw_chrome - faw_firefox - faw_opera - faw_internet_explorer - faw_television - faw_contao - faw_500px - faw_amazon - faw_calendar_plus_o - faw_calendar_minus_o - faw_calendar_times_o - faw_calendar_check_o - faw_industry - faw_map_pin - faw_map_signs - faw_map_o - faw_map - faw_commenting - faw_commenting_o - faw_houzz - faw_vimeo - faw_black_tie - faw_fonticons - faw_reddit_alien - faw_edge - faw_credit_card_alt - faw_codiepie - faw_modx - faw_fort_awesome - faw_usb - faw_product_hunt - faw_mixcloud - faw_scribd - faw_pause_circle - faw_pause_circle_o - faw_stop_circle - faw_stop_circle_o - faw_shopping_bag - faw_shopping_basket - faw_hashtag - faw_bluetooth - faw_bluetooth_b - faw_percent - faw_gitlab - faw_wpbeginner - faw_wpforms - faw_envira - faw_universal_access - faw_wheelchair_alt - faw_question_circle_o - faw_blind - faw_audio_description - faw_volume_control_phone - faw_braille - faw_assistive_listening_systems - faw_american_sign_language_interpreting - faw_deaf - faw_glide - faw_glide_g - faw_sign_language - faw_low_vision - faw_viadeo - faw_viadeo_square - faw_snapchat - faw_snapchat_ghost - faw_snapchat_square - faw_pied_piper - faw_first_order - faw_yoast - faw_themeisle - faw_google_plus_official - faw_font_awesome - faw_handshake_o - faw_envelope_open - faw_envelope_open_o - faw_linode - faw_address_book - faw_address_book_o - faw_address_card - faw_address_card_o - faw_user_circle - faw_user_circle_o - faw_user_o - faw_id_badge - faw_id_card - faw_id_card_o - faw_quora - faw_free_code_camp - faw_telegram - faw_thermometer_full - faw_thermometer_three_quarters - faw_thermometer_half - faw_thermometer_quarter - faw_thermometer_empty - faw_shower - faw_bath - faw_podcast - faw_window_maximize - faw_window_minimize - faw_window_restore - faw_window_close - faw_window_close_o - faw_bandcamp - faw_grav - faw_etsy - faw_imdb - faw_ravelry - faw_eercast - faw_microchip - faw_snowflake_o - faw_superpowers - faw_wpexplorer - faw_meetup - diff --git a/FONT_IDS/_current_foundation_icons_v3.0.0.1.xml b/FONT_IDS/_current_foundation_icons_v3.0.0.1.xml deleted file mode 100644 index 54ee898a..00000000 --- a/FONT_IDS/_current_foundation_icons_v3.0.0.1.xml +++ /dev/null @@ -1,285 +0,0 @@ - - fou_address_book - fou_alert - fou_align_center - fou_align_justify - fou_align_left - fou_align_right - fou_anchor - fou_annotate - fou_archive - fou_arrow_down - fou_arrow_left - fou_arrow_right - fou_arrow_up - fou_arrows_compress - fou_arrows_expand - fou_arrows_in - fou_arrows_out - fou_asl - fou_asterisk - fou_at_sign - fou_background_color - fou_battery_empty - fou_battery_full - fou_battery_half - fou_bitcoin_circle - fou_bitcoin - fou_blind - fou_bluetooth - fou_bold - fou_book_bookmark - fou_book - fou_bookmark - fou_braille - fou_burst_new - fou_burst_sale - fou_burst - fou_calendar - fou_camera - fou_check - fou_checkbox - fou_clipboard_notes - fou_clipboard_pencil - fou_clipboard - fou_clock - fou_closed_caption - fou_cloud - fou_comment_minus - fou_comment_quotes - fou_comment_video - fou_comment - fou_comments - fou_compass - fou_contrast - fou_credit_card - fou_crop - fou_crown - fou_css3 - fou_database - fou_die_five - fou_die_four - fou_die_one - fou_die_six - fou_die_three - fou_die_two - fou_dislike - fou_dollar_bill - fou_dollar - fou_download - fou_eject - fou_elevator - fou_euro - fou_eye - fou_fast_forward - fou_female_symbol - fou_female - fou_filter - fou_first_aid - fou_flag - fou_folder_add - fou_folder_lock - fou_folder - fou_foot - fou_foundation - fou_graph_bar - fou_graph_horizontal - fou_graph_pie - fou_graph_trend - fou_guide_dog - fou_hearing_aid - fou_heart - fou_home - fou_html5 - fou_indent_less - fou_indent_more - fou_info - fou_italic - fou_key - fou_laptop - fou_layout - fou_lightbulb - fou_like - fou_link - fou_list_bullet - fou_list_number - fou_list_thumbnails - fou_list - fou_lock - fou_loop - fou_magnifying_glass - fou_mail - fou_male_female - fou_male_symbol - fou_male - fou_map - fou_marker - fou_megaphone - fou_microphone - fou_minus_circle - fou_minus - fou_mobile_signal - fou_mobile - fou_monitor - fou_mountains - fou_music - fou_next - fou_no_dogs - fou_no_smoking - fou_page_add - fou_page_copy - fou_page_csv - fou_page_delete - fou_page_doc - fou_page_edit - fou_page_export_csv - fou_page_export_doc - fou_page_export_pdf - fou_page_export - fou_page_filled - fou_page_multiple - fou_page_pdf - fou_page_remove - fou_page_search - fou_page - fou_paint_bucket - fou_paperclip - fou_pause - fou_paw - fou_paypal - fou_pencil - fou_photo - fou_play_circle - fou_play_video - fou_play - fou_plus - fou_pound - fou_power - fou_previous - fou_price_tag - fou_pricetag_multiple - fou_print - fou_prohibited - fou_projection_screen - fou_puzzle - fou_quote - fou_record - fou_refresh - fou_results_demographics - fou_results - fou_rewind_ten - fou_rewind - fou_rss - fou_safety_cone - fou_save - fou_share - fou_sheriff_badge - fou_shield - fou_shopping_bag - fou_shopping_cart - fou_shuffle - fou_skull - fou_social_500px - fou_social_adobe - fou_social_amazon - fou_social_android - fou_social_apple - fou_social_behance - fou_social_bing - fou_social_blogger - fou_social_delicious - fou_social_designer_news - fou_social_deviant_art - fou_social_digg - fou_social_dribbble - fou_social_drive - fou_social_dropbox - fou_social_evernote - fou_social_facebook - fou_social_flickr - fou_social_forrst - fou_social_foursquare - fou_social_game_center - fou_social_github - fou_social_google_plus - fou_social_hacker_news - fou_social_hi5 - fou_social_instagram - fou_social_joomla - fou_social_lastfm - fou_social_linkedin - fou_social_medium - fou_social_myspace - fou_social_orkut - fou_social_path - fou_social_picasa - fou_social_pinterest - fou_social_rdio - fou_social_reddit - fou_social_skillshare - fou_social_skype - fou_social_smashing_mag - fou_social_snapchat - fou_social_spotify - fou_social_squidoo - fou_social_stack_overflow - fou_social_steam - fou_social_stumbleupon - fou_social_treehouse - fou_social_tumblr - fou_social_twitter - fou_social_vimeo - fou_social_windows - fou_social_xbox - fou_social_yahoo - fou_social_yelp - fou_social_youtube - fou_social_zerply - fou_social_zurb - fou_sound - fou_star - fou_stop - fou_strikethrough - fou_subscript - fou_superscript - fou_tablet_landscape - fou_tablet_portrait - fou_target_two - fou_target - fou_telephone_accessible - fou_telephone - fou_text_color - fou_thumbnails - fou_ticket - fou_torso_business - fou_torso_female - fou_torso - fou_torsos_all_female - fou_torsos_all - fou_torsos_female_male - fou_torsos_male_female - fou_torsos - fou_trash - fou_trees - fou_trophy - fou_underline - fou_universal_access - fou_unlink - fou_unlock - fou_upload_cloud - fou_upload - fou_usb - fou_video - fou_volume_none - fou_volume_strike - fou_volume - fou_web - fou_wheelchair - fou_widget - fou_wrench - fou_x_circle - fou_x - fou_yen - fou_zoom_in - fou_zoom_out - diff --git a/FONT_IDS/_current_google_material_v3.0.1.0.original.xml b/FONT_IDS/_current_google_material_v3.0.1.0.original.xml deleted file mode 100644 index 4c8a5d56..00000000 --- a/FONT_IDS/_current_google_material_v3.0.1.0.original.xml +++ /dev/null @@ -1,934 +0,0 @@ - - gmd_3d_rotation - gmd_ac_unit - gmd_access_alarm - gmd_access_alarms - gmd_access_time - gmd_accessibility - gmd_accessible - gmd_account_balance - gmd_account_balance_wallet - gmd_account_box - gmd_account_circle - gmd_adb - gmd_add - gmd_add_a_photo - gmd_add_alarm - gmd_add_alert - gmd_add_box - gmd_add_circle - gmd_add_circle_outline - gmd_add_location - gmd_add_shopping_cart - gmd_add_to_photos - gmd_add_to_queue - gmd_adjust - gmd_airline_seat_flat - gmd_airline_seat_flat_angled - gmd_airline_seat_individual_suite - gmd_airline_seat_legroom_extra - gmd_airline_seat_legroom_normal - gmd_airline_seat_legroom_reduced - gmd_airline_seat_recline_extra - gmd_airline_seat_recline_normal - gmd_airplanemode_active - gmd_airplanemode_inactive - gmd_airplay - gmd_airport_shuttle - gmd_alarm - gmd_alarm_add - gmd_alarm_off - gmd_alarm_on - gmd_album - gmd_all_inclusive - gmd_all_out - gmd_android - gmd_announcement - gmd_apps - gmd_archive - gmd_arrow_back - gmd_arrow_downward - gmd_arrow_drop_down - gmd_arrow_drop_down_circle - gmd_arrow_drop_up - gmd_arrow_forward - gmd_arrow_upward - gmd_art_track - gmd_aspect_ratio - gmd_assessment - gmd_assignment - gmd_assignment_ind - gmd_assignment_late - gmd_assignment_return - gmd_assignment_returned - gmd_assignment_turned_in - gmd_assistant - gmd_assistant_photo - gmd_attach_file - gmd_attach_money - gmd_attachment - gmd_audiotrack - gmd_autorenew - gmd_av_timer - gmd_backspace - gmd_backup - gmd_battery_alert - gmd_battery_charging_full - gmd_battery_full - gmd_battery_std - gmd_battery_unknown - gmd_beach_access - gmd_beenhere - gmd_block - gmd_bluetooth - gmd_bluetooth_audio - gmd_bluetooth_connected - gmd_bluetooth_disabled - gmd_bluetooth_searching - gmd_blur_circular - gmd_blur_linear - gmd_blur_off - gmd_blur_on - gmd_book - gmd_bookmark - gmd_bookmark_border - gmd_border_all - gmd_border_bottom - gmd_border_clear - gmd_border_color - gmd_border_horizontal - gmd_border_inner - gmd_border_left - gmd_border_outer - gmd_border_right - gmd_border_style - gmd_border_top - gmd_border_vertical - gmd_branding_watermark - gmd_brightness_1 - gmd_brightness_2 - gmd_brightness_3 - gmd_brightness_4 - gmd_brightness_5 - gmd_brightness_6 - gmd_brightness_7 - gmd_brightness_auto - gmd_brightness_high - gmd_brightness_low - gmd_brightness_medium - gmd_broken_image - gmd_brush - gmd_bubble_chart - gmd_bug_report - gmd_build - gmd_burst_mode - gmd_business - gmd_business_center - gmd_cached - gmd_cake - gmd_call - gmd_call_end - gmd_call_made - gmd_call_merge - gmd_call_missed - gmd_call_missed_outgoing - gmd_call_received - gmd_call_split - gmd_call_to_action - gmd_camera - gmd_camera_alt - gmd_camera_enhance - gmd_camera_front - gmd_camera_rear - gmd_camera_roll - gmd_cancel - gmd_card_giftcard - gmd_card_membership - gmd_card_travel - gmd_casino - gmd_cast - gmd_cast_connected - gmd_center_focus_strong - gmd_center_focus_weak - gmd_change_history - gmd_chat - gmd_chat_bubble - gmd_chat_bubble_outline - gmd_check - gmd_check_box - gmd_check_box_outline_blank - gmd_check_circle - gmd_chevron_left - gmd_chevron_right - gmd_child_care - gmd_child_friendly - gmd_chrome_reader_mode - gmd_class - gmd_clear - gmd_clear_all - gmd_close - gmd_closed_caption - gmd_cloud - gmd_cloud_circle - gmd_cloud_done - gmd_cloud_download - gmd_cloud_off - gmd_cloud_queue - gmd_cloud_upload - gmd_code - gmd_collections - gmd_collections_bookmark - gmd_color_lens - gmd_colorize - gmd_comment - gmd_compare - gmd_compare_arrows - gmd_computer - gmd_confirmation_number - gmd_contact_mail - gmd_contact_phone - gmd_contacts - gmd_content_copy - gmd_content_cut - gmd_content_paste - gmd_control_point - gmd_control_point_duplicate - gmd_copyright - gmd_create - gmd_create_new_folder - gmd_credit_card - gmd_crop - gmd_crop_16_9 - gmd_crop_3_2 - gmd_crop_5_4 - gmd_crop_7_5 - gmd_crop_din - gmd_crop_free - gmd_crop_landscape - gmd_crop_original - gmd_crop_portrait - gmd_crop_rotate - gmd_crop_square - gmd_dashboard - gmd_data_usage - gmd_date_range - gmd_dehaze - gmd_delete - gmd_delete_forever - gmd_delete_sweep - gmd_description - gmd_desktop_mac - gmd_desktop_windows - gmd_details - gmd_developer_board - gmd_developer_mode - gmd_device_hub - gmd_devices - gmd_devices_other - gmd_dialer_sip - gmd_dialpad - gmd_directions - gmd_directions_bike - gmd_directions_boat - gmd_directions_bus - gmd_directions_car - gmd_directions_railway - gmd_directions_run - gmd_directions_subway - gmd_directions_transit - gmd_directions_walk - gmd_disc_full - gmd_dns - gmd_do_not_disturb - gmd_do_not_disturb_alt - gmd_do_not_disturb_off - gmd_do_not_disturb_on - gmd_dock - gmd_domain - gmd_done - gmd_done_all - gmd_donut_large - gmd_donut_small - gmd_drafts - gmd_drag_handle - gmd_drive_eta - gmd_dvr - gmd_edit - gmd_edit_location - gmd_eject - gmd_email - gmd_enhanced_encryption - gmd_equalizer - gmd_error - gmd_error_outline - gmd_euro_symbol - gmd_ev_station - gmd_event - gmd_event_available - gmd_event_busy - gmd_event_note - gmd_event_seat - gmd_exit_to_app - gmd_expand_less - gmd_expand_more - gmd_explicit - gmd_explore - gmd_exposure - gmd_exposure_neg_1 - gmd_exposure_neg_2 - gmd_exposure_plus_1 - gmd_exposure_plus_2 - gmd_exposure_zero - gmd_extension - gmd_face - gmd_fast_forward - gmd_fast_rewind - gmd_favorite - gmd_favorite_border - gmd_featured_play_list - gmd_featured_video - gmd_feedback - gmd_fiber_dvr - gmd_fiber_manual_record - gmd_fiber_new - gmd_fiber_pin - gmd_fiber_smart_record - gmd_file_download - gmd_file_upload - gmd_filter - gmd_filter_1 - gmd_filter_2 - gmd_filter_3 - gmd_filter_4 - gmd_filter_5 - gmd_filter_6 - gmd_filter_7 - gmd_filter_8 - gmd_filter_9 - gmd_filter_9_plus - gmd_filter_b_and_w - gmd_filter_center_focus - gmd_filter_drama - gmd_filter_frames - gmd_filter_hdr - gmd_filter_list - gmd_filter_none - gmd_filter_tilt_shift - gmd_filter_vintage - gmd_find_in_page - gmd_find_replace - gmd_fingerprint - gmd_first_page - gmd_fitness_center - gmd_flag - gmd_flare - gmd_flash_auto - gmd_flash_off - gmd_flash_on - gmd_flight - gmd_flight_land - gmd_flight_takeoff - gmd_flip - gmd_flip_to_back - gmd_flip_to_front - gmd_folder - gmd_folder_open - gmd_folder_shared - gmd_folder_special - gmd_font_download - gmd_format_align_center - gmd_format_align_justify - gmd_format_align_left - gmd_format_align_right - gmd_format_bold - gmd_format_clear - gmd_format_color_fill - gmd_format_color_reset - gmd_format_color_text - gmd_format_indent_decrease - gmd_format_indent_increase - gmd_format_italic - gmd_format_line_spacing - gmd_format_list_bulleted - gmd_format_list_numbered - gmd_format_paint - gmd_format_quote - gmd_format_shapes - gmd_format_size - gmd_format_strikethrough - gmd_format_textdirection_l_to_r - gmd_format_textdirection_r_to_l - gmd_format_underlined - gmd_forum - gmd_forward - gmd_forward_10 - gmd_forward_30 - gmd_forward_5 - gmd_free_breakfast - gmd_fullscreen - gmd_fullscreen_exit - gmd_functions - gmd_g_translate - gmd_gamepad - gmd_games - gmd_gavel - gmd_gesture - gmd_get_app - gmd_gif - gmd_golf_course - gmd_gps_fixed - gmd_gps_not_fixed - gmd_gps_off - gmd_grade - gmd_gradient - gmd_grain - gmd_graphic_eq - gmd_grid_off - gmd_grid_on - gmd_group - gmd_group_add - gmd_group_work - gmd_hd - gmd_hdr_off - gmd_hdr_on - gmd_hdr_strong - gmd_hdr_weak - gmd_headset - gmd_headset_mic - gmd_healing - gmd_hearing - gmd_help - gmd_help_outline - gmd_high_quality - gmd_highlight - gmd_highlight_off - gmd_history - gmd_home - gmd_hot_tub - gmd_hotel - gmd_hourglass_empty - gmd_hourglass_full - gmd_http - gmd_https - gmd_image - gmd_image_aspect_ratio - gmd_import_contacts - gmd_import_export - gmd_important_devices - gmd_inbox - gmd_indeterminate_check_box - gmd_info - gmd_info_outline - gmd_input - gmd_insert_chart - gmd_insert_comment - gmd_insert_drive_file - gmd_insert_emoticon - gmd_insert_invitation - gmd_insert_link - gmd_insert_photo - gmd_invert_colors - gmd_invert_colors_off - gmd_iso - gmd_keyboard - gmd_keyboard_arrow_down - gmd_keyboard_arrow_left - gmd_keyboard_arrow_right - gmd_keyboard_arrow_up - gmd_keyboard_backspace - gmd_keyboard_capslock - gmd_keyboard_hide - gmd_keyboard_return - gmd_keyboard_tab - gmd_keyboard_voice - gmd_kitchen - gmd_label - gmd_label_outline - gmd_landscape - gmd_language - gmd_laptop - gmd_laptop_chromebook - gmd_laptop_mac - gmd_laptop_windows - gmd_last_page - gmd_launch - gmd_layers - gmd_layers_clear - gmd_leak_add - gmd_leak_remove - gmd_lens - gmd_library_add - gmd_library_books - gmd_library_music - gmd_lightbulb_outline - gmd_line_style - gmd_line_weight - gmd_linear_scale - gmd_link - gmd_linked_camera - gmd_list - gmd_live_help - gmd_live_tv - gmd_local_activity - gmd_local_airport - gmd_local_atm - gmd_local_bar - gmd_local_cafe - gmd_local_car_wash - gmd_local_convenience_store - gmd_local_dining - gmd_local_drink - gmd_local_florist - gmd_local_gas_station - gmd_local_grocery_store - gmd_local_hospital - gmd_local_hotel - gmd_local_laundry_service - gmd_local_library - gmd_local_mall - gmd_local_movies - gmd_local_offer - gmd_local_parking - gmd_local_pharmacy - gmd_local_phone - gmd_local_pizza - gmd_local_play - gmd_local_post_office - gmd_local_printshop - gmd_local_see - gmd_local_shipping - gmd_local_taxi - gmd_location_city - gmd_location_disabled - gmd_location_off - gmd_location_on - gmd_location_searching - gmd_lock - gmd_lock_open - gmd_lock_outline - gmd_looks - gmd_looks_3 - gmd_looks_4 - gmd_looks_5 - gmd_looks_6 - gmd_looks_one - gmd_looks_two - gmd_loop - gmd_loupe - gmd_low_priority - gmd_loyalty - gmd_mail - gmd_mail_outline - gmd_map - gmd_markunread - gmd_markunread_mailbox - gmd_memory - gmd_menu - gmd_merge_type - gmd_message - gmd_mic - gmd_mic_none - gmd_mic_off - gmd_mms - gmd_mode_comment - gmd_mode_edit - gmd_monetization_on - gmd_money_off - gmd_monochrome_photos - gmd_mood - gmd_mood_bad - gmd_more - gmd_more_horiz - gmd_more_vert - gmd_motorcycle - gmd_mouse - gmd_move_to_inbox - gmd_movie - gmd_movie_creation - gmd_movie_filter - gmd_multiline_chart - gmd_music_note - gmd_music_video - gmd_my_location - gmd_nature - gmd_nature_people - gmd_navigate_before - gmd_navigate_next - gmd_navigation - gmd_near_me - gmd_network_cell - gmd_network_check - gmd_network_locked - gmd_network_wifi - gmd_new_releases - gmd_next_week - gmd_nfc - gmd_no_encryption - gmd_no_sim - gmd_not_interested - gmd_note - gmd_note_add - gmd_notifications - gmd_notifications_active - gmd_notifications_none - gmd_notifications_off - gmd_notifications_paused - gmd_offline_pin - gmd_ondemand_video - gmd_opacity - gmd_open_in_browser - gmd_open_in_new - gmd_open_with - gmd_pages - gmd_pageview - gmd_palette - gmd_pan_tool - gmd_panorama - gmd_panorama_fish_eye - gmd_panorama_horizontal - gmd_panorama_vertical - gmd_panorama_wide_angle - gmd_party_mode - gmd_pause - gmd_pause_circle_filled - gmd_pause_circle_outline - gmd_payment - gmd_people - gmd_people_outline - gmd_perm_camera_mic - gmd_perm_contact_calendar - gmd_perm_data_setting - gmd_perm_device_information - gmd_perm_identity - gmd_perm_media - gmd_perm_phone_msg - gmd_perm_scan_wifi - gmd_person - gmd_person_add - gmd_person_outline - gmd_person_pin - gmd_person_pin_circle - gmd_personal_video - gmd_pets - gmd_phone - gmd_phone_android - gmd_phone_bluetooth_speaker - gmd_phone_forwarded - gmd_phone_in_talk - gmd_phone_iphone - gmd_phone_locked - gmd_phone_missed - gmd_phone_paused - gmd_phonelink - gmd_phonelink_erase - gmd_phonelink_lock - gmd_phonelink_off - gmd_phonelink_ring - gmd_phonelink_setup - gmd_photo - gmd_photo_album - gmd_photo_camera - gmd_photo_filter - gmd_photo_library - gmd_photo_size_select_actual - gmd_photo_size_select_large - gmd_photo_size_select_small - gmd_picture_as_pdf - gmd_picture_in_picture - gmd_picture_in_picture_alt - gmd_pie_chart - gmd_pie_chart_outlined - gmd_pin_drop - gmd_place - gmd_play_arrow - gmd_play_circle_filled - gmd_play_circle_outline - gmd_play_for_work - gmd_playlist_add - gmd_playlist_add_check - gmd_playlist_play - gmd_plus_one - gmd_poll - gmd_polymer - gmd_pool - gmd_portable_wifi_off - gmd_portrait - gmd_power - gmd_power_input - gmd_power_settings_new - gmd_pregnant_woman - gmd_present_to_all - gmd_print - gmd_priority_high - gmd_public - gmd_publish - gmd_query_builder - gmd_question_answer - gmd_queue - gmd_queue_music - gmd_queue_play_next - gmd_radio - gmd_radio_button_checked - gmd_radio_button_unchecked - gmd_rate_review - gmd_receipt - gmd_recent_actors - gmd_record_voice_over - gmd_redeem - gmd_redo - gmd_refresh - gmd_remove - gmd_remove_circle - gmd_remove_circle_outline - gmd_remove_from_queue - gmd_remove_red_eye - gmd_remove_shopping_cart - gmd_reorder - gmd_repeat - gmd_repeat_one - gmd_replay - gmd_replay_10 - gmd_replay_30 - gmd_replay_5 - gmd_reply - gmd_reply_all - gmd_report - gmd_report_problem - gmd_restaurant - gmd_restaurant_menu - gmd_restore - gmd_restore_page - gmd_ring_volume - gmd_room - gmd_room_service - gmd_rotate_90_degrees_ccw - gmd_rotate_left - gmd_rotate_right - gmd_rounded_corner - gmd_router - gmd_rowing - gmd_rss_feed - gmd_rv_hookup - gmd_satellite - gmd_save - gmd_scanner - gmd_schedule - gmd_school - gmd_screen_lock_landscape - gmd_screen_lock_portrait - gmd_screen_lock_rotation - gmd_screen_rotation - gmd_screen_share - gmd_sd_card - gmd_sd_storage - gmd_search - gmd_security - gmd_select_all - gmd_send - gmd_sentiment_dissatisfied - gmd_sentiment_neutral - gmd_sentiment_satisfied - gmd_sentiment_very_dissatisfied - gmd_sentiment_very_satisfied - gmd_settings - gmd_settings_applications - gmd_settings_backup_restore - gmd_settings_bluetooth - gmd_settings_brightness - gmd_settings_cell - gmd_settings_ethernet - gmd_settings_input_antenna - gmd_settings_input_component - gmd_settings_input_composite - gmd_settings_input_hdmi - gmd_settings_input_svideo - gmd_settings_overscan - gmd_settings_phone - gmd_settings_power - gmd_settings_remote - gmd_settings_system_daydream - gmd_settings_voice - gmd_share - gmd_shop - gmd_shop_two - gmd_shopping_basket - gmd_shopping_cart - gmd_short_text - gmd_show_chart - gmd_shuffle - gmd_signal_cellular_4_bar - gmd_signal_cellular_connected_no_internet_4_bar - gmd_signal_cellular_no_sim - gmd_signal_cellular_null - gmd_signal_cellular_off - gmd_signal_wifi_4_bar - gmd_signal_wifi_4_bar_lock - gmd_signal_wifi_off - gmd_sim_card - gmd_sim_card_alert - gmd_skip_next - gmd_skip_previous - gmd_slideshow - gmd_slow_motion_video - gmd_smartphone - gmd_smoke_free - gmd_smoking_rooms - gmd_sms - gmd_sms_failed - gmd_snooze - gmd_sort - gmd_sort_by_alpha - gmd_spa - gmd_space_bar - gmd_speaker - gmd_speaker_group - gmd_speaker_notes - gmd_speaker_notes_off - gmd_speaker_phone - gmd_spellcheck - gmd_star - gmd_star_border - gmd_star_half - gmd_stars - gmd_stay_current_landscape - gmd_stay_current_portrait - gmd_stay_primary_landscape - gmd_stay_primary_portrait - gmd_stop - gmd_stop_screen_share - gmd_storage - gmd_store - gmd_store_mall_directory - gmd_straighten - gmd_streetview - gmd_strikethrough_s - gmd_style - gmd_subdirectory_arrow_left - gmd_subdirectory_arrow_right - gmd_subject - gmd_subscriptions - gmd_subtitles - gmd_subway - gmd_supervisor_account - gmd_surround_sound - gmd_swap_calls - gmd_swap_horiz - gmd_swap_vert - gmd_swap_vertical_circle - gmd_switch_camera - gmd_switch_video - gmd_sync - gmd_sync_disabled - gmd_sync_problem - gmd_system_update - gmd_system_update_alt - gmd_tab - gmd_tab_unselected - gmd_tablet - gmd_tablet_android - gmd_tablet_mac - gmd_tag_faces - gmd_tap_and_play - gmd_terrain - gmd_text_fields - gmd_text_format - gmd_textsms - gmd_texture - gmd_theaters - gmd_thumb_down - gmd_thumb_up - gmd_thumbs_up_down - gmd_time_to_leave - gmd_timelapse - gmd_timeline - gmd_timer - gmd_timer_10 - gmd_timer_3 - gmd_timer_off - gmd_title - gmd_toc - gmd_today - gmd_toll - gmd_tonality - gmd_touch_app - gmd_toys - gmd_track_changes - gmd_traffic - gmd_train - gmd_tram - gmd_transfer_within_a_station - gmd_transform - gmd_translate - gmd_trending_down - gmd_trending_flat - gmd_trending_up - gmd_tune - gmd_turned_in - gmd_turned_in_not - gmd_tv - gmd_unarchive - gmd_undo - gmd_unfold_less - gmd_unfold_more - gmd_update - gmd_usb - gmd_verified_user - gmd_vertical_align_bottom - gmd_vertical_align_center - gmd_vertical_align_top - gmd_vibration - gmd_video_call - gmd_video_label - gmd_video_library - gmd_videocam - gmd_videocam_off - gmd_videogame_asset - gmd_view_agenda - gmd_view_array - gmd_view_carousel - gmd_view_column - gmd_view_comfy - gmd_view_compact - gmd_view_day - gmd_view_headline - gmd_view_list - gmd_view_module - gmd_view_quilt - gmd_view_stream - gmd_view_week - gmd_vignette - gmd_visibility - gmd_visibility_off - gmd_voice_chat - gmd_voicemail - gmd_volume_down - gmd_volume_mute - gmd_volume_off - gmd_volume_up - gmd_vpn_key - gmd_vpn_lock - gmd_wallpaper - gmd_warning - gmd_watch - gmd_watch_later - gmd_wb_auto - gmd_wb_cloudy - gmd_wb_incandescent - gmd_wb_iridescent - gmd_wb_sunny - gmd_wc - gmd_web - gmd_web_asset - gmd_weekend - gmd_whatshot - gmd_widgets - gmd_wifi - gmd_wifi_lock - gmd_wifi_tethering - gmd_work - gmd_wrap_text - gmd_youtube_searched_for - gmd_zoom_in - gmd_zoom_out - gmd_zoom_out_map - diff --git a/FONT_IDS/_current_ionicons_v2.0.1.1.xml b/FONT_IDS/_current_ionicons_v2.0.1.1.xml deleted file mode 100644 index e6a743f4..00000000 --- a/FONT_IDS/_current_ionicons_v2.0.1.1.xml +++ /dev/null @@ -1,735 +0,0 @@ - - ion_alert - ion_alert_circled - ion_android_add - ion_android_add_circle - ion_android_alarm_clock - ion_android_alert - ion_android_apps - ion_android_archive - ion_android_arrow_back - ion_android_arrow_down - ion_android_arrow_dropdown - ion_android_arrow_dropdown_circle - ion_android_arrow_dropleft - ion_android_arrow_dropleft_circle - ion_android_arrow_dropright - ion_android_arrow_dropright_circle - ion_android_arrow_dropup - ion_android_arrow_dropup_circle - ion_android_arrow_forward - ion_android_arrow_up - ion_android_attach - ion_android_bar - ion_android_bicycle - ion_android_boat - ion_android_bookmark - ion_android_bulb - ion_android_bus - ion_android_calendar - ion_android_call - ion_android_camera - ion_android_cancel - ion_android_car - ion_android_cart - ion_android_chat - ion_android_checkbox - ion_android_checkbox_blank - ion_android_checkbox_outline - ion_android_checkbox_outline_blank - ion_android_checkmark_circle - ion_android_clipboard - ion_android_close - ion_android_cloud - ion_android_cloud_circle - ion_android_cloud_done - ion_android_cloud_outline - ion_android_color_palette - ion_android_compass - ion_android_contact - ion_android_contacts - ion_android_contract - ion_android_create - ion_android_delete - ion_android_desktop - ion_android_document - ion_android_done - ion_android_done_all - ion_android_download - ion_android_drafts - ion_android_exit - ion_android_expand - ion_android_favorite - ion_android_favorite_outline - ion_android_film - ion_android_folder - ion_android_folder_open - ion_android_funnel - ion_android_globe - ion_android_hand - ion_android_hangout - ion_android_happy - ion_android_home - ion_android_image - ion_android_laptop - ion_android_list - ion_android_locate - ion_android_lock - ion_android_mail - ion_android_map - ion_android_menu - ion_android_microphone - ion_android_microphone_off - ion_android_more_horizontal - ion_android_more_vertical - ion_android_navigate - ion_android_notifications - ion_android_notifications_none - ion_android_notifications_off - ion_android_open - ion_android_options - ion_android_people - ion_android_person - ion_android_person_add - ion_android_phone_landscape - ion_android_phone_portrait - ion_android_pin - ion_android_plane - ion_android_playstore - ion_android_print - ion_android_radio_button_off - ion_android_radio_button_on - ion_android_refresh - ion_android_remove - ion_android_remove_circle - ion_android_restaurant - ion_android_sad - ion_android_search - ion_android_send - ion_android_settings - ion_android_share - ion_android_share_alt - ion_android_star - ion_android_star_half - ion_android_star_outline - ion_android_stopwatch - ion_android_subway - ion_android_sunny - ion_android_sync - ion_android_textsms - ion_android_time - ion_android_train - ion_android_unlock - ion_android_upload - ion_android_volume_down - ion_android_volume_mute - ion_android_volume_off - ion_android_volume_up - ion_android_walk - ion_android_warning - ion_android_watch - ion_android_wifi - ion_aperture - ion_archive - ion_arrow_down_a - ion_arrow_down_b - ion_arrow_down_c - ion_arrow_expand - ion_arrow_graph_down_left - ion_arrow_graph_down_right - ion_arrow_graph_up_left - ion_arrow_graph_up_right - ion_arrow_left_a - ion_arrow_left_b - ion_arrow_left_c - ion_arrow_move - ion_arrow_resize - ion_arrow_return_left - ion_arrow_return_right - ion_arrow_right_a - ion_arrow_right_b - ion_arrow_right_c - ion_arrow_shrink - ion_arrow_swap - ion_arrow_up_a - ion_arrow_up_b - ion_arrow_up_c - ion_asterisk - ion_at - ion_backspace - ion_backspace_outline - ion_bag - ion_battery_charging - ion_battery_empty - ion_battery_full - ion_battery_half - ion_battery_low - ion_beaker - ion_beer - ion_bluetooth - ion_bonfire - ion_bookmark - ion_bowtie - ion_briefcase - ion_bug - ion_calculator - ion_calendar - ion_camera - ion_card - ion_cash - ion_chatbox - ion_chatbox_working - ion_chatboxes - ion_chatbubble - ion_chatbubble_working - ion_chatbubbles - ion_checkmark - ion_checkmark_circled - ion_checkmark_round - ion_chevron_down - ion_chevron_left - ion_chevron_right - ion_chevron_up - ion_clipboard - ion_clock - ion_close - ion_close_circled - ion_close_round - ion_closed_captioning - ion_cloud - ion_code - ion_code_download - ion_code_working - ion_coffee - ion_compass - ion_compose - ion_connection_bars - ion_contrast - ion_crop - ion_cube - ion_disc - ion_document - ion_document_text - ion_drag - ion_earth - ion_easel - ion_edit - ion_egg - ion_eject - ion_email - ion_email_unread - ion_erlenmeyer_flask - ion_erlenmeyer_flask_bubbles - ion_eye - ion_eye_disabled - ion_female - ion_filing - ion_film_marker - ion_fireball - ion_flag - ion_flame - ion_flash - ion_flash_off - ion_folder - ion_fork - ion_fork_repo - ion_forward - ion_funnel - ion_gear_a - ion_gear_b - ion_grid - ion_hammer - ion_happy - ion_happy_outline - ion_headphone - ion_heart - ion_heart_broken - ion_help - ion_help_buoy - ion_help_circled - ion_home - ion_icecream - ion_image - ion_images - ion_information - ion_information_circled - ion_ionic - ion_ios_alarm - ion_ios_alarm_outline - ion_ios_albums - ion_ios_albums_outline - ion_ios_americanfootball - ion_ios_americanfootball_outline - ion_ios_analytics - ion_ios_analytics_outline - ion_ios_arrow_back - ion_ios_arrow_down - ion_ios_arrow_forward - ion_ios_arrow_left - ion_ios_arrow_right - ion_ios_arrow_thin_down - ion_ios_arrow_thin_left - ion_ios_arrow_thin_right - ion_ios_arrow_thin_up - ion_ios_arrow_up - ion_ios_at - ion_ios_at_outline - ion_ios_barcode - ion_ios_barcode_outline - ion_ios_baseball - ion_ios_baseball_outline - ion_ios_basketball - ion_ios_basketball_outline - ion_ios_bell - ion_ios_bell_outline - ion_ios_body - ion_ios_body_outline - ion_ios_bolt - ion_ios_bolt_outline - ion_ios_book - ion_ios_book_outline - ion_ios_bookmarks - ion_ios_bookmarks_outline - ion_ios_box - ion_ios_box_outline - ion_ios_briefcase - ion_ios_briefcase_outline - ion_ios_browsers - ion_ios_browsers_outline - ion_ios_calculator - ion_ios_calculator_outline - ion_ios_calendar - ion_ios_calendar_outline - ion_ios_camera - ion_ios_camera_outline - ion_ios_cart - ion_ios_cart_outline - ion_ios_chatboxes - ion_ios_chatboxes_outline - ion_ios_chatbubble - ion_ios_chatbubble_outline - ion_ios_checkmark - ion_ios_checkmark_empty - ion_ios_checkmark_outline - ion_ios_circle_filled - ion_ios_circle_outline - ion_ios_clock - ion_ios_clock_outline - ion_ios_close - ion_ios_close_empty - ion_ios_close_outline - ion_ios_cloud - ion_ios_cloud_download - ion_ios_cloud_download_outline - ion_ios_cloud_outline - ion_ios_cloud_upload - ion_ios_cloud_upload_outline - ion_ios_cloudy - ion_ios_cloudy_night - ion_ios_cloudy_night_outline - ion_ios_cloudy_outline - ion_ios_cog - ion_ios_cog_outline - ion_ios_color_filter - ion_ios_color_filter_outline - ion_ios_color_wand - ion_ios_color_wand_outline - ion_ios_compose - ion_ios_compose_outline - ion_ios_contact - ion_ios_contact_outline - ion_ios_copy - ion_ios_copy_outline - ion_ios_crop - ion_ios_crop_strong - ion_ios_download - ion_ios_download_outline - ion_ios_drag - ion_ios_email - ion_ios_email_outline - ion_ios_eye - ion_ios_eye_outline - ion_ios_fastforward - ion_ios_fastforward_outline - ion_ios_filing - ion_ios_filing_outline - ion_ios_film - ion_ios_film_outline - ion_ios_flag - ion_ios_flag_outline - ion_ios_flame - ion_ios_flame_outline - ion_ios_flask - ion_ios_flask_outline - ion_ios_flower - ion_ios_flower_outline - ion_ios_folder - ion_ios_folder_outline - ion_ios_football - ion_ios_football_outline - ion_ios_game_controller_a - ion_ios_game_controller_a_outline - ion_ios_game_controller_b - ion_ios_game_controller_b_outline - ion_ios_gear - ion_ios_gear_outline - ion_ios_glasses - ion_ios_glasses_outline - ion_ios_grid_view - ion_ios_grid_view_outline - ion_ios_heart - ion_ios_heart_outline - ion_ios_help - ion_ios_help_empty - ion_ios_help_outline - ion_ios_home - ion_ios_home_outline - ion_ios_infinite - ion_ios_infinite_outline - ion_ios_information - ion_ios_information_empty - ion_ios_information_outline - ion_ios_ionic_outline - ion_ios_keypad - ion_ios_keypad_outline - ion_ios_lightbulb - ion_ios_lightbulb_outline - ion_ios_list - ion_ios_list_outline - ion_ios_location - ion_ios_location_outline - ion_ios_locked - ion_ios_locked_outline - ion_ios_loop - ion_ios_loop_strong - ion_ios_medical - ion_ios_medical_outline - ion_ios_medkit - ion_ios_medkit_outline - ion_ios_mic - ion_ios_mic_off - ion_ios_mic_outline - ion_ios_minus - ion_ios_minus_empty - ion_ios_minus_outline - ion_ios_monitor - ion_ios_monitor_outline - ion_ios_moon - ion_ios_moon_outline - ion_ios_more - ion_ios_more_outline - ion_ios_musical_note - ion_ios_musical_notes - ion_ios_navigate - ion_ios_navigate_outline - ion_ios_nutrition - ion_ios_nutrition_outline - ion_ios_paper - ion_ios_paper_outline - ion_ios_paperplane - ion_ios_paperplane_outline - ion_ios_partlysunny - ion_ios_partlysunny_outline - ion_ios_pause - ion_ios_pause_outline - ion_ios_paw - ion_ios_paw_outline - ion_ios_people - ion_ios_people_outline - ion_ios_person - ion_ios_person_outline - ion_ios_personadd - ion_ios_personadd_outline - ion_ios_photos - ion_ios_photos_outline - ion_ios_pie - ion_ios_pie_outline - ion_ios_pint - ion_ios_pint_outline - ion_ios_play - ion_ios_play_outline - ion_ios_plus - ion_ios_plus_empty - ion_ios_plus_outline - ion_ios_pricetag - ion_ios_pricetag_outline - ion_ios_pricetags - ion_ios_pricetags_outline - ion_ios_printer - ion_ios_printer_outline - ion_ios_pulse - ion_ios_pulse_strong - ion_ios_rainy - ion_ios_rainy_outline - ion_ios_recording - ion_ios_recording_outline - ion_ios_redo - ion_ios_redo_outline - ion_ios_refresh - ion_ios_refresh_empty - ion_ios_refresh_outline - ion_ios_reload - ion_ios_reverse_camera - ion_ios_reverse_camera_outline - ion_ios_rewind - ion_ios_rewind_outline - ion_ios_rose - ion_ios_rose_outline - ion_ios_search - ion_ios_search_strong - ion_ios_settings - ion_ios_settings_strong - ion_ios_shuffle - ion_ios_shuffle_strong - ion_ios_skipbackward - ion_ios_skipbackward_outline - ion_ios_skipforward - ion_ios_skipforward_outline - ion_ios_snowy - ion_ios_speedometer - ion_ios_speedometer_outline - ion_ios_star - ion_ios_star_half - ion_ios_star_outline - ion_ios_stopwatch - ion_ios_stopwatch_outline - ion_ios_sunny - ion_ios_sunny_outline - ion_ios_telephone - ion_ios_telephone_outline - ion_ios_tennisball - ion_ios_tennisball_outline - ion_ios_thunderstorm - ion_ios_thunderstorm_outline - ion_ios_time - ion_ios_time_outline - ion_ios_timer - ion_ios_timer_outline - ion_ios_toggle - ion_ios_toggle_outline - ion_ios_trash - ion_ios_trash_outline - ion_ios_undo - ion_ios_undo_outline - ion_ios_unlocked - ion_ios_unlocked_outline - ion_ios_upload - ion_ios_upload_outline - ion_ios_videocam - ion_ios_videocam_outline - ion_ios_volume_high - ion_ios_volume_low - ion_ios_wineglass - ion_ios_wineglass_outline - ion_ios_world - ion_ios_world_outline - ion_ipad - ion_iphone - ion_ipod - ion_jet - ion_key - ion_knife - ion_laptop - ion_leaf - ion_levels - ion_lightbulb - ion_link - ion_load_a - ion_load_b - ion_load_c - ion_load_d - ion_location - ion_lock_combination - ion_locked - ion_log_in - ion_log_out - ion_loop - ion_magnet - ion_male - ion_man - ion_map - ion_medkit - ion_merge - ion_mic_a - ion_mic_b - ion_mic_c - ion_minus - ion_minus_circled - ion_minus_round - ion_model_s - ion_monitor - ion_more - ion_mouse - ion_music_note - ion_navicon - ion_navicon_round - ion_navigate - ion_network - ion_no_smoking - ion_nuclear - ion_outlet - ion_paintbrush - ion_paintbucket - ion_paper_airplane - ion_paperclip - ion_pause - ion_person - ion_person_add - ion_person_stalker - ion_pie_graph - ion_pin - ion_pinpoint - ion_pizza - ion_plane - ion_planet - ion_play - ion_playstation - ion_plus - ion_plus_circled - ion_plus_round - ion_podium - ion_pound - ion_power - ion_pricetag - ion_pricetags - ion_printer - ion_pull_request - ion_qr_scanner - ion_quote - ion_radio_waves - ion_record - ion_refresh - ion_reply - ion_reply_all - ion_ribbon_a - ion_ribbon_b - ion_sad - ion_sad_outline - ion_scissors - ion_search - ion_settings - ion_share - ion_shuffle - ion_skip_backward - ion_skip_forward - ion_social_android - ion_social_android_outline - ion_social_angular - ion_social_angular_outline - ion_social_apple - ion_social_apple_outline - ion_social_bitcoin - ion_social_bitcoin_outline - ion_social_buffer - ion_social_buffer_outline - ion_social_chrome - ion_social_chrome_outline - ion_social_codepen - ion_social_codepen_outline - ion_social_css3 - ion_social_css3_outline - ion_social_designernews - ion_social_designernews_outline - ion_social_dribbble - ion_social_dribbble_outline - ion_social_dropbox - ion_social_dropbox_outline - ion_social_euro - ion_social_euro_outline - ion_social_facebook - ion_social_facebook_outline - ion_social_foursquare - ion_social_foursquare_outline - ion_social_freebsd_devil - ion_social_github - ion_social_github_outline - ion_social_google - ion_social_google_outline - ion_social_googleplus - ion_social_googleplus_outline - ion_social_hackernews - ion_social_hackernews_outline - ion_social_html5 - ion_social_html5_outline - ion_social_instagram - ion_social_instagram_outline - ion_social_javascript - ion_social_javascript_outline - ion_social_linkedin - ion_social_linkedin_outline - ion_social_markdown - ion_social_nodejs - ion_social_octocat - ion_social_pinterest - ion_social_pinterest_outline - ion_social_python - ion_social_reddit - ion_social_reddit_outline - ion_social_rss - ion_social_rss_outline - ion_social_sass - ion_social_skype - ion_social_skype_outline - ion_social_snapchat - ion_social_snapchat_outline - ion_social_tumblr - ion_social_tumblr_outline - ion_social_tux - ion_social_twitch - ion_social_twitch_outline - ion_social_twitter - ion_social_twitter_outline - ion_social_usd - ion_social_usd_outline - ion_social_vimeo - ion_social_vimeo_outline - ion_social_whatsapp - ion_social_whatsapp_outline - ion_social_windows - ion_social_windows_outline - ion_social_wordpress - ion_social_wordpress_outline - ion_social_yahoo - ion_social_yahoo_outline - ion_social_yen - ion_social_yen_outline - ion_social_youtube - ion_social_youtube_outline - ion_soup_can - ion_soup_can_outline - ion_speakerphone - ion_speedometer - ion_spoon - ion_star - ion_stats_bars - ion_steam - ion_stop - ion_thermometer - ion_thumbsdown - ion_thumbsup - ion_toggle - ion_toggle_filled - ion_transgender - ion_trash_a - ion_trash_b - ion_trophy - ion_tshirt - ion_tshirt_outline - ion_umbrella - ion_university - ion_unlocked - ion_upload - ion_usb - ion_videocamera - ion_volume_high - ion_volume_low - ion_volume_medium - ion_volume_mute - ion_wand - ion_waterdrop - ion_wifi - ion_wineglass - ion_woman - ion_wrench - ion_xbox - diff --git a/FONT_IDS/_current_material_design_iconic_v2.2.0.xml b/FONT_IDS/_current_material_design_iconic_v2.2.0.xml deleted file mode 100644 index 42124d12..00000000 --- a/FONT_IDS/_current_material_design_iconic_v2.2.0.xml +++ /dev/null @@ -1,888 +0,0 @@ - - gmi_3d_rotation - gmi_airplane_off - gmi_airplane - gmi_album - gmi_archive - gmi_assignment_account - gmi_assignment_alert - gmi_assignment_check - gmi_assignment_o - gmi_assignment_return - gmi_assignment_returned - gmi_assignment - gmi_attachment_alt - gmi_attachment - gmi_audio - gmi_badge_check - gmi_balance_wallet - gmi_balance - gmi_battery_alert - gmi_battery_flash - gmi_battery_unknown - gmi_battery - gmi_bike - gmi_block_alt - gmi_block - gmi_boat - gmi_book_image - gmi_book - gmi_bookmark_outline - gmi_bookmark - gmi_brush - gmi_bug - gmi_bus - gmi_cake - gmi_car_taxi - gmi_car_wash - gmi_car - gmi_card_giftcard - gmi_card_membership - gmi_card_travel - gmi_card - gmi_case_check - gmi_case_download - gmi_case_play - gmi_case - gmi_cast_connected - gmi_cast - gmi_chart_donut - gmi_chart - gmi_city_alt - gmi_city - gmi_close_circle_o - gmi_close_circle - gmi_close - gmi_cocktail - gmi_code_setting - gmi_code_smartphone - gmi_code - gmi_coffee - gmi_collection_bookmark - gmi_collection_case_play - gmi_collection_folder_image - gmi_collection_image_o - gmi_collection_image - gmi_collection_item_1 - gmi_collection_item_2 - gmi_collection_item_3 - gmi_collection_item_4 - gmi_collection_item_5 - gmi_collection_item_6 - gmi_collection_item_7 - gmi_collection_item_8 - gmi_collection_item_9_plus - gmi_collection_item_9 - gmi_collection_item - gmi_collection_music - gmi_collection_pdf - gmi_collection_plus - gmi_collection_speaker - gmi_collection_text - gmi_collection_video - gmi_compass - gmi_cutlery - gmi_delete - gmi_dialpad - gmi_dns - gmi_drink - gmi_edit - gmi_email_open - gmi_email - gmi_eye_off - gmi_eye - gmi_eyedropper - gmi_favorite_outline - gmi_favorite - gmi_filter_list - gmi_fire - gmi_flag - gmi_flare - gmi_flash_auto - gmi_flash_off - gmi_flash - gmi_flip - gmi_flower_alt - gmi_flower - gmi_font - gmi_fullscreen_alt - gmi_fullscreen_exit - gmi_fullscreen - gmi_functions - gmi_gas_station - gmi_gesture - gmi_globe_alt - gmi_globe_lock - gmi_globe - gmi_graduation_cap - gmi_home - gmi_hospital_alt - gmi_hospital - gmi_hotel - gmi_hourglass_alt - gmi_hourglass_outline - gmi_hourglass - gmi_http - gmi_image_alt - gmi_image_o - gmi_image - gmi_inbox - gmi_invert_colors_off - gmi_invert_colors - gmi_key - gmi_label_alt_outline - gmi_label_alt - gmi_label_heart - gmi_label - gmi_labels - gmi_lamp - gmi_landscape - gmi_layers_off - gmi_layers - gmi_library - gmi_link - gmi_lock_open - gmi_lock_outline - gmi_lock - gmi_mail_reply_all - gmi_mail_reply - gmi_mail_send - gmi_mall - gmi_map - gmi_menu - gmi_money_box - gmi_money_off - gmi_money - gmi_more_vert - gmi_more - gmi_movie_alt - gmi_movie - gmi_nature_people - gmi_nature - gmi_navigation - gmi_open_in_browser - gmi_open_in_new - gmi_palette - gmi_parking - gmi_pin_account - gmi_pin_assistant - gmi_pin_drop - gmi_pin_help - gmi_pin_off - gmi_pin - gmi_pizza - gmi_plaster - gmi_power_setting - gmi_power - gmi_print - gmi_puzzle_piece - gmi_quote - gmi_railway - gmi_receipt - gmi_refresh_alt - gmi_refresh_sync_alert - gmi_refresh_sync_off - gmi_refresh_sync - gmi_refresh - gmi_roller - gmi_ruler - gmi_scissors - gmi_screen_rotation_lock - gmi_screen_rotation - gmi_search_for - gmi_search_in_file - gmi_search_in_page - gmi_search_replace - gmi_search - gmi_seat - gmi_settings_square - gmi_settings - gmi_shield_check - gmi_shield_security - gmi_shopping_basket - gmi_shopping_cart_plus - gmi_shopping_cart - gmi_sign_in - gmi_sort_amount_asc - gmi_sort_amount_desc - gmi_sort_asc - gmi_sort_desc - gmi_spellcheck - gmi_storage - gmi_store_24 - gmi_store - gmi_subway - gmi_sun - gmi_tab_unselected - gmi_tab - gmi_tag_close - gmi_tag_more - gmi_tag - gmi_thumb_down - gmi_thumb_up_down - gmi_thumb_up - gmi_ticket_star - gmi_toll - gmi_toys - gmi_traffic - gmi_translate - gmi_triangle_down - gmi_triangle_up - gmi_truck - gmi_turning_sign - gmi_wallpaper - gmi_washing_machine - gmi_window_maximize - gmi_window_minimize - gmi_window_restore - gmi_wrench - gmi_zoom_in - gmi_zoom_out - gmi_alert_circle_o - gmi_alert_circle - gmi_alert_octagon - gmi_alert_polygon - gmi_alert_triangle - gmi_help_outline - gmi_help - gmi_info_outline - gmi_info - gmi_notifications_active - gmi_notifications_add - gmi_notifications_none - gmi_notifications_off - gmi_notifications_paused - gmi_notifications - gmi_account_add - gmi_account_box_mail - gmi_account_box_o - gmi_account_box_phone - gmi_account_box - gmi_account_calendar - gmi_account_circle - gmi_account_o - gmi_account - gmi_accounts_add - gmi_accounts_alt - gmi_accounts_list_alt - gmi_accounts_list - gmi_accounts_outline - gmi_accounts - gmi_face - gmi_female - gmi_male_alt - gmi_male_female - gmi_male - gmi_mood_bad - gmi_mood - gmi_run - gmi_walk - gmi_cloud_box - gmi_cloud_circle - gmi_cloud_done - gmi_cloud_download - gmi_cloud_off - gmi_cloud_outline_alt - gmi_cloud_outline - gmi_cloud_upload - gmi_cloud - gmi_download - gmi_file_plus - gmi_file_text - gmi_file - gmi_folder_outline - gmi_folder_person - gmi_folder_star_alt - gmi_folder_star - gmi_folder - gmi_gif - gmi_upload - gmi_border_all - gmi_border_bottom - gmi_border_clear - gmi_border_color - gmi_border_horizontal - gmi_border_inner - gmi_border_left - gmi_border_outer - gmi_border_right - gmi_border_style - gmi_border_top - gmi_border_vertical - gmi_copy - gmi_crop - gmi_format_align_center - gmi_format_align_justify - gmi_format_align_left - gmi_format_align_right - gmi_format_bold - gmi_format_clear_all - gmi_format_clear - gmi_format_color_fill - gmi_format_color_reset - gmi_format_color_text - gmi_format_indent_decrease - gmi_format_indent_increase - gmi_format_italic - gmi_format_line_spacing - gmi_format_list_bulleted - gmi_format_list_numbered - gmi_format_ltr - gmi_format_rtl - gmi_format_size - gmi_format_strikethrough_s - gmi_format_strikethrough - gmi_format_subject - gmi_format_underlined - gmi_format_valign_bottom - gmi_format_valign_center - gmi_format_valign_top - gmi_redo - gmi_select_all - gmi_space_bar - gmi_text_format - gmi_transform - gmi_undo - gmi_wrap_text - gmi_comment_alert - gmi_comment_alt_text - gmi_comment_alt - gmi_comment_edit - gmi_comment_image - gmi_comment_list - gmi_comment_more - gmi_comment_outline - gmi_comment_text_alt - gmi_comment_text - gmi_comment_video - gmi_comment - gmi_comments - gmi_check_all - gmi_check_circle_u - gmi_check_circle - gmi_check_square - gmi_check - gmi_circle_o - gmi_circle - gmi_dot_circle_alt - gmi_dot_circle - gmi_minus_circle_outline - gmi_minus_circle - gmi_minus_square - gmi_minus - gmi_plus_circle_o_duplicate - gmi_plus_circle_o - gmi_plus_circle - gmi_plus_square - gmi_plus - gmi_square_o - gmi_star_circle - gmi_star_half - gmi_star_outline - gmi_star - gmi_bluetooth_connected - gmi_bluetooth_off - gmi_bluetooth_search - gmi_bluetooth_setting - gmi_bluetooth - gmi_camera_add - gmi_camera_alt - gmi_camera_bw - gmi_camera_front - gmi_camera_mic - gmi_camera_party_mode - gmi_camera_rear - gmi_camera_roll - gmi_camera_switch - gmi_camera - gmi_card_alert - gmi_card_off - gmi_card_sd - gmi_card_sim - gmi_desktop_mac - gmi_desktop_windows - gmi_device_hub - gmi_devices_off - gmi_devices - gmi_dock - gmi_floppy - gmi_gamepad - gmi_gps_dot - gmi_gps_off - gmi_gps - gmi_headset_mic - gmi_headset - gmi_input_antenna - gmi_input_composite - gmi_input_hdmi - gmi_input_power - gmi_input_svideo - gmi_keyboard_hide - gmi_keyboard - gmi_laptop_chromebook - gmi_laptop_mac - gmi_laptop - gmi_mic_off - gmi_mic_outline - gmi_mic_setting - gmi_mic - gmi_mouse - gmi_network_alert - gmi_network_locked - gmi_network_off - gmi_network_outline - gmi_network_setting - gmi_network - gmi_phone_bluetooth - gmi_phone_end - gmi_phone_forwarded - gmi_phone_in_talk - gmi_phone_locked - gmi_phone_missed - gmi_phone_msg - gmi_phone_paused - gmi_phone_ring - gmi_phone_setting - gmi_phone_sip - gmi_phone - gmi_portable_wifi_changes - gmi_portable_wifi_off - gmi_portable_wifi - gmi_radio - gmi_reader - gmi_remote_control_alt - gmi_remote_control - gmi_router - gmi_scanner - gmi_smartphone_android - gmi_smartphone_download - gmi_smartphone_erase - gmi_smartphone_info - gmi_smartphone_iphone - gmi_smartphone_landscape_lock - gmi_smartphone_landscape - gmi_smartphone_lock - gmi_smartphone_portrait_lock - gmi_smartphone_ring - gmi_smartphone_setting - gmi_smartphone_setup - gmi_smartphone - gmi_speaker - gmi_tablet_android - gmi_tablet_mac - gmi_tablet - gmi_tv_alt_play - gmi_tv_list - gmi_tv_play - gmi_tv - gmi_usb - gmi_videocam_off - gmi_videocam_switch - gmi_videocam - gmi_watch - gmi_wifi_alt_2 - gmi_wifi_alt - gmi_wifi_info - gmi_wifi_lock - gmi_wifi_off - gmi_wifi_outline - gmi_wifi - gmi_arrow_left_bottom - gmi_arrow_left - gmi_arrow_merge - gmi_arrow_missed - gmi_arrow_right_top - gmi_arrow_right - gmi_arrow_split - gmi_arrows - gmi_caret_down_circle - gmi_caret_down - gmi_caret_left_circle - gmi_caret_left - gmi_caret_right_circle - gmi_caret_right - gmi_caret_up_circle - gmi_caret_up - gmi_chevron_down - gmi_chevron_left - gmi_chevron_right - gmi_chevron_up - gmi_forward - gmi_long_arrow_down - gmi_long_arrow_left - gmi_long_arrow_return - gmi_long_arrow_right - gmi_long_arrow_tab - gmi_long_arrow_up - gmi_rotate_ccw - gmi_rotate_cw - gmi_rotate_left - gmi_rotate_right - gmi_square_down - gmi_square_right - gmi_swap_alt - gmi_swap_vertical_circle - gmi_swap_vertical - gmi_swap - gmi_trending_down - gmi_trending_flat - gmi_trending_up - gmi_unfold_less - gmi_unfold_more - gmi_apps - gmi_grid_off - gmi_grid - gmi_view_agenda - gmi_view_array - gmi_view_carousel - gmi_view_column - gmi_view_comfy - gmi_view_compact - gmi_view_dashboard - gmi_view_day - gmi_view_headline - gmi_view_list_alt - gmi_view_list - gmi_view_module - gmi_view_quilt - gmi_view_stream - gmi_view_subtitles - gmi_view_toc - gmi_view_web - gmi_view_week - gmi_widgets - gmi_alarm_check - gmi_alarm_off - gmi_alarm_plus - gmi_alarm_snooze - gmi_alarm - gmi_calendar_alt - gmi_calendar_check - gmi_calendar_close - gmi_calendar_note - gmi_calendar - gmi_time_countdown - gmi_time_interval - gmi_time_restore_setting - gmi_time_restore - gmi_time - gmi_timer_off - gmi_timer - gmi_android_alt - gmi_android - gmi_apple - gmi_behance - gmi_codepen - gmi_dribbble - gmi_dropbox - gmi_evernote - gmi_facebook_box - gmi_facebook - gmi_github_box - gmi_github - gmi_google_drive - gmi_google_earth - gmi_google_glass - gmi_google_maps - gmi_google_pages - gmi_google_play - gmi_google_plus_box - gmi_google_plus - gmi_google - gmi_instagram - gmi_language_css3 - gmi_language_html5 - gmi_language_javascript - gmi_language_python_alt - gmi_language_python - gmi_lastfm - gmi_linkedin_box - gmi_paypal - gmi_pinterest_box - gmi_pocket - gmi_polymer - gmi_share - gmi_stackoverflow - gmi_steam_square - gmi_steam - gmi_twitter_box - gmi_twitter - gmi_vk - gmi_wikipedia - gmi_windows - gmi_aspect_ratio_alt - gmi_aspect_ratio - gmi_blur_circular - gmi_blur_linear - gmi_blur_off - gmi_blur - gmi_brightness_2 - gmi_brightness_3 - gmi_brightness_4 - gmi_brightness_5 - gmi_brightness_6 - gmi_brightness_7 - gmi_brightness_auto - gmi_brightness_setting - gmi_broken_image - gmi_center_focus_strong - gmi_center_focus_weak - gmi_compare - gmi_crop_16_9 - gmi_crop_3_2 - gmi_crop_5_4 - gmi_crop_7_5 - gmi_crop_din - gmi_crop_free - gmi_crop_landscape - gmi_crop_portrait - gmi_crop_square - gmi_exposure_alt - gmi_exposure - gmi_filter_b_and_w - gmi_filter_center_focus - gmi_filter_frames - gmi_filter_tilt_shift - gmi_gradient - gmi_grain - gmi_graphic_eq - gmi_hdr_off - gmi_hdr_strong - gmi_hdr_weak - gmi_hdr - gmi_iridescent - gmi_leak_off - gmi_leak - gmi_looks - gmi_loupe - gmi_panorama_horizontal - gmi_panorama_vertical - gmi_panorama_wide_angle - gmi_photo_size_select_large - gmi_photo_size_select_small - gmi_picture_in_picture - gmi_slideshow - gmi_texture - gmi_tonality - gmi_vignette - gmi_wb_auto - gmi_eject_alt - gmi_eject - gmi_equalizer - gmi_fast_forward - gmi_fast_rewind - gmi_forward_10 - gmi_forward_30 - gmi_forward_5 - gmi_hearing - gmi_pause_circle_outline - gmi_pause_circle - gmi_pause - gmi_play_circle_outline - gmi_play_circle - gmi_play - gmi_playlist_audio - gmi_playlist_plus - gmi_repeat_one - gmi_repeat - gmi_replay_10 - gmi_replay_30 - gmi_replay_5 - gmi_replay - gmi_shuffle - gmi_skip_next - gmi_skip_previous - gmi_stop - gmi_surround_sound - gmi_tune - gmi_volume_down - gmi_volume_mute - gmi_volume_off - gmi_volume_up - gmi_n_1_square - gmi_n_2_square - gmi_n_3_square - gmi_n_4_square - gmi_n_5_square - gmi_n_6_square - gmi_neg_1 - gmi_neg_2 - gmi_plus_1 - gmi_plus_2 - gmi_sec_10 - gmi_sec_3 - gmi_zero - gmi_airline_seat_flat_angled - gmi_airline_seat_flat - gmi_airline_seat_individual_suite - gmi_airline_seat_legroom_extra - gmi_airline_seat_legroom_normal - gmi_airline_seat_legroom_reduced - gmi_airline_seat_recline_extra - gmi_airline_seat_recline_normal - gmi_airplay - gmi_closed_caption - gmi_confirmation_number - gmi_developer_board - gmi_disc_full - gmi_explicit - gmi_flight_land - gmi_flight_takeoff - gmi_flip_to_back - gmi_flip_to_front - gmi_group_work - gmi_hd - gmi_hq - gmi_markunread_mailbox - gmi_memory - gmi_nfc - gmi_play_for_work - gmi_power_input - gmi_present_to_all - gmi_satellite - gmi_tap_and_play - gmi_vibration - gmi_voicemail - gmi_group - gmi_rss - gmi_shape - gmi_spinner - gmi_ungroup - gmi_500px - gmi_8tracks - gmi_amazon - gmi_blogger - gmi_delicious - gmi_disqus - gmi_flattr - gmi_flickr - gmi_github_alt - gmi_google_old - gmi_linkedin - gmi_odnoklassniki - gmi_outlook - gmi_paypal_alt - gmi_pinterest - gmi_playstation - gmi_reddit - gmi_skype - gmi_slideshare - gmi_soundcloud - gmi_tumblr - gmi_twitch - gmi_vimeo - gmi_whatsapp - gmi_xbox - gmi_yahoo - gmi_youtube_play - gmi_youtube - gmi_import_export - gmi_swap_vertical_ - gmi_airplanemode_inactive - gmi_airplanemode_active - gmi_rate_review - gmi_comment_sign - gmi_network_warning - gmi_shopping_cart_add - gmi_file_add - gmi_network_wifi_scan - gmi_collection_add - gmi_format_playlist_add - gmi_format_queue_music - gmi_plus_box - gmi_tag_backspace - gmi_alarm_add - gmi_battery_charging - gmi_daydream_setting - gmi_more_horiz - gmi_book_photo - gmi_incandescent - gmi_wb_iridescent - gmi_calendar_remove - gmi_refresh_sync_disabled - gmi_refresh_sync_problem - gmi_crop_original - gmi_power_off - gmi_power_off_setting - gmi_leak_remove - gmi_star_border - gmi_brightness_low - gmi_brightness_medium - gmi_brightness_high - gmi_smartphone_portrait - gmi_live_tv - gmi_format_textdirection_l_to_r - gmi_format_textdirection_r_to_l - gmi_arrow_back - gmi_arrow_forward - gmi_arrow_in - gmi_arrow_out - gmi_rotate_90_degrees_ccw - gmi_adb - gmi_network_wifi - gmi_network_wifi_alt - gmi_network_wifi_lock - gmi_network_wifi_off - gmi_network_wifi_outline - gmi_network_wifi_info - gmi_layers_clear - gmi_colorize - gmi_format_paint - gmi_format_quote - gmi_camera_monochrome_photos - gmi_sort_by_alpha - gmi_folder_shared - gmi_folder_special - gmi_comment_dots - gmi_reorder - gmi_dehaze - gmi_sort - gmi_pages - gmi_stack_overflow - gmi_calendar_account - gmi_paste - gmi_cut - gmi_save - gmi_smartphone_code - gmi_directions_bike - gmi_directions_boat - gmi_directions_bus - gmi_directions_car - gmi_directions_railway - gmi_directions_run - gmi_directions_subway - gmi_directions_walk - gmi_local_hotel - gmi_local_activity - gmi_local_play - gmi_local_airport - gmi_local_atm - gmi_local_bar - gmi_local_cafe - gmi_local_car_wash - gmi_local_convenience_store - gmi_local_dining - gmi_local_drink - gmi_local_florist - gmi_local_gas_station - gmi_local_grocery_store - gmi_local_hospital - gmi_local_laundry_service - gmi_local_library - gmi_local_mall - gmi_local_movies - gmi_local_offer - gmi_local_parking - gmi_local_pharmacy - gmi_local_phone - gmi_local_pizza - gmi_local_post_office - gmi_local_printshop - gmi_local_see - gmi_local_shipping - gmi_local_store - gmi_local_taxi - gmi_local_wc - gmi_my_location - gmi_directions - diff --git a/FONT_IDS/_current_meteocons_v1.1.1.xml b/FONT_IDS/_current_meteocons_v1.1.1.xml deleted file mode 100644 index 5c52080a..00000000 --- a/FONT_IDS/_current_meteocons_v1.1.1.xml +++ /dev/null @@ -1,49 +0,0 @@ - - met_windy_rain_inv - met_snow_inv - met_snow_heavy_inv - met_hail_inv - met_clouds_inv - met_clouds_flash_inv - met_temperature - met_compass - met_na - met_celcius - met_fahrenheit - met_clouds_flash_alt - met_sun_inv - met_moon_inv - met_cloud_sun_inv - met_cloud_moon_inv - met_cloud_inv - met_cloud_flash_inv - met_drizzle_inv - met_rain_inv - met_windy_inv - met_sunrise - met_sun - met_moon - met_eclipse - met_mist - met_wind - met_snowflake - met_cloud_sun - met_cloud_moon - met_fog_sun - met_fog_moon - met_fog_cloud - met_fog - met_cloud - met_cloud_flash - met_cloud_flash_alt - met_drizzle - met_rain - met_windy - met_windy_rain - met_snow - met_snow_alt - met_snow_heavy - met_hail - met_clouds - met_clouds_flash - diff --git a/FONT_IDS/_current_octicons_v3.2.0.xml b/FONT_IDS/_current_octicons_v3.2.0.xml deleted file mode 100644 index b81469ed..00000000 --- a/FONT_IDS/_current_octicons_v3.2.0.xml +++ /dev/null @@ -1,195 +0,0 @@ - - oct_alert - oct_arrow_down - oct_arrow_left - oct_arrow_right - oct_arrow_small_down - oct_arrow_small_left - oct_arrow_small_right - oct_arrow_small_up - oct_arrow_up - oct_microscope - oct_beaker - oct_bell - oct_bold - oct_book - oct_bookmark - oct_briefcase - oct_broadcast - oct_browser - oct_bug - oct_calendar - oct_check - oct_checklist - oct_chevron_down - oct_chevron_left - oct_chevron_right - oct_chevron_up - oct_circle_slash - oct_circuit_board - oct_clippy - oct_clock - oct_cloud_download - oct_cloud_upload - oct_code - oct_color_mode - oct_comment_add - oct_comment - oct_comment_discussion - oct_credit_card - oct_dash - oct_dashboard - oct_database - oct_clone - oct_desktop_download - oct_device_camera - oct_device_camera_video - oct_device_desktop - oct_device_mobile - oct_diff - oct_diff_added - oct_diff_ignored - oct_diff_modified - oct_diff_removed - oct_diff_renamed - oct_ellipsis - oct_eye_unwatch - oct_eye_watch - oct_eye - oct_file_binary - oct_file_code - oct_file_directory - oct_file_media - oct_file_pdf - oct_file_submodule - oct_file_symlink_directory - oct_file_symlink_file - oct_file_text - oct_file_zip - oct_flame - oct_fold - oct_gear - oct_gift - oct_gist - oct_gist_secret - oct_git_branch_create - oct_git_branch_delete - oct_git_branch - oct_git_commit - oct_git_compare - oct_git_merge - oct_git_pull_request_abandoned - oct_git_pull_request - oct_globe - oct_graph - oct_heart - oct_history - oct_home - oct_horizontal_rule - oct_hubot - oct_inbox - oct_info - oct_issue_closed - oct_issue_opened - oct_issue_reopened - oct_italic - oct_jersey - oct_key - oct_keyboard - oct_law - oct_light_bulb - oct_link - oct_link_external - oct_list_ordered - oct_list_unordered - oct_location - oct_gist_private - oct_mirror_private - oct_git_fork_private - oct_lock - oct_logo_github - oct_mail - oct_mail_read - oct_mail_reply - oct_mark_github - oct_markdown - oct_megaphone - oct_mention - oct_milestone - oct_mirror_public - oct_mirror - oct_mortar_board - oct_mute - oct_no_newline - oct_octoface - oct_organization - oct_package - oct_paintcan - oct_pencil - oct_person_add - oct_person_follow - oct_person - oct_pin - oct_plug - oct_repo_create - oct_gist_new - oct_file_directory_create - oct_file_add - oct_plus - oct_primitive_dot - oct_primitive_square - oct_pulse - oct_question - oct_quote - oct_radio_tower - oct_repo_delete - oct_repo - oct_repo_clone - oct_repo_force_push - oct_gist_fork - oct_repo_forked - oct_repo_pull - oct_repo_push - oct_rocket - oct_rss - oct_ruby - oct_search_save - oct_search - oct_server - oct_settings - oct_shield - oct_log_in - oct_sign_in - oct_log_out - oct_sign_out - oct_squirrel - oct_star_add - oct_star_delete - oct_star - oct_stop - oct_repo_sync - oct_sync - oct_tag_remove - oct_tag_add - oct_tag - oct_tasklist - oct_telescope - oct_terminal - oct_text_size - oct_three_bars - oct_thumbsdown - oct_thumbsup - oct_tools - oct_trashcan - oct_triangle_down - oct_triangle_left - oct_triangle_right - oct_triangle_up - oct_unfold - oct_unmute - oct_versions - oct_watch - oct_remove_close - oct_x - oct_zap - diff --git a/FONT_IDS/_current_pixeden7_stroke_v1.2.0.0.xml b/FONT_IDS/_current_pixeden7_stroke_v1.2.0.0.xml deleted file mode 100644 index 38f40408..00000000 --- a/FONT_IDS/_current_pixeden7_stroke_v1.2.0.0.xml +++ /dev/null @@ -1,204 +0,0 @@ - - pe7_7s_album - pe7_7s_arc - pe7_7s_back_2 - pe7_7s_bandaid - pe7_7s_car - pe7_7s_diamond - pe7_7s_door_lock - pe7_7s_eyedropper - pe7_7s_female - pe7_7s_gym - pe7_7s_hammer - pe7_7s_headphones - pe7_7s_helm - pe7_7s_hourglass - pe7_7s_leaf - pe7_7s_magic_wand - pe7_7s_male - pe7_7s_map_2 - pe7_7s_next_2 - pe7_7s_paint_bucket - pe7_7s_pendrive - pe7_7s_photo - pe7_7s_piggy - pe7_7s_plugin - pe7_7s_refresh_2 - pe7_7s_rocket - pe7_7s_settings - pe7_7s_shield - pe7_7s_smile - pe7_7s_usb - pe7_7s_vector - pe7_7s_wine - pe7_7s_cloud_upload - pe7_7s_cash - pe7_7s_close - pe7_7s_bluetooth - pe7_7s_cloud_download - pe7_7s_way - pe7_7s_close_circle - pe7_7s_id - pe7_7s_angle_up - pe7_7s_wristwatch - pe7_7s_angle_up_circle - pe7_7s_world - pe7_7s_angle_right - pe7_7s_volume - pe7_7s_angle_right_circle - pe7_7s_users - pe7_7s_angle_left - pe7_7s_user_female - pe7_7s_angle_left_circle - pe7_7s_up_arrow - pe7_7s_angle_down - pe7_7s_switch - pe7_7s_angle_down_circle - pe7_7s_scissors - pe7_7s_wallet - pe7_7s_safe - pe7_7s_volume2 - pe7_7s_volume1 - pe7_7s_voicemail - pe7_7s_video - pe7_7s_user - pe7_7s_upload - pe7_7s_unlock - pe7_7s_umbrella - pe7_7s_trash - pe7_7s_tools - pe7_7s_timer - pe7_7s_ticket - pe7_7s_target - pe7_7s_sun - pe7_7s_study - pe7_7s_stopwatch - pe7_7s_star - pe7_7s_speaker - pe7_7s_signal - pe7_7s_shuffle - pe7_7s_shopbag - pe7_7s_share - pe7_7s_server - pe7_7s_search - pe7_7s_film - pe7_7s_science - pe7_7s_disk - pe7_7s_ribbon - pe7_7s_repeat - pe7_7s_refresh - pe7_7s_add_user - pe7_7s_refresh_cloud - pe7_7s_paperclip - pe7_7s_radio - pe7_7s_note2 - pe7_7s_print - pe7_7s_network - pe7_7s_prev - pe7_7s_mute - pe7_7s_power - pe7_7s_medal - pe7_7s_portfolio - pe7_7s_like2 - pe7_7s_plus - pe7_7s_left_arrow - pe7_7s_play - pe7_7s_key - pe7_7s_plane - pe7_7s_joy - pe7_7s_photo_gallery - pe7_7s_pin - pe7_7s_phone - pe7_7s_plug - pe7_7s_pen - pe7_7s_right_arrow - pe7_7s_paper_plane - pe7_7s_delete_user - pe7_7s_paint - pe7_7s_bottom_arrow - pe7_7s_notebook - pe7_7s_note - pe7_7s_next - pe7_7s_news_paper - pe7_7s_musiclist - pe7_7s_music - pe7_7s_mouse - pe7_7s_more - pe7_7s_moon - pe7_7s_monitor - pe7_7s_micro - pe7_7s_menu - pe7_7s_map - pe7_7s_map_marker - pe7_7s_mail - pe7_7s_mail_open - pe7_7s_mail_open_file - pe7_7s_magnet - pe7_7s_loop - pe7_7s_look - pe7_7s_lock - pe7_7s_lintern - pe7_7s_link - pe7_7s_like - pe7_7s_light - pe7_7s_less - pe7_7s_keypad - pe7_7s_junk - pe7_7s_info - pe7_7s_home - pe7_7s_help2 - pe7_7s_help1 - pe7_7s_graph3 - pe7_7s_graph2 - pe7_7s_graph1 - pe7_7s_graph - pe7_7s_global - pe7_7s_gleam - pe7_7s_glasses - pe7_7s_gift - pe7_7s_folder - pe7_7s_flag - pe7_7s_filter - pe7_7s_file - pe7_7s_expand1 - pe7_7s_exapnd2 - pe7_7s_edit - pe7_7s_drop - pe7_7s_drawer - pe7_7s_download - pe7_7s_display2 - pe7_7s_display1 - pe7_7s_diskette - pe7_7s_date - pe7_7s_cup - pe7_7s_culture - pe7_7s_crop - pe7_7s_credit - pe7_7s_copy_file - pe7_7s_config - pe7_7s_compass - pe7_7s_comment - pe7_7s_coffee - pe7_7s_cloud - pe7_7s_clock - pe7_7s_check - pe7_7s_chat - pe7_7s_cart - pe7_7s_camera - pe7_7s_call - pe7_7s_calculator - pe7_7s_browser - pe7_7s_box2 - pe7_7s_box1 - pe7_7s_bookmarks - pe7_7s_bicycle - pe7_7s_bell - pe7_7s_battery - pe7_7s_ball - pe7_7s_back - pe7_7s_attention - pe7_7s_anchor - pe7_7s_albums - pe7_7s_alarm - pe7_7s_airplay - diff --git a/FONT_IDS/_current_typeicons_v2.0.7.1.xml b/FONT_IDS/_current_typeicons_v2.0.7.1.xml deleted file mode 100644 index ad414cdc..00000000 --- a/FONT_IDS/_current_typeicons_v2.0.7.1.xml +++ /dev/null @@ -1,338 +0,0 @@ - - typ_adjust_brightness - typ_adjust_contrast - typ_anchor_outline - typ_anchor - typ_archive - typ_arrow_back_outline - typ_arrow_back - typ_arrow_down_outline - typ_arrow_down_thick - typ_arrow_down - typ_arrow_forward_outline - typ_arrow_forward - typ_arrow_left_outline - typ_arrow_left_thick - typ_arrow_left - typ_arrow_loop_outline - typ_arrow_loop - typ_arrow_maximise_outline - typ_arrow_maximise - typ_arrow_minimise_outline - typ_arrow_minimise - typ_arrow_move_outline - typ_arrow_move - typ_arrow_repeat_outline - typ_arrow_repeat - typ_arrow_right_outline - typ_arrow_right_thick - typ_arrow_right - typ_arrow_shuffle - typ_arrow_sorted_down - typ_arrow_sorted_up - typ_arrow_sync_outline - typ_arrow_sync - typ_arrow_unsorted - typ_arrow_up_outline - typ_arrow_up_thick - typ_arrow_up - typ_at - typ_attachment_outline - typ_attachment - typ_backspace_outline - typ_backspace - typ_battery_charge - typ_battery_full - typ_battery_high - typ_battery_low - typ_battery_mid - typ_beaker - typ_beer - typ_bell - typ_book - typ_bookmark - typ_briefcase - typ_brush - typ_business_card - typ_calculator - typ_calendar_outline - typ_calendar - typ_camera_outline - typ_camera - typ_cancel_outline - typ_cancel - typ_chart_area_outline - typ_chart_area - typ_chart_bar_outline - typ_chart_bar - typ_chart_line_outline - typ_chart_line - typ_chart_pie_outline - typ_chart_pie - typ_chevron_left_outline - typ_chevron_left - typ_chevron_right_outline - typ_chevron_right - typ_clipboard - typ_cloud_storage - typ_cloud_storage_outline - typ_code_outline - typ_code - typ_coffee - typ_cog_outline - typ_cog - typ_compass - typ_contacts - typ_credit_card - typ_css3 - typ_database - typ_delete_outline - typ_delete - typ_device_desktop - typ_device_laptop - typ_device_phone - typ_device_tablet - typ_directions - typ_divide_outline - typ_divide - typ_document_add - typ_document_delete - typ_document_text - typ_document - typ_download_outline - typ_download - typ_dropbox - typ_edit - typ_eject_outline - typ_eject - typ_equals_outline - typ_equals - typ_export_outline - typ_export - typ_eye_outline - typ_eye - typ_feather - typ_film - typ_filter - typ_flag_outline - typ_flag - typ_flash_outline - typ_flash - typ_flow_children - typ_flow_merge - typ_flow_parallel - typ_flow_switch - typ_folder_add - typ_folder_delete - typ_folder_open - typ_folder - typ_gift - typ_globe_outline - typ_globe - typ_group_outline - typ_group - typ_headphones - typ_heart_full_outline - typ_heart_half_outline - typ_heart_outline - typ_heart - typ_home_outline - typ_home - typ_html5 - typ_image_outline - typ_image - typ_infinity_outline - typ_infinity - typ_info_large_outline - typ_info_large - typ_info_outline - typ_info - typ_input_checked_outline - typ_input_checked - typ_key_outline - typ_key - typ_keyboard - typ_leaf - typ_lightbulb - typ_link_outline - typ_link - typ_location_arrow_outline - typ_location_arrow - typ_location_outline - typ_location - typ_lock_closed_outline - typ_lock_closed - typ_lock_open_outline - typ_lock_open - typ_mail - typ_map - typ_media_eject_outline - typ_media_eject - typ_media_fast_forward_outline - typ_media_fast_forward - typ_media_pause_outline - typ_media_pause - typ_media_play_outline - typ_media_play_reverse_outline - typ_media_play_reverse - typ_media_play - typ_media_record_outline - typ_media_record - typ_media_rewind_outline - typ_media_rewind - typ_media_stop_outline - typ_media_stop - typ_message_typing - typ_message - typ_messages - typ_microphone_outline - typ_microphone - typ_minus_outline - typ_minus - typ_mortar_board - typ_news - typ_notes_outline - typ_notes - typ_pen - typ_pencil - typ_phone_outline - typ_phone - typ_pi_outline - typ_pi - typ_pin_outline - typ_pin - typ_pipette - typ_plane_outline - typ_plane - typ_plug - typ_plus_outline - typ_plus - typ_point_of_interest_outline - typ_point_of_interest - typ_power_outline - typ_power - typ_printer - typ_puzzle_outline - typ_puzzle - typ_radar_outline - typ_radar - typ_refresh_outline - typ_refresh - typ_rss_outline - typ_rss - typ_scissors_outline - typ_scissors - typ_shopping_bag - typ_shopping_cart - typ_social_at_circular - typ_social_dribbble_circular - typ_social_dribbble - typ_social_facebook_circular - typ_social_facebook - typ_social_flickr_circular - typ_social_flickr - typ_social_github_circular - typ_social_github - typ_social_google_plus_circular - typ_social_google_plus - typ_social_instagram_circular - typ_social_instagram - typ_social_last_fm_circular - typ_social_last_fm - typ_social_linkedin_circular - typ_social_linkedin - typ_social_pinterest_circular - typ_social_pinterest - typ_social_skype_outline - typ_social_skype - typ_social_tumbler_circular - typ_social_tumbler - typ_social_twitter_circular - typ_social_twitter - typ_social_vimeo_circular - typ_social_vimeo - typ_social_youtube_circular - typ_social_youtube - typ_sort_alphabetically_outline - typ_sort_alphabetically - typ_sort_numerically_outline - typ_sort_numerically - typ_spanner_outline - typ_spanner - typ_spiral - typ_star_full_outline - typ_star_half_outline - typ_star_half - typ_star_outline - typ_star - typ_starburst_outline - typ_starburst - typ_stopwatch - typ_support - typ_tabs_outline - typ_tag - typ_tags - typ_th_large_outline - typ_th_large - typ_th_list_outline - typ_th_list - typ_th_menu_outline - typ_th_menu - typ_th_small_outline - typ_th_small - typ_thermometer - typ_thumbs_down - typ_thumbs_ok - typ_thumbs_up - typ_tick_outline - typ_tick - typ_ticket - typ_time - typ_times_outline - typ_times - typ_trash - typ_tree - typ_upload_outline - typ_upload - typ_user_add_outline - typ_user_add - typ_user_delete_outline - typ_user_delete - typ_user_outline - typ_user - typ_vendor_android - typ_vendor_apple - typ_vendor_microsoft - typ_video_outline - typ_video - typ_volume_down - typ_volume_mute - typ_volume_up - typ_volume - typ_warning_outline - typ_warning - typ_watch - typ_waves_outline - typ_waves - typ_weather_cloudy - typ_weather_downpour - typ_weather_night - typ_weather_partly_sunny - typ_weather_shower - typ_weather_snow - typ_weather_stormy - typ_weather_sunny - typ_weather_windy_cloudy - typ_weather_windy - typ_wi_fi_outline - typ_wi_fi - typ_wine - typ_world_outline - typ_world - typ_zoom_in_outline - typ_zoom_in - typ_zoom_out_outline - typ_zoom_out - typ_zoom_outline - typ_zoom - diff --git a/FONT_IDS/_current_weather_icons_v2.0.10.xml b/FONT_IDS/_current_weather_icons_v2.0.10.xml deleted file mode 100644 index 6f322f5f..00000000 --- a/FONT_IDS/_current_weather_icons_v2.0.10.xml +++ /dev/null @@ -1,592 +0,0 @@ - - wic_day_sunny - wic_day_cloudy - wic_day_cloudy_gusts - wic_day_cloudy_windy - wic_day_fog - wic_day_hail - wic_day_haze - wic_day_lightning - wic_day_rain - wic_day_rain_mix - wic_day_rain_wind - wic_day_showers - wic_day_sleet - wic_day_sleet_storm - wic_day_snow - wic_day_snow_thunderstorm - wic_day_snow_wind - wic_day_sprinkle - wic_day_storm_showers - wic_day_sunny_overcast - wic_day_thunderstorm - wic_day_windy - wic_solar_eclipse - wic_hot - wic_day_cloudy_high - wic_day_light_wind - wic_night_clear - wic_night_alt_cloudy - wic_night_alt_cloudy_gusts - wic_night_alt_cloudy_windy - wic_night_alt_hail - wic_night_alt_lightning - wic_night_alt_rain - wic_night_alt_rain_mix - wic_night_alt_rain_wind - wic_night_alt_showers - wic_night_alt_sleet - wic_night_alt_sleet_storm - wic_night_alt_snow - wic_night_alt_snow_thunderstorm - wic_night_alt_snow_wind - wic_night_alt_sprinkle - wic_night_alt_storm_showers - wic_night_alt_thunderstorm - wic_night_cloudy - wic_night_cloudy_gusts - wic_night_cloudy_windy - wic_night_fog - wic_night_hail - wic_night_lightning - wic_night_partly_cloudy - wic_night_rain - wic_night_rain_mix - wic_night_rain_wind - wic_night_showers - wic_night_sleet - wic_night_sleet_storm - wic_night_snow - wic_night_snow_thunderstorm - wic_night_snow_wind - wic_night_sprinkle - wic_night_storm_showers - wic_night_thunderstorm - wic_lunar_eclipse - wic_stars - wic_night_alt_cloudy_high - wic_night_cloudy_high - wic_night_alt_partly_cloudy - wic_cloud - wic_cloudy - wic_cloudy_gusts - wic_cloudy_windy - wic_fog - wic_hail - wic_rain - wic_rain_mix - wic_rain_wind - wic_showers - wic_sleet - wic_sprinkle - wic_storm_showers - wic_thunderstorm - wic_snow_wind - wic_snow - wic_smog - wic_smoke - wic_lightning - wic_raindrops - wic_raindrop - wic_dust - wic_snowflake_cold - wic_windy - wic_strong_wind - wic_sandstorm - wic_earthquake - wic_fire - wic_flood - wic_meteor - wic_tsunami - wic_volcano - wic_hurricane - wic_tornado - wic_small_craft_advisory - wic_gale_warning - wic_storm_warning - wic_hurricane_warning - wic_wind_direction - wic_alien - wic_celsius - wic_fahrenheit - wic_degrees - wic_thermometer - wic_thermometer_exterior - wic_thermometer_internal - wic_cloud_down - wic_cloud_up - wic_cloud_refresh - wic_horizon - wic_horizon_alt - wic_sunrise - wic_sunset - wic_moonrise - wic_moonset - wic_refresh - wic_refresh_alt - wic_umbrella - wic_barometer - wic_humidity - wic_na - wic_train - wic_moon_new - wic_moon_waxing_crescent_1 - wic_moon_waxing_crescent_2 - wic_moon_waxing_crescent_3 - wic_moon_waxing_crescent_4 - wic_moon_waxing_crescent_5 - wic_moon_waxing_crescent_6 - wic_moon_first_quarter - wic_moon_waxing_gibbous_1 - wic_moon_waxing_gibbous_2 - wic_moon_waxing_gibbous_3 - wic_moon_waxing_gibbous_4 - wic_moon_waxing_gibbous_5 - wic_moon_waxing_gibbous_6 - wic_moon_full - wic_moon_waning_gibbous_1 - wic_moon_waning_gibbous_2 - wic_moon_waning_gibbous_3 - wic_moon_waning_gibbous_4 - wic_moon_waning_gibbous_5 - wic_moon_waning_gibbous_6 - wic_moon_third_quarter - wic_moon_waning_crescent_1 - wic_moon_waning_crescent_2 - wic_moon_waning_crescent_3 - wic_moon_waning_crescent_4 - wic_moon_waning_crescent_5 - wic_moon_waning_crescent_6 - wic_moon_alt_new - wic_moon_alt_waxing_crescent_1 - wic_moon_alt_waxing_crescent_2 - wic_moon_alt_waxing_crescent_3 - wic_moon_alt_waxing_crescent_4 - wic_moon_alt_waxing_crescent_5 - wic_moon_alt_waxing_crescent_6 - wic_moon_alt_first_quarter - wic_moon_alt_waxing_gibbous_1 - wic_moon_alt_waxing_gibbous_2 - wic_moon_alt_waxing_gibbous_3 - wic_moon_alt_waxing_gibbous_4 - wic_moon_alt_waxing_gibbous_5 - wic_moon_alt_waxing_gibbous_6 - wic_moon_alt_full - wic_moon_alt_waning_gibbous_1 - wic_moon_alt_waning_gibbous_2 - wic_moon_alt_waning_gibbous_3 - wic_moon_alt_waning_gibbous_4 - wic_moon_alt_waning_gibbous_5 - wic_moon_alt_waning_gibbous_6 - wic_moon_alt_third_quarter - wic_moon_alt_waning_crescent_1 - wic_moon_alt_waning_crescent_2 - wic_moon_alt_waning_crescent_3 - wic_moon_alt_waning_crescent_4 - wic_moon_alt_waning_crescent_5 - wic_moon_alt_waning_crescent_6 - wic_moon_0 - wic_moon_1 - wic_moon_2 - wic_moon_3 - wic_moon_4 - wic_moon_5 - wic_moon_6 - wic_moon_7 - wic_moon_8 - wic_moon_9 - wic_moon_10 - wic_moon_11 - wic_moon_12 - wic_moon_13 - wic_moon_14 - wic_moon_15 - wic_moon_16 - wic_moon_17 - wic_moon_18 - wic_moon_19 - wic_moon_20 - wic_moon_21 - wic_moon_22 - wic_moon_23 - wic_moon_24 - wic_moon_25 - wic_moon_26 - wic_moon_27 - wic_time_1 - wic_time_2 - wic_time_3 - wic_time_4 - wic_time_5 - wic_time_6 - wic_time_7 - wic_time_8 - wic_time_9 - wic_time_10 - wic_time_11 - wic_time_12 - wic_direction_up - wic_direction_up_right - wic_direction_right - wic_direction_down_right - wic_direction_down - wic_direction_down_left - wic_direction_left - wic_direction_up_left - wic_wind_beaufort_0 - wic_wind_beaufort_1 - wic_wind_beaufort_2 - wic_wind_beaufort_3 - wic_wind_beaufort_4 - wic_wind_beaufort_5 - wic_wind_beaufort_6 - wic_wind_beaufort_7 - wic_wind_beaufort_8 - wic_wind_beaufort_9 - wic_wind_beaufort_10 - wic_wind_beaufort_11 - wic_wind_beaufort_12 - wic_yahoo_0 - wic_yahoo_1 - wic_yahoo_2 - wic_yahoo_3 - wic_yahoo_4 - wic_yahoo_5 - wic_yahoo_6 - wic_yahoo_7 - wic_yahoo_8 - wic_yahoo_9 - wic_yahoo_10 - wic_yahoo_11 - wic_yahoo_12 - wic_yahoo_13 - wic_yahoo_14 - wic_yahoo_15 - wic_yahoo_16 - wic_yahoo_17 - wic_yahoo_18 - wic_yahoo_19 - wic_yahoo_20 - wic_yahoo_21 - wic_yahoo_22 - wic_yahoo_23 - wic_yahoo_24 - wic_yahoo_25 - wic_yahoo_26 - wic_yahoo_27 - wic_yahoo_28 - wic_yahoo_29 - wic_yahoo_30 - wic_yahoo_31 - wic_yahoo_32 - wic_yahoo_33 - wic_yahoo_34 - wic_yahoo_35 - wic_yahoo_36 - wic_yahoo_37 - wic_yahoo_38 - wic_yahoo_39 - wic_yahoo_40 - wic_yahoo_41 - wic_yahoo_42 - wic_yahoo_43 - wic_yahoo_44 - wic_yahoo_45 - wic_yahoo_46 - wic_yahoo_47 - wic_yahoo_3200 - wic_forecast_io_clear_day - wic_forecast_io_clear_night - wic_forecast_io_rain - wic_forecast_io_snow - wic_forecast_io_sleet - wic_forecast_io_wind - wic_forecast_io_fog - wic_forecast_io_cloudy - wic_forecast_io_partly_cloudy_day - wic_forecast_io_partly_cloudy_night - wic_forecast_io_hail - wic_forecast_io_thunderstorm - wic_forecast_io_tornado - wic_wmo4680_0 - wic_wmo4680_00 - wic_wmo4680_1 - wic_wmo4680_01 - wic_wmo4680_2 - wic_wmo4680_02 - wic_wmo4680_3 - wic_wmo4680_03 - wic_wmo4680_4 - wic_wmo4680_04 - wic_wmo4680_5 - wic_wmo4680_05 - wic_wmo4680_10 - wic_wmo4680_11 - wic_wmo4680_12 - wic_wmo4680_18 - wic_wmo4680_20 - wic_wmo4680_21 - wic_wmo4680_22 - wic_wmo4680_23 - wic_wmo4680_24 - wic_wmo4680_25 - wic_wmo4680_26 - wic_wmo4680_27 - wic_wmo4680_28 - wic_wmo4680_29 - wic_wmo4680_30 - wic_wmo4680_31 - wic_wmo4680_32 - wic_wmo4680_33 - wic_wmo4680_34 - wic_wmo4680_35 - wic_wmo4680_40 - wic_wmo4680_41 - wic_wmo4680_42 - wic_wmo4680_43 - wic_wmo4680_44 - wic_wmo4680_45 - wic_wmo4680_46 - wic_wmo4680_47 - wic_wmo4680_48 - wic_wmo4680_50 - wic_wmo4680_51 - wic_wmo4680_52 - wic_wmo4680_53 - wic_wmo4680_54 - wic_wmo4680_55 - wic_wmo4680_56 - wic_wmo4680_57 - wic_wmo4680_58 - wic_wmo4680_60 - wic_wmo4680_61 - wic_wmo4680_62 - wic_wmo4680_63 - wic_wmo4680_64 - wic_wmo4680_65 - wic_wmo4680_66 - wic_wmo4680_67 - wic_wmo4680_68 - wic_wmo4680_70 - wic_wmo4680_71 - wic_wmo4680_72 - wic_wmo4680_73 - wic_wmo4680_74 - wic_wmo4680_75 - wic_wmo4680_76 - wic_wmo4680_77 - wic_wmo4680_78 - wic_wmo4680_80 - wic_wmo4680_81 - wic_wmo4680_82 - wic_wmo4680_83 - wic_wmo4680_84 - wic_wmo4680_85 - wic_wmo4680_86 - wic_wmo4680_87 - wic_wmo4680_89 - wic_wmo4680_90 - wic_wmo4680_91 - wic_wmo4680_92 - wic_wmo4680_93 - wic_wmo4680_94 - wic_wmo4680_95 - wic_wmo4680_96 - wic_wmo4680_99 - wic_owm_200 - wic_owm_201 - wic_owm_202 - wic_owm_210 - wic_owm_211 - wic_owm_212 - wic_owm_221 - wic_owm_230 - wic_owm_231 - wic_owm_232 - wic_owm_300 - wic_owm_301 - wic_owm_302 - wic_owm_310 - wic_owm_311 - wic_owm_312 - wic_owm_313 - wic_owm_314 - wic_owm_321 - wic_owm_500 - wic_owm_501 - wic_owm_502 - wic_owm_503 - wic_owm_504 - wic_owm_511 - wic_owm_520 - wic_owm_521 - wic_owm_522 - wic_owm_531 - wic_owm_600 - wic_owm_601 - wic_owm_602 - wic_owm_611 - wic_owm_612 - wic_owm_615 - wic_owm_616 - wic_owm_620 - wic_owm_621 - wic_owm_622 - wic_owm_701 - wic_owm_711 - wic_owm_721 - wic_owm_731 - wic_owm_741 - wic_owm_761 - wic_owm_762 - wic_owm_771 - wic_owm_781 - wic_owm_800 - wic_owm_801 - wic_owm_802 - wic_owm_803 - wic_owm_804 - wic_owm_900 - wic_owm_901 - wic_owm_902 - wic_owm_903 - wic_owm_904 - wic_owm_905 - wic_owm_906 - wic_owm_957 - wic_owm_day_200 - wic_owm_day_201 - wic_owm_day_202 - wic_owm_day_210 - wic_owm_day_211 - wic_owm_day_212 - wic_owm_day_221 - wic_owm_day_230 - wic_owm_day_231 - wic_owm_day_232 - wic_owm_day_300 - wic_owm_day_301 - wic_owm_day_302 - wic_owm_day_310 - wic_owm_day_311 - wic_owm_day_312 - wic_owm_day_313 - wic_owm_day_314 - wic_owm_day_321 - wic_owm_day_500 - wic_owm_day_501 - wic_owm_day_502 - wic_owm_day_503 - wic_owm_day_504 - wic_owm_day_511 - wic_owm_day_520 - wic_owm_day_521 - wic_owm_day_522 - wic_owm_day_531 - wic_owm_day_600 - wic_owm_day_601 - wic_owm_day_602 - wic_owm_day_611 - wic_owm_day_612 - wic_owm_day_615 - wic_owm_day_616 - wic_owm_day_620 - wic_owm_day_621 - wic_owm_day_622 - wic_owm_day_701 - wic_owm_day_711 - wic_owm_day_721 - wic_owm_day_731 - wic_owm_day_741 - wic_owm_day_761 - wic_owm_day_762 - wic_owm_day_781 - wic_owm_day_800 - wic_owm_day_801 - wic_owm_day_802 - wic_owm_day_803 - wic_owm_day_804 - wic_owm_day_900 - wic_owm_day_902 - wic_owm_day_903 - wic_owm_day_904 - wic_owm_day_906 - wic_owm_day_957 - wic_owm_night_200 - wic_owm_night_201 - wic_owm_night_202 - wic_owm_night_210 - wic_owm_night_211 - wic_owm_night_212 - wic_owm_night_221 - wic_owm_night_230 - wic_owm_night_231 - wic_owm_night_232 - wic_owm_night_300 - wic_owm_night_301 - wic_owm_night_302 - wic_owm_night_310 - wic_owm_night_311 - wic_owm_night_312 - wic_owm_night_313 - wic_owm_night_314 - wic_owm_night_321 - wic_owm_night_500 - wic_owm_night_501 - wic_owm_night_502 - wic_owm_night_503 - wic_owm_night_504 - wic_owm_night_511 - wic_owm_night_520 - wic_owm_night_521 - wic_owm_night_522 - wic_owm_night_531 - wic_owm_night_600 - wic_owm_night_601 - wic_owm_night_602 - wic_owm_night_611 - wic_owm_night_612 - wic_owm_night_615 - wic_owm_night_616 - wic_owm_night_620 - wic_owm_night_621 - wic_owm_night_622 - wic_owm_night_701 - wic_owm_night_711 - wic_owm_night_721 - wic_owm_night_731 - wic_owm_night_741 - wic_owm_night_761 - wic_owm_night_762 - wic_owm_night_781 - wic_owm_night_800 - wic_owm_night_801 - wic_owm_night_802 - wic_owm_night_803 - wic_owm_night_804 - wic_owm_night_900 - wic_owm_night_902 - wic_owm_night_903 - wic_owm_night_904 - wic_owm_night_906 - wic_owm_night_957 - wic_wu_chanceflurries - wic_wu_chancerain - wic_wu_chancesleat - wic_wu_chancesnow - wic_wu_chancetstorms - wic_wu_clear - wic_wu_cloudy - wic_wu_flurries - wic_wu_hazy - wic_wu_mostlycloudy - wic_wu_mostlysunny - wic_wu_partlycloudy - wic_wu_partlysunny - wic_wu_rain - wic_wu_sleat - wic_wu_snow - wic_wu_sunny - wic_wu_tstorms - wic_wu_unknown - From 8d61279a152af2695f0aece08ff0cd3701adc84b Mon Sep 17 00:00:00 2001 From: "zTrap (Peter Gulko)" Date: Mon, 3 Dec 2018 19:22:06 +0300 Subject: [PATCH 06/15] Revert "removed old and unused folder with icons string ids" This reverts commit 8b65793 --- ...nt_community_material_design_v2.0.46.1.xml | 2048 +++++++++++++++++ FONT_IDS/_current_dev_icon_v2.0.0.1.xml | 164 ++ FONT_IDS/_current_entypo_v1.0.0.1.xml | 387 ++++ FONT_IDS/_current_font_awesome_v4.7.0.0.xml | 677 ++++++ .../_current_foundation_icons_v3.0.0.1.xml | 285 +++ ...rent_google_material_v3.0.1.0.original.xml | 934 ++++++++ FONT_IDS/_current_ionicons_v2.0.1.1.xml | 735 ++++++ ..._current_material_design_iconic_v2.2.0.xml | 888 +++++++ FONT_IDS/_current_meteocons_v1.1.1.xml | 49 + FONT_IDS/_current_octicons_v3.2.0.xml | 195 ++ .../_current_pixeden7_stroke_v1.2.0.0.xml | 204 ++ FONT_IDS/_current_typeicons_v2.0.7.1.xml | 338 +++ FONT_IDS/_current_weather_icons_v2.0.10.xml | 592 +++++ 13 files changed, 7496 insertions(+) create mode 100644 FONT_IDS/_current_community_material_design_v2.0.46.1.xml create mode 100644 FONT_IDS/_current_dev_icon_v2.0.0.1.xml create mode 100644 FONT_IDS/_current_entypo_v1.0.0.1.xml create mode 100644 FONT_IDS/_current_font_awesome_v4.7.0.0.xml create mode 100644 FONT_IDS/_current_foundation_icons_v3.0.0.1.xml create mode 100644 FONT_IDS/_current_google_material_v3.0.1.0.original.xml create mode 100644 FONT_IDS/_current_ionicons_v2.0.1.1.xml create mode 100644 FONT_IDS/_current_material_design_iconic_v2.2.0.xml create mode 100644 FONT_IDS/_current_meteocons_v1.1.1.xml create mode 100644 FONT_IDS/_current_octicons_v3.2.0.xml create mode 100644 FONT_IDS/_current_pixeden7_stroke_v1.2.0.0.xml create mode 100644 FONT_IDS/_current_typeicons_v2.0.7.1.xml create mode 100644 FONT_IDS/_current_weather_icons_v2.0.10.xml diff --git a/FONT_IDS/_current_community_material_design_v2.0.46.1.xml b/FONT_IDS/_current_community_material_design_v2.0.46.1.xml new file mode 100644 index 00000000..cf782e11 --- /dev/null +++ b/FONT_IDS/_current_community_material_design_v2.0.46.1.xml @@ -0,0 +1,2048 @@ + + cmd_access_point + cmd_access_point_network + cmd_account + cmd_account_alert + cmd_account_box + cmd_account_box_outline + cmd_account_card_details + cmd_account_check + cmd_account_circle + cmd_account_convert + cmd_account_edit + cmd_account_key + cmd_account_location + cmd_account_minus + cmd_account_multiple + cmd_account_multiple_minus + cmd_account_multiple_outline + cmd_account_multiple_plus + cmd_account_network + cmd_account_off + cmd_account_outline + cmd_account_plus + cmd_account_remove + cmd_account_search + cmd_account_settings + cmd_account_settings_variant + cmd_account_star + cmd_account_switch + cmd_adjust + cmd_air_conditioner + cmd_airballoon + cmd_airplane + cmd_airplane_landing + cmd_airplane_off + cmd_airplane_takeoff + cmd_airplay + cmd_alarm + cmd_alarm_bell + cmd_alarm_check + cmd_alarm_light + cmd_alarm_multiple + cmd_alarm_off + cmd_alarm_plus + cmd_alarm_snooze + cmd_album + cmd_alert + cmd_alert_box + cmd_alert_circle + cmd_alert_circle_outline + cmd_alert_decagram + cmd_alert_octagon + cmd_alert_octagram + cmd_alert_outline + cmd_all_inclusive + cmd_alpha + cmd_alphabetical + cmd_altimeter + cmd_amazon + cmd_amazon_clouddrive + cmd_ambulance + cmd_amplifier + cmd_anchor + cmd_android + cmd_android_debug_bridge + cmd_android_head + cmd_android_studio + cmd_angular + cmd_angularjs + cmd_animation + cmd_apple + cmd_apple_finder + cmd_apple_ios + cmd_apple_keyboard_caps + cmd_apple_keyboard_command + cmd_apple_keyboard_control + cmd_apple_keyboard_option + cmd_apple_keyboard_shift + cmd_apple_mobileme + cmd_apple_safari + cmd_application + cmd_approval + cmd_apps + cmd_archive + cmd_arrange_bring_forward + cmd_arrange_bring_to_front + cmd_arrange_send_backward + cmd_arrange_send_to_back + cmd_arrow_all + cmd_arrow_bottom_left + cmd_arrow_bottom_right + cmd_arrow_collapse + cmd_arrow_collapse_all + cmd_arrow_collapse_down + cmd_arrow_collapse_left + cmd_arrow_collapse_right + cmd_arrow_collapse_up + cmd_arrow_down + cmd_arrow_down_bold + cmd_arrow_down_bold_box + cmd_arrow_down_bold_box_outline + cmd_arrow_down_bold_circle + cmd_arrow_down_bold_circle_outline + cmd_arrow_down_bold_hexagon_outline + cmd_arrow_down_box + cmd_arrow_down_drop_circle + cmd_arrow_down_drop_circle_outline + cmd_arrow_down_thick + cmd_arrow_expand + cmd_arrow_expand_all + cmd_arrow_expand_down + cmd_arrow_expand_left + cmd_arrow_expand_right + cmd_arrow_expand_up + cmd_arrow_left + cmd_arrow_left_bold + cmd_arrow_left_bold_box + cmd_arrow_left_bold_box_outline + cmd_arrow_left_bold_circle + cmd_arrow_left_bold_circle_outline + cmd_arrow_left_bold_hexagon_outline + cmd_arrow_left_box + cmd_arrow_left_drop_circle + cmd_arrow_left_drop_circle_outline + cmd_arrow_left_thick + cmd_arrow_right + cmd_arrow_right_bold + cmd_arrow_right_bold_box + cmd_arrow_right_bold_box_outline + cmd_arrow_right_bold_circle + cmd_arrow_right_bold_circle_outline + cmd_arrow_right_bold_hexagon_outline + cmd_arrow_right_box + cmd_arrow_right_drop_circle + cmd_arrow_right_drop_circle_outline + cmd_arrow_right_thick + cmd_arrow_top_left + cmd_arrow_top_right + cmd_arrow_up + cmd_arrow_up_bold + cmd_arrow_up_bold_box + cmd_arrow_up_bold_box_outline + cmd_arrow_up_bold_circle + cmd_arrow_up_bold_circle_outline + cmd_arrow_up_bold_hexagon_outline + cmd_arrow_up_box + cmd_arrow_up_drop_circle + cmd_arrow_up_drop_circle_outline + cmd_arrow_up_thick + cmd_assistant + cmd_asterisk + cmd_at + cmd_atom + cmd_attachment + cmd_audiobook + cmd_auto_fix + cmd_auto_upload + cmd_autorenew + cmd_av_timer + cmd_baby + cmd_baby_buggy + cmd_backburger + cmd_backspace + cmd_backup_restore + cmd_bandcamp + cmd_bank + cmd_barcode + cmd_barcode_scan + cmd_barley + cmd_barrel + cmd_basecamp + cmd_basket + cmd_basket_fill + cmd_basket_unfill + cmd_battery + cmd_battery_10 + cmd_battery_20 + cmd_battery_30 + cmd_battery_40 + cmd_battery_50 + cmd_battery_60 + cmd_battery_70 + cmd_battery_80 + cmd_battery_90 + cmd_battery_alert + cmd_battery_charging + cmd_battery_charging_100 + cmd_battery_charging_20 + cmd_battery_charging_30 + cmd_battery_charging_40 + cmd_battery_charging_60 + cmd_battery_charging_80 + cmd_battery_charging_90 + cmd_battery_minus + cmd_battery_negative + cmd_battery_outline + cmd_battery_plus + cmd_battery_positive + cmd_battery_unknown + cmd_beach + cmd_beaker + cmd_beats + cmd_beer + cmd_behance + cmd_bell + cmd_bell_off + cmd_bell_outline + cmd_bell_plus + cmd_bell_ring + cmd_bell_ring_outline + cmd_bell_sleep + cmd_beta + cmd_bible + cmd_bike + cmd_bing + cmd_binoculars + cmd_bio + cmd_biohazard + cmd_bitbucket + cmd_black_mesa + cmd_blackberry + cmd_blender + cmd_blinds + cmd_block_helper + cmd_blogger + cmd_bluetooth + cmd_bluetooth_audio + cmd_bluetooth_connect + cmd_bluetooth_off + cmd_bluetooth_settings + cmd_bluetooth_transfer + cmd_blur + cmd_blur_linear + cmd_blur_off + cmd_blur_radial + cmd_bomb + cmd_bomb_off + cmd_bone + cmd_book + cmd_book_minus + cmd_book_multiple + cmd_book_multiple_variant + cmd_book_open + cmd_book_open_page_variant + cmd_book_open_variant + cmd_book_plus + cmd_book_secure + cmd_book_unsecure + cmd_book_variant + cmd_bookmark + cmd_bookmark_check + cmd_bookmark_music + cmd_bookmark_outline + cmd_bookmark_plus + cmd_bookmark_plus_outline + cmd_bookmark_remove + cmd_boombox + cmd_bootstrap + cmd_border_all + cmd_border_bottom + cmd_border_color + cmd_border_horizontal + cmd_border_inside + cmd_border_left + cmd_border_none + cmd_border_outside + cmd_border_right + cmd_border_style + cmd_border_top + cmd_border_vertical + cmd_bow_tie + cmd_bowl + cmd_bowling + cmd_box + cmd_box_cutter + cmd_box_shadow + cmd_bridge + cmd_briefcase + cmd_briefcase_check + cmd_briefcase_download + cmd_briefcase_upload + cmd_brightness_1 + cmd_brightness_2 + cmd_brightness_3 + cmd_brightness_4 + cmd_brightness_5 + cmd_brightness_6 + cmd_brightness_7 + cmd_brightness_auto + cmd_broom + cmd_brush + cmd_buffer + cmd_bug + cmd_bulletin_board + cmd_bullhorn + cmd_bullseye + cmd_burst_mode + cmd_bus + cmd_bus_articulated_end + cmd_bus_articulated_front + cmd_bus_double_decker + cmd_bus_school + cmd_bus_side + cmd_cached + cmd_cake + cmd_cake_layered + cmd_cake_variant + cmd_calculator + cmd_calendar + cmd_calendar_blank + cmd_calendar_check + cmd_calendar_clock + cmd_calendar_multiple + cmd_calendar_multiple_check + cmd_calendar_plus + cmd_calendar_question + cmd_calendar_range + cmd_calendar_remove + cmd_calendar_text + cmd_calendar_today + cmd_call_made + cmd_call_merge + cmd_call_missed + cmd_call_received + cmd_call_split + cmd_camcorder + cmd_camcorder_box + cmd_camcorder_box_off + cmd_camcorder_off + cmd_camera + cmd_camera_burst + cmd_camera_enhance + cmd_camera_front + cmd_camera_front_variant + cmd_camera_gopro + cmd_camera_iris + cmd_camera_metering_center + cmd_camera_metering_matrix + cmd_camera_metering_partial + cmd_camera_metering_spot + cmd_camera_off + cmd_camera_party_mode + cmd_camera_rear + cmd_camera_rear_variant + cmd_camera_switch + cmd_camera_timer + cmd_cancel + cmd_candle + cmd_candycane + cmd_cannabis + cmd_car + cmd_car_battery + cmd_car_connected + cmd_car_convertable + cmd_car_estate + cmd_car_hatchback + cmd_car_pickup + cmd_car_side + cmd_car_sports + cmd_car_wash + cmd_caravan + cmd_cards + cmd_cards_outline + cmd_cards_playing_outline + cmd_cards_variant + cmd_carrot + cmd_cart + cmd_cart_off + cmd_cart_outline + cmd_cart_plus + cmd_case_sensitive_alt + cmd_cash + cmd_cash_100 + cmd_cash_multiple + cmd_cash_usd + cmd_cast + cmd_cast_connected + cmd_cast_off + cmd_castle + cmd_cat + cmd_cctv + cmd_ceiling_light + cmd_cellphone + cmd_cellphone_android + cmd_cellphone_basic + cmd_cellphone_dock + cmd_cellphone_iphone + cmd_cellphone_link + cmd_cellphone_link_off + cmd_cellphone_settings + cmd_certificate + cmd_chair_school + cmd_chart_arc + cmd_chart_areaspline + cmd_chart_bar + cmd_chart_bar_stacked + cmd_chart_bubble + cmd_chart_donut + cmd_chart_donut_variant + cmd_chart_gantt + cmd_chart_histogram + cmd_chart_line + cmd_chart_line_stacked + cmd_chart_line_variant + cmd_chart_pie + cmd_chart_scatterplot_hexbin + cmd_chart_timeline + cmd_check + cmd_check_all + cmd_check_circle + cmd_check_circle_outline + cmd_checkbox_blank + cmd_checkbox_blank_circle + cmd_checkbox_blank_circle_outline + cmd_checkbox_blank_outline + cmd_checkbox_marked + cmd_checkbox_marked_circle + cmd_checkbox_marked_circle_outline + cmd_checkbox_marked_outline + cmd_checkbox_multiple_blank + cmd_checkbox_multiple_blank_circle + cmd_checkbox_multiple_blank_circle_outline + cmd_checkbox_multiple_blank_outline + cmd_checkbox_multiple_marked + cmd_checkbox_multiple_marked_circle + cmd_checkbox_multiple_marked_circle_outline + cmd_checkbox_multiple_marked_outline + cmd_checkerboard + cmd_chemical_weapon + cmd_chevron_double_down + cmd_chevron_double_left + cmd_chevron_double_right + cmd_chevron_double_up + cmd_chevron_down + cmd_chevron_left + cmd_chevron_right + cmd_chevron_up + cmd_chili_hot + cmd_chili_medium + cmd_chili_mild + cmd_chip + cmd_church + cmd_circle + cmd_circle_outline + cmd_cisco_webex + cmd_city + cmd_clipboard + cmd_clipboard_account + cmd_clipboard_alert + cmd_clipboard_arrow_down + cmd_clipboard_arrow_left + cmd_clipboard_check + cmd_clipboard_flow + cmd_clipboard_outline + cmd_clipboard_plus + cmd_clipboard_text + cmd_clippy + cmd_clock + cmd_clock_alert + cmd_clock_end + cmd_clock_fast + cmd_clock_in + cmd_clock_out + cmd_clock_start + cmd_close + cmd_close_box + cmd_close_box_outline + cmd_close_circle + cmd_close_circle_outline + cmd_close_network + cmd_close_octagon + cmd_close_octagon_outline + cmd_close_outline + cmd_closed_caption + cmd_cloud + cmd_cloud_braces + cmd_cloud_check + cmd_cloud_circle + cmd_cloud_download + cmd_cloud_off_outline + cmd_cloud_outline + cmd_cloud_print + cmd_cloud_print_outline + cmd_cloud_sync + cmd_cloud_tags + cmd_cloud_upload + cmd_code_array + cmd_code_braces + cmd_code_brackets + cmd_code_equal + cmd_code_greater_than + cmd_code_greater_than_or_equal + cmd_code_less_than + cmd_code_less_than_or_equal + cmd_code_not_equal + cmd_code_not_equal_variant + cmd_code_parentheses + cmd_code_string + cmd_code_tags + cmd_code_tags_check + cmd_codepen + cmd_coffee + cmd_coffee_outline + cmd_coffee_to_go + cmd_coin + cmd_coins + cmd_collage + cmd_color_helper + cmd_comment + cmd_comment_account + cmd_comment_account_outline + cmd_comment_alert + cmd_comment_alert_outline + cmd_comment_check + cmd_comment_check_outline + cmd_comment_multiple_outline + cmd_comment_outline + cmd_comment_plus_outline + cmd_comment_processing + cmd_comment_processing_outline + cmd_comment_question_outline + cmd_comment_remove_outline + cmd_comment_text + cmd_comment_text_outline + cmd_compare + cmd_compass + cmd_compass_outline + cmd_console + cmd_console_line + cmd_contact_mail + cmd_contacts + cmd_content_copy + cmd_content_cut + cmd_content_duplicate + cmd_content_paste + cmd_content_save + cmd_content_save_all + cmd_content_save_settings + cmd_contrast + cmd_contrast_box + cmd_contrast_circle + cmd_cookie + cmd_copyright + cmd_corn + cmd_counter + cmd_cow + cmd_creation + cmd_credit_card + cmd_credit_card_multiple + cmd_credit_card_off + cmd_credit_card_plus + cmd_credit_card_scan + cmd_crop + cmd_crop_free + cmd_crop_landscape + cmd_crop_portrait + cmd_crop_rotate + cmd_crop_square + cmd_crosshairs + cmd_crosshairs_gps + cmd_crown + cmd_cube + cmd_cube_outline + cmd_cube_send + cmd_cube_unfolded + cmd_cup + cmd_cup_off + cmd_cup_water + cmd_currency_btc + cmd_currency_chf + cmd_currency_cny + cmd_currency_eth + cmd_currency_eur + cmd_currency_gbp + cmd_currency_inr + cmd_currency_jpy + cmd_currency_krw + cmd_currency_ngn + cmd_currency_rub + cmd_currency_sign + cmd_currency_try + cmd_currency_twd + cmd_currency_usd + cmd_currency_usd_off + cmd_cursor_default + cmd_cursor_default_outline + cmd_cursor_move + cmd_cursor_pointer + cmd_cursor_text + cmd_database + cmd_database_minus + cmd_database_plus + cmd_debug_step_into + cmd_debug_step_out + cmd_debug_step_over + cmd_decagram + cmd_decagram_outline + cmd_decimal_decrease + cmd_decimal_increase + cmd_delete + cmd_delete_circle + cmd_delete_empty + cmd_delete_forever + cmd_delete_sweep + cmd_delete_variant + cmd_delta + cmd_deskphone + cmd_desktop_classic + cmd_desktop_mac + cmd_desktop_tower + cmd_details + cmd_developer_board + cmd_deviantart + cmd_dialpad + cmd_diamond + cmd_dice_1 + cmd_dice_2 + cmd_dice_3 + cmd_dice_4 + cmd_dice_5 + cmd_dice_6 + cmd_dice_d10 + cmd_dice_d20 + cmd_dice_d4 + cmd_dice_d6 + cmd_dice_d8 + cmd_dice_multiple + cmd_dictionary + cmd_dip_switch + cmd_directions + cmd_directions_fork + cmd_discord + cmd_disk + cmd_disk_alert + cmd_disqus + cmd_disqus_outline + cmd_division + cmd_division_box + cmd_dna + cmd_dns + cmd_do_not_disturb + cmd_do_not_disturb_off + cmd_dolby + cmd_domain + cmd_donkey + cmd_dots_horizontal + cmd_dots_horizontal_circle + cmd_dots_vertical + cmd_dots_vertical_circle + cmd_douban + cmd_download + cmd_download_network + cmd_drag + cmd_drag_horizontal + cmd_drag_vertical + cmd_drawing + cmd_drawing_box + cmd_dribbble + cmd_dribbble_box + cmd_drone + cmd_dropbox + cmd_drupal + cmd_duck + cmd_dumbbell + cmd_ear_hearing + cmd_earth + cmd_earth_box + cmd_earth_box_off + cmd_earth_off + cmd_edge + cmd_eject + cmd_elephant + cmd_elevation_decline + cmd_elevation_rise + cmd_elevator + cmd_email + cmd_email_alert + cmd_email_open + cmd_email_open_outline + cmd_email_outline + cmd_email_secure + cmd_email_variant + cmd_emby + cmd_emoticon + cmd_emoticon_cool + cmd_emoticon_dead + cmd_emoticon_devil + cmd_emoticon_excited + cmd_emoticon_happy + cmd_emoticon_neutral + cmd_emoticon_poop + cmd_emoticon_sad + cmd_emoticon_tongue + cmd_engine + cmd_engine_outline + cmd_equal + cmd_equal_box + cmd_eraser + cmd_eraser_variant + cmd_escalator + cmd_ethernet + cmd_ethernet_cable + cmd_ethernet_cable_off + cmd_etsy + cmd_ev_station + cmd_eventbrite + cmd_evernote + cmd_exclamation + cmd_exit_to_app + cmd_export + cmd_eye + cmd_eye_off + cmd_eye_off_outline + cmd_eye_outline + cmd_eyedropper + cmd_eyedropper_variant + cmd_face + cmd_face_profile + cmd_facebook + cmd_facebook_box + cmd_facebook_messenger + cmd_factory + cmd_fan + cmd_fast_forward + cmd_fast_forward_outline + cmd_fax + cmd_feather + cmd_ferry + cmd_file + cmd_file_account + cmd_file_chart + cmd_file_check + cmd_file_cloud + cmd_file_delimited + cmd_file_document + cmd_file_document_box + cmd_file_excel + cmd_file_excel_box + cmd_file_export + cmd_file_find + cmd_file_hidden + cmd_file_image + cmd_file_import + cmd_file_lock + cmd_file_multiple + cmd_file_music + cmd_file_outline + cmd_file_pdf + cmd_file_pdf_box + cmd_file_plus + cmd_file_powerpoint + cmd_file_powerpoint_box + cmd_file_presentation_box + cmd_file_restore + cmd_file_send + cmd_file_tree + cmd_file_video + cmd_file_word + cmd_file_word_box + cmd_file_xml + cmd_film + cmd_filmstrip + cmd_filmstrip_off + cmd_filter + cmd_filter_outline + cmd_filter_remove + cmd_filter_remove_outline + cmd_filter_variant + cmd_find_replace + cmd_fingerprint + cmd_fire + cmd_firefox + cmd_fish + cmd_flag + cmd_flag_checkered + cmd_flag_outline + cmd_flag_outline_variant + cmd_flag_triangle + cmd_flag_variant + cmd_flash + cmd_flash_auto + cmd_flash_off + cmd_flash_outline + cmd_flash_red_eye + cmd_flashlight + cmd_flashlight_off + cmd_flask + cmd_flask_empty + cmd_flask_empty_outline + cmd_flask_outline + cmd_flattr + cmd_flip_to_back + cmd_flip_to_front + cmd_floppy + cmd_flower + cmd_folder + cmd_folder_account + cmd_folder_download + cmd_folder_google_drive + cmd_folder_image + cmd_folder_lock + cmd_folder_lock_open + cmd_folder_move + cmd_folder_multiple + cmd_folder_multiple_image + cmd_folder_multiple_outline + cmd_folder_open + cmd_folder_outline + cmd_folder_plus + cmd_folder_remove + cmd_folder_star + cmd_folder_upload + cmd_font_awesome + cmd_food + cmd_food_apple + cmd_food_croissant + cmd_food_fork_drink + cmd_food_off + cmd_food_variant + cmd_football + cmd_football_australian + cmd_football_helmet + cmd_forklift + cmd_format_align_bottom + cmd_format_align_center + cmd_format_align_justify + cmd_format_align_left + cmd_format_align_middle + cmd_format_align_right + cmd_format_align_top + cmd_format_annotation_plus + cmd_format_bold + cmd_format_clear + cmd_format_color_fill + cmd_format_color_text + cmd_format_float_center + cmd_format_float_left + cmd_format_float_none + cmd_format_float_right + cmd_format_font + cmd_format_header_1 + cmd_format_header_2 + cmd_format_header_3 + cmd_format_header_4 + cmd_format_header_5 + cmd_format_header_6 + cmd_format_header_decrease + cmd_format_header_equal + cmd_format_header_increase + cmd_format_header_pound + cmd_format_horizontal_align_center + cmd_format_horizontal_align_left + cmd_format_horizontal_align_right + cmd_format_indent_decrease + cmd_format_indent_increase + cmd_format_italic + cmd_format_line_spacing + cmd_format_line_style + cmd_format_line_weight + cmd_format_list_bulleted + cmd_format_list_bulleted_type + cmd_format_list_checks + cmd_format_list_numbers + cmd_format_page_break + cmd_format_paint + cmd_format_paragraph + cmd_format_pilcrow + cmd_format_quote_close + cmd_format_quote_open + cmd_format_rotate_90 + cmd_format_section + cmd_format_size + cmd_format_strikethrough + cmd_format_strikethrough_variant + cmd_format_subscript + cmd_format_superscript + cmd_format_text + cmd_format_textdirection_l_to_r + cmd_format_textdirection_r_to_l + cmd_format_title + cmd_format_underline + cmd_format_vertical_align_bottom + cmd_format_vertical_align_center + cmd_format_vertical_align_top + cmd_format_wrap_inline + cmd_format_wrap_square + cmd_format_wrap_tight + cmd_format_wrap_top_bottom + cmd_forum + cmd_forward + cmd_foursquare + cmd_fridge + cmd_fridge_filled + cmd_fridge_filled_bottom + cmd_fridge_filled_top + cmd_fuel + cmd_fullscreen + cmd_fullscreen_exit + cmd_function + cmd_gamepad + cmd_gamepad_variant + cmd_garage + cmd_garage_open + cmd_gas_cylinder + cmd_gas_station + cmd_gate + cmd_gauge + cmd_gavel + cmd_gender_female + cmd_gender_male + cmd_gender_male_female + cmd_gender_transgender + cmd_gesture + cmd_gesture_double_tap + cmd_gesture_swipe_down + cmd_gesture_swipe_left + cmd_gesture_swipe_right + cmd_gesture_swipe_up + cmd_gesture_tap + cmd_gesture_two_double_tap + cmd_gesture_two_tap + cmd_ghost + cmd_gift + cmd_git + cmd_github_box + cmd_github_circle + cmd_github_face + cmd_glass_flute + cmd_glass_mug + cmd_glass_stange + cmd_glass_tulip + cmd_glassdoor + cmd_glasses + cmd_gmail + cmd_gnome + cmd_gondola + cmd_google + cmd_google_analytics + cmd_google_assistant + cmd_google_cardboard + cmd_google_chrome + cmd_google_circles + cmd_google_circles_communities + cmd_google_circles_extended + cmd_google_circles_group + cmd_google_controller + cmd_google_controller_off + cmd_google_drive + cmd_google_earth + cmd_google_glass + cmd_google_keep + cmd_google_maps + cmd_google_nearby + cmd_google_pages + cmd_google_photos + cmd_google_physical_web + cmd_google_play + cmd_google_plus + cmd_google_plus_box + cmd_google_translate + cmd_google_wallet + cmd_gradient + cmd_grease_pencil + cmd_grid + cmd_grid_large + cmd_grid_off + cmd_group + cmd_guitar_acoustic + cmd_guitar_electric + cmd_guitar_pick + cmd_guitar_pick_outline + cmd_hackernews + cmd_hamburger + cmd_hand_pointing_right + cmd_hanger + cmd_hangouts + cmd_harddisk + cmd_headphones + cmd_headphones_box + cmd_headphones_off + cmd_headphones_settings + cmd_headset + cmd_headset_dock + cmd_headset_off + cmd_heart + cmd_heart_box + cmd_heart_box_outline + cmd_heart_broken + cmd_heart_half + cmd_heart_half_full + cmd_heart_half_outline + cmd_heart_off + cmd_heart_outline + cmd_heart_pulse + cmd_help + cmd_help_box + cmd_help_circle + cmd_help_circle_outline + cmd_help_network + cmd_hexagon + cmd_hexagon_multiple + cmd_hexagon_outline + cmd_high_definition + cmd_highway + cmd_history + cmd_hololens + cmd_home + cmd_home_assistant + cmd_home_automation + cmd_home_circle + cmd_home_map_marker + cmd_home_modern + cmd_home_outline + cmd_home_variant + cmd_hook + cmd_hook_off + cmd_hops + cmd_hospital + cmd_hospital_building + cmd_hospital_marker + cmd_hotel + cmd_houzz + cmd_houzz_box + cmd_human + cmd_human_child + cmd_human_female + cmd_human_greeting + cmd_human_handsdown + cmd_human_handsup + cmd_human_male + cmd_human_male_female + cmd_human_pregnant + cmd_humble_bundle + cmd_image + cmd_image_album + cmd_image_area + cmd_image_area_close + cmd_image_broken + cmd_image_broken_variant + cmd_image_filter + cmd_image_filter_black_white + cmd_image_filter_center_focus + cmd_image_filter_center_focus_weak + cmd_image_filter_drama + cmd_image_filter_frames + cmd_image_filter_hdr + cmd_image_filter_none + cmd_image_filter_tilt_shift + cmd_image_filter_vintage + cmd_image_multiple + cmd_import + cmd_inbox + cmd_inbox_arrow_down + cmd_inbox_arrow_up + cmd_incognito + cmd_infinity + cmd_information + cmd_information_outline + cmd_information_variant + cmd_instagram + cmd_instapaper + cmd_internet_explorer + cmd_invert_colors + cmd_itunes + cmd_jeepney + cmd_jira + cmd_jsfiddle + cmd_json + cmd_keg + cmd_kettle + cmd_key + cmd_key_change + cmd_key_minus + cmd_key_plus + cmd_key_remove + cmd_key_variant + cmd_keyboard + cmd_keyboard_backspace + cmd_keyboard_caps + cmd_keyboard_close + cmd_keyboard_off + cmd_keyboard_return + cmd_keyboard_tab + cmd_keyboard_variant + cmd_kickstarter + cmd_kodi + cmd_label + cmd_label_outline + cmd_lambda + cmd_lamp + cmd_lan + cmd_lan_connect + cmd_lan_disconnect + cmd_lan_pending + cmd_language_c + cmd_language_cpp + cmd_language_csharp + cmd_language_css3 + cmd_language_go + cmd_language_html5 + cmd_language_javascript + cmd_language_php + cmd_language_python + cmd_language_python_text + cmd_language_r + cmd_language_swift + cmd_language_typescript + cmd_laptop + cmd_laptop_chromebook + cmd_laptop_mac + cmd_laptop_off + cmd_laptop_windows + cmd_lastfm + cmd_launch + cmd_lava_lamp + cmd_layers + cmd_layers_off + cmd_lead_pencil + cmd_leaf + cmd_led_off + cmd_led_on + cmd_led_outline + cmd_led_strip + cmd_led_variant_off + cmd_led_variant_on + cmd_led_variant_outline + cmd_library + cmd_library_books + cmd_library_music + cmd_library_plus + cmd_lightbulb + cmd_lightbulb_on + cmd_lightbulb_on_outline + cmd_lightbulb_outline + cmd_link + cmd_link_off + cmd_link_variant + cmd_link_variant_off + cmd_linkedin + cmd_linkedin_box + cmd_linux + cmd_loading + cmd_lock + cmd_lock_open + cmd_lock_open_outline + cmd_lock_outline + cmd_lock_pattern + cmd_lock_plus + cmd_lock_reset + cmd_locker + cmd_locker_multiple + cmd_login + cmd_login_variant + cmd_logout + cmd_logout_variant + cmd_looks + cmd_loop + cmd_loupe + cmd_lumx + cmd_magnet + cmd_magnet_on + cmd_magnify + cmd_magnify_minus + cmd_magnify_minus_outline + cmd_magnify_plus + cmd_magnify_plus_outline + cmd_mail_ru + cmd_mailbox + cmd_map + cmd_map_marker + cmd_map_marker_circle + cmd_map_marker_minus + cmd_map_marker_multiple + cmd_map_marker_off + cmd_map_marker_outline + cmd_map_marker_plus + cmd_map_marker_radius + cmd_margin + cmd_markdown + cmd_marker + cmd_marker_check + cmd_martini + cmd_material_ui + cmd_math_compass + cmd_matrix + cmd_maxcdn + cmd_medical_bag + cmd_medium + cmd_memory + cmd_menu + cmd_menu_down + cmd_menu_down_outline + cmd_menu_left + cmd_menu_right + cmd_menu_up + cmd_menu_up_outline + cmd_message + cmd_message_alert + cmd_message_bulleted + cmd_message_bulleted_off + cmd_message_draw + cmd_message_image + cmd_message_outline + cmd_message_plus + cmd_message_processing + cmd_message_reply + cmd_message_reply_text + cmd_message_settings + cmd_message_settings_variant + cmd_message_text + cmd_message_text_outline + cmd_message_video + cmd_meteor + cmd_metronome + cmd_metronome_tick + cmd_micro_sd + cmd_microphone + cmd_microphone_off + cmd_microphone_outline + cmd_microphone_settings + cmd_microphone_variant + cmd_microphone_variant_off + cmd_microscope + cmd_microsoft + cmd_minecraft + cmd_minus + cmd_minus_box + cmd_minus_box_outline + cmd_minus_circle + cmd_minus_circle_outline + cmd_minus_network + cmd_mixcloud + cmd_mixer + cmd_monitor + cmd_monitor_multiple + cmd_more + cmd_motorbike + cmd_mouse + cmd_mouse_off + cmd_mouse_variant + cmd_mouse_variant_off + cmd_move_resize + cmd_move_resize_variant + cmd_movie + cmd_movie_roll + cmd_multiplication + cmd_multiplication_box + cmd_mushroom + cmd_mushroom_outline + cmd_music + cmd_music_box + cmd_music_box_outline + cmd_music_circle + cmd_music_note + cmd_music_note_bluetooth + cmd_music_note_bluetooth_off + cmd_music_note_eighth + cmd_music_note_half + cmd_music_note_off + cmd_music_note_quarter + cmd_music_note_sixteenth + cmd_music_note_whole + cmd_music_off + cmd_nature + cmd_nature_people + cmd_navigation + cmd_near_me + cmd_needle + cmd_nest_protect + cmd_nest_thermostat + cmd_netflix + cmd_network + cmd_new_box + cmd_newspaper + cmd_nfc + cmd_nfc_tap + cmd_nfc_variant + cmd_ninja + cmd_nintendo_switch + cmd_nodejs + cmd_note + cmd_note_multiple + cmd_note_multiple_outline + cmd_note_outline + cmd_note_plus + cmd_note_plus_outline + cmd_note_text + cmd_notification_clear_all + cmd_npm + cmd_nuke + cmd_null + cmd_numeric + cmd_numeric_0_box + cmd_numeric_0_box_multiple_outline + cmd_numeric_0_box_outline + cmd_numeric_1_box + cmd_numeric_1_box_multiple_outline + cmd_numeric_1_box_outline + cmd_numeric_2_box + cmd_numeric_2_box_multiple_outline + cmd_numeric_2_box_outline + cmd_numeric_3_box + cmd_numeric_3_box_multiple_outline + cmd_numeric_3_box_outline + cmd_numeric_4_box + cmd_numeric_4_box_multiple_outline + cmd_numeric_4_box_outline + cmd_numeric_5_box + cmd_numeric_5_box_multiple_outline + cmd_numeric_5_box_outline + cmd_numeric_6_box + cmd_numeric_6_box_multiple_outline + cmd_numeric_6_box_outline + cmd_numeric_7_box + cmd_numeric_7_box_multiple_outline + cmd_numeric_7_box_outline + cmd_numeric_8_box + cmd_numeric_8_box_multiple_outline + cmd_numeric_8_box_outline + cmd_numeric_9_box + cmd_numeric_9_box_multiple_outline + cmd_numeric_9_box_outline + cmd_numeric_9_plus_box + cmd_numeric_9_plus_box_multiple_outline + cmd_numeric_9_plus_box_outline + cmd_nut + cmd_nutrition + cmd_oar + cmd_octagon + cmd_octagon_outline + cmd_octagram + cmd_octagram_outline + cmd_odnoklassniki + cmd_office + cmd_oil + cmd_oil_temperature + cmd_omega + cmd_onedrive + cmd_onenote + cmd_opacity + cmd_open_in_app + cmd_open_in_new + cmd_openid + cmd_opera + cmd_orbit + cmd_ornament + cmd_ornament_variant + cmd_owl + cmd_package + cmd_package_down + cmd_package_up + cmd_package_variant + cmd_package_variant_closed + cmd_page_first + cmd_page_last + cmd_page_layout_body + cmd_page_layout_footer + cmd_page_layout_header + cmd_page_layout_sidebar_left + cmd_page_layout_sidebar_right + cmd_palette + cmd_palette_advanced + cmd_panda + cmd_pandora + cmd_panorama + cmd_panorama_fisheye + cmd_panorama_horizontal + cmd_panorama_vertical + cmd_panorama_wide_angle + cmd_paper_cut_vertical + cmd_paperclip + cmd_parking + cmd_passport + cmd_pause + cmd_pause_circle + cmd_pause_circle_outline + cmd_pause_octagon + cmd_pause_octagon_outline + cmd_paw + cmd_paw_off + cmd_pen + cmd_pencil + cmd_pencil_box + cmd_pencil_box_outline + cmd_pencil_circle + cmd_pencil_circle_outline + cmd_pencil_lock + cmd_pencil_off + cmd_pentagon + cmd_pentagon_outline + cmd_percent + cmd_periodic_table_co2 + cmd_periscope + cmd_pharmacy + cmd_phone + cmd_phone_bluetooth + cmd_phone_classic + cmd_phone_forward + cmd_phone_hangup + cmd_phone_in_talk + cmd_phone_incoming + cmd_phone_locked + cmd_phone_log + cmd_phone_minus + cmd_phone_missed + cmd_phone_outgoing + cmd_phone_paused + cmd_phone_plus + cmd_phone_settings + cmd_phone_voip + cmd_pi + cmd_pi_box + cmd_piano + cmd_pig + cmd_pill + cmd_pillar + cmd_pin + cmd_pin_off + cmd_pine_tree + cmd_pine_tree_box + cmd_pinterest + cmd_pinterest_box + cmd_pipe + cmd_pipe_disconnected + cmd_pistol + cmd_pizza + cmd_plane_shield + cmd_play + cmd_play_box_outline + cmd_play_circle + cmd_play_circle_outline + cmd_play_pause + cmd_play_protected_content + cmd_playlist_check + cmd_playlist_minus + cmd_playlist_play + cmd_playlist_plus + cmd_playlist_remove + cmd_playstation + cmd_plex + cmd_plus + cmd_plus_box + cmd_plus_box_outline + cmd_plus_circle + cmd_plus_circle_multiple_outline + cmd_plus_circle_outline + cmd_plus_network + cmd_plus_one + cmd_plus_outline + cmd_pocket + cmd_pokeball + cmd_polaroid + cmd_poll + cmd_poll_box + cmd_polymer + cmd_pool + cmd_popcorn + cmd_pot + cmd_pot_mix + cmd_pound + cmd_pound_box + cmd_power + cmd_power_plug + cmd_power_plug_off + cmd_power_settings + cmd_power_socket + cmd_power_socket_eu + cmd_power_socket_uk + cmd_power_socket_us + cmd_prescription + cmd_presentation + cmd_presentation_play + cmd_printer + cmd_printer_3d + cmd_printer_alert + cmd_printer_settings + cmd_priority_high + cmd_priority_low + cmd_professional_hexagon + cmd_projector + cmd_projector_screen + cmd_publish + cmd_pulse + cmd_puzzle + cmd_qqchat + cmd_qrcode + cmd_qrcode_scan + cmd_quadcopter + cmd_quality_high + cmd_quicktime + cmd_radar + cmd_radiator + cmd_radio + cmd_radio_handheld + cmd_radio_tower + cmd_radioactive + cmd_radiobox_blank + cmd_radiobox_marked + cmd_raspberrypi + cmd_ray_end + cmd_ray_end_arrow + cmd_ray_start + cmd_ray_start_arrow + cmd_ray_start_end + cmd_ray_vertex + cmd_rdio + cmd_react + cmd_read + cmd_readability + cmd_receipt + cmd_record + cmd_record_rec + cmd_recycle + cmd_reddit + cmd_redo + cmd_redo_variant + cmd_refresh + cmd_regex + cmd_relative_scale + cmd_reload + cmd_remote + cmd_rename_box + cmd_reorder_horizontal + cmd_reorder_vertical + cmd_repeat + cmd_repeat_off + cmd_repeat_once + cmd_replay + cmd_reply + cmd_reply_all + cmd_reproduction + cmd_resize_bottom_right + cmd_responsive + cmd_restart + cmd_restore + cmd_rewind + cmd_rewind_outline + cmd_rhombus + cmd_rhombus_outline + cmd_ribbon + cmd_rice + cmd_ring + cmd_road + cmd_road_variant + cmd_robot + cmd_rocket + cmd_roomba + cmd_rotate_3d + cmd_rotate_left + cmd_rotate_left_variant + cmd_rotate_right + cmd_rotate_right_variant + cmd_rounded_corner + cmd_router_wireless + cmd_routes + cmd_rowing + cmd_rss + cmd_rss_box + cmd_ruler + cmd_run + cmd_run_fast + cmd_sale + cmd_sass + cmd_satellite + cmd_satellite_variant + cmd_saxophone + cmd_scale + cmd_scale_balance + cmd_scale_bathroom + cmd_scanner + cmd_school + cmd_screen_rotation + cmd_screen_rotation_lock + cmd_screwdriver + cmd_script + cmd_sd + cmd_seal + cmd_search_web + cmd_seat_flat + cmd_seat_flat_angled + cmd_seat_individual_suite + cmd_seat_legroom_extra + cmd_seat_legroom_normal + cmd_seat_legroom_reduced + cmd_seat_recline_extra + cmd_seat_recline_normal + cmd_security + cmd_security_home + cmd_security_network + cmd_select + cmd_select_all + cmd_select_inverse + cmd_select_off + cmd_selection + cmd_selection_off + cmd_send + cmd_send_secure + cmd_serial_port + cmd_server + cmd_server_minus + cmd_server_network + cmd_server_network_off + cmd_server_off + cmd_server_plus + cmd_server_remove + cmd_server_security + cmd_set_all + cmd_set_center + cmd_set_center_right + cmd_set_left + cmd_set_left_center + cmd_set_left_right + cmd_set_none + cmd_set_right + cmd_settings + cmd_settings_box + cmd_shape_circle_plus + cmd_shape_plus + cmd_shape_polygon_plus + cmd_shape_rectangle_plus + cmd_shape_square_plus + cmd_share + cmd_share_variant + cmd_shield + cmd_shield_half_full + cmd_shield_outline + cmd_shopping + cmd_shopping_music + cmd_shovel + cmd_shovel_off + cmd_shredder + cmd_shuffle + cmd_shuffle_disabled + cmd_shuffle_variant + cmd_sigma + cmd_sigma_lower + cmd_sign_caution + cmd_sign_direction + cmd_sign_text + cmd_signal + cmd_signal_2g + cmd_signal_3g + cmd_signal_4g + cmd_signal_hspa + cmd_signal_hspa_plus + cmd_signal_off + cmd_signal_variant + cmd_silverware + cmd_silverware_fork + cmd_silverware_spoon + cmd_silverware_variant + cmd_sim + cmd_sim_alert + cmd_sim_off + cmd_sitemap + cmd_skip_backward + cmd_skip_forward + cmd_skip_next + cmd_skip_next_circle + cmd_skip_next_circle_outline + cmd_skip_previous + cmd_skip_previous_circle + cmd_skip_previous_circle_outline + cmd_skull + cmd_skype + cmd_skype_business + cmd_slack + cmd_sleep + cmd_sleep_off + cmd_smoking + cmd_smoking_off + cmd_snapchat + cmd_snowflake + cmd_snowman + cmd_soccer + cmd_sofa + cmd_solid + cmd_sort + cmd_sort_alphabetical + cmd_sort_ascending + cmd_sort_descending + cmd_sort_numeric + cmd_sort_variant + cmd_soundcloud + cmd_source_branch + cmd_source_commit + cmd_source_commit_end + cmd_source_commit_end_local + cmd_source_commit_local + cmd_source_commit_next_local + cmd_source_commit_start + cmd_source_commit_start_next_local + cmd_source_fork + cmd_source_merge + cmd_source_pull + cmd_soy_sauce + cmd_speaker + cmd_speaker_off + cmd_speaker_wireless + cmd_speedometer + cmd_spellcheck + cmd_spotify + cmd_spotlight + cmd_spotlight_beam + cmd_spray + cmd_square + cmd_square_inc + cmd_square_inc_cash + cmd_square_outline + cmd_square_root + cmd_stackexchange + cmd_stackoverflow + cmd_stadium + cmd_stairs + cmd_standard_definition + cmd_star + cmd_star_circle + cmd_star_half + cmd_star_off + cmd_star_outline + cmd_steam + cmd_steering + cmd_step_backward + cmd_step_backward_2 + cmd_step_forward + cmd_step_forward_2 + cmd_stethoscope + cmd_sticker + cmd_sticker_emoji + cmd_stocking + cmd_stop + cmd_stop_circle + cmd_stop_circle_outline + cmd_store + cmd_store_24_hour + cmd_stove + cmd_subdirectory_arrow_left + cmd_subdirectory_arrow_right + cmd_subway + cmd_subway_variant + cmd_summit + cmd_sunglasses + cmd_surround_sound + cmd_surround_sound_2_0 + cmd_surround_sound_3_1 + cmd_surround_sound_5_1 + cmd_surround_sound_7_1 + cmd_svg + cmd_swap_horizontal + cmd_swap_vertical + cmd_swim + cmd_switch + cmd_sword + cmd_sword_cross + cmd_sync + cmd_sync_alert + cmd_sync_off + cmd_tab + cmd_tab_plus + cmd_tab_unselected + cmd_table + cmd_table_column_plus_after + cmd_table_column_plus_before + cmd_table_column_remove + cmd_table_column_width + cmd_table_edit + cmd_table_large + cmd_table_row_height + cmd_table_row_plus_after + cmd_table_row_plus_before + cmd_table_row_remove + cmd_tablet + cmd_tablet_android + cmd_tablet_ipad + cmd_taco + cmd_tag + cmd_tag_faces + cmd_tag_heart + cmd_tag_multiple + cmd_tag_outline + cmd_tag_plus + cmd_tag_remove + cmd_tag_text_outline + cmd_target + cmd_taxi + cmd_teamviewer + cmd_telegram + cmd_television + cmd_television_classic + cmd_television_guide + cmd_temperature_celsius + cmd_temperature_fahrenheit + cmd_temperature_kelvin + cmd_tennis + cmd_tent + cmd_terrain + cmd_test_tube + cmd_text_shadow + cmd_text_to_speech + cmd_text_to_speech_off + cmd_textbox + cmd_textbox_password + cmd_texture + cmd_theater + cmd_theme_light_dark + cmd_thermometer + cmd_thermometer_lines + cmd_thought_bubble + cmd_thought_bubble_outline + cmd_thumb_down + cmd_thumb_down_outline + cmd_thumb_up + cmd_thumb_up_outline + cmd_thumbs_up_down + cmd_ticket + cmd_ticket_account + cmd_ticket_confirmation + cmd_ticket_percent + cmd_tie + cmd_tilde + cmd_timelapse + cmd_timer + cmd_timer_10 + cmd_timer_3 + cmd_timer_off + cmd_timer_sand + cmd_timer_sand_empty + cmd_timer_sand_full + cmd_timetable + cmd_toggle_switch + cmd_toggle_switch_off + cmd_tooltip + cmd_tooltip_edit + cmd_tooltip_image + cmd_tooltip_outline + cmd_tooltip_outline_plus + cmd_tooltip_text + cmd_tooth + cmd_tor + cmd_tower_beach + cmd_tower_fire + cmd_trackpad + cmd_traffic_light + cmd_train + cmd_tram + cmd_transcribe + cmd_transcribe_close + cmd_transfer + cmd_transit_transfer + cmd_translate + cmd_treasure_chest + cmd_tree + cmd_trello + cmd_trending_down + cmd_trending_neutral + cmd_trending_up + cmd_triangle + cmd_triangle_outline + cmd_trophy + cmd_trophy_award + cmd_trophy_outline + cmd_trophy_variant + cmd_trophy_variant_outline + cmd_truck + cmd_truck_delivery + cmd_truck_fast + cmd_truck_trailer + cmd_tshirt_crew + cmd_tshirt_v + cmd_tumblr + cmd_tumblr_reblog + cmd_tune + cmd_tune_vertical + cmd_twitch + cmd_twitter + cmd_twitter_box + cmd_twitter_circle + cmd_twitter_retweet + cmd_uber + cmd_ubuntu + cmd_ultra_high_definition + cmd_umbraco + cmd_umbrella + cmd_umbrella_outline + cmd_undo + cmd_undo_variant + cmd_unfold_less_horizontal + cmd_unfold_less_vertical + cmd_unfold_more_horizontal + cmd_unfold_more_vertical + cmd_ungroup + cmd_unity + cmd_untappd + cmd_update + cmd_upload + cmd_upload_network + cmd_usb + cmd_van_passenger + cmd_van_utility + cmd_vanish + cmd_vector_arrange_above + cmd_vector_arrange_below + cmd_vector_circle + cmd_vector_circle_variant + cmd_vector_combine + cmd_vector_curve + cmd_vector_difference + cmd_vector_difference_ab + cmd_vector_difference_ba + cmd_vector_intersection + cmd_vector_line + cmd_vector_point + cmd_vector_polygon + cmd_vector_polyline + cmd_vector_radius + cmd_vector_rectangle + cmd_vector_selection + cmd_vector_square + cmd_vector_triangle + cmd_vector_union + cmd_verified + cmd_vibrate + cmd_video + cmd_video_3d + cmd_video_off + cmd_video_switch + cmd_view_agenda + cmd_view_array + cmd_view_carousel + cmd_view_column + cmd_view_dashboard + cmd_view_day + cmd_view_grid + cmd_view_headline + cmd_view_list + cmd_view_module + cmd_view_parallel + cmd_view_quilt + cmd_view_sequential + cmd_view_stream + cmd_view_week + cmd_vimeo + cmd_vine + cmd_violin + cmd_visualstudio + cmd_vk + cmd_vk_box + cmd_vk_circle + cmd_vlc + cmd_voice + cmd_voicemail + cmd_volume_high + cmd_volume_low + cmd_volume_medium + cmd_volume_minus + cmd_volume_mute + cmd_volume_off + cmd_volume_plus + cmd_vpn + cmd_walk + cmd_wall + cmd_wallet + cmd_wallet_giftcard + cmd_wallet_membership + cmd_wallet_travel + cmd_wan + cmd_washing_machine + cmd_watch + cmd_watch_export + cmd_watch_import + cmd_watch_vibrate + cmd_water + cmd_water_off + cmd_water_percent + cmd_water_pump + cmd_watermark + cmd_waves + cmd_weather_cloudy + cmd_weather_fog + cmd_weather_hail + cmd_weather_lightning + cmd_weather_lightning_rainy + cmd_weather_night + cmd_weather_partlycloudy + cmd_weather_pouring + cmd_weather_rainy + cmd_weather_snowy + cmd_weather_snowy_rainy + cmd_weather_sunny + cmd_weather_sunset + cmd_weather_sunset_down + cmd_weather_sunset_up + cmd_weather_windy + cmd_weather_windy_variant + cmd_web + cmd_webcam + cmd_webhook + cmd_webpack + cmd_wechat + cmd_weight + cmd_weight_kilogram + cmd_whatsapp + cmd_wheelchair_accessibility + cmd_white_balance_auto + cmd_white_balance_incandescent + cmd_white_balance_iridescent + cmd_white_balance_sunny + cmd_widgets + cmd_wifi + cmd_wifi_off + cmd_wii + cmd_wiiu + cmd_wikipedia + cmd_window_close + cmd_window_closed + cmd_window_maximize + cmd_window_minimize + cmd_window_open + cmd_window_restore + cmd_windows + cmd_wordpress + cmd_worker + cmd_wrap + cmd_wrench + cmd_wunderlist + cmd_xaml + cmd_xbox + cmd_xbox_controller + cmd_xbox_controller_battery_alert + cmd_xbox_controller_battery_empty + cmd_xbox_controller_battery_full + cmd_xbox_controller_battery_low + cmd_xbox_controller_battery_medium + cmd_xbox_controller_battery_unknown + cmd_xbox_controller_off + cmd_xda + cmd_xing + cmd_xing_box + cmd_xing_circle + cmd_xml + cmd_xmpp + cmd_yammer + cmd_yeast + cmd_yelp + cmd_yin_yang + cmd_youtube_play + cmd_zip_box + diff --git a/FONT_IDS/_current_dev_icon_v2.0.0.1.xml b/FONT_IDS/_current_dev_icon_v2.0.0.1.xml new file mode 100644 index 00000000..98fd7af8 --- /dev/null +++ b/FONT_IDS/_current_dev_icon_v2.0.0.1.xml @@ -0,0 +1,164 @@ + + dev_ssh_plain_wordmark + dev_ssh_plain + dev_sourcetree_plain_wordmark + dev_sourcetree_plain + dev_phpstorm_plain_wordmark + dev_phpstorm_plain + dev_jeet_plain_wordmark + dev_jeet_plain + dev_gitlab_plain_wordmark + dev_gitlab_plain + dev_github_plain_wordmark + dev_github_plain + dev_d3js_plain + dev_confluence_plain_wordmark + dev_confluence_plain + dev_bitbucket_plain_wordmark + dev_bitbucket_plain + dev_safari_line_wordmark + dev_safari_line + dev_safari_plain_wordmark + dev_safari_plain + dev_jetbrains_plain_wordmark + dev_django_line_wordmark + dev_django_plain_wordmark + dev_gimp_plain + dev_redhat_plain_wordmark + dev_redhat_plain + dev_cplusplus_line_wordmark + dev_cplusplus_plain_wordmark + dev_csharp_line_wordmark + dev_csharp_plain_wordmark + dev_c_line_wordmark + dev_c_plain_wordmark + dev_nodewebkit_line_wordmark + dev_nodewebkit_line + dev_nodewebkit_plain_wordmark + dev_nodewebkit_plain + dev_nginx_plain_wordmark + dev_erlang_plain_wordmark + dev_erlang_plain + dev_doctrine_line_wordmark + dev_doctrine_line + dev_doctrine_plain_wordmark + dev_doctrine_plain + dev_apache_line_wordmark + dev_apache_line + dev_apache_plain_wordmark + dev_apache_plain + dev_go_line + dev_redis_plain_wordmark + dev_redis_plain + dev_meteor_plain_wordmark + dev_meteor_plain + dev_heroku_original_wordmark + dev_heroku_original + dev_heroku_plain_wordmark + dev_heroku_plain + dev_go_plain + dev_docker_plain_wordmark + dev_docker_plain + dev_amazonwebservices_plain + dev_amazonwebservices_plain_wordmark + dev_android_plain_wordmark + dev_android_plain + dev_angularjs_plain_wordmark + dev_angularjs_plain + dev_appcelerator_plain + dev_appcelerator_plain_wordmark + dev_apple_plain + dev_atom_plain_wordmark + dev_atom_plain + dev_backbonejs_plain_wordmark + dev_backbonejs_plain + dev_bootstrap_plain_wordmark + dev_bootstrap_plain + dev_bower_line_wordmark + dev_bower_line + dev_bower_plain_wordmark + dev_bower_plain + dev_chrome_plain_wordmark + dev_chrome_plain + dev_codeigniter_plain_wordmark + dev_codeigniter_plain + dev_coffeescript_plain_wordmark + dev_coffeescript_plain + dev_css3_plain_wordmark + dev_css3_plain + dev_debian_plain_wordmark + dev_debian_plain + dev_dot_net_plain_wordmark + dev_dot_net_plain + dev_drupal_plain_wordmark + dev_drupal_plain + dev_firefox_plain_wordmark + dev_firefox_plain + dev_foundation_plain_wordmark + dev_foundation_plain + dev_git_plain_wordmark + dev_git_plain + dev_grunt_line_wordmark + dev_grunt_line + dev_grunt_plain_wordmark + dev_grunt_plain + dev_gulp_plain + dev_html5_plain_wordmark + dev_html5_plain + dev_ie10_plain + dev_illustrator_line + dev_illustrator_plain + dev_inkscape_plain_wordmark + dev_inkscape_plain + dev_java_plain_wordmark + dev_java_plain + dev_javascript_plain + dev_jquery_plain_wordmark + dev_jquery_plain + dev_krakenjs_plain_wordmark + dev_krakenjs_plain + dev_laravel_plain_wordmark + dev_laravel_plain + dev_less_plain_wordmark + dev_linux_plain + dev_mongodb_plain_wordmark + dev_mongodb_plain + dev_moodle_plain_wordmark + dev_moodle_plain + dev_mysql_plain_wordmark + dev_mysql_plain + dev_nodejs_plain_wordmark + dev_nodejs_plain + dev_oracle_plain + dev_photoshop_line + dev_photoshop_plain + dev_php_plain + dev_postgresql_plain_wordmark + dev_postgresql_plain + dev_python_plain_wordmark + dev_python_plain + dev_rails_plain_wordmark + dev_rails_plain + dev_react_plain_wordmark + dev_react_plain + dev_ruby_plain_wordmark + dev_ruby_plain + dev_sass_plain + dev_symfony_plain_wordmark + dev_symfony_plain + dev_travis_plain_wordmark + dev_travis_plain + dev_trello_plain_wordmark + dev_trello_plain + dev_ubuntu_plain_wordmark + dev_ubuntu_plain + dev_vim_plain + dev_windows8_plain_wordmark + dev_windows8_plain + dev_wordpress_plain_wordmark + dev_wordpress_plain + dev_yii_plain_wordmark + dev_yii_plain + dev_zend_plain_wordmark + dev_zend_plain + diff --git a/FONT_IDS/_current_entypo_v1.0.0.1.xml b/FONT_IDS/_current_entypo_v1.0.0.1.xml new file mode 100644 index 00000000..f7f7b6e0 --- /dev/null +++ b/FONT_IDS/_current_entypo_v1.0.0.1.xml @@ -0,0 +1,387 @@ + + ent_add_to_list + ent_classic_computer + ent_controller_fast_backward + ent_creative_commons_attribution + ent_creative_commons_noderivs + ent_creative_commons_noncommercial_eu + ent_creative_commons_noncommercial_us + ent_creative_commons_public_domain + ent_creative_commons_remix + ent_creative_commons_share + ent_creative_commons_sharealike + ent_creative_commons + ent_document_landscape + ent_remove_user + ent_warning + ent_arrow_bold_down + ent_arrow_bold_left + ent_arrow_bold_right + ent_arrow_bold_up + ent_arrow_down + ent_arrow_left + ent_arrow_long_down + ent_arrow_long_left + ent_arrow_long_right + ent_arrow_long_up + ent_arrow_right + ent_arrow_up + ent_arrow_with_circle_down + ent_arrow_with_circle_left + ent_arrow_with_circle_right + ent_arrow_with_circle_up + ent_bookmark + ent_bookmarks + ent_chevron_down + ent_chevron_left + ent_chevron_right + ent_chevron_small_down + ent_chevron_small_left + ent_chevron_small_right + ent_chevron_small_up + ent_chevron_thin_down + ent_chevron_thin_left + ent_chevron_thin_right + ent_chevron_thin_up + ent_chevron_up + ent_chevron_with_circle_down + ent_chevron_with_circle_left + ent_chevron_with_circle_right + ent_chevron_with_circle_up + ent_cloud + ent_controller_fast_forward + ent_controller_jump_to_start + ent_controller_next + ent_controller_paus + ent_controller_play + ent_controller_record + ent_controller_stop + ent_controller_volume + ent_dot_single + ent_dots_three_horizontal + ent_dots_three_vertical + ent_dots_two_horizontal + ent_dots_two_vertical + ent_download + ent_emoji_flirt + ent_flow_branch + ent_flow_cascade + ent_flow_line + ent_flow_parallel + ent_flow_tree + ent_install + ent_layers + ent_open_book + ent_resize_100 + ent_resize_full_screen + ent_save + ent_select_arrows + ent_sound_mute + ent_sound + ent_trash + ent_triangle_down + ent_triangle_left + ent_triangle_right + ent_triangle_up + ent_uninstall + ent_upload_to_cloud + ent_upload + ent_add_user + ent_address + ent_adjust + ent_air + ent_aircraft_landing + ent_aircraft_take_off + ent_aircraft + ent_align_bottom + ent_align_horizontal_middle + ent_align_left + ent_align_right + ent_align_top + ent_align_vertical_middle + ent_archive + ent_area_graph + ent_attachment + ent_awareness_ribbon + ent_back_in_time + ent_back + ent_bar_graph + ent_battery + ent_beamed_note + ent_bell + ent_blackboard + ent_block + ent_book + ent_bowl + ent_box + ent_briefcase + ent_browser + ent_brush + ent_bucket + ent_cake + ent_calculator + ent_calendar + ent_camera + ent_ccw + ent_chat + ent_check + ent_circle_with_cross + ent_circle_with_minus + ent_circle_with_plus + ent_circle + ent_circular_graph + ent_clapperboard + ent_clipboard + ent_clock + ent_code + ent_cog + ent_colours + ent_compass + ent_copy + ent_credit_card + ent_credit + ent_cross + ent_cup + ent_cw + ent_cycle + ent_database + ent_dial_pad + ent_direction + ent_document + ent_documents + ent_drink + ent_drive + ent_drop + ent_edit + ent_email + ent_emoji_happy + ent_emoji_neutral + ent_emoji_sad + ent_erase + ent_eraser + ent_export + ent_eye + ent_feather + ent_flag + ent_flash + ent_flashlight + ent_flat_brush + ent_folder_images + ent_folder_music + ent_folder_video + ent_folder + ent_forward + ent_funnel + ent_game_controller + ent_gauge + ent_globe + ent_graduation_cap + ent_grid + ent_hair_cross + ent_hand + ent_heart_outlined + ent_heart + ent_help_with_circle + ent_help + ent_home + ent_hour_glass + ent_image_inverted + ent_image + ent_images + ent_inbox + ent_infinity + ent_info_with_circle + ent_info + ent_key + ent_keyboard + ent_lab_flask + ent_landline + ent_language + ent_laptop + ent_leaf + ent_level_down + ent_level_up + ent_lifebuoy + ent_light_bulb + ent_light_down + ent_light_up + ent_line_graph + ent_link + ent_list + ent_location_pin + ent_location + ent_lock_open + ent_lock + ent_log_out + ent_login + ent_loop + ent_magnet + ent_magnifying_glass + ent_mail + ent_man + ent_map + ent_mask + ent_medal + ent_megaphone + ent_menu + ent_message + ent_mic + ent_minus + ent_mobile + ent_modern_mic + ent_moon + ent_mouse + ent_music + ent_network + ent_new_message + ent_new + ent_news + ent_note + ent_notification + ent_old_mobile + ent_old_phone + ent_palette + ent_paper_plane + ent_pencil + ent_phone + ent_pie_chart + ent_pin + ent_plus + ent_popup + ent_power_plug + ent_price_ribbon + ent_price_tag + ent_print + ent_progress_empty + ent_progress_full + ent_progress_one + ent_progress_two + ent_publish + ent_quote + ent_radio + ent_reply_all + ent_reply + ent_retweet + ent_rocket + ent_round_brush + ent_rss + ent_ruler + ent_scissors + ent_share_alternitive + ent_share + ent_shareable + ent_shield + ent_shop + ent_shopping_bag + ent_shopping_basket + ent_shopping_cart + ent_shuffle + ent_signal + ent_sound_mix + ent_sports_club + ent_spreadsheet + ent_squared_cross + ent_squared_minus + ent_squared_plus + ent_star_outlined + ent_star + ent_stopwatch + ent_suitcase + ent_swap + ent_sweden + ent_switch + ent_tablet + ent_tag + ent_text_document_inverted + ent_text_document + ent_text + ent_thermometer + ent_thumbs_down + ent_thumbs_up + ent_thunder_cloud + ent_ticket + ent_time_slot + ent_tools + ent_traffic_cone + ent_tree + ent_trophy + ent_tv + ent_typing + ent_unread + ent_untag + ent_user + ent_users + ent_v_card + ent_video + ent_vinyl + ent_voicemail + ent_wallet + ent_water + ent_500px_with_circle + ent_500px + ent_basecamp + ent_behance + ent_creative_cloud + ent_dropbox + ent_evernote + ent_flattr + ent_foursquare + ent_google_drive + ent_google_hangouts + ent_grooveshark + ent_icloud + ent_mixi + ent_onedrive + ent_paypal + ent_picasa + ent_qq + ent_rdio_with_circle + ent_renren + ent_scribd + ent_sina_weibo + ent_skype_with_circle + ent_skype + ent_slideshare + ent_smashing + ent_soundcloud + ent_spotify_with_circle + ent_spotify + ent_swarm + ent_vine_with_circle + ent_vine + ent_vk_alternitive + ent_vk_with_circle + ent_vk + ent_xing_with_circle + ent_xing + ent_yelp + ent_dribbble_with_circle + ent_dribbble + ent_facebook_with_circle + ent_facebook + ent_flickr_with_circle + ent_flickr + ent_github_with_circle + ent_github + ent_google_with_circle + ent_google + ent_instagram_with_circle + ent_instagram + ent_lastfm_with_circle + ent_lastfm + ent_linkedin_with_circle + ent_linkedin + ent_pinterest_with_circle + ent_pinterest + ent_rdio + ent_stumbleupon_with_circle + ent_stumbleupon + ent_tumblr_with_circle + ent_tumblr + ent_twitter_with_circle + ent_twitter + ent_vimeo_with_circle + ent_vimeo + ent_youtube_with_circle + ent_youtube + diff --git a/FONT_IDS/_current_font_awesome_v4.7.0.0.xml b/FONT_IDS/_current_font_awesome_v4.7.0.0.xml new file mode 100644 index 00000000..353cef90 --- /dev/null +++ b/FONT_IDS/_current_font_awesome_v4.7.0.0.xml @@ -0,0 +1,677 @@ + + faw_glass + faw_music + faw_search + faw_envelope_o + faw_heart + faw_star + faw_star_o + faw_user + faw_film + faw_th_large + faw_th + faw_th_list + faw_check + faw_times + faw_search_plus + faw_search_minus + faw_power_off + faw_signal + faw_cog + faw_trash_o + faw_home + faw_file_o + faw_clock_o + faw_road + faw_download + faw_arrow_circle_o_down + faw_arrow_circle_o_up + faw_inbox + faw_play_circle_o + faw_repeat + faw_refresh + faw_list_alt + faw_lock + faw_flag + faw_headphones + faw_volume_off + faw_volume_down + faw_volume_up + faw_qrcode + faw_barcode + faw_tag + faw_tags + faw_book + faw_bookmark + faw_print + faw_camera + faw_font + faw_bold + faw_italic + faw_text_height + faw_text_width + faw_align_left + faw_align_center + faw_align_right + faw_align_justify + faw_list + faw_outdent + faw_indent + faw_video_camera + faw_picture_o + faw_pencil + faw_map_marker + faw_adjust + faw_tint + faw_pencil_square_o + faw_share_square_o + faw_check_square_o + faw_arrows + faw_step_backward + faw_fast_backward + faw_backward + faw_play + faw_pause + faw_stop + faw_forward + faw_fast_forward + faw_step_forward + faw_eject + faw_chevron_left + faw_chevron_right + faw_plus_circle + faw_minus_circle + faw_times_circle + faw_check_circle + faw_question_circle + faw_info_circle + faw_crosshairs + faw_times_circle_o + faw_check_circle_o + faw_ban + faw_arrow_left + faw_arrow_right + faw_arrow_up + faw_arrow_down + faw_share + faw_expand + faw_compress + faw_plus + faw_minus + faw_asterisk + faw_exclamation_circle + faw_gift + faw_leaf + faw_fire + faw_eye + faw_eye_slash + faw_exclamation_triangle + faw_plane + faw_calendar + faw_random + faw_comment + faw_magnet + faw_chevron_up + faw_chevron_down + faw_retweet + faw_shopping_cart + faw_folder + faw_folder_open + faw_arrows_v + faw_arrows_h + faw_bar_chart + faw_twitter_square + faw_facebook_square + faw_camera_retro + faw_key + faw_cogs + faw_comments + faw_thumbs_o_up + faw_thumbs_o_down + faw_star_half + faw_heart_o + faw_sign_out + faw_linkedin_square + faw_thumb_tack + faw_external_link + faw_sign_in + faw_trophy + faw_github_square + faw_upload + faw_lemon_o + faw_phone + faw_square_o + faw_bookmark_o + faw_phone_square + faw_twitter + faw_facebook + faw_github + faw_unlock + faw_credit_card + faw_rss + faw_hdd_o + faw_bullhorn + faw_bell_o + faw_certificate + faw_hand_o_right + faw_hand_o_left + faw_hand_o_up + faw_hand_o_down + faw_arrow_circle_left + faw_arrow_circle_right + faw_arrow_circle_up + faw_arrow_circle_down + faw_globe + faw_wrench + faw_tasks + faw_filter + faw_briefcase + faw_arrows_alt + faw_users + faw_link + faw_cloud + faw_flask + faw_scissors + faw_files_o + faw_paperclip + faw_floppy_o + faw_square + faw_bars + faw_list_ul + faw_list_ol + faw_strikethrough + faw_underline + faw_table + faw_magic + faw_truck + faw_pinterest + faw_pinterest_square + faw_google_plus_square + faw_google_plus + faw_money + faw_caret_down + faw_caret_up + faw_caret_left + faw_caret_right + faw_columns + faw_sort + faw_sort_desc + faw_sort_asc + faw_envelope + faw_linkedin + faw_undo + faw_gavel + faw_tachometer + faw_comment_o + faw_comments_o + faw_bolt + faw_sitemap + faw_umbrella + faw_clipboard + faw_lightbulb_o + faw_exchange + faw_cloud_download + faw_cloud_upload + faw_user_md + faw_stethoscope + faw_suitcase + faw_bell + faw_coffee + faw_cutlery + faw_file_text_o + faw_building_o + faw_hospital_o + faw_ambulance + faw_medkit + faw_fighter_jet + faw_beer + faw_h_square + faw_plus_square + faw_angle_double_left + faw_angle_double_right + faw_angle_double_up + faw_angle_double_down + faw_angle_left + faw_angle_right + faw_angle_up + faw_angle_down + faw_desktop + faw_laptop + faw_tablet + faw_mobile + faw_circle_o + faw_quote_left + faw_quote_right + faw_spinner + faw_circle + faw_reply + faw_github_alt + faw_folder_o + faw_folder_open_o + faw_smile_o + faw_frown_o + faw_meh_o + faw_gamepad + faw_keyboard_o + faw_flag_o + faw_flag_checkered + faw_terminal + faw_code + faw_reply_all + faw_star_half_o + faw_location_arrow + faw_crop + faw_code_fork + faw_chain_broken + faw_question + faw_info + faw_exclamation + faw_superscript + faw_subscript + faw_eraser + faw_puzzle_piece + faw_microphone + faw_microphone_slash + faw_shield + faw_calendar_o + faw_fire_extinguisher + faw_rocket + faw_maxcdn + faw_chevron_circle_left + faw_chevron_circle_right + faw_chevron_circle_up + faw_chevron_circle_down + faw_html5 + faw_css3 + faw_anchor + faw_unlock_alt + faw_bullseye + faw_ellipsis_h + faw_ellipsis_v + faw_rss_square + faw_play_circle + faw_ticket + faw_minus_square + faw_minus_square_o + faw_level_up + faw_level_down + faw_check_square + faw_pencil_square + faw_external_link_square + faw_share_square + faw_compass + faw_caret_square_o_down + faw_caret_square_o_up + faw_caret_square_o_right + faw_eur + faw_gbp + faw_usd + faw_inr + faw_jpy + faw_rub + faw_krw + faw_btc + faw_file + faw_file_text + faw_sort_alpha_asc + faw_sort_alpha_desc + faw_sort_amount_asc + faw_sort_amount_desc + faw_sort_numeric_asc + faw_sort_numeric_desc + faw_thumbs_up + faw_thumbs_down + faw_youtube_square + faw_youtube + faw_xing + faw_xing_square + faw_youtube_play + faw_dropbox + faw_stack_overflow + faw_instagram + faw_flickr + faw_adn + faw_bitbucket + faw_bitbucket_square + faw_tumblr + faw_tumblr_square + faw_long_arrow_down + faw_long_arrow_up + faw_long_arrow_left + faw_long_arrow_right + faw_apple + faw_windows + faw_android + faw_linux + faw_dribbble + faw_skype + faw_foursquare + faw_trello + faw_female + faw_male + faw_gratipay + faw_sun_o + faw_moon_o + faw_archive + faw_bug + faw_vk + faw_weibo + faw_renren + faw_pagelines + faw_stack_exchange + faw_arrow_circle_o_right + faw_arrow_circle_o_left + faw_caret_square_o_left + faw_dot_circle_o + faw_wheelchair + faw_vimeo_square + faw_try + faw_plus_square_o + faw_space_shuttle + faw_slack + faw_envelope_square + faw_wordpress + faw_openid + faw_university + faw_graduation_cap + faw_yahoo + faw_google + faw_reddit + faw_reddit_square + faw_stumbleupon_circle + faw_stumbleupon + faw_delicious + faw_digg + faw_pied_piper_pp + faw_pied_piper_alt + faw_drupal + faw_joomla + faw_language + faw_fax + faw_building + faw_child + faw_paw + faw_spoon + faw_cube + faw_cubes + faw_behance + faw_behance_square + faw_steam + faw_steam_square + faw_recycle + faw_car + faw_taxi + faw_tree + faw_spotify + faw_deviantart + faw_soundcloud + faw_database + faw_file_pdf_o + faw_file_word_o + faw_file_excel_o + faw_file_powerpoint_o + faw_file_image_o + faw_file_archive_o + faw_file_audio_o + faw_file_video_o + faw_file_code_o + faw_vine + faw_codepen + faw_jsfiddle + faw_life_ring + faw_circle_o_notch + faw_rebel + faw_empire + faw_git_square + faw_git + faw_hacker_news + faw_tencent_weibo + faw_qq + faw_weixin + faw_paper_plane + faw_paper_plane_o + faw_history + faw_circle_thin + faw_header + faw_paragraph + faw_sliders + faw_share_alt + faw_share_alt_square + faw_bomb + faw_futbol_o + faw_tty + faw_binoculars + faw_plug + faw_slideshare + faw_twitch + faw_yelp + faw_newspaper_o + faw_wifi + faw_calculator + faw_paypal + faw_google_wallet + faw_cc_visa + faw_cc_mastercard + faw_cc_discover + faw_cc_amex + faw_cc_paypal + faw_cc_stripe + faw_bell_slash + faw_bell_slash_o + faw_trash + faw_copyright + faw_at + faw_eyedropper + faw_paint_brush + faw_birthday_cake + faw_area_chart + faw_pie_chart + faw_line_chart + faw_lastfm + faw_lastfm_square + faw_toggle_off + faw_toggle_on + faw_bicycle + faw_bus + faw_ioxhost + faw_angellist + faw_cc + faw_ils + faw_meanpath + faw_buysellads + faw_connectdevelop + faw_dashcube + faw_forumbee + faw_leanpub + faw_sellsy + faw_shirtsinbulk + faw_simplybuilt + faw_skyatlas + faw_cart_plus + faw_cart_arrow_down + faw_diamond + faw_ship + faw_user_secret + faw_motorcycle + faw_street_view + faw_heartbeat + faw_venus + faw_mars + faw_mercury + faw_transgender + faw_transgender_alt + faw_venus_double + faw_mars_double + faw_venus_mars + faw_mars_stroke + faw_mars_stroke_v + faw_mars_stroke_h + faw_neuter + faw_genderless + faw_facebook_official + faw_pinterest_p + faw_whatsapp + faw_server + faw_user_plus + faw_user_times + faw_bed + faw_viacoin + faw_train + faw_subway + faw_medium + faw_y_combinator + faw_optin_monster + faw_opencart + faw_expeditedssl + faw_battery_full + faw_battery_three_quarters + faw_battery_half + faw_battery_quarter + faw_battery_empty + faw_mouse_pointer + faw_i_cursor + faw_object_group + faw_object_ungroup + faw_sticky_note + faw_sticky_note_o + faw_cc_jcb + faw_cc_diners_club + faw_clone + faw_balance_scale + faw_hourglass_o + faw_hourglass_start + faw_hourglass_half + faw_hourglass_end + faw_hourglass + faw_hand_rock_o + faw_hand_paper_o + faw_hand_scissors_o + faw_hand_lizard_o + faw_hand_spock_o + faw_hand_pointer_o + faw_hand_peace_o + faw_trademark + faw_registered + faw_creative_commons + faw_gg + faw_gg_circle + faw_tripadvisor + faw_odnoklassniki + faw_odnoklassniki_square + faw_get_pocket + faw_wikipedia_w + faw_safari + faw_chrome + faw_firefox + faw_opera + faw_internet_explorer + faw_television + faw_contao + faw_500px + faw_amazon + faw_calendar_plus_o + faw_calendar_minus_o + faw_calendar_times_o + faw_calendar_check_o + faw_industry + faw_map_pin + faw_map_signs + faw_map_o + faw_map + faw_commenting + faw_commenting_o + faw_houzz + faw_vimeo + faw_black_tie + faw_fonticons + faw_reddit_alien + faw_edge + faw_credit_card_alt + faw_codiepie + faw_modx + faw_fort_awesome + faw_usb + faw_product_hunt + faw_mixcloud + faw_scribd + faw_pause_circle + faw_pause_circle_o + faw_stop_circle + faw_stop_circle_o + faw_shopping_bag + faw_shopping_basket + faw_hashtag + faw_bluetooth + faw_bluetooth_b + faw_percent + faw_gitlab + faw_wpbeginner + faw_wpforms + faw_envira + faw_universal_access + faw_wheelchair_alt + faw_question_circle_o + faw_blind + faw_audio_description + faw_volume_control_phone + faw_braille + faw_assistive_listening_systems + faw_american_sign_language_interpreting + faw_deaf + faw_glide + faw_glide_g + faw_sign_language + faw_low_vision + faw_viadeo + faw_viadeo_square + faw_snapchat + faw_snapchat_ghost + faw_snapchat_square + faw_pied_piper + faw_first_order + faw_yoast + faw_themeisle + faw_google_plus_official + faw_font_awesome + faw_handshake_o + faw_envelope_open + faw_envelope_open_o + faw_linode + faw_address_book + faw_address_book_o + faw_address_card + faw_address_card_o + faw_user_circle + faw_user_circle_o + faw_user_o + faw_id_badge + faw_id_card + faw_id_card_o + faw_quora + faw_free_code_camp + faw_telegram + faw_thermometer_full + faw_thermometer_three_quarters + faw_thermometer_half + faw_thermometer_quarter + faw_thermometer_empty + faw_shower + faw_bath + faw_podcast + faw_window_maximize + faw_window_minimize + faw_window_restore + faw_window_close + faw_window_close_o + faw_bandcamp + faw_grav + faw_etsy + faw_imdb + faw_ravelry + faw_eercast + faw_microchip + faw_snowflake_o + faw_superpowers + faw_wpexplorer + faw_meetup + diff --git a/FONT_IDS/_current_foundation_icons_v3.0.0.1.xml b/FONT_IDS/_current_foundation_icons_v3.0.0.1.xml new file mode 100644 index 00000000..54ee898a --- /dev/null +++ b/FONT_IDS/_current_foundation_icons_v3.0.0.1.xml @@ -0,0 +1,285 @@ + + fou_address_book + fou_alert + fou_align_center + fou_align_justify + fou_align_left + fou_align_right + fou_anchor + fou_annotate + fou_archive + fou_arrow_down + fou_arrow_left + fou_arrow_right + fou_arrow_up + fou_arrows_compress + fou_arrows_expand + fou_arrows_in + fou_arrows_out + fou_asl + fou_asterisk + fou_at_sign + fou_background_color + fou_battery_empty + fou_battery_full + fou_battery_half + fou_bitcoin_circle + fou_bitcoin + fou_blind + fou_bluetooth + fou_bold + fou_book_bookmark + fou_book + fou_bookmark + fou_braille + fou_burst_new + fou_burst_sale + fou_burst + fou_calendar + fou_camera + fou_check + fou_checkbox + fou_clipboard_notes + fou_clipboard_pencil + fou_clipboard + fou_clock + fou_closed_caption + fou_cloud + fou_comment_minus + fou_comment_quotes + fou_comment_video + fou_comment + fou_comments + fou_compass + fou_contrast + fou_credit_card + fou_crop + fou_crown + fou_css3 + fou_database + fou_die_five + fou_die_four + fou_die_one + fou_die_six + fou_die_three + fou_die_two + fou_dislike + fou_dollar_bill + fou_dollar + fou_download + fou_eject + fou_elevator + fou_euro + fou_eye + fou_fast_forward + fou_female_symbol + fou_female + fou_filter + fou_first_aid + fou_flag + fou_folder_add + fou_folder_lock + fou_folder + fou_foot + fou_foundation + fou_graph_bar + fou_graph_horizontal + fou_graph_pie + fou_graph_trend + fou_guide_dog + fou_hearing_aid + fou_heart + fou_home + fou_html5 + fou_indent_less + fou_indent_more + fou_info + fou_italic + fou_key + fou_laptop + fou_layout + fou_lightbulb + fou_like + fou_link + fou_list_bullet + fou_list_number + fou_list_thumbnails + fou_list + fou_lock + fou_loop + fou_magnifying_glass + fou_mail + fou_male_female + fou_male_symbol + fou_male + fou_map + fou_marker + fou_megaphone + fou_microphone + fou_minus_circle + fou_minus + fou_mobile_signal + fou_mobile + fou_monitor + fou_mountains + fou_music + fou_next + fou_no_dogs + fou_no_smoking + fou_page_add + fou_page_copy + fou_page_csv + fou_page_delete + fou_page_doc + fou_page_edit + fou_page_export_csv + fou_page_export_doc + fou_page_export_pdf + fou_page_export + fou_page_filled + fou_page_multiple + fou_page_pdf + fou_page_remove + fou_page_search + fou_page + fou_paint_bucket + fou_paperclip + fou_pause + fou_paw + fou_paypal + fou_pencil + fou_photo + fou_play_circle + fou_play_video + fou_play + fou_plus + fou_pound + fou_power + fou_previous + fou_price_tag + fou_pricetag_multiple + fou_print + fou_prohibited + fou_projection_screen + fou_puzzle + fou_quote + fou_record + fou_refresh + fou_results_demographics + fou_results + fou_rewind_ten + fou_rewind + fou_rss + fou_safety_cone + fou_save + fou_share + fou_sheriff_badge + fou_shield + fou_shopping_bag + fou_shopping_cart + fou_shuffle + fou_skull + fou_social_500px + fou_social_adobe + fou_social_amazon + fou_social_android + fou_social_apple + fou_social_behance + fou_social_bing + fou_social_blogger + fou_social_delicious + fou_social_designer_news + fou_social_deviant_art + fou_social_digg + fou_social_dribbble + fou_social_drive + fou_social_dropbox + fou_social_evernote + fou_social_facebook + fou_social_flickr + fou_social_forrst + fou_social_foursquare + fou_social_game_center + fou_social_github + fou_social_google_plus + fou_social_hacker_news + fou_social_hi5 + fou_social_instagram + fou_social_joomla + fou_social_lastfm + fou_social_linkedin + fou_social_medium + fou_social_myspace + fou_social_orkut + fou_social_path + fou_social_picasa + fou_social_pinterest + fou_social_rdio + fou_social_reddit + fou_social_skillshare + fou_social_skype + fou_social_smashing_mag + fou_social_snapchat + fou_social_spotify + fou_social_squidoo + fou_social_stack_overflow + fou_social_steam + fou_social_stumbleupon + fou_social_treehouse + fou_social_tumblr + fou_social_twitter + fou_social_vimeo + fou_social_windows + fou_social_xbox + fou_social_yahoo + fou_social_yelp + fou_social_youtube + fou_social_zerply + fou_social_zurb + fou_sound + fou_star + fou_stop + fou_strikethrough + fou_subscript + fou_superscript + fou_tablet_landscape + fou_tablet_portrait + fou_target_two + fou_target + fou_telephone_accessible + fou_telephone + fou_text_color + fou_thumbnails + fou_ticket + fou_torso_business + fou_torso_female + fou_torso + fou_torsos_all_female + fou_torsos_all + fou_torsos_female_male + fou_torsos_male_female + fou_torsos + fou_trash + fou_trees + fou_trophy + fou_underline + fou_universal_access + fou_unlink + fou_unlock + fou_upload_cloud + fou_upload + fou_usb + fou_video + fou_volume_none + fou_volume_strike + fou_volume + fou_web + fou_wheelchair + fou_widget + fou_wrench + fou_x_circle + fou_x + fou_yen + fou_zoom_in + fou_zoom_out + diff --git a/FONT_IDS/_current_google_material_v3.0.1.0.original.xml b/FONT_IDS/_current_google_material_v3.0.1.0.original.xml new file mode 100644 index 00000000..4c8a5d56 --- /dev/null +++ b/FONT_IDS/_current_google_material_v3.0.1.0.original.xml @@ -0,0 +1,934 @@ + + gmd_3d_rotation + gmd_ac_unit + gmd_access_alarm + gmd_access_alarms + gmd_access_time + gmd_accessibility + gmd_accessible + gmd_account_balance + gmd_account_balance_wallet + gmd_account_box + gmd_account_circle + gmd_adb + gmd_add + gmd_add_a_photo + gmd_add_alarm + gmd_add_alert + gmd_add_box + gmd_add_circle + gmd_add_circle_outline + gmd_add_location + gmd_add_shopping_cart + gmd_add_to_photos + gmd_add_to_queue + gmd_adjust + gmd_airline_seat_flat + gmd_airline_seat_flat_angled + gmd_airline_seat_individual_suite + gmd_airline_seat_legroom_extra + gmd_airline_seat_legroom_normal + gmd_airline_seat_legroom_reduced + gmd_airline_seat_recline_extra + gmd_airline_seat_recline_normal + gmd_airplanemode_active + gmd_airplanemode_inactive + gmd_airplay + gmd_airport_shuttle + gmd_alarm + gmd_alarm_add + gmd_alarm_off + gmd_alarm_on + gmd_album + gmd_all_inclusive + gmd_all_out + gmd_android + gmd_announcement + gmd_apps + gmd_archive + gmd_arrow_back + gmd_arrow_downward + gmd_arrow_drop_down + gmd_arrow_drop_down_circle + gmd_arrow_drop_up + gmd_arrow_forward + gmd_arrow_upward + gmd_art_track + gmd_aspect_ratio + gmd_assessment + gmd_assignment + gmd_assignment_ind + gmd_assignment_late + gmd_assignment_return + gmd_assignment_returned + gmd_assignment_turned_in + gmd_assistant + gmd_assistant_photo + gmd_attach_file + gmd_attach_money + gmd_attachment + gmd_audiotrack + gmd_autorenew + gmd_av_timer + gmd_backspace + gmd_backup + gmd_battery_alert + gmd_battery_charging_full + gmd_battery_full + gmd_battery_std + gmd_battery_unknown + gmd_beach_access + gmd_beenhere + gmd_block + gmd_bluetooth + gmd_bluetooth_audio + gmd_bluetooth_connected + gmd_bluetooth_disabled + gmd_bluetooth_searching + gmd_blur_circular + gmd_blur_linear + gmd_blur_off + gmd_blur_on + gmd_book + gmd_bookmark + gmd_bookmark_border + gmd_border_all + gmd_border_bottom + gmd_border_clear + gmd_border_color + gmd_border_horizontal + gmd_border_inner + gmd_border_left + gmd_border_outer + gmd_border_right + gmd_border_style + gmd_border_top + gmd_border_vertical + gmd_branding_watermark + gmd_brightness_1 + gmd_brightness_2 + gmd_brightness_3 + gmd_brightness_4 + gmd_brightness_5 + gmd_brightness_6 + gmd_brightness_7 + gmd_brightness_auto + gmd_brightness_high + gmd_brightness_low + gmd_brightness_medium + gmd_broken_image + gmd_brush + gmd_bubble_chart + gmd_bug_report + gmd_build + gmd_burst_mode + gmd_business + gmd_business_center + gmd_cached + gmd_cake + gmd_call + gmd_call_end + gmd_call_made + gmd_call_merge + gmd_call_missed + gmd_call_missed_outgoing + gmd_call_received + gmd_call_split + gmd_call_to_action + gmd_camera + gmd_camera_alt + gmd_camera_enhance + gmd_camera_front + gmd_camera_rear + gmd_camera_roll + gmd_cancel + gmd_card_giftcard + gmd_card_membership + gmd_card_travel + gmd_casino + gmd_cast + gmd_cast_connected + gmd_center_focus_strong + gmd_center_focus_weak + gmd_change_history + gmd_chat + gmd_chat_bubble + gmd_chat_bubble_outline + gmd_check + gmd_check_box + gmd_check_box_outline_blank + gmd_check_circle + gmd_chevron_left + gmd_chevron_right + gmd_child_care + gmd_child_friendly + gmd_chrome_reader_mode + gmd_class + gmd_clear + gmd_clear_all + gmd_close + gmd_closed_caption + gmd_cloud + gmd_cloud_circle + gmd_cloud_done + gmd_cloud_download + gmd_cloud_off + gmd_cloud_queue + gmd_cloud_upload + gmd_code + gmd_collections + gmd_collections_bookmark + gmd_color_lens + gmd_colorize + gmd_comment + gmd_compare + gmd_compare_arrows + gmd_computer + gmd_confirmation_number + gmd_contact_mail + gmd_contact_phone + gmd_contacts + gmd_content_copy + gmd_content_cut + gmd_content_paste + gmd_control_point + gmd_control_point_duplicate + gmd_copyright + gmd_create + gmd_create_new_folder + gmd_credit_card + gmd_crop + gmd_crop_16_9 + gmd_crop_3_2 + gmd_crop_5_4 + gmd_crop_7_5 + gmd_crop_din + gmd_crop_free + gmd_crop_landscape + gmd_crop_original + gmd_crop_portrait + gmd_crop_rotate + gmd_crop_square + gmd_dashboard + gmd_data_usage + gmd_date_range + gmd_dehaze + gmd_delete + gmd_delete_forever + gmd_delete_sweep + gmd_description + gmd_desktop_mac + gmd_desktop_windows + gmd_details + gmd_developer_board + gmd_developer_mode + gmd_device_hub + gmd_devices + gmd_devices_other + gmd_dialer_sip + gmd_dialpad + gmd_directions + gmd_directions_bike + gmd_directions_boat + gmd_directions_bus + gmd_directions_car + gmd_directions_railway + gmd_directions_run + gmd_directions_subway + gmd_directions_transit + gmd_directions_walk + gmd_disc_full + gmd_dns + gmd_do_not_disturb + gmd_do_not_disturb_alt + gmd_do_not_disturb_off + gmd_do_not_disturb_on + gmd_dock + gmd_domain + gmd_done + gmd_done_all + gmd_donut_large + gmd_donut_small + gmd_drafts + gmd_drag_handle + gmd_drive_eta + gmd_dvr + gmd_edit + gmd_edit_location + gmd_eject + gmd_email + gmd_enhanced_encryption + gmd_equalizer + gmd_error + gmd_error_outline + gmd_euro_symbol + gmd_ev_station + gmd_event + gmd_event_available + gmd_event_busy + gmd_event_note + gmd_event_seat + gmd_exit_to_app + gmd_expand_less + gmd_expand_more + gmd_explicit + gmd_explore + gmd_exposure + gmd_exposure_neg_1 + gmd_exposure_neg_2 + gmd_exposure_plus_1 + gmd_exposure_plus_2 + gmd_exposure_zero + gmd_extension + gmd_face + gmd_fast_forward + gmd_fast_rewind + gmd_favorite + gmd_favorite_border + gmd_featured_play_list + gmd_featured_video + gmd_feedback + gmd_fiber_dvr + gmd_fiber_manual_record + gmd_fiber_new + gmd_fiber_pin + gmd_fiber_smart_record + gmd_file_download + gmd_file_upload + gmd_filter + gmd_filter_1 + gmd_filter_2 + gmd_filter_3 + gmd_filter_4 + gmd_filter_5 + gmd_filter_6 + gmd_filter_7 + gmd_filter_8 + gmd_filter_9 + gmd_filter_9_plus + gmd_filter_b_and_w + gmd_filter_center_focus + gmd_filter_drama + gmd_filter_frames + gmd_filter_hdr + gmd_filter_list + gmd_filter_none + gmd_filter_tilt_shift + gmd_filter_vintage + gmd_find_in_page + gmd_find_replace + gmd_fingerprint + gmd_first_page + gmd_fitness_center + gmd_flag + gmd_flare + gmd_flash_auto + gmd_flash_off + gmd_flash_on + gmd_flight + gmd_flight_land + gmd_flight_takeoff + gmd_flip + gmd_flip_to_back + gmd_flip_to_front + gmd_folder + gmd_folder_open + gmd_folder_shared + gmd_folder_special + gmd_font_download + gmd_format_align_center + gmd_format_align_justify + gmd_format_align_left + gmd_format_align_right + gmd_format_bold + gmd_format_clear + gmd_format_color_fill + gmd_format_color_reset + gmd_format_color_text + gmd_format_indent_decrease + gmd_format_indent_increase + gmd_format_italic + gmd_format_line_spacing + gmd_format_list_bulleted + gmd_format_list_numbered + gmd_format_paint + gmd_format_quote + gmd_format_shapes + gmd_format_size + gmd_format_strikethrough + gmd_format_textdirection_l_to_r + gmd_format_textdirection_r_to_l + gmd_format_underlined + gmd_forum + gmd_forward + gmd_forward_10 + gmd_forward_30 + gmd_forward_5 + gmd_free_breakfast + gmd_fullscreen + gmd_fullscreen_exit + gmd_functions + gmd_g_translate + gmd_gamepad + gmd_games + gmd_gavel + gmd_gesture + gmd_get_app + gmd_gif + gmd_golf_course + gmd_gps_fixed + gmd_gps_not_fixed + gmd_gps_off + gmd_grade + gmd_gradient + gmd_grain + gmd_graphic_eq + gmd_grid_off + gmd_grid_on + gmd_group + gmd_group_add + gmd_group_work + gmd_hd + gmd_hdr_off + gmd_hdr_on + gmd_hdr_strong + gmd_hdr_weak + gmd_headset + gmd_headset_mic + gmd_healing + gmd_hearing + gmd_help + gmd_help_outline + gmd_high_quality + gmd_highlight + gmd_highlight_off + gmd_history + gmd_home + gmd_hot_tub + gmd_hotel + gmd_hourglass_empty + gmd_hourglass_full + gmd_http + gmd_https + gmd_image + gmd_image_aspect_ratio + gmd_import_contacts + gmd_import_export + gmd_important_devices + gmd_inbox + gmd_indeterminate_check_box + gmd_info + gmd_info_outline + gmd_input + gmd_insert_chart + gmd_insert_comment + gmd_insert_drive_file + gmd_insert_emoticon + gmd_insert_invitation + gmd_insert_link + gmd_insert_photo + gmd_invert_colors + gmd_invert_colors_off + gmd_iso + gmd_keyboard + gmd_keyboard_arrow_down + gmd_keyboard_arrow_left + gmd_keyboard_arrow_right + gmd_keyboard_arrow_up + gmd_keyboard_backspace + gmd_keyboard_capslock + gmd_keyboard_hide + gmd_keyboard_return + gmd_keyboard_tab + gmd_keyboard_voice + gmd_kitchen + gmd_label + gmd_label_outline + gmd_landscape + gmd_language + gmd_laptop + gmd_laptop_chromebook + gmd_laptop_mac + gmd_laptop_windows + gmd_last_page + gmd_launch + gmd_layers + gmd_layers_clear + gmd_leak_add + gmd_leak_remove + gmd_lens + gmd_library_add + gmd_library_books + gmd_library_music + gmd_lightbulb_outline + gmd_line_style + gmd_line_weight + gmd_linear_scale + gmd_link + gmd_linked_camera + gmd_list + gmd_live_help + gmd_live_tv + gmd_local_activity + gmd_local_airport + gmd_local_atm + gmd_local_bar + gmd_local_cafe + gmd_local_car_wash + gmd_local_convenience_store + gmd_local_dining + gmd_local_drink + gmd_local_florist + gmd_local_gas_station + gmd_local_grocery_store + gmd_local_hospital + gmd_local_hotel + gmd_local_laundry_service + gmd_local_library + gmd_local_mall + gmd_local_movies + gmd_local_offer + gmd_local_parking + gmd_local_pharmacy + gmd_local_phone + gmd_local_pizza + gmd_local_play + gmd_local_post_office + gmd_local_printshop + gmd_local_see + gmd_local_shipping + gmd_local_taxi + gmd_location_city + gmd_location_disabled + gmd_location_off + gmd_location_on + gmd_location_searching + gmd_lock + gmd_lock_open + gmd_lock_outline + gmd_looks + gmd_looks_3 + gmd_looks_4 + gmd_looks_5 + gmd_looks_6 + gmd_looks_one + gmd_looks_two + gmd_loop + gmd_loupe + gmd_low_priority + gmd_loyalty + gmd_mail + gmd_mail_outline + gmd_map + gmd_markunread + gmd_markunread_mailbox + gmd_memory + gmd_menu + gmd_merge_type + gmd_message + gmd_mic + gmd_mic_none + gmd_mic_off + gmd_mms + gmd_mode_comment + gmd_mode_edit + gmd_monetization_on + gmd_money_off + gmd_monochrome_photos + gmd_mood + gmd_mood_bad + gmd_more + gmd_more_horiz + gmd_more_vert + gmd_motorcycle + gmd_mouse + gmd_move_to_inbox + gmd_movie + gmd_movie_creation + gmd_movie_filter + gmd_multiline_chart + gmd_music_note + gmd_music_video + gmd_my_location + gmd_nature + gmd_nature_people + gmd_navigate_before + gmd_navigate_next + gmd_navigation + gmd_near_me + gmd_network_cell + gmd_network_check + gmd_network_locked + gmd_network_wifi + gmd_new_releases + gmd_next_week + gmd_nfc + gmd_no_encryption + gmd_no_sim + gmd_not_interested + gmd_note + gmd_note_add + gmd_notifications + gmd_notifications_active + gmd_notifications_none + gmd_notifications_off + gmd_notifications_paused + gmd_offline_pin + gmd_ondemand_video + gmd_opacity + gmd_open_in_browser + gmd_open_in_new + gmd_open_with + gmd_pages + gmd_pageview + gmd_palette + gmd_pan_tool + gmd_panorama + gmd_panorama_fish_eye + gmd_panorama_horizontal + gmd_panorama_vertical + gmd_panorama_wide_angle + gmd_party_mode + gmd_pause + gmd_pause_circle_filled + gmd_pause_circle_outline + gmd_payment + gmd_people + gmd_people_outline + gmd_perm_camera_mic + gmd_perm_contact_calendar + gmd_perm_data_setting + gmd_perm_device_information + gmd_perm_identity + gmd_perm_media + gmd_perm_phone_msg + gmd_perm_scan_wifi + gmd_person + gmd_person_add + gmd_person_outline + gmd_person_pin + gmd_person_pin_circle + gmd_personal_video + gmd_pets + gmd_phone + gmd_phone_android + gmd_phone_bluetooth_speaker + gmd_phone_forwarded + gmd_phone_in_talk + gmd_phone_iphone + gmd_phone_locked + gmd_phone_missed + gmd_phone_paused + gmd_phonelink + gmd_phonelink_erase + gmd_phonelink_lock + gmd_phonelink_off + gmd_phonelink_ring + gmd_phonelink_setup + gmd_photo + gmd_photo_album + gmd_photo_camera + gmd_photo_filter + gmd_photo_library + gmd_photo_size_select_actual + gmd_photo_size_select_large + gmd_photo_size_select_small + gmd_picture_as_pdf + gmd_picture_in_picture + gmd_picture_in_picture_alt + gmd_pie_chart + gmd_pie_chart_outlined + gmd_pin_drop + gmd_place + gmd_play_arrow + gmd_play_circle_filled + gmd_play_circle_outline + gmd_play_for_work + gmd_playlist_add + gmd_playlist_add_check + gmd_playlist_play + gmd_plus_one + gmd_poll + gmd_polymer + gmd_pool + gmd_portable_wifi_off + gmd_portrait + gmd_power + gmd_power_input + gmd_power_settings_new + gmd_pregnant_woman + gmd_present_to_all + gmd_print + gmd_priority_high + gmd_public + gmd_publish + gmd_query_builder + gmd_question_answer + gmd_queue + gmd_queue_music + gmd_queue_play_next + gmd_radio + gmd_radio_button_checked + gmd_radio_button_unchecked + gmd_rate_review + gmd_receipt + gmd_recent_actors + gmd_record_voice_over + gmd_redeem + gmd_redo + gmd_refresh + gmd_remove + gmd_remove_circle + gmd_remove_circle_outline + gmd_remove_from_queue + gmd_remove_red_eye + gmd_remove_shopping_cart + gmd_reorder + gmd_repeat + gmd_repeat_one + gmd_replay + gmd_replay_10 + gmd_replay_30 + gmd_replay_5 + gmd_reply + gmd_reply_all + gmd_report + gmd_report_problem + gmd_restaurant + gmd_restaurant_menu + gmd_restore + gmd_restore_page + gmd_ring_volume + gmd_room + gmd_room_service + gmd_rotate_90_degrees_ccw + gmd_rotate_left + gmd_rotate_right + gmd_rounded_corner + gmd_router + gmd_rowing + gmd_rss_feed + gmd_rv_hookup + gmd_satellite + gmd_save + gmd_scanner + gmd_schedule + gmd_school + gmd_screen_lock_landscape + gmd_screen_lock_portrait + gmd_screen_lock_rotation + gmd_screen_rotation + gmd_screen_share + gmd_sd_card + gmd_sd_storage + gmd_search + gmd_security + gmd_select_all + gmd_send + gmd_sentiment_dissatisfied + gmd_sentiment_neutral + gmd_sentiment_satisfied + gmd_sentiment_very_dissatisfied + gmd_sentiment_very_satisfied + gmd_settings + gmd_settings_applications + gmd_settings_backup_restore + gmd_settings_bluetooth + gmd_settings_brightness + gmd_settings_cell + gmd_settings_ethernet + gmd_settings_input_antenna + gmd_settings_input_component + gmd_settings_input_composite + gmd_settings_input_hdmi + gmd_settings_input_svideo + gmd_settings_overscan + gmd_settings_phone + gmd_settings_power + gmd_settings_remote + gmd_settings_system_daydream + gmd_settings_voice + gmd_share + gmd_shop + gmd_shop_two + gmd_shopping_basket + gmd_shopping_cart + gmd_short_text + gmd_show_chart + gmd_shuffle + gmd_signal_cellular_4_bar + gmd_signal_cellular_connected_no_internet_4_bar + gmd_signal_cellular_no_sim + gmd_signal_cellular_null + gmd_signal_cellular_off + gmd_signal_wifi_4_bar + gmd_signal_wifi_4_bar_lock + gmd_signal_wifi_off + gmd_sim_card + gmd_sim_card_alert + gmd_skip_next + gmd_skip_previous + gmd_slideshow + gmd_slow_motion_video + gmd_smartphone + gmd_smoke_free + gmd_smoking_rooms + gmd_sms + gmd_sms_failed + gmd_snooze + gmd_sort + gmd_sort_by_alpha + gmd_spa + gmd_space_bar + gmd_speaker + gmd_speaker_group + gmd_speaker_notes + gmd_speaker_notes_off + gmd_speaker_phone + gmd_spellcheck + gmd_star + gmd_star_border + gmd_star_half + gmd_stars + gmd_stay_current_landscape + gmd_stay_current_portrait + gmd_stay_primary_landscape + gmd_stay_primary_portrait + gmd_stop + gmd_stop_screen_share + gmd_storage + gmd_store + gmd_store_mall_directory + gmd_straighten + gmd_streetview + gmd_strikethrough_s + gmd_style + gmd_subdirectory_arrow_left + gmd_subdirectory_arrow_right + gmd_subject + gmd_subscriptions + gmd_subtitles + gmd_subway + gmd_supervisor_account + gmd_surround_sound + gmd_swap_calls + gmd_swap_horiz + gmd_swap_vert + gmd_swap_vertical_circle + gmd_switch_camera + gmd_switch_video + gmd_sync + gmd_sync_disabled + gmd_sync_problem + gmd_system_update + gmd_system_update_alt + gmd_tab + gmd_tab_unselected + gmd_tablet + gmd_tablet_android + gmd_tablet_mac + gmd_tag_faces + gmd_tap_and_play + gmd_terrain + gmd_text_fields + gmd_text_format + gmd_textsms + gmd_texture + gmd_theaters + gmd_thumb_down + gmd_thumb_up + gmd_thumbs_up_down + gmd_time_to_leave + gmd_timelapse + gmd_timeline + gmd_timer + gmd_timer_10 + gmd_timer_3 + gmd_timer_off + gmd_title + gmd_toc + gmd_today + gmd_toll + gmd_tonality + gmd_touch_app + gmd_toys + gmd_track_changes + gmd_traffic + gmd_train + gmd_tram + gmd_transfer_within_a_station + gmd_transform + gmd_translate + gmd_trending_down + gmd_trending_flat + gmd_trending_up + gmd_tune + gmd_turned_in + gmd_turned_in_not + gmd_tv + gmd_unarchive + gmd_undo + gmd_unfold_less + gmd_unfold_more + gmd_update + gmd_usb + gmd_verified_user + gmd_vertical_align_bottom + gmd_vertical_align_center + gmd_vertical_align_top + gmd_vibration + gmd_video_call + gmd_video_label + gmd_video_library + gmd_videocam + gmd_videocam_off + gmd_videogame_asset + gmd_view_agenda + gmd_view_array + gmd_view_carousel + gmd_view_column + gmd_view_comfy + gmd_view_compact + gmd_view_day + gmd_view_headline + gmd_view_list + gmd_view_module + gmd_view_quilt + gmd_view_stream + gmd_view_week + gmd_vignette + gmd_visibility + gmd_visibility_off + gmd_voice_chat + gmd_voicemail + gmd_volume_down + gmd_volume_mute + gmd_volume_off + gmd_volume_up + gmd_vpn_key + gmd_vpn_lock + gmd_wallpaper + gmd_warning + gmd_watch + gmd_watch_later + gmd_wb_auto + gmd_wb_cloudy + gmd_wb_incandescent + gmd_wb_iridescent + gmd_wb_sunny + gmd_wc + gmd_web + gmd_web_asset + gmd_weekend + gmd_whatshot + gmd_widgets + gmd_wifi + gmd_wifi_lock + gmd_wifi_tethering + gmd_work + gmd_wrap_text + gmd_youtube_searched_for + gmd_zoom_in + gmd_zoom_out + gmd_zoom_out_map + diff --git a/FONT_IDS/_current_ionicons_v2.0.1.1.xml b/FONT_IDS/_current_ionicons_v2.0.1.1.xml new file mode 100644 index 00000000..e6a743f4 --- /dev/null +++ b/FONT_IDS/_current_ionicons_v2.0.1.1.xml @@ -0,0 +1,735 @@ + + ion_alert + ion_alert_circled + ion_android_add + ion_android_add_circle + ion_android_alarm_clock + ion_android_alert + ion_android_apps + ion_android_archive + ion_android_arrow_back + ion_android_arrow_down + ion_android_arrow_dropdown + ion_android_arrow_dropdown_circle + ion_android_arrow_dropleft + ion_android_arrow_dropleft_circle + ion_android_arrow_dropright + ion_android_arrow_dropright_circle + ion_android_arrow_dropup + ion_android_arrow_dropup_circle + ion_android_arrow_forward + ion_android_arrow_up + ion_android_attach + ion_android_bar + ion_android_bicycle + ion_android_boat + ion_android_bookmark + ion_android_bulb + ion_android_bus + ion_android_calendar + ion_android_call + ion_android_camera + ion_android_cancel + ion_android_car + ion_android_cart + ion_android_chat + ion_android_checkbox + ion_android_checkbox_blank + ion_android_checkbox_outline + ion_android_checkbox_outline_blank + ion_android_checkmark_circle + ion_android_clipboard + ion_android_close + ion_android_cloud + ion_android_cloud_circle + ion_android_cloud_done + ion_android_cloud_outline + ion_android_color_palette + ion_android_compass + ion_android_contact + ion_android_contacts + ion_android_contract + ion_android_create + ion_android_delete + ion_android_desktop + ion_android_document + ion_android_done + ion_android_done_all + ion_android_download + ion_android_drafts + ion_android_exit + ion_android_expand + ion_android_favorite + ion_android_favorite_outline + ion_android_film + ion_android_folder + ion_android_folder_open + ion_android_funnel + ion_android_globe + ion_android_hand + ion_android_hangout + ion_android_happy + ion_android_home + ion_android_image + ion_android_laptop + ion_android_list + ion_android_locate + ion_android_lock + ion_android_mail + ion_android_map + ion_android_menu + ion_android_microphone + ion_android_microphone_off + ion_android_more_horizontal + ion_android_more_vertical + ion_android_navigate + ion_android_notifications + ion_android_notifications_none + ion_android_notifications_off + ion_android_open + ion_android_options + ion_android_people + ion_android_person + ion_android_person_add + ion_android_phone_landscape + ion_android_phone_portrait + ion_android_pin + ion_android_plane + ion_android_playstore + ion_android_print + ion_android_radio_button_off + ion_android_radio_button_on + ion_android_refresh + ion_android_remove + ion_android_remove_circle + ion_android_restaurant + ion_android_sad + ion_android_search + ion_android_send + ion_android_settings + ion_android_share + ion_android_share_alt + ion_android_star + ion_android_star_half + ion_android_star_outline + ion_android_stopwatch + ion_android_subway + ion_android_sunny + ion_android_sync + ion_android_textsms + ion_android_time + ion_android_train + ion_android_unlock + ion_android_upload + ion_android_volume_down + ion_android_volume_mute + ion_android_volume_off + ion_android_volume_up + ion_android_walk + ion_android_warning + ion_android_watch + ion_android_wifi + ion_aperture + ion_archive + ion_arrow_down_a + ion_arrow_down_b + ion_arrow_down_c + ion_arrow_expand + ion_arrow_graph_down_left + ion_arrow_graph_down_right + ion_arrow_graph_up_left + ion_arrow_graph_up_right + ion_arrow_left_a + ion_arrow_left_b + ion_arrow_left_c + ion_arrow_move + ion_arrow_resize + ion_arrow_return_left + ion_arrow_return_right + ion_arrow_right_a + ion_arrow_right_b + ion_arrow_right_c + ion_arrow_shrink + ion_arrow_swap + ion_arrow_up_a + ion_arrow_up_b + ion_arrow_up_c + ion_asterisk + ion_at + ion_backspace + ion_backspace_outline + ion_bag + ion_battery_charging + ion_battery_empty + ion_battery_full + ion_battery_half + ion_battery_low + ion_beaker + ion_beer + ion_bluetooth + ion_bonfire + ion_bookmark + ion_bowtie + ion_briefcase + ion_bug + ion_calculator + ion_calendar + ion_camera + ion_card + ion_cash + ion_chatbox + ion_chatbox_working + ion_chatboxes + ion_chatbubble + ion_chatbubble_working + ion_chatbubbles + ion_checkmark + ion_checkmark_circled + ion_checkmark_round + ion_chevron_down + ion_chevron_left + ion_chevron_right + ion_chevron_up + ion_clipboard + ion_clock + ion_close + ion_close_circled + ion_close_round + ion_closed_captioning + ion_cloud + ion_code + ion_code_download + ion_code_working + ion_coffee + ion_compass + ion_compose + ion_connection_bars + ion_contrast + ion_crop + ion_cube + ion_disc + ion_document + ion_document_text + ion_drag + ion_earth + ion_easel + ion_edit + ion_egg + ion_eject + ion_email + ion_email_unread + ion_erlenmeyer_flask + ion_erlenmeyer_flask_bubbles + ion_eye + ion_eye_disabled + ion_female + ion_filing + ion_film_marker + ion_fireball + ion_flag + ion_flame + ion_flash + ion_flash_off + ion_folder + ion_fork + ion_fork_repo + ion_forward + ion_funnel + ion_gear_a + ion_gear_b + ion_grid + ion_hammer + ion_happy + ion_happy_outline + ion_headphone + ion_heart + ion_heart_broken + ion_help + ion_help_buoy + ion_help_circled + ion_home + ion_icecream + ion_image + ion_images + ion_information + ion_information_circled + ion_ionic + ion_ios_alarm + ion_ios_alarm_outline + ion_ios_albums + ion_ios_albums_outline + ion_ios_americanfootball + ion_ios_americanfootball_outline + ion_ios_analytics + ion_ios_analytics_outline + ion_ios_arrow_back + ion_ios_arrow_down + ion_ios_arrow_forward + ion_ios_arrow_left + ion_ios_arrow_right + ion_ios_arrow_thin_down + ion_ios_arrow_thin_left + ion_ios_arrow_thin_right + ion_ios_arrow_thin_up + ion_ios_arrow_up + ion_ios_at + ion_ios_at_outline + ion_ios_barcode + ion_ios_barcode_outline + ion_ios_baseball + ion_ios_baseball_outline + ion_ios_basketball + ion_ios_basketball_outline + ion_ios_bell + ion_ios_bell_outline + ion_ios_body + ion_ios_body_outline + ion_ios_bolt + ion_ios_bolt_outline + ion_ios_book + ion_ios_book_outline + ion_ios_bookmarks + ion_ios_bookmarks_outline + ion_ios_box + ion_ios_box_outline + ion_ios_briefcase + ion_ios_briefcase_outline + ion_ios_browsers + ion_ios_browsers_outline + ion_ios_calculator + ion_ios_calculator_outline + ion_ios_calendar + ion_ios_calendar_outline + ion_ios_camera + ion_ios_camera_outline + ion_ios_cart + ion_ios_cart_outline + ion_ios_chatboxes + ion_ios_chatboxes_outline + ion_ios_chatbubble + ion_ios_chatbubble_outline + ion_ios_checkmark + ion_ios_checkmark_empty + ion_ios_checkmark_outline + ion_ios_circle_filled + ion_ios_circle_outline + ion_ios_clock + ion_ios_clock_outline + ion_ios_close + ion_ios_close_empty + ion_ios_close_outline + ion_ios_cloud + ion_ios_cloud_download + ion_ios_cloud_download_outline + ion_ios_cloud_outline + ion_ios_cloud_upload + ion_ios_cloud_upload_outline + ion_ios_cloudy + ion_ios_cloudy_night + ion_ios_cloudy_night_outline + ion_ios_cloudy_outline + ion_ios_cog + ion_ios_cog_outline + ion_ios_color_filter + ion_ios_color_filter_outline + ion_ios_color_wand + ion_ios_color_wand_outline + ion_ios_compose + ion_ios_compose_outline + ion_ios_contact + ion_ios_contact_outline + ion_ios_copy + ion_ios_copy_outline + ion_ios_crop + ion_ios_crop_strong + ion_ios_download + ion_ios_download_outline + ion_ios_drag + ion_ios_email + ion_ios_email_outline + ion_ios_eye + ion_ios_eye_outline + ion_ios_fastforward + ion_ios_fastforward_outline + ion_ios_filing + ion_ios_filing_outline + ion_ios_film + ion_ios_film_outline + ion_ios_flag + ion_ios_flag_outline + ion_ios_flame + ion_ios_flame_outline + ion_ios_flask + ion_ios_flask_outline + ion_ios_flower + ion_ios_flower_outline + ion_ios_folder + ion_ios_folder_outline + ion_ios_football + ion_ios_football_outline + ion_ios_game_controller_a + ion_ios_game_controller_a_outline + ion_ios_game_controller_b + ion_ios_game_controller_b_outline + ion_ios_gear + ion_ios_gear_outline + ion_ios_glasses + ion_ios_glasses_outline + ion_ios_grid_view + ion_ios_grid_view_outline + ion_ios_heart + ion_ios_heart_outline + ion_ios_help + ion_ios_help_empty + ion_ios_help_outline + ion_ios_home + ion_ios_home_outline + ion_ios_infinite + ion_ios_infinite_outline + ion_ios_information + ion_ios_information_empty + ion_ios_information_outline + ion_ios_ionic_outline + ion_ios_keypad + ion_ios_keypad_outline + ion_ios_lightbulb + ion_ios_lightbulb_outline + ion_ios_list + ion_ios_list_outline + ion_ios_location + ion_ios_location_outline + ion_ios_locked + ion_ios_locked_outline + ion_ios_loop + ion_ios_loop_strong + ion_ios_medical + ion_ios_medical_outline + ion_ios_medkit + ion_ios_medkit_outline + ion_ios_mic + ion_ios_mic_off + ion_ios_mic_outline + ion_ios_minus + ion_ios_minus_empty + ion_ios_minus_outline + ion_ios_monitor + ion_ios_monitor_outline + ion_ios_moon + ion_ios_moon_outline + ion_ios_more + ion_ios_more_outline + ion_ios_musical_note + ion_ios_musical_notes + ion_ios_navigate + ion_ios_navigate_outline + ion_ios_nutrition + ion_ios_nutrition_outline + ion_ios_paper + ion_ios_paper_outline + ion_ios_paperplane + ion_ios_paperplane_outline + ion_ios_partlysunny + ion_ios_partlysunny_outline + ion_ios_pause + ion_ios_pause_outline + ion_ios_paw + ion_ios_paw_outline + ion_ios_people + ion_ios_people_outline + ion_ios_person + ion_ios_person_outline + ion_ios_personadd + ion_ios_personadd_outline + ion_ios_photos + ion_ios_photos_outline + ion_ios_pie + ion_ios_pie_outline + ion_ios_pint + ion_ios_pint_outline + ion_ios_play + ion_ios_play_outline + ion_ios_plus + ion_ios_plus_empty + ion_ios_plus_outline + ion_ios_pricetag + ion_ios_pricetag_outline + ion_ios_pricetags + ion_ios_pricetags_outline + ion_ios_printer + ion_ios_printer_outline + ion_ios_pulse + ion_ios_pulse_strong + ion_ios_rainy + ion_ios_rainy_outline + ion_ios_recording + ion_ios_recording_outline + ion_ios_redo + ion_ios_redo_outline + ion_ios_refresh + ion_ios_refresh_empty + ion_ios_refresh_outline + ion_ios_reload + ion_ios_reverse_camera + ion_ios_reverse_camera_outline + ion_ios_rewind + ion_ios_rewind_outline + ion_ios_rose + ion_ios_rose_outline + ion_ios_search + ion_ios_search_strong + ion_ios_settings + ion_ios_settings_strong + ion_ios_shuffle + ion_ios_shuffle_strong + ion_ios_skipbackward + ion_ios_skipbackward_outline + ion_ios_skipforward + ion_ios_skipforward_outline + ion_ios_snowy + ion_ios_speedometer + ion_ios_speedometer_outline + ion_ios_star + ion_ios_star_half + ion_ios_star_outline + ion_ios_stopwatch + ion_ios_stopwatch_outline + ion_ios_sunny + ion_ios_sunny_outline + ion_ios_telephone + ion_ios_telephone_outline + ion_ios_tennisball + ion_ios_tennisball_outline + ion_ios_thunderstorm + ion_ios_thunderstorm_outline + ion_ios_time + ion_ios_time_outline + ion_ios_timer + ion_ios_timer_outline + ion_ios_toggle + ion_ios_toggle_outline + ion_ios_trash + ion_ios_trash_outline + ion_ios_undo + ion_ios_undo_outline + ion_ios_unlocked + ion_ios_unlocked_outline + ion_ios_upload + ion_ios_upload_outline + ion_ios_videocam + ion_ios_videocam_outline + ion_ios_volume_high + ion_ios_volume_low + ion_ios_wineglass + ion_ios_wineglass_outline + ion_ios_world + ion_ios_world_outline + ion_ipad + ion_iphone + ion_ipod + ion_jet + ion_key + ion_knife + ion_laptop + ion_leaf + ion_levels + ion_lightbulb + ion_link + ion_load_a + ion_load_b + ion_load_c + ion_load_d + ion_location + ion_lock_combination + ion_locked + ion_log_in + ion_log_out + ion_loop + ion_magnet + ion_male + ion_man + ion_map + ion_medkit + ion_merge + ion_mic_a + ion_mic_b + ion_mic_c + ion_minus + ion_minus_circled + ion_minus_round + ion_model_s + ion_monitor + ion_more + ion_mouse + ion_music_note + ion_navicon + ion_navicon_round + ion_navigate + ion_network + ion_no_smoking + ion_nuclear + ion_outlet + ion_paintbrush + ion_paintbucket + ion_paper_airplane + ion_paperclip + ion_pause + ion_person + ion_person_add + ion_person_stalker + ion_pie_graph + ion_pin + ion_pinpoint + ion_pizza + ion_plane + ion_planet + ion_play + ion_playstation + ion_plus + ion_plus_circled + ion_plus_round + ion_podium + ion_pound + ion_power + ion_pricetag + ion_pricetags + ion_printer + ion_pull_request + ion_qr_scanner + ion_quote + ion_radio_waves + ion_record + ion_refresh + ion_reply + ion_reply_all + ion_ribbon_a + ion_ribbon_b + ion_sad + ion_sad_outline + ion_scissors + ion_search + ion_settings + ion_share + ion_shuffle + ion_skip_backward + ion_skip_forward + ion_social_android + ion_social_android_outline + ion_social_angular + ion_social_angular_outline + ion_social_apple + ion_social_apple_outline + ion_social_bitcoin + ion_social_bitcoin_outline + ion_social_buffer + ion_social_buffer_outline + ion_social_chrome + ion_social_chrome_outline + ion_social_codepen + ion_social_codepen_outline + ion_social_css3 + ion_social_css3_outline + ion_social_designernews + ion_social_designernews_outline + ion_social_dribbble + ion_social_dribbble_outline + ion_social_dropbox + ion_social_dropbox_outline + ion_social_euro + ion_social_euro_outline + ion_social_facebook + ion_social_facebook_outline + ion_social_foursquare + ion_social_foursquare_outline + ion_social_freebsd_devil + ion_social_github + ion_social_github_outline + ion_social_google + ion_social_google_outline + ion_social_googleplus + ion_social_googleplus_outline + ion_social_hackernews + ion_social_hackernews_outline + ion_social_html5 + ion_social_html5_outline + ion_social_instagram + ion_social_instagram_outline + ion_social_javascript + ion_social_javascript_outline + ion_social_linkedin + ion_social_linkedin_outline + ion_social_markdown + ion_social_nodejs + ion_social_octocat + ion_social_pinterest + ion_social_pinterest_outline + ion_social_python + ion_social_reddit + ion_social_reddit_outline + ion_social_rss + ion_social_rss_outline + ion_social_sass + ion_social_skype + ion_social_skype_outline + ion_social_snapchat + ion_social_snapchat_outline + ion_social_tumblr + ion_social_tumblr_outline + ion_social_tux + ion_social_twitch + ion_social_twitch_outline + ion_social_twitter + ion_social_twitter_outline + ion_social_usd + ion_social_usd_outline + ion_social_vimeo + ion_social_vimeo_outline + ion_social_whatsapp + ion_social_whatsapp_outline + ion_social_windows + ion_social_windows_outline + ion_social_wordpress + ion_social_wordpress_outline + ion_social_yahoo + ion_social_yahoo_outline + ion_social_yen + ion_social_yen_outline + ion_social_youtube + ion_social_youtube_outline + ion_soup_can + ion_soup_can_outline + ion_speakerphone + ion_speedometer + ion_spoon + ion_star + ion_stats_bars + ion_steam + ion_stop + ion_thermometer + ion_thumbsdown + ion_thumbsup + ion_toggle + ion_toggle_filled + ion_transgender + ion_trash_a + ion_trash_b + ion_trophy + ion_tshirt + ion_tshirt_outline + ion_umbrella + ion_university + ion_unlocked + ion_upload + ion_usb + ion_videocamera + ion_volume_high + ion_volume_low + ion_volume_medium + ion_volume_mute + ion_wand + ion_waterdrop + ion_wifi + ion_wineglass + ion_woman + ion_wrench + ion_xbox + diff --git a/FONT_IDS/_current_material_design_iconic_v2.2.0.xml b/FONT_IDS/_current_material_design_iconic_v2.2.0.xml new file mode 100644 index 00000000..42124d12 --- /dev/null +++ b/FONT_IDS/_current_material_design_iconic_v2.2.0.xml @@ -0,0 +1,888 @@ + + gmi_3d_rotation + gmi_airplane_off + gmi_airplane + gmi_album + gmi_archive + gmi_assignment_account + gmi_assignment_alert + gmi_assignment_check + gmi_assignment_o + gmi_assignment_return + gmi_assignment_returned + gmi_assignment + gmi_attachment_alt + gmi_attachment + gmi_audio + gmi_badge_check + gmi_balance_wallet + gmi_balance + gmi_battery_alert + gmi_battery_flash + gmi_battery_unknown + gmi_battery + gmi_bike + gmi_block_alt + gmi_block + gmi_boat + gmi_book_image + gmi_book + gmi_bookmark_outline + gmi_bookmark + gmi_brush + gmi_bug + gmi_bus + gmi_cake + gmi_car_taxi + gmi_car_wash + gmi_car + gmi_card_giftcard + gmi_card_membership + gmi_card_travel + gmi_card + gmi_case_check + gmi_case_download + gmi_case_play + gmi_case + gmi_cast_connected + gmi_cast + gmi_chart_donut + gmi_chart + gmi_city_alt + gmi_city + gmi_close_circle_o + gmi_close_circle + gmi_close + gmi_cocktail + gmi_code_setting + gmi_code_smartphone + gmi_code + gmi_coffee + gmi_collection_bookmark + gmi_collection_case_play + gmi_collection_folder_image + gmi_collection_image_o + gmi_collection_image + gmi_collection_item_1 + gmi_collection_item_2 + gmi_collection_item_3 + gmi_collection_item_4 + gmi_collection_item_5 + gmi_collection_item_6 + gmi_collection_item_7 + gmi_collection_item_8 + gmi_collection_item_9_plus + gmi_collection_item_9 + gmi_collection_item + gmi_collection_music + gmi_collection_pdf + gmi_collection_plus + gmi_collection_speaker + gmi_collection_text + gmi_collection_video + gmi_compass + gmi_cutlery + gmi_delete + gmi_dialpad + gmi_dns + gmi_drink + gmi_edit + gmi_email_open + gmi_email + gmi_eye_off + gmi_eye + gmi_eyedropper + gmi_favorite_outline + gmi_favorite + gmi_filter_list + gmi_fire + gmi_flag + gmi_flare + gmi_flash_auto + gmi_flash_off + gmi_flash + gmi_flip + gmi_flower_alt + gmi_flower + gmi_font + gmi_fullscreen_alt + gmi_fullscreen_exit + gmi_fullscreen + gmi_functions + gmi_gas_station + gmi_gesture + gmi_globe_alt + gmi_globe_lock + gmi_globe + gmi_graduation_cap + gmi_home + gmi_hospital_alt + gmi_hospital + gmi_hotel + gmi_hourglass_alt + gmi_hourglass_outline + gmi_hourglass + gmi_http + gmi_image_alt + gmi_image_o + gmi_image + gmi_inbox + gmi_invert_colors_off + gmi_invert_colors + gmi_key + gmi_label_alt_outline + gmi_label_alt + gmi_label_heart + gmi_label + gmi_labels + gmi_lamp + gmi_landscape + gmi_layers_off + gmi_layers + gmi_library + gmi_link + gmi_lock_open + gmi_lock_outline + gmi_lock + gmi_mail_reply_all + gmi_mail_reply + gmi_mail_send + gmi_mall + gmi_map + gmi_menu + gmi_money_box + gmi_money_off + gmi_money + gmi_more_vert + gmi_more + gmi_movie_alt + gmi_movie + gmi_nature_people + gmi_nature + gmi_navigation + gmi_open_in_browser + gmi_open_in_new + gmi_palette + gmi_parking + gmi_pin_account + gmi_pin_assistant + gmi_pin_drop + gmi_pin_help + gmi_pin_off + gmi_pin + gmi_pizza + gmi_plaster + gmi_power_setting + gmi_power + gmi_print + gmi_puzzle_piece + gmi_quote + gmi_railway + gmi_receipt + gmi_refresh_alt + gmi_refresh_sync_alert + gmi_refresh_sync_off + gmi_refresh_sync + gmi_refresh + gmi_roller + gmi_ruler + gmi_scissors + gmi_screen_rotation_lock + gmi_screen_rotation + gmi_search_for + gmi_search_in_file + gmi_search_in_page + gmi_search_replace + gmi_search + gmi_seat + gmi_settings_square + gmi_settings + gmi_shield_check + gmi_shield_security + gmi_shopping_basket + gmi_shopping_cart_plus + gmi_shopping_cart + gmi_sign_in + gmi_sort_amount_asc + gmi_sort_amount_desc + gmi_sort_asc + gmi_sort_desc + gmi_spellcheck + gmi_storage + gmi_store_24 + gmi_store + gmi_subway + gmi_sun + gmi_tab_unselected + gmi_tab + gmi_tag_close + gmi_tag_more + gmi_tag + gmi_thumb_down + gmi_thumb_up_down + gmi_thumb_up + gmi_ticket_star + gmi_toll + gmi_toys + gmi_traffic + gmi_translate + gmi_triangle_down + gmi_triangle_up + gmi_truck + gmi_turning_sign + gmi_wallpaper + gmi_washing_machine + gmi_window_maximize + gmi_window_minimize + gmi_window_restore + gmi_wrench + gmi_zoom_in + gmi_zoom_out + gmi_alert_circle_o + gmi_alert_circle + gmi_alert_octagon + gmi_alert_polygon + gmi_alert_triangle + gmi_help_outline + gmi_help + gmi_info_outline + gmi_info + gmi_notifications_active + gmi_notifications_add + gmi_notifications_none + gmi_notifications_off + gmi_notifications_paused + gmi_notifications + gmi_account_add + gmi_account_box_mail + gmi_account_box_o + gmi_account_box_phone + gmi_account_box + gmi_account_calendar + gmi_account_circle + gmi_account_o + gmi_account + gmi_accounts_add + gmi_accounts_alt + gmi_accounts_list_alt + gmi_accounts_list + gmi_accounts_outline + gmi_accounts + gmi_face + gmi_female + gmi_male_alt + gmi_male_female + gmi_male + gmi_mood_bad + gmi_mood + gmi_run + gmi_walk + gmi_cloud_box + gmi_cloud_circle + gmi_cloud_done + gmi_cloud_download + gmi_cloud_off + gmi_cloud_outline_alt + gmi_cloud_outline + gmi_cloud_upload + gmi_cloud + gmi_download + gmi_file_plus + gmi_file_text + gmi_file + gmi_folder_outline + gmi_folder_person + gmi_folder_star_alt + gmi_folder_star + gmi_folder + gmi_gif + gmi_upload + gmi_border_all + gmi_border_bottom + gmi_border_clear + gmi_border_color + gmi_border_horizontal + gmi_border_inner + gmi_border_left + gmi_border_outer + gmi_border_right + gmi_border_style + gmi_border_top + gmi_border_vertical + gmi_copy + gmi_crop + gmi_format_align_center + gmi_format_align_justify + gmi_format_align_left + gmi_format_align_right + gmi_format_bold + gmi_format_clear_all + gmi_format_clear + gmi_format_color_fill + gmi_format_color_reset + gmi_format_color_text + gmi_format_indent_decrease + gmi_format_indent_increase + gmi_format_italic + gmi_format_line_spacing + gmi_format_list_bulleted + gmi_format_list_numbered + gmi_format_ltr + gmi_format_rtl + gmi_format_size + gmi_format_strikethrough_s + gmi_format_strikethrough + gmi_format_subject + gmi_format_underlined + gmi_format_valign_bottom + gmi_format_valign_center + gmi_format_valign_top + gmi_redo + gmi_select_all + gmi_space_bar + gmi_text_format + gmi_transform + gmi_undo + gmi_wrap_text + gmi_comment_alert + gmi_comment_alt_text + gmi_comment_alt + gmi_comment_edit + gmi_comment_image + gmi_comment_list + gmi_comment_more + gmi_comment_outline + gmi_comment_text_alt + gmi_comment_text + gmi_comment_video + gmi_comment + gmi_comments + gmi_check_all + gmi_check_circle_u + gmi_check_circle + gmi_check_square + gmi_check + gmi_circle_o + gmi_circle + gmi_dot_circle_alt + gmi_dot_circle + gmi_minus_circle_outline + gmi_minus_circle + gmi_minus_square + gmi_minus + gmi_plus_circle_o_duplicate + gmi_plus_circle_o + gmi_plus_circle + gmi_plus_square + gmi_plus + gmi_square_o + gmi_star_circle + gmi_star_half + gmi_star_outline + gmi_star + gmi_bluetooth_connected + gmi_bluetooth_off + gmi_bluetooth_search + gmi_bluetooth_setting + gmi_bluetooth + gmi_camera_add + gmi_camera_alt + gmi_camera_bw + gmi_camera_front + gmi_camera_mic + gmi_camera_party_mode + gmi_camera_rear + gmi_camera_roll + gmi_camera_switch + gmi_camera + gmi_card_alert + gmi_card_off + gmi_card_sd + gmi_card_sim + gmi_desktop_mac + gmi_desktop_windows + gmi_device_hub + gmi_devices_off + gmi_devices + gmi_dock + gmi_floppy + gmi_gamepad + gmi_gps_dot + gmi_gps_off + gmi_gps + gmi_headset_mic + gmi_headset + gmi_input_antenna + gmi_input_composite + gmi_input_hdmi + gmi_input_power + gmi_input_svideo + gmi_keyboard_hide + gmi_keyboard + gmi_laptop_chromebook + gmi_laptop_mac + gmi_laptop + gmi_mic_off + gmi_mic_outline + gmi_mic_setting + gmi_mic + gmi_mouse + gmi_network_alert + gmi_network_locked + gmi_network_off + gmi_network_outline + gmi_network_setting + gmi_network + gmi_phone_bluetooth + gmi_phone_end + gmi_phone_forwarded + gmi_phone_in_talk + gmi_phone_locked + gmi_phone_missed + gmi_phone_msg + gmi_phone_paused + gmi_phone_ring + gmi_phone_setting + gmi_phone_sip + gmi_phone + gmi_portable_wifi_changes + gmi_portable_wifi_off + gmi_portable_wifi + gmi_radio + gmi_reader + gmi_remote_control_alt + gmi_remote_control + gmi_router + gmi_scanner + gmi_smartphone_android + gmi_smartphone_download + gmi_smartphone_erase + gmi_smartphone_info + gmi_smartphone_iphone + gmi_smartphone_landscape_lock + gmi_smartphone_landscape + gmi_smartphone_lock + gmi_smartphone_portrait_lock + gmi_smartphone_ring + gmi_smartphone_setting + gmi_smartphone_setup + gmi_smartphone + gmi_speaker + gmi_tablet_android + gmi_tablet_mac + gmi_tablet + gmi_tv_alt_play + gmi_tv_list + gmi_tv_play + gmi_tv + gmi_usb + gmi_videocam_off + gmi_videocam_switch + gmi_videocam + gmi_watch + gmi_wifi_alt_2 + gmi_wifi_alt + gmi_wifi_info + gmi_wifi_lock + gmi_wifi_off + gmi_wifi_outline + gmi_wifi + gmi_arrow_left_bottom + gmi_arrow_left + gmi_arrow_merge + gmi_arrow_missed + gmi_arrow_right_top + gmi_arrow_right + gmi_arrow_split + gmi_arrows + gmi_caret_down_circle + gmi_caret_down + gmi_caret_left_circle + gmi_caret_left + gmi_caret_right_circle + gmi_caret_right + gmi_caret_up_circle + gmi_caret_up + gmi_chevron_down + gmi_chevron_left + gmi_chevron_right + gmi_chevron_up + gmi_forward + gmi_long_arrow_down + gmi_long_arrow_left + gmi_long_arrow_return + gmi_long_arrow_right + gmi_long_arrow_tab + gmi_long_arrow_up + gmi_rotate_ccw + gmi_rotate_cw + gmi_rotate_left + gmi_rotate_right + gmi_square_down + gmi_square_right + gmi_swap_alt + gmi_swap_vertical_circle + gmi_swap_vertical + gmi_swap + gmi_trending_down + gmi_trending_flat + gmi_trending_up + gmi_unfold_less + gmi_unfold_more + gmi_apps + gmi_grid_off + gmi_grid + gmi_view_agenda + gmi_view_array + gmi_view_carousel + gmi_view_column + gmi_view_comfy + gmi_view_compact + gmi_view_dashboard + gmi_view_day + gmi_view_headline + gmi_view_list_alt + gmi_view_list + gmi_view_module + gmi_view_quilt + gmi_view_stream + gmi_view_subtitles + gmi_view_toc + gmi_view_web + gmi_view_week + gmi_widgets + gmi_alarm_check + gmi_alarm_off + gmi_alarm_plus + gmi_alarm_snooze + gmi_alarm + gmi_calendar_alt + gmi_calendar_check + gmi_calendar_close + gmi_calendar_note + gmi_calendar + gmi_time_countdown + gmi_time_interval + gmi_time_restore_setting + gmi_time_restore + gmi_time + gmi_timer_off + gmi_timer + gmi_android_alt + gmi_android + gmi_apple + gmi_behance + gmi_codepen + gmi_dribbble + gmi_dropbox + gmi_evernote + gmi_facebook_box + gmi_facebook + gmi_github_box + gmi_github + gmi_google_drive + gmi_google_earth + gmi_google_glass + gmi_google_maps + gmi_google_pages + gmi_google_play + gmi_google_plus_box + gmi_google_plus + gmi_google + gmi_instagram + gmi_language_css3 + gmi_language_html5 + gmi_language_javascript + gmi_language_python_alt + gmi_language_python + gmi_lastfm + gmi_linkedin_box + gmi_paypal + gmi_pinterest_box + gmi_pocket + gmi_polymer + gmi_share + gmi_stackoverflow + gmi_steam_square + gmi_steam + gmi_twitter_box + gmi_twitter + gmi_vk + gmi_wikipedia + gmi_windows + gmi_aspect_ratio_alt + gmi_aspect_ratio + gmi_blur_circular + gmi_blur_linear + gmi_blur_off + gmi_blur + gmi_brightness_2 + gmi_brightness_3 + gmi_brightness_4 + gmi_brightness_5 + gmi_brightness_6 + gmi_brightness_7 + gmi_brightness_auto + gmi_brightness_setting + gmi_broken_image + gmi_center_focus_strong + gmi_center_focus_weak + gmi_compare + gmi_crop_16_9 + gmi_crop_3_2 + gmi_crop_5_4 + gmi_crop_7_5 + gmi_crop_din + gmi_crop_free + gmi_crop_landscape + gmi_crop_portrait + gmi_crop_square + gmi_exposure_alt + gmi_exposure + gmi_filter_b_and_w + gmi_filter_center_focus + gmi_filter_frames + gmi_filter_tilt_shift + gmi_gradient + gmi_grain + gmi_graphic_eq + gmi_hdr_off + gmi_hdr_strong + gmi_hdr_weak + gmi_hdr + gmi_iridescent + gmi_leak_off + gmi_leak + gmi_looks + gmi_loupe + gmi_panorama_horizontal + gmi_panorama_vertical + gmi_panorama_wide_angle + gmi_photo_size_select_large + gmi_photo_size_select_small + gmi_picture_in_picture + gmi_slideshow + gmi_texture + gmi_tonality + gmi_vignette + gmi_wb_auto + gmi_eject_alt + gmi_eject + gmi_equalizer + gmi_fast_forward + gmi_fast_rewind + gmi_forward_10 + gmi_forward_30 + gmi_forward_5 + gmi_hearing + gmi_pause_circle_outline + gmi_pause_circle + gmi_pause + gmi_play_circle_outline + gmi_play_circle + gmi_play + gmi_playlist_audio + gmi_playlist_plus + gmi_repeat_one + gmi_repeat + gmi_replay_10 + gmi_replay_30 + gmi_replay_5 + gmi_replay + gmi_shuffle + gmi_skip_next + gmi_skip_previous + gmi_stop + gmi_surround_sound + gmi_tune + gmi_volume_down + gmi_volume_mute + gmi_volume_off + gmi_volume_up + gmi_n_1_square + gmi_n_2_square + gmi_n_3_square + gmi_n_4_square + gmi_n_5_square + gmi_n_6_square + gmi_neg_1 + gmi_neg_2 + gmi_plus_1 + gmi_plus_2 + gmi_sec_10 + gmi_sec_3 + gmi_zero + gmi_airline_seat_flat_angled + gmi_airline_seat_flat + gmi_airline_seat_individual_suite + gmi_airline_seat_legroom_extra + gmi_airline_seat_legroom_normal + gmi_airline_seat_legroom_reduced + gmi_airline_seat_recline_extra + gmi_airline_seat_recline_normal + gmi_airplay + gmi_closed_caption + gmi_confirmation_number + gmi_developer_board + gmi_disc_full + gmi_explicit + gmi_flight_land + gmi_flight_takeoff + gmi_flip_to_back + gmi_flip_to_front + gmi_group_work + gmi_hd + gmi_hq + gmi_markunread_mailbox + gmi_memory + gmi_nfc + gmi_play_for_work + gmi_power_input + gmi_present_to_all + gmi_satellite + gmi_tap_and_play + gmi_vibration + gmi_voicemail + gmi_group + gmi_rss + gmi_shape + gmi_spinner + gmi_ungroup + gmi_500px + gmi_8tracks + gmi_amazon + gmi_blogger + gmi_delicious + gmi_disqus + gmi_flattr + gmi_flickr + gmi_github_alt + gmi_google_old + gmi_linkedin + gmi_odnoklassniki + gmi_outlook + gmi_paypal_alt + gmi_pinterest + gmi_playstation + gmi_reddit + gmi_skype + gmi_slideshare + gmi_soundcloud + gmi_tumblr + gmi_twitch + gmi_vimeo + gmi_whatsapp + gmi_xbox + gmi_yahoo + gmi_youtube_play + gmi_youtube + gmi_import_export + gmi_swap_vertical_ + gmi_airplanemode_inactive + gmi_airplanemode_active + gmi_rate_review + gmi_comment_sign + gmi_network_warning + gmi_shopping_cart_add + gmi_file_add + gmi_network_wifi_scan + gmi_collection_add + gmi_format_playlist_add + gmi_format_queue_music + gmi_plus_box + gmi_tag_backspace + gmi_alarm_add + gmi_battery_charging + gmi_daydream_setting + gmi_more_horiz + gmi_book_photo + gmi_incandescent + gmi_wb_iridescent + gmi_calendar_remove + gmi_refresh_sync_disabled + gmi_refresh_sync_problem + gmi_crop_original + gmi_power_off + gmi_power_off_setting + gmi_leak_remove + gmi_star_border + gmi_brightness_low + gmi_brightness_medium + gmi_brightness_high + gmi_smartphone_portrait + gmi_live_tv + gmi_format_textdirection_l_to_r + gmi_format_textdirection_r_to_l + gmi_arrow_back + gmi_arrow_forward + gmi_arrow_in + gmi_arrow_out + gmi_rotate_90_degrees_ccw + gmi_adb + gmi_network_wifi + gmi_network_wifi_alt + gmi_network_wifi_lock + gmi_network_wifi_off + gmi_network_wifi_outline + gmi_network_wifi_info + gmi_layers_clear + gmi_colorize + gmi_format_paint + gmi_format_quote + gmi_camera_monochrome_photos + gmi_sort_by_alpha + gmi_folder_shared + gmi_folder_special + gmi_comment_dots + gmi_reorder + gmi_dehaze + gmi_sort + gmi_pages + gmi_stack_overflow + gmi_calendar_account + gmi_paste + gmi_cut + gmi_save + gmi_smartphone_code + gmi_directions_bike + gmi_directions_boat + gmi_directions_bus + gmi_directions_car + gmi_directions_railway + gmi_directions_run + gmi_directions_subway + gmi_directions_walk + gmi_local_hotel + gmi_local_activity + gmi_local_play + gmi_local_airport + gmi_local_atm + gmi_local_bar + gmi_local_cafe + gmi_local_car_wash + gmi_local_convenience_store + gmi_local_dining + gmi_local_drink + gmi_local_florist + gmi_local_gas_station + gmi_local_grocery_store + gmi_local_hospital + gmi_local_laundry_service + gmi_local_library + gmi_local_mall + gmi_local_movies + gmi_local_offer + gmi_local_parking + gmi_local_pharmacy + gmi_local_phone + gmi_local_pizza + gmi_local_post_office + gmi_local_printshop + gmi_local_see + gmi_local_shipping + gmi_local_store + gmi_local_taxi + gmi_local_wc + gmi_my_location + gmi_directions + diff --git a/FONT_IDS/_current_meteocons_v1.1.1.xml b/FONT_IDS/_current_meteocons_v1.1.1.xml new file mode 100644 index 00000000..5c52080a --- /dev/null +++ b/FONT_IDS/_current_meteocons_v1.1.1.xml @@ -0,0 +1,49 @@ + + met_windy_rain_inv + met_snow_inv + met_snow_heavy_inv + met_hail_inv + met_clouds_inv + met_clouds_flash_inv + met_temperature + met_compass + met_na + met_celcius + met_fahrenheit + met_clouds_flash_alt + met_sun_inv + met_moon_inv + met_cloud_sun_inv + met_cloud_moon_inv + met_cloud_inv + met_cloud_flash_inv + met_drizzle_inv + met_rain_inv + met_windy_inv + met_sunrise + met_sun + met_moon + met_eclipse + met_mist + met_wind + met_snowflake + met_cloud_sun + met_cloud_moon + met_fog_sun + met_fog_moon + met_fog_cloud + met_fog + met_cloud + met_cloud_flash + met_cloud_flash_alt + met_drizzle + met_rain + met_windy + met_windy_rain + met_snow + met_snow_alt + met_snow_heavy + met_hail + met_clouds + met_clouds_flash + diff --git a/FONT_IDS/_current_octicons_v3.2.0.xml b/FONT_IDS/_current_octicons_v3.2.0.xml new file mode 100644 index 00000000..b81469ed --- /dev/null +++ b/FONT_IDS/_current_octicons_v3.2.0.xml @@ -0,0 +1,195 @@ + + oct_alert + oct_arrow_down + oct_arrow_left + oct_arrow_right + oct_arrow_small_down + oct_arrow_small_left + oct_arrow_small_right + oct_arrow_small_up + oct_arrow_up + oct_microscope + oct_beaker + oct_bell + oct_bold + oct_book + oct_bookmark + oct_briefcase + oct_broadcast + oct_browser + oct_bug + oct_calendar + oct_check + oct_checklist + oct_chevron_down + oct_chevron_left + oct_chevron_right + oct_chevron_up + oct_circle_slash + oct_circuit_board + oct_clippy + oct_clock + oct_cloud_download + oct_cloud_upload + oct_code + oct_color_mode + oct_comment_add + oct_comment + oct_comment_discussion + oct_credit_card + oct_dash + oct_dashboard + oct_database + oct_clone + oct_desktop_download + oct_device_camera + oct_device_camera_video + oct_device_desktop + oct_device_mobile + oct_diff + oct_diff_added + oct_diff_ignored + oct_diff_modified + oct_diff_removed + oct_diff_renamed + oct_ellipsis + oct_eye_unwatch + oct_eye_watch + oct_eye + oct_file_binary + oct_file_code + oct_file_directory + oct_file_media + oct_file_pdf + oct_file_submodule + oct_file_symlink_directory + oct_file_symlink_file + oct_file_text + oct_file_zip + oct_flame + oct_fold + oct_gear + oct_gift + oct_gist + oct_gist_secret + oct_git_branch_create + oct_git_branch_delete + oct_git_branch + oct_git_commit + oct_git_compare + oct_git_merge + oct_git_pull_request_abandoned + oct_git_pull_request + oct_globe + oct_graph + oct_heart + oct_history + oct_home + oct_horizontal_rule + oct_hubot + oct_inbox + oct_info + oct_issue_closed + oct_issue_opened + oct_issue_reopened + oct_italic + oct_jersey + oct_key + oct_keyboard + oct_law + oct_light_bulb + oct_link + oct_link_external + oct_list_ordered + oct_list_unordered + oct_location + oct_gist_private + oct_mirror_private + oct_git_fork_private + oct_lock + oct_logo_github + oct_mail + oct_mail_read + oct_mail_reply + oct_mark_github + oct_markdown + oct_megaphone + oct_mention + oct_milestone + oct_mirror_public + oct_mirror + oct_mortar_board + oct_mute + oct_no_newline + oct_octoface + oct_organization + oct_package + oct_paintcan + oct_pencil + oct_person_add + oct_person_follow + oct_person + oct_pin + oct_plug + oct_repo_create + oct_gist_new + oct_file_directory_create + oct_file_add + oct_plus + oct_primitive_dot + oct_primitive_square + oct_pulse + oct_question + oct_quote + oct_radio_tower + oct_repo_delete + oct_repo + oct_repo_clone + oct_repo_force_push + oct_gist_fork + oct_repo_forked + oct_repo_pull + oct_repo_push + oct_rocket + oct_rss + oct_ruby + oct_search_save + oct_search + oct_server + oct_settings + oct_shield + oct_log_in + oct_sign_in + oct_log_out + oct_sign_out + oct_squirrel + oct_star_add + oct_star_delete + oct_star + oct_stop + oct_repo_sync + oct_sync + oct_tag_remove + oct_tag_add + oct_tag + oct_tasklist + oct_telescope + oct_terminal + oct_text_size + oct_three_bars + oct_thumbsdown + oct_thumbsup + oct_tools + oct_trashcan + oct_triangle_down + oct_triangle_left + oct_triangle_right + oct_triangle_up + oct_unfold + oct_unmute + oct_versions + oct_watch + oct_remove_close + oct_x + oct_zap + diff --git a/FONT_IDS/_current_pixeden7_stroke_v1.2.0.0.xml b/FONT_IDS/_current_pixeden7_stroke_v1.2.0.0.xml new file mode 100644 index 00000000..38f40408 --- /dev/null +++ b/FONT_IDS/_current_pixeden7_stroke_v1.2.0.0.xml @@ -0,0 +1,204 @@ + + pe7_7s_album + pe7_7s_arc + pe7_7s_back_2 + pe7_7s_bandaid + pe7_7s_car + pe7_7s_diamond + pe7_7s_door_lock + pe7_7s_eyedropper + pe7_7s_female + pe7_7s_gym + pe7_7s_hammer + pe7_7s_headphones + pe7_7s_helm + pe7_7s_hourglass + pe7_7s_leaf + pe7_7s_magic_wand + pe7_7s_male + pe7_7s_map_2 + pe7_7s_next_2 + pe7_7s_paint_bucket + pe7_7s_pendrive + pe7_7s_photo + pe7_7s_piggy + pe7_7s_plugin + pe7_7s_refresh_2 + pe7_7s_rocket + pe7_7s_settings + pe7_7s_shield + pe7_7s_smile + pe7_7s_usb + pe7_7s_vector + pe7_7s_wine + pe7_7s_cloud_upload + pe7_7s_cash + pe7_7s_close + pe7_7s_bluetooth + pe7_7s_cloud_download + pe7_7s_way + pe7_7s_close_circle + pe7_7s_id + pe7_7s_angle_up + pe7_7s_wristwatch + pe7_7s_angle_up_circle + pe7_7s_world + pe7_7s_angle_right + pe7_7s_volume + pe7_7s_angle_right_circle + pe7_7s_users + pe7_7s_angle_left + pe7_7s_user_female + pe7_7s_angle_left_circle + pe7_7s_up_arrow + pe7_7s_angle_down + pe7_7s_switch + pe7_7s_angle_down_circle + pe7_7s_scissors + pe7_7s_wallet + pe7_7s_safe + pe7_7s_volume2 + pe7_7s_volume1 + pe7_7s_voicemail + pe7_7s_video + pe7_7s_user + pe7_7s_upload + pe7_7s_unlock + pe7_7s_umbrella + pe7_7s_trash + pe7_7s_tools + pe7_7s_timer + pe7_7s_ticket + pe7_7s_target + pe7_7s_sun + pe7_7s_study + pe7_7s_stopwatch + pe7_7s_star + pe7_7s_speaker + pe7_7s_signal + pe7_7s_shuffle + pe7_7s_shopbag + pe7_7s_share + pe7_7s_server + pe7_7s_search + pe7_7s_film + pe7_7s_science + pe7_7s_disk + pe7_7s_ribbon + pe7_7s_repeat + pe7_7s_refresh + pe7_7s_add_user + pe7_7s_refresh_cloud + pe7_7s_paperclip + pe7_7s_radio + pe7_7s_note2 + pe7_7s_print + pe7_7s_network + pe7_7s_prev + pe7_7s_mute + pe7_7s_power + pe7_7s_medal + pe7_7s_portfolio + pe7_7s_like2 + pe7_7s_plus + pe7_7s_left_arrow + pe7_7s_play + pe7_7s_key + pe7_7s_plane + pe7_7s_joy + pe7_7s_photo_gallery + pe7_7s_pin + pe7_7s_phone + pe7_7s_plug + pe7_7s_pen + pe7_7s_right_arrow + pe7_7s_paper_plane + pe7_7s_delete_user + pe7_7s_paint + pe7_7s_bottom_arrow + pe7_7s_notebook + pe7_7s_note + pe7_7s_next + pe7_7s_news_paper + pe7_7s_musiclist + pe7_7s_music + pe7_7s_mouse + pe7_7s_more + pe7_7s_moon + pe7_7s_monitor + pe7_7s_micro + pe7_7s_menu + pe7_7s_map + pe7_7s_map_marker + pe7_7s_mail + pe7_7s_mail_open + pe7_7s_mail_open_file + pe7_7s_magnet + pe7_7s_loop + pe7_7s_look + pe7_7s_lock + pe7_7s_lintern + pe7_7s_link + pe7_7s_like + pe7_7s_light + pe7_7s_less + pe7_7s_keypad + pe7_7s_junk + pe7_7s_info + pe7_7s_home + pe7_7s_help2 + pe7_7s_help1 + pe7_7s_graph3 + pe7_7s_graph2 + pe7_7s_graph1 + pe7_7s_graph + pe7_7s_global + pe7_7s_gleam + pe7_7s_glasses + pe7_7s_gift + pe7_7s_folder + pe7_7s_flag + pe7_7s_filter + pe7_7s_file + pe7_7s_expand1 + pe7_7s_exapnd2 + pe7_7s_edit + pe7_7s_drop + pe7_7s_drawer + pe7_7s_download + pe7_7s_display2 + pe7_7s_display1 + pe7_7s_diskette + pe7_7s_date + pe7_7s_cup + pe7_7s_culture + pe7_7s_crop + pe7_7s_credit + pe7_7s_copy_file + pe7_7s_config + pe7_7s_compass + pe7_7s_comment + pe7_7s_coffee + pe7_7s_cloud + pe7_7s_clock + pe7_7s_check + pe7_7s_chat + pe7_7s_cart + pe7_7s_camera + pe7_7s_call + pe7_7s_calculator + pe7_7s_browser + pe7_7s_box2 + pe7_7s_box1 + pe7_7s_bookmarks + pe7_7s_bicycle + pe7_7s_bell + pe7_7s_battery + pe7_7s_ball + pe7_7s_back + pe7_7s_attention + pe7_7s_anchor + pe7_7s_albums + pe7_7s_alarm + pe7_7s_airplay + diff --git a/FONT_IDS/_current_typeicons_v2.0.7.1.xml b/FONT_IDS/_current_typeicons_v2.0.7.1.xml new file mode 100644 index 00000000..ad414cdc --- /dev/null +++ b/FONT_IDS/_current_typeicons_v2.0.7.1.xml @@ -0,0 +1,338 @@ + + typ_adjust_brightness + typ_adjust_contrast + typ_anchor_outline + typ_anchor + typ_archive + typ_arrow_back_outline + typ_arrow_back + typ_arrow_down_outline + typ_arrow_down_thick + typ_arrow_down + typ_arrow_forward_outline + typ_arrow_forward + typ_arrow_left_outline + typ_arrow_left_thick + typ_arrow_left + typ_arrow_loop_outline + typ_arrow_loop + typ_arrow_maximise_outline + typ_arrow_maximise + typ_arrow_minimise_outline + typ_arrow_minimise + typ_arrow_move_outline + typ_arrow_move + typ_arrow_repeat_outline + typ_arrow_repeat + typ_arrow_right_outline + typ_arrow_right_thick + typ_arrow_right + typ_arrow_shuffle + typ_arrow_sorted_down + typ_arrow_sorted_up + typ_arrow_sync_outline + typ_arrow_sync + typ_arrow_unsorted + typ_arrow_up_outline + typ_arrow_up_thick + typ_arrow_up + typ_at + typ_attachment_outline + typ_attachment + typ_backspace_outline + typ_backspace + typ_battery_charge + typ_battery_full + typ_battery_high + typ_battery_low + typ_battery_mid + typ_beaker + typ_beer + typ_bell + typ_book + typ_bookmark + typ_briefcase + typ_brush + typ_business_card + typ_calculator + typ_calendar_outline + typ_calendar + typ_camera_outline + typ_camera + typ_cancel_outline + typ_cancel + typ_chart_area_outline + typ_chart_area + typ_chart_bar_outline + typ_chart_bar + typ_chart_line_outline + typ_chart_line + typ_chart_pie_outline + typ_chart_pie + typ_chevron_left_outline + typ_chevron_left + typ_chevron_right_outline + typ_chevron_right + typ_clipboard + typ_cloud_storage + typ_cloud_storage_outline + typ_code_outline + typ_code + typ_coffee + typ_cog_outline + typ_cog + typ_compass + typ_contacts + typ_credit_card + typ_css3 + typ_database + typ_delete_outline + typ_delete + typ_device_desktop + typ_device_laptop + typ_device_phone + typ_device_tablet + typ_directions + typ_divide_outline + typ_divide + typ_document_add + typ_document_delete + typ_document_text + typ_document + typ_download_outline + typ_download + typ_dropbox + typ_edit + typ_eject_outline + typ_eject + typ_equals_outline + typ_equals + typ_export_outline + typ_export + typ_eye_outline + typ_eye + typ_feather + typ_film + typ_filter + typ_flag_outline + typ_flag + typ_flash_outline + typ_flash + typ_flow_children + typ_flow_merge + typ_flow_parallel + typ_flow_switch + typ_folder_add + typ_folder_delete + typ_folder_open + typ_folder + typ_gift + typ_globe_outline + typ_globe + typ_group_outline + typ_group + typ_headphones + typ_heart_full_outline + typ_heart_half_outline + typ_heart_outline + typ_heart + typ_home_outline + typ_home + typ_html5 + typ_image_outline + typ_image + typ_infinity_outline + typ_infinity + typ_info_large_outline + typ_info_large + typ_info_outline + typ_info + typ_input_checked_outline + typ_input_checked + typ_key_outline + typ_key + typ_keyboard + typ_leaf + typ_lightbulb + typ_link_outline + typ_link + typ_location_arrow_outline + typ_location_arrow + typ_location_outline + typ_location + typ_lock_closed_outline + typ_lock_closed + typ_lock_open_outline + typ_lock_open + typ_mail + typ_map + typ_media_eject_outline + typ_media_eject + typ_media_fast_forward_outline + typ_media_fast_forward + typ_media_pause_outline + typ_media_pause + typ_media_play_outline + typ_media_play_reverse_outline + typ_media_play_reverse + typ_media_play + typ_media_record_outline + typ_media_record + typ_media_rewind_outline + typ_media_rewind + typ_media_stop_outline + typ_media_stop + typ_message_typing + typ_message + typ_messages + typ_microphone_outline + typ_microphone + typ_minus_outline + typ_minus + typ_mortar_board + typ_news + typ_notes_outline + typ_notes + typ_pen + typ_pencil + typ_phone_outline + typ_phone + typ_pi_outline + typ_pi + typ_pin_outline + typ_pin + typ_pipette + typ_plane_outline + typ_plane + typ_plug + typ_plus_outline + typ_plus + typ_point_of_interest_outline + typ_point_of_interest + typ_power_outline + typ_power + typ_printer + typ_puzzle_outline + typ_puzzle + typ_radar_outline + typ_radar + typ_refresh_outline + typ_refresh + typ_rss_outline + typ_rss + typ_scissors_outline + typ_scissors + typ_shopping_bag + typ_shopping_cart + typ_social_at_circular + typ_social_dribbble_circular + typ_social_dribbble + typ_social_facebook_circular + typ_social_facebook + typ_social_flickr_circular + typ_social_flickr + typ_social_github_circular + typ_social_github + typ_social_google_plus_circular + typ_social_google_plus + typ_social_instagram_circular + typ_social_instagram + typ_social_last_fm_circular + typ_social_last_fm + typ_social_linkedin_circular + typ_social_linkedin + typ_social_pinterest_circular + typ_social_pinterest + typ_social_skype_outline + typ_social_skype + typ_social_tumbler_circular + typ_social_tumbler + typ_social_twitter_circular + typ_social_twitter + typ_social_vimeo_circular + typ_social_vimeo + typ_social_youtube_circular + typ_social_youtube + typ_sort_alphabetically_outline + typ_sort_alphabetically + typ_sort_numerically_outline + typ_sort_numerically + typ_spanner_outline + typ_spanner + typ_spiral + typ_star_full_outline + typ_star_half_outline + typ_star_half + typ_star_outline + typ_star + typ_starburst_outline + typ_starburst + typ_stopwatch + typ_support + typ_tabs_outline + typ_tag + typ_tags + typ_th_large_outline + typ_th_large + typ_th_list_outline + typ_th_list + typ_th_menu_outline + typ_th_menu + typ_th_small_outline + typ_th_small + typ_thermometer + typ_thumbs_down + typ_thumbs_ok + typ_thumbs_up + typ_tick_outline + typ_tick + typ_ticket + typ_time + typ_times_outline + typ_times + typ_trash + typ_tree + typ_upload_outline + typ_upload + typ_user_add_outline + typ_user_add + typ_user_delete_outline + typ_user_delete + typ_user_outline + typ_user + typ_vendor_android + typ_vendor_apple + typ_vendor_microsoft + typ_video_outline + typ_video + typ_volume_down + typ_volume_mute + typ_volume_up + typ_volume + typ_warning_outline + typ_warning + typ_watch + typ_waves_outline + typ_waves + typ_weather_cloudy + typ_weather_downpour + typ_weather_night + typ_weather_partly_sunny + typ_weather_shower + typ_weather_snow + typ_weather_stormy + typ_weather_sunny + typ_weather_windy_cloudy + typ_weather_windy + typ_wi_fi_outline + typ_wi_fi + typ_wine + typ_world_outline + typ_world + typ_zoom_in_outline + typ_zoom_in + typ_zoom_out_outline + typ_zoom_out + typ_zoom_outline + typ_zoom + diff --git a/FONT_IDS/_current_weather_icons_v2.0.10.xml b/FONT_IDS/_current_weather_icons_v2.0.10.xml new file mode 100644 index 00000000..6f322f5f --- /dev/null +++ b/FONT_IDS/_current_weather_icons_v2.0.10.xml @@ -0,0 +1,592 @@ + + wic_day_sunny + wic_day_cloudy + wic_day_cloudy_gusts + wic_day_cloudy_windy + wic_day_fog + wic_day_hail + wic_day_haze + wic_day_lightning + wic_day_rain + wic_day_rain_mix + wic_day_rain_wind + wic_day_showers + wic_day_sleet + wic_day_sleet_storm + wic_day_snow + wic_day_snow_thunderstorm + wic_day_snow_wind + wic_day_sprinkle + wic_day_storm_showers + wic_day_sunny_overcast + wic_day_thunderstorm + wic_day_windy + wic_solar_eclipse + wic_hot + wic_day_cloudy_high + wic_day_light_wind + wic_night_clear + wic_night_alt_cloudy + wic_night_alt_cloudy_gusts + wic_night_alt_cloudy_windy + wic_night_alt_hail + wic_night_alt_lightning + wic_night_alt_rain + wic_night_alt_rain_mix + wic_night_alt_rain_wind + wic_night_alt_showers + wic_night_alt_sleet + wic_night_alt_sleet_storm + wic_night_alt_snow + wic_night_alt_snow_thunderstorm + wic_night_alt_snow_wind + wic_night_alt_sprinkle + wic_night_alt_storm_showers + wic_night_alt_thunderstorm + wic_night_cloudy + wic_night_cloudy_gusts + wic_night_cloudy_windy + wic_night_fog + wic_night_hail + wic_night_lightning + wic_night_partly_cloudy + wic_night_rain + wic_night_rain_mix + wic_night_rain_wind + wic_night_showers + wic_night_sleet + wic_night_sleet_storm + wic_night_snow + wic_night_snow_thunderstorm + wic_night_snow_wind + wic_night_sprinkle + wic_night_storm_showers + wic_night_thunderstorm + wic_lunar_eclipse + wic_stars + wic_night_alt_cloudy_high + wic_night_cloudy_high + wic_night_alt_partly_cloudy + wic_cloud + wic_cloudy + wic_cloudy_gusts + wic_cloudy_windy + wic_fog + wic_hail + wic_rain + wic_rain_mix + wic_rain_wind + wic_showers + wic_sleet + wic_sprinkle + wic_storm_showers + wic_thunderstorm + wic_snow_wind + wic_snow + wic_smog + wic_smoke + wic_lightning + wic_raindrops + wic_raindrop + wic_dust + wic_snowflake_cold + wic_windy + wic_strong_wind + wic_sandstorm + wic_earthquake + wic_fire + wic_flood + wic_meteor + wic_tsunami + wic_volcano + wic_hurricane + wic_tornado + wic_small_craft_advisory + wic_gale_warning + wic_storm_warning + wic_hurricane_warning + wic_wind_direction + wic_alien + wic_celsius + wic_fahrenheit + wic_degrees + wic_thermometer + wic_thermometer_exterior + wic_thermometer_internal + wic_cloud_down + wic_cloud_up + wic_cloud_refresh + wic_horizon + wic_horizon_alt + wic_sunrise + wic_sunset + wic_moonrise + wic_moonset + wic_refresh + wic_refresh_alt + wic_umbrella + wic_barometer + wic_humidity + wic_na + wic_train + wic_moon_new + wic_moon_waxing_crescent_1 + wic_moon_waxing_crescent_2 + wic_moon_waxing_crescent_3 + wic_moon_waxing_crescent_4 + wic_moon_waxing_crescent_5 + wic_moon_waxing_crescent_6 + wic_moon_first_quarter + wic_moon_waxing_gibbous_1 + wic_moon_waxing_gibbous_2 + wic_moon_waxing_gibbous_3 + wic_moon_waxing_gibbous_4 + wic_moon_waxing_gibbous_5 + wic_moon_waxing_gibbous_6 + wic_moon_full + wic_moon_waning_gibbous_1 + wic_moon_waning_gibbous_2 + wic_moon_waning_gibbous_3 + wic_moon_waning_gibbous_4 + wic_moon_waning_gibbous_5 + wic_moon_waning_gibbous_6 + wic_moon_third_quarter + wic_moon_waning_crescent_1 + wic_moon_waning_crescent_2 + wic_moon_waning_crescent_3 + wic_moon_waning_crescent_4 + wic_moon_waning_crescent_5 + wic_moon_waning_crescent_6 + wic_moon_alt_new + wic_moon_alt_waxing_crescent_1 + wic_moon_alt_waxing_crescent_2 + wic_moon_alt_waxing_crescent_3 + wic_moon_alt_waxing_crescent_4 + wic_moon_alt_waxing_crescent_5 + wic_moon_alt_waxing_crescent_6 + wic_moon_alt_first_quarter + wic_moon_alt_waxing_gibbous_1 + wic_moon_alt_waxing_gibbous_2 + wic_moon_alt_waxing_gibbous_3 + wic_moon_alt_waxing_gibbous_4 + wic_moon_alt_waxing_gibbous_5 + wic_moon_alt_waxing_gibbous_6 + wic_moon_alt_full + wic_moon_alt_waning_gibbous_1 + wic_moon_alt_waning_gibbous_2 + wic_moon_alt_waning_gibbous_3 + wic_moon_alt_waning_gibbous_4 + wic_moon_alt_waning_gibbous_5 + wic_moon_alt_waning_gibbous_6 + wic_moon_alt_third_quarter + wic_moon_alt_waning_crescent_1 + wic_moon_alt_waning_crescent_2 + wic_moon_alt_waning_crescent_3 + wic_moon_alt_waning_crescent_4 + wic_moon_alt_waning_crescent_5 + wic_moon_alt_waning_crescent_6 + wic_moon_0 + wic_moon_1 + wic_moon_2 + wic_moon_3 + wic_moon_4 + wic_moon_5 + wic_moon_6 + wic_moon_7 + wic_moon_8 + wic_moon_9 + wic_moon_10 + wic_moon_11 + wic_moon_12 + wic_moon_13 + wic_moon_14 + wic_moon_15 + wic_moon_16 + wic_moon_17 + wic_moon_18 + wic_moon_19 + wic_moon_20 + wic_moon_21 + wic_moon_22 + wic_moon_23 + wic_moon_24 + wic_moon_25 + wic_moon_26 + wic_moon_27 + wic_time_1 + wic_time_2 + wic_time_3 + wic_time_4 + wic_time_5 + wic_time_6 + wic_time_7 + wic_time_8 + wic_time_9 + wic_time_10 + wic_time_11 + wic_time_12 + wic_direction_up + wic_direction_up_right + wic_direction_right + wic_direction_down_right + wic_direction_down + wic_direction_down_left + wic_direction_left + wic_direction_up_left + wic_wind_beaufort_0 + wic_wind_beaufort_1 + wic_wind_beaufort_2 + wic_wind_beaufort_3 + wic_wind_beaufort_4 + wic_wind_beaufort_5 + wic_wind_beaufort_6 + wic_wind_beaufort_7 + wic_wind_beaufort_8 + wic_wind_beaufort_9 + wic_wind_beaufort_10 + wic_wind_beaufort_11 + wic_wind_beaufort_12 + wic_yahoo_0 + wic_yahoo_1 + wic_yahoo_2 + wic_yahoo_3 + wic_yahoo_4 + wic_yahoo_5 + wic_yahoo_6 + wic_yahoo_7 + wic_yahoo_8 + wic_yahoo_9 + wic_yahoo_10 + wic_yahoo_11 + wic_yahoo_12 + wic_yahoo_13 + wic_yahoo_14 + wic_yahoo_15 + wic_yahoo_16 + wic_yahoo_17 + wic_yahoo_18 + wic_yahoo_19 + wic_yahoo_20 + wic_yahoo_21 + wic_yahoo_22 + wic_yahoo_23 + wic_yahoo_24 + wic_yahoo_25 + wic_yahoo_26 + wic_yahoo_27 + wic_yahoo_28 + wic_yahoo_29 + wic_yahoo_30 + wic_yahoo_31 + wic_yahoo_32 + wic_yahoo_33 + wic_yahoo_34 + wic_yahoo_35 + wic_yahoo_36 + wic_yahoo_37 + wic_yahoo_38 + wic_yahoo_39 + wic_yahoo_40 + wic_yahoo_41 + wic_yahoo_42 + wic_yahoo_43 + wic_yahoo_44 + wic_yahoo_45 + wic_yahoo_46 + wic_yahoo_47 + wic_yahoo_3200 + wic_forecast_io_clear_day + wic_forecast_io_clear_night + wic_forecast_io_rain + wic_forecast_io_snow + wic_forecast_io_sleet + wic_forecast_io_wind + wic_forecast_io_fog + wic_forecast_io_cloudy + wic_forecast_io_partly_cloudy_day + wic_forecast_io_partly_cloudy_night + wic_forecast_io_hail + wic_forecast_io_thunderstorm + wic_forecast_io_tornado + wic_wmo4680_0 + wic_wmo4680_00 + wic_wmo4680_1 + wic_wmo4680_01 + wic_wmo4680_2 + wic_wmo4680_02 + wic_wmo4680_3 + wic_wmo4680_03 + wic_wmo4680_4 + wic_wmo4680_04 + wic_wmo4680_5 + wic_wmo4680_05 + wic_wmo4680_10 + wic_wmo4680_11 + wic_wmo4680_12 + wic_wmo4680_18 + wic_wmo4680_20 + wic_wmo4680_21 + wic_wmo4680_22 + wic_wmo4680_23 + wic_wmo4680_24 + wic_wmo4680_25 + wic_wmo4680_26 + wic_wmo4680_27 + wic_wmo4680_28 + wic_wmo4680_29 + wic_wmo4680_30 + wic_wmo4680_31 + wic_wmo4680_32 + wic_wmo4680_33 + wic_wmo4680_34 + wic_wmo4680_35 + wic_wmo4680_40 + wic_wmo4680_41 + wic_wmo4680_42 + wic_wmo4680_43 + wic_wmo4680_44 + wic_wmo4680_45 + wic_wmo4680_46 + wic_wmo4680_47 + wic_wmo4680_48 + wic_wmo4680_50 + wic_wmo4680_51 + wic_wmo4680_52 + wic_wmo4680_53 + wic_wmo4680_54 + wic_wmo4680_55 + wic_wmo4680_56 + wic_wmo4680_57 + wic_wmo4680_58 + wic_wmo4680_60 + wic_wmo4680_61 + wic_wmo4680_62 + wic_wmo4680_63 + wic_wmo4680_64 + wic_wmo4680_65 + wic_wmo4680_66 + wic_wmo4680_67 + wic_wmo4680_68 + wic_wmo4680_70 + wic_wmo4680_71 + wic_wmo4680_72 + wic_wmo4680_73 + wic_wmo4680_74 + wic_wmo4680_75 + wic_wmo4680_76 + wic_wmo4680_77 + wic_wmo4680_78 + wic_wmo4680_80 + wic_wmo4680_81 + wic_wmo4680_82 + wic_wmo4680_83 + wic_wmo4680_84 + wic_wmo4680_85 + wic_wmo4680_86 + wic_wmo4680_87 + wic_wmo4680_89 + wic_wmo4680_90 + wic_wmo4680_91 + wic_wmo4680_92 + wic_wmo4680_93 + wic_wmo4680_94 + wic_wmo4680_95 + wic_wmo4680_96 + wic_wmo4680_99 + wic_owm_200 + wic_owm_201 + wic_owm_202 + wic_owm_210 + wic_owm_211 + wic_owm_212 + wic_owm_221 + wic_owm_230 + wic_owm_231 + wic_owm_232 + wic_owm_300 + wic_owm_301 + wic_owm_302 + wic_owm_310 + wic_owm_311 + wic_owm_312 + wic_owm_313 + wic_owm_314 + wic_owm_321 + wic_owm_500 + wic_owm_501 + wic_owm_502 + wic_owm_503 + wic_owm_504 + wic_owm_511 + wic_owm_520 + wic_owm_521 + wic_owm_522 + wic_owm_531 + wic_owm_600 + wic_owm_601 + wic_owm_602 + wic_owm_611 + wic_owm_612 + wic_owm_615 + wic_owm_616 + wic_owm_620 + wic_owm_621 + wic_owm_622 + wic_owm_701 + wic_owm_711 + wic_owm_721 + wic_owm_731 + wic_owm_741 + wic_owm_761 + wic_owm_762 + wic_owm_771 + wic_owm_781 + wic_owm_800 + wic_owm_801 + wic_owm_802 + wic_owm_803 + wic_owm_804 + wic_owm_900 + wic_owm_901 + wic_owm_902 + wic_owm_903 + wic_owm_904 + wic_owm_905 + wic_owm_906 + wic_owm_957 + wic_owm_day_200 + wic_owm_day_201 + wic_owm_day_202 + wic_owm_day_210 + wic_owm_day_211 + wic_owm_day_212 + wic_owm_day_221 + wic_owm_day_230 + wic_owm_day_231 + wic_owm_day_232 + wic_owm_day_300 + wic_owm_day_301 + wic_owm_day_302 + wic_owm_day_310 + wic_owm_day_311 + wic_owm_day_312 + wic_owm_day_313 + wic_owm_day_314 + wic_owm_day_321 + wic_owm_day_500 + wic_owm_day_501 + wic_owm_day_502 + wic_owm_day_503 + wic_owm_day_504 + wic_owm_day_511 + wic_owm_day_520 + wic_owm_day_521 + wic_owm_day_522 + wic_owm_day_531 + wic_owm_day_600 + wic_owm_day_601 + wic_owm_day_602 + wic_owm_day_611 + wic_owm_day_612 + wic_owm_day_615 + wic_owm_day_616 + wic_owm_day_620 + wic_owm_day_621 + wic_owm_day_622 + wic_owm_day_701 + wic_owm_day_711 + wic_owm_day_721 + wic_owm_day_731 + wic_owm_day_741 + wic_owm_day_761 + wic_owm_day_762 + wic_owm_day_781 + wic_owm_day_800 + wic_owm_day_801 + wic_owm_day_802 + wic_owm_day_803 + wic_owm_day_804 + wic_owm_day_900 + wic_owm_day_902 + wic_owm_day_903 + wic_owm_day_904 + wic_owm_day_906 + wic_owm_day_957 + wic_owm_night_200 + wic_owm_night_201 + wic_owm_night_202 + wic_owm_night_210 + wic_owm_night_211 + wic_owm_night_212 + wic_owm_night_221 + wic_owm_night_230 + wic_owm_night_231 + wic_owm_night_232 + wic_owm_night_300 + wic_owm_night_301 + wic_owm_night_302 + wic_owm_night_310 + wic_owm_night_311 + wic_owm_night_312 + wic_owm_night_313 + wic_owm_night_314 + wic_owm_night_321 + wic_owm_night_500 + wic_owm_night_501 + wic_owm_night_502 + wic_owm_night_503 + wic_owm_night_504 + wic_owm_night_511 + wic_owm_night_520 + wic_owm_night_521 + wic_owm_night_522 + wic_owm_night_531 + wic_owm_night_600 + wic_owm_night_601 + wic_owm_night_602 + wic_owm_night_611 + wic_owm_night_612 + wic_owm_night_615 + wic_owm_night_616 + wic_owm_night_620 + wic_owm_night_621 + wic_owm_night_622 + wic_owm_night_701 + wic_owm_night_711 + wic_owm_night_721 + wic_owm_night_731 + wic_owm_night_741 + wic_owm_night_761 + wic_owm_night_762 + wic_owm_night_781 + wic_owm_night_800 + wic_owm_night_801 + wic_owm_night_802 + wic_owm_night_803 + wic_owm_night_804 + wic_owm_night_900 + wic_owm_night_902 + wic_owm_night_903 + wic_owm_night_904 + wic_owm_night_906 + wic_owm_night_957 + wic_wu_chanceflurries + wic_wu_chancerain + wic_wu_chancesleat + wic_wu_chancesnow + wic_wu_chancetstorms + wic_wu_clear + wic_wu_cloudy + wic_wu_flurries + wic_wu_hazy + wic_wu_mostlycloudy + wic_wu_mostlysunny + wic_wu_partlycloudy + wic_wu_partlysunny + wic_wu_rain + wic_wu_sleat + wic_wu_snow + wic_wu_sunny + wic_wu_tstorms + wic_wu_unknown + From 10e2c806d7b084166a0f69c5d5d9585e27a8bc09 Mon Sep 17 00:00:00 2001 From: "zTrap (Peter Gulko)" Date: Tue, 4 Dec 2018 11:59:13 +0300 Subject: [PATCH 07/15] removed old and unused folder with icons string ids --- ...nt_community_material_design_v2.0.46.1.xml | 2048 ----------------- FONT_IDS/_current_dev_icon_v2.0.0.1.xml | 164 -- FONT_IDS/_current_entypo_v1.0.0.1.xml | 387 ---- FONT_IDS/_current_font_awesome_v4.7.0.0.xml | 677 ------ .../_current_foundation_icons_v3.0.0.1.xml | 285 --- ...rent_google_material_v3.0.1.0.original.xml | 934 -------- FONT_IDS/_current_ionicons_v2.0.1.1.xml | 735 ------ ..._current_material_design_iconic_v2.2.0.xml | 888 ------- FONT_IDS/_current_meteocons_v1.1.1.xml | 49 - FONT_IDS/_current_octicons_v3.2.0.xml | 195 -- .../_current_pixeden7_stroke_v1.2.0.0.xml | 204 -- FONT_IDS/_current_typeicons_v2.0.7.1.xml | 338 --- FONT_IDS/_current_weather_icons_v2.0.10.xml | 592 ----- 13 files changed, 7496 deletions(-) delete mode 100644 FONT_IDS/_current_community_material_design_v2.0.46.1.xml delete mode 100644 FONT_IDS/_current_dev_icon_v2.0.0.1.xml delete mode 100644 FONT_IDS/_current_entypo_v1.0.0.1.xml delete mode 100644 FONT_IDS/_current_font_awesome_v4.7.0.0.xml delete mode 100644 FONT_IDS/_current_foundation_icons_v3.0.0.1.xml delete mode 100644 FONT_IDS/_current_google_material_v3.0.1.0.original.xml delete mode 100644 FONT_IDS/_current_ionicons_v2.0.1.1.xml delete mode 100644 FONT_IDS/_current_material_design_iconic_v2.2.0.xml delete mode 100644 FONT_IDS/_current_meteocons_v1.1.1.xml delete mode 100644 FONT_IDS/_current_octicons_v3.2.0.xml delete mode 100644 FONT_IDS/_current_pixeden7_stroke_v1.2.0.0.xml delete mode 100644 FONT_IDS/_current_typeicons_v2.0.7.1.xml delete mode 100644 FONT_IDS/_current_weather_icons_v2.0.10.xml diff --git a/FONT_IDS/_current_community_material_design_v2.0.46.1.xml b/FONT_IDS/_current_community_material_design_v2.0.46.1.xml deleted file mode 100644 index cf782e11..00000000 --- a/FONT_IDS/_current_community_material_design_v2.0.46.1.xml +++ /dev/null @@ -1,2048 +0,0 @@ - - cmd_access_point - cmd_access_point_network - cmd_account - cmd_account_alert - cmd_account_box - cmd_account_box_outline - cmd_account_card_details - cmd_account_check - cmd_account_circle - cmd_account_convert - cmd_account_edit - cmd_account_key - cmd_account_location - cmd_account_minus - cmd_account_multiple - cmd_account_multiple_minus - cmd_account_multiple_outline - cmd_account_multiple_plus - cmd_account_network - cmd_account_off - cmd_account_outline - cmd_account_plus - cmd_account_remove - cmd_account_search - cmd_account_settings - cmd_account_settings_variant - cmd_account_star - cmd_account_switch - cmd_adjust - cmd_air_conditioner - cmd_airballoon - cmd_airplane - cmd_airplane_landing - cmd_airplane_off - cmd_airplane_takeoff - cmd_airplay - cmd_alarm - cmd_alarm_bell - cmd_alarm_check - cmd_alarm_light - cmd_alarm_multiple - cmd_alarm_off - cmd_alarm_plus - cmd_alarm_snooze - cmd_album - cmd_alert - cmd_alert_box - cmd_alert_circle - cmd_alert_circle_outline - cmd_alert_decagram - cmd_alert_octagon - cmd_alert_octagram - cmd_alert_outline - cmd_all_inclusive - cmd_alpha - cmd_alphabetical - cmd_altimeter - cmd_amazon - cmd_amazon_clouddrive - cmd_ambulance - cmd_amplifier - cmd_anchor - cmd_android - cmd_android_debug_bridge - cmd_android_head - cmd_android_studio - cmd_angular - cmd_angularjs - cmd_animation - cmd_apple - cmd_apple_finder - cmd_apple_ios - cmd_apple_keyboard_caps - cmd_apple_keyboard_command - cmd_apple_keyboard_control - cmd_apple_keyboard_option - cmd_apple_keyboard_shift - cmd_apple_mobileme - cmd_apple_safari - cmd_application - cmd_approval - cmd_apps - cmd_archive - cmd_arrange_bring_forward - cmd_arrange_bring_to_front - cmd_arrange_send_backward - cmd_arrange_send_to_back - cmd_arrow_all - cmd_arrow_bottom_left - cmd_arrow_bottom_right - cmd_arrow_collapse - cmd_arrow_collapse_all - cmd_arrow_collapse_down - cmd_arrow_collapse_left - cmd_arrow_collapse_right - cmd_arrow_collapse_up - cmd_arrow_down - cmd_arrow_down_bold - cmd_arrow_down_bold_box - cmd_arrow_down_bold_box_outline - cmd_arrow_down_bold_circle - cmd_arrow_down_bold_circle_outline - cmd_arrow_down_bold_hexagon_outline - cmd_arrow_down_box - cmd_arrow_down_drop_circle - cmd_arrow_down_drop_circle_outline - cmd_arrow_down_thick - cmd_arrow_expand - cmd_arrow_expand_all - cmd_arrow_expand_down - cmd_arrow_expand_left - cmd_arrow_expand_right - cmd_arrow_expand_up - cmd_arrow_left - cmd_arrow_left_bold - cmd_arrow_left_bold_box - cmd_arrow_left_bold_box_outline - cmd_arrow_left_bold_circle - cmd_arrow_left_bold_circle_outline - cmd_arrow_left_bold_hexagon_outline - cmd_arrow_left_box - cmd_arrow_left_drop_circle - cmd_arrow_left_drop_circle_outline - cmd_arrow_left_thick - cmd_arrow_right - cmd_arrow_right_bold - cmd_arrow_right_bold_box - cmd_arrow_right_bold_box_outline - cmd_arrow_right_bold_circle - cmd_arrow_right_bold_circle_outline - cmd_arrow_right_bold_hexagon_outline - cmd_arrow_right_box - cmd_arrow_right_drop_circle - cmd_arrow_right_drop_circle_outline - cmd_arrow_right_thick - cmd_arrow_top_left - cmd_arrow_top_right - cmd_arrow_up - cmd_arrow_up_bold - cmd_arrow_up_bold_box - cmd_arrow_up_bold_box_outline - cmd_arrow_up_bold_circle - cmd_arrow_up_bold_circle_outline - cmd_arrow_up_bold_hexagon_outline - cmd_arrow_up_box - cmd_arrow_up_drop_circle - cmd_arrow_up_drop_circle_outline - cmd_arrow_up_thick - cmd_assistant - cmd_asterisk - cmd_at - cmd_atom - cmd_attachment - cmd_audiobook - cmd_auto_fix - cmd_auto_upload - cmd_autorenew - cmd_av_timer - cmd_baby - cmd_baby_buggy - cmd_backburger - cmd_backspace - cmd_backup_restore - cmd_bandcamp - cmd_bank - cmd_barcode - cmd_barcode_scan - cmd_barley - cmd_barrel - cmd_basecamp - cmd_basket - cmd_basket_fill - cmd_basket_unfill - cmd_battery - cmd_battery_10 - cmd_battery_20 - cmd_battery_30 - cmd_battery_40 - cmd_battery_50 - cmd_battery_60 - cmd_battery_70 - cmd_battery_80 - cmd_battery_90 - cmd_battery_alert - cmd_battery_charging - cmd_battery_charging_100 - cmd_battery_charging_20 - cmd_battery_charging_30 - cmd_battery_charging_40 - cmd_battery_charging_60 - cmd_battery_charging_80 - cmd_battery_charging_90 - cmd_battery_minus - cmd_battery_negative - cmd_battery_outline - cmd_battery_plus - cmd_battery_positive - cmd_battery_unknown - cmd_beach - cmd_beaker - cmd_beats - cmd_beer - cmd_behance - cmd_bell - cmd_bell_off - cmd_bell_outline - cmd_bell_plus - cmd_bell_ring - cmd_bell_ring_outline - cmd_bell_sleep - cmd_beta - cmd_bible - cmd_bike - cmd_bing - cmd_binoculars - cmd_bio - cmd_biohazard - cmd_bitbucket - cmd_black_mesa - cmd_blackberry - cmd_blender - cmd_blinds - cmd_block_helper - cmd_blogger - cmd_bluetooth - cmd_bluetooth_audio - cmd_bluetooth_connect - cmd_bluetooth_off - cmd_bluetooth_settings - cmd_bluetooth_transfer - cmd_blur - cmd_blur_linear - cmd_blur_off - cmd_blur_radial - cmd_bomb - cmd_bomb_off - cmd_bone - cmd_book - cmd_book_minus - cmd_book_multiple - cmd_book_multiple_variant - cmd_book_open - cmd_book_open_page_variant - cmd_book_open_variant - cmd_book_plus - cmd_book_secure - cmd_book_unsecure - cmd_book_variant - cmd_bookmark - cmd_bookmark_check - cmd_bookmark_music - cmd_bookmark_outline - cmd_bookmark_plus - cmd_bookmark_plus_outline - cmd_bookmark_remove - cmd_boombox - cmd_bootstrap - cmd_border_all - cmd_border_bottom - cmd_border_color - cmd_border_horizontal - cmd_border_inside - cmd_border_left - cmd_border_none - cmd_border_outside - cmd_border_right - cmd_border_style - cmd_border_top - cmd_border_vertical - cmd_bow_tie - cmd_bowl - cmd_bowling - cmd_box - cmd_box_cutter - cmd_box_shadow - cmd_bridge - cmd_briefcase - cmd_briefcase_check - cmd_briefcase_download - cmd_briefcase_upload - cmd_brightness_1 - cmd_brightness_2 - cmd_brightness_3 - cmd_brightness_4 - cmd_brightness_5 - cmd_brightness_6 - cmd_brightness_7 - cmd_brightness_auto - cmd_broom - cmd_brush - cmd_buffer - cmd_bug - cmd_bulletin_board - cmd_bullhorn - cmd_bullseye - cmd_burst_mode - cmd_bus - cmd_bus_articulated_end - cmd_bus_articulated_front - cmd_bus_double_decker - cmd_bus_school - cmd_bus_side - cmd_cached - cmd_cake - cmd_cake_layered - cmd_cake_variant - cmd_calculator - cmd_calendar - cmd_calendar_blank - cmd_calendar_check - cmd_calendar_clock - cmd_calendar_multiple - cmd_calendar_multiple_check - cmd_calendar_plus - cmd_calendar_question - cmd_calendar_range - cmd_calendar_remove - cmd_calendar_text - cmd_calendar_today - cmd_call_made - cmd_call_merge - cmd_call_missed - cmd_call_received - cmd_call_split - cmd_camcorder - cmd_camcorder_box - cmd_camcorder_box_off - cmd_camcorder_off - cmd_camera - cmd_camera_burst - cmd_camera_enhance - cmd_camera_front - cmd_camera_front_variant - cmd_camera_gopro - cmd_camera_iris - cmd_camera_metering_center - cmd_camera_metering_matrix - cmd_camera_metering_partial - cmd_camera_metering_spot - cmd_camera_off - cmd_camera_party_mode - cmd_camera_rear - cmd_camera_rear_variant - cmd_camera_switch - cmd_camera_timer - cmd_cancel - cmd_candle - cmd_candycane - cmd_cannabis - cmd_car - cmd_car_battery - cmd_car_connected - cmd_car_convertable - cmd_car_estate - cmd_car_hatchback - cmd_car_pickup - cmd_car_side - cmd_car_sports - cmd_car_wash - cmd_caravan - cmd_cards - cmd_cards_outline - cmd_cards_playing_outline - cmd_cards_variant - cmd_carrot - cmd_cart - cmd_cart_off - cmd_cart_outline - cmd_cart_plus - cmd_case_sensitive_alt - cmd_cash - cmd_cash_100 - cmd_cash_multiple - cmd_cash_usd - cmd_cast - cmd_cast_connected - cmd_cast_off - cmd_castle - cmd_cat - cmd_cctv - cmd_ceiling_light - cmd_cellphone - cmd_cellphone_android - cmd_cellphone_basic - cmd_cellphone_dock - cmd_cellphone_iphone - cmd_cellphone_link - cmd_cellphone_link_off - cmd_cellphone_settings - cmd_certificate - cmd_chair_school - cmd_chart_arc - cmd_chart_areaspline - cmd_chart_bar - cmd_chart_bar_stacked - cmd_chart_bubble - cmd_chart_donut - cmd_chart_donut_variant - cmd_chart_gantt - cmd_chart_histogram - cmd_chart_line - cmd_chart_line_stacked - cmd_chart_line_variant - cmd_chart_pie - cmd_chart_scatterplot_hexbin - cmd_chart_timeline - cmd_check - cmd_check_all - cmd_check_circle - cmd_check_circle_outline - cmd_checkbox_blank - cmd_checkbox_blank_circle - cmd_checkbox_blank_circle_outline - cmd_checkbox_blank_outline - cmd_checkbox_marked - cmd_checkbox_marked_circle - cmd_checkbox_marked_circle_outline - cmd_checkbox_marked_outline - cmd_checkbox_multiple_blank - cmd_checkbox_multiple_blank_circle - cmd_checkbox_multiple_blank_circle_outline - cmd_checkbox_multiple_blank_outline - cmd_checkbox_multiple_marked - cmd_checkbox_multiple_marked_circle - cmd_checkbox_multiple_marked_circle_outline - cmd_checkbox_multiple_marked_outline - cmd_checkerboard - cmd_chemical_weapon - cmd_chevron_double_down - cmd_chevron_double_left - cmd_chevron_double_right - cmd_chevron_double_up - cmd_chevron_down - cmd_chevron_left - cmd_chevron_right - cmd_chevron_up - cmd_chili_hot - cmd_chili_medium - cmd_chili_mild - cmd_chip - cmd_church - cmd_circle - cmd_circle_outline - cmd_cisco_webex - cmd_city - cmd_clipboard - cmd_clipboard_account - cmd_clipboard_alert - cmd_clipboard_arrow_down - cmd_clipboard_arrow_left - cmd_clipboard_check - cmd_clipboard_flow - cmd_clipboard_outline - cmd_clipboard_plus - cmd_clipboard_text - cmd_clippy - cmd_clock - cmd_clock_alert - cmd_clock_end - cmd_clock_fast - cmd_clock_in - cmd_clock_out - cmd_clock_start - cmd_close - cmd_close_box - cmd_close_box_outline - cmd_close_circle - cmd_close_circle_outline - cmd_close_network - cmd_close_octagon - cmd_close_octagon_outline - cmd_close_outline - cmd_closed_caption - cmd_cloud - cmd_cloud_braces - cmd_cloud_check - cmd_cloud_circle - cmd_cloud_download - cmd_cloud_off_outline - cmd_cloud_outline - cmd_cloud_print - cmd_cloud_print_outline - cmd_cloud_sync - cmd_cloud_tags - cmd_cloud_upload - cmd_code_array - cmd_code_braces - cmd_code_brackets - cmd_code_equal - cmd_code_greater_than - cmd_code_greater_than_or_equal - cmd_code_less_than - cmd_code_less_than_or_equal - cmd_code_not_equal - cmd_code_not_equal_variant - cmd_code_parentheses - cmd_code_string - cmd_code_tags - cmd_code_tags_check - cmd_codepen - cmd_coffee - cmd_coffee_outline - cmd_coffee_to_go - cmd_coin - cmd_coins - cmd_collage - cmd_color_helper - cmd_comment - cmd_comment_account - cmd_comment_account_outline - cmd_comment_alert - cmd_comment_alert_outline - cmd_comment_check - cmd_comment_check_outline - cmd_comment_multiple_outline - cmd_comment_outline - cmd_comment_plus_outline - cmd_comment_processing - cmd_comment_processing_outline - cmd_comment_question_outline - cmd_comment_remove_outline - cmd_comment_text - cmd_comment_text_outline - cmd_compare - cmd_compass - cmd_compass_outline - cmd_console - cmd_console_line - cmd_contact_mail - cmd_contacts - cmd_content_copy - cmd_content_cut - cmd_content_duplicate - cmd_content_paste - cmd_content_save - cmd_content_save_all - cmd_content_save_settings - cmd_contrast - cmd_contrast_box - cmd_contrast_circle - cmd_cookie - cmd_copyright - cmd_corn - cmd_counter - cmd_cow - cmd_creation - cmd_credit_card - cmd_credit_card_multiple - cmd_credit_card_off - cmd_credit_card_plus - cmd_credit_card_scan - cmd_crop - cmd_crop_free - cmd_crop_landscape - cmd_crop_portrait - cmd_crop_rotate - cmd_crop_square - cmd_crosshairs - cmd_crosshairs_gps - cmd_crown - cmd_cube - cmd_cube_outline - cmd_cube_send - cmd_cube_unfolded - cmd_cup - cmd_cup_off - cmd_cup_water - cmd_currency_btc - cmd_currency_chf - cmd_currency_cny - cmd_currency_eth - cmd_currency_eur - cmd_currency_gbp - cmd_currency_inr - cmd_currency_jpy - cmd_currency_krw - cmd_currency_ngn - cmd_currency_rub - cmd_currency_sign - cmd_currency_try - cmd_currency_twd - cmd_currency_usd - cmd_currency_usd_off - cmd_cursor_default - cmd_cursor_default_outline - cmd_cursor_move - cmd_cursor_pointer - cmd_cursor_text - cmd_database - cmd_database_minus - cmd_database_plus - cmd_debug_step_into - cmd_debug_step_out - cmd_debug_step_over - cmd_decagram - cmd_decagram_outline - cmd_decimal_decrease - cmd_decimal_increase - cmd_delete - cmd_delete_circle - cmd_delete_empty - cmd_delete_forever - cmd_delete_sweep - cmd_delete_variant - cmd_delta - cmd_deskphone - cmd_desktop_classic - cmd_desktop_mac - cmd_desktop_tower - cmd_details - cmd_developer_board - cmd_deviantart - cmd_dialpad - cmd_diamond - cmd_dice_1 - cmd_dice_2 - cmd_dice_3 - cmd_dice_4 - cmd_dice_5 - cmd_dice_6 - cmd_dice_d10 - cmd_dice_d20 - cmd_dice_d4 - cmd_dice_d6 - cmd_dice_d8 - cmd_dice_multiple - cmd_dictionary - cmd_dip_switch - cmd_directions - cmd_directions_fork - cmd_discord - cmd_disk - cmd_disk_alert - cmd_disqus - cmd_disqus_outline - cmd_division - cmd_division_box - cmd_dna - cmd_dns - cmd_do_not_disturb - cmd_do_not_disturb_off - cmd_dolby - cmd_domain - cmd_donkey - cmd_dots_horizontal - cmd_dots_horizontal_circle - cmd_dots_vertical - cmd_dots_vertical_circle - cmd_douban - cmd_download - cmd_download_network - cmd_drag - cmd_drag_horizontal - cmd_drag_vertical - cmd_drawing - cmd_drawing_box - cmd_dribbble - cmd_dribbble_box - cmd_drone - cmd_dropbox - cmd_drupal - cmd_duck - cmd_dumbbell - cmd_ear_hearing - cmd_earth - cmd_earth_box - cmd_earth_box_off - cmd_earth_off - cmd_edge - cmd_eject - cmd_elephant - cmd_elevation_decline - cmd_elevation_rise - cmd_elevator - cmd_email - cmd_email_alert - cmd_email_open - cmd_email_open_outline - cmd_email_outline - cmd_email_secure - cmd_email_variant - cmd_emby - cmd_emoticon - cmd_emoticon_cool - cmd_emoticon_dead - cmd_emoticon_devil - cmd_emoticon_excited - cmd_emoticon_happy - cmd_emoticon_neutral - cmd_emoticon_poop - cmd_emoticon_sad - cmd_emoticon_tongue - cmd_engine - cmd_engine_outline - cmd_equal - cmd_equal_box - cmd_eraser - cmd_eraser_variant - cmd_escalator - cmd_ethernet - cmd_ethernet_cable - cmd_ethernet_cable_off - cmd_etsy - cmd_ev_station - cmd_eventbrite - cmd_evernote - cmd_exclamation - cmd_exit_to_app - cmd_export - cmd_eye - cmd_eye_off - cmd_eye_off_outline - cmd_eye_outline - cmd_eyedropper - cmd_eyedropper_variant - cmd_face - cmd_face_profile - cmd_facebook - cmd_facebook_box - cmd_facebook_messenger - cmd_factory - cmd_fan - cmd_fast_forward - cmd_fast_forward_outline - cmd_fax - cmd_feather - cmd_ferry - cmd_file - cmd_file_account - cmd_file_chart - cmd_file_check - cmd_file_cloud - cmd_file_delimited - cmd_file_document - cmd_file_document_box - cmd_file_excel - cmd_file_excel_box - cmd_file_export - cmd_file_find - cmd_file_hidden - cmd_file_image - cmd_file_import - cmd_file_lock - cmd_file_multiple - cmd_file_music - cmd_file_outline - cmd_file_pdf - cmd_file_pdf_box - cmd_file_plus - cmd_file_powerpoint - cmd_file_powerpoint_box - cmd_file_presentation_box - cmd_file_restore - cmd_file_send - cmd_file_tree - cmd_file_video - cmd_file_word - cmd_file_word_box - cmd_file_xml - cmd_film - cmd_filmstrip - cmd_filmstrip_off - cmd_filter - cmd_filter_outline - cmd_filter_remove - cmd_filter_remove_outline - cmd_filter_variant - cmd_find_replace - cmd_fingerprint - cmd_fire - cmd_firefox - cmd_fish - cmd_flag - cmd_flag_checkered - cmd_flag_outline - cmd_flag_outline_variant - cmd_flag_triangle - cmd_flag_variant - cmd_flash - cmd_flash_auto - cmd_flash_off - cmd_flash_outline - cmd_flash_red_eye - cmd_flashlight - cmd_flashlight_off - cmd_flask - cmd_flask_empty - cmd_flask_empty_outline - cmd_flask_outline - cmd_flattr - cmd_flip_to_back - cmd_flip_to_front - cmd_floppy - cmd_flower - cmd_folder - cmd_folder_account - cmd_folder_download - cmd_folder_google_drive - cmd_folder_image - cmd_folder_lock - cmd_folder_lock_open - cmd_folder_move - cmd_folder_multiple - cmd_folder_multiple_image - cmd_folder_multiple_outline - cmd_folder_open - cmd_folder_outline - cmd_folder_plus - cmd_folder_remove - cmd_folder_star - cmd_folder_upload - cmd_font_awesome - cmd_food - cmd_food_apple - cmd_food_croissant - cmd_food_fork_drink - cmd_food_off - cmd_food_variant - cmd_football - cmd_football_australian - cmd_football_helmet - cmd_forklift - cmd_format_align_bottom - cmd_format_align_center - cmd_format_align_justify - cmd_format_align_left - cmd_format_align_middle - cmd_format_align_right - cmd_format_align_top - cmd_format_annotation_plus - cmd_format_bold - cmd_format_clear - cmd_format_color_fill - cmd_format_color_text - cmd_format_float_center - cmd_format_float_left - cmd_format_float_none - cmd_format_float_right - cmd_format_font - cmd_format_header_1 - cmd_format_header_2 - cmd_format_header_3 - cmd_format_header_4 - cmd_format_header_5 - cmd_format_header_6 - cmd_format_header_decrease - cmd_format_header_equal - cmd_format_header_increase - cmd_format_header_pound - cmd_format_horizontal_align_center - cmd_format_horizontal_align_left - cmd_format_horizontal_align_right - cmd_format_indent_decrease - cmd_format_indent_increase - cmd_format_italic - cmd_format_line_spacing - cmd_format_line_style - cmd_format_line_weight - cmd_format_list_bulleted - cmd_format_list_bulleted_type - cmd_format_list_checks - cmd_format_list_numbers - cmd_format_page_break - cmd_format_paint - cmd_format_paragraph - cmd_format_pilcrow - cmd_format_quote_close - cmd_format_quote_open - cmd_format_rotate_90 - cmd_format_section - cmd_format_size - cmd_format_strikethrough - cmd_format_strikethrough_variant - cmd_format_subscript - cmd_format_superscript - cmd_format_text - cmd_format_textdirection_l_to_r - cmd_format_textdirection_r_to_l - cmd_format_title - cmd_format_underline - cmd_format_vertical_align_bottom - cmd_format_vertical_align_center - cmd_format_vertical_align_top - cmd_format_wrap_inline - cmd_format_wrap_square - cmd_format_wrap_tight - cmd_format_wrap_top_bottom - cmd_forum - cmd_forward - cmd_foursquare - cmd_fridge - cmd_fridge_filled - cmd_fridge_filled_bottom - cmd_fridge_filled_top - cmd_fuel - cmd_fullscreen - cmd_fullscreen_exit - cmd_function - cmd_gamepad - cmd_gamepad_variant - cmd_garage - cmd_garage_open - cmd_gas_cylinder - cmd_gas_station - cmd_gate - cmd_gauge - cmd_gavel - cmd_gender_female - cmd_gender_male - cmd_gender_male_female - cmd_gender_transgender - cmd_gesture - cmd_gesture_double_tap - cmd_gesture_swipe_down - cmd_gesture_swipe_left - cmd_gesture_swipe_right - cmd_gesture_swipe_up - cmd_gesture_tap - cmd_gesture_two_double_tap - cmd_gesture_two_tap - cmd_ghost - cmd_gift - cmd_git - cmd_github_box - cmd_github_circle - cmd_github_face - cmd_glass_flute - cmd_glass_mug - cmd_glass_stange - cmd_glass_tulip - cmd_glassdoor - cmd_glasses - cmd_gmail - cmd_gnome - cmd_gondola - cmd_google - cmd_google_analytics - cmd_google_assistant - cmd_google_cardboard - cmd_google_chrome - cmd_google_circles - cmd_google_circles_communities - cmd_google_circles_extended - cmd_google_circles_group - cmd_google_controller - cmd_google_controller_off - cmd_google_drive - cmd_google_earth - cmd_google_glass - cmd_google_keep - cmd_google_maps - cmd_google_nearby - cmd_google_pages - cmd_google_photos - cmd_google_physical_web - cmd_google_play - cmd_google_plus - cmd_google_plus_box - cmd_google_translate - cmd_google_wallet - cmd_gradient - cmd_grease_pencil - cmd_grid - cmd_grid_large - cmd_grid_off - cmd_group - cmd_guitar_acoustic - cmd_guitar_electric - cmd_guitar_pick - cmd_guitar_pick_outline - cmd_hackernews - cmd_hamburger - cmd_hand_pointing_right - cmd_hanger - cmd_hangouts - cmd_harddisk - cmd_headphones - cmd_headphones_box - cmd_headphones_off - cmd_headphones_settings - cmd_headset - cmd_headset_dock - cmd_headset_off - cmd_heart - cmd_heart_box - cmd_heart_box_outline - cmd_heart_broken - cmd_heart_half - cmd_heart_half_full - cmd_heart_half_outline - cmd_heart_off - cmd_heart_outline - cmd_heart_pulse - cmd_help - cmd_help_box - cmd_help_circle - cmd_help_circle_outline - cmd_help_network - cmd_hexagon - cmd_hexagon_multiple - cmd_hexagon_outline - cmd_high_definition - cmd_highway - cmd_history - cmd_hololens - cmd_home - cmd_home_assistant - cmd_home_automation - cmd_home_circle - cmd_home_map_marker - cmd_home_modern - cmd_home_outline - cmd_home_variant - cmd_hook - cmd_hook_off - cmd_hops - cmd_hospital - cmd_hospital_building - cmd_hospital_marker - cmd_hotel - cmd_houzz - cmd_houzz_box - cmd_human - cmd_human_child - cmd_human_female - cmd_human_greeting - cmd_human_handsdown - cmd_human_handsup - cmd_human_male - cmd_human_male_female - cmd_human_pregnant - cmd_humble_bundle - cmd_image - cmd_image_album - cmd_image_area - cmd_image_area_close - cmd_image_broken - cmd_image_broken_variant - cmd_image_filter - cmd_image_filter_black_white - cmd_image_filter_center_focus - cmd_image_filter_center_focus_weak - cmd_image_filter_drama - cmd_image_filter_frames - cmd_image_filter_hdr - cmd_image_filter_none - cmd_image_filter_tilt_shift - cmd_image_filter_vintage - cmd_image_multiple - cmd_import - cmd_inbox - cmd_inbox_arrow_down - cmd_inbox_arrow_up - cmd_incognito - cmd_infinity - cmd_information - cmd_information_outline - cmd_information_variant - cmd_instagram - cmd_instapaper - cmd_internet_explorer - cmd_invert_colors - cmd_itunes - cmd_jeepney - cmd_jira - cmd_jsfiddle - cmd_json - cmd_keg - cmd_kettle - cmd_key - cmd_key_change - cmd_key_minus - cmd_key_plus - cmd_key_remove - cmd_key_variant - cmd_keyboard - cmd_keyboard_backspace - cmd_keyboard_caps - cmd_keyboard_close - cmd_keyboard_off - cmd_keyboard_return - cmd_keyboard_tab - cmd_keyboard_variant - cmd_kickstarter - cmd_kodi - cmd_label - cmd_label_outline - cmd_lambda - cmd_lamp - cmd_lan - cmd_lan_connect - cmd_lan_disconnect - cmd_lan_pending - cmd_language_c - cmd_language_cpp - cmd_language_csharp - cmd_language_css3 - cmd_language_go - cmd_language_html5 - cmd_language_javascript - cmd_language_php - cmd_language_python - cmd_language_python_text - cmd_language_r - cmd_language_swift - cmd_language_typescript - cmd_laptop - cmd_laptop_chromebook - cmd_laptop_mac - cmd_laptop_off - cmd_laptop_windows - cmd_lastfm - cmd_launch - cmd_lava_lamp - cmd_layers - cmd_layers_off - cmd_lead_pencil - cmd_leaf - cmd_led_off - cmd_led_on - cmd_led_outline - cmd_led_strip - cmd_led_variant_off - cmd_led_variant_on - cmd_led_variant_outline - cmd_library - cmd_library_books - cmd_library_music - cmd_library_plus - cmd_lightbulb - cmd_lightbulb_on - cmd_lightbulb_on_outline - cmd_lightbulb_outline - cmd_link - cmd_link_off - cmd_link_variant - cmd_link_variant_off - cmd_linkedin - cmd_linkedin_box - cmd_linux - cmd_loading - cmd_lock - cmd_lock_open - cmd_lock_open_outline - cmd_lock_outline - cmd_lock_pattern - cmd_lock_plus - cmd_lock_reset - cmd_locker - cmd_locker_multiple - cmd_login - cmd_login_variant - cmd_logout - cmd_logout_variant - cmd_looks - cmd_loop - cmd_loupe - cmd_lumx - cmd_magnet - cmd_magnet_on - cmd_magnify - cmd_magnify_minus - cmd_magnify_minus_outline - cmd_magnify_plus - cmd_magnify_plus_outline - cmd_mail_ru - cmd_mailbox - cmd_map - cmd_map_marker - cmd_map_marker_circle - cmd_map_marker_minus - cmd_map_marker_multiple - cmd_map_marker_off - cmd_map_marker_outline - cmd_map_marker_plus - cmd_map_marker_radius - cmd_margin - cmd_markdown - cmd_marker - cmd_marker_check - cmd_martini - cmd_material_ui - cmd_math_compass - cmd_matrix - cmd_maxcdn - cmd_medical_bag - cmd_medium - cmd_memory - cmd_menu - cmd_menu_down - cmd_menu_down_outline - cmd_menu_left - cmd_menu_right - cmd_menu_up - cmd_menu_up_outline - cmd_message - cmd_message_alert - cmd_message_bulleted - cmd_message_bulleted_off - cmd_message_draw - cmd_message_image - cmd_message_outline - cmd_message_plus - cmd_message_processing - cmd_message_reply - cmd_message_reply_text - cmd_message_settings - cmd_message_settings_variant - cmd_message_text - cmd_message_text_outline - cmd_message_video - cmd_meteor - cmd_metronome - cmd_metronome_tick - cmd_micro_sd - cmd_microphone - cmd_microphone_off - cmd_microphone_outline - cmd_microphone_settings - cmd_microphone_variant - cmd_microphone_variant_off - cmd_microscope - cmd_microsoft - cmd_minecraft - cmd_minus - cmd_minus_box - cmd_minus_box_outline - cmd_minus_circle - cmd_minus_circle_outline - cmd_minus_network - cmd_mixcloud - cmd_mixer - cmd_monitor - cmd_monitor_multiple - cmd_more - cmd_motorbike - cmd_mouse - cmd_mouse_off - cmd_mouse_variant - cmd_mouse_variant_off - cmd_move_resize - cmd_move_resize_variant - cmd_movie - cmd_movie_roll - cmd_multiplication - cmd_multiplication_box - cmd_mushroom - cmd_mushroom_outline - cmd_music - cmd_music_box - cmd_music_box_outline - cmd_music_circle - cmd_music_note - cmd_music_note_bluetooth - cmd_music_note_bluetooth_off - cmd_music_note_eighth - cmd_music_note_half - cmd_music_note_off - cmd_music_note_quarter - cmd_music_note_sixteenth - cmd_music_note_whole - cmd_music_off - cmd_nature - cmd_nature_people - cmd_navigation - cmd_near_me - cmd_needle - cmd_nest_protect - cmd_nest_thermostat - cmd_netflix - cmd_network - cmd_new_box - cmd_newspaper - cmd_nfc - cmd_nfc_tap - cmd_nfc_variant - cmd_ninja - cmd_nintendo_switch - cmd_nodejs - cmd_note - cmd_note_multiple - cmd_note_multiple_outline - cmd_note_outline - cmd_note_plus - cmd_note_plus_outline - cmd_note_text - cmd_notification_clear_all - cmd_npm - cmd_nuke - cmd_null - cmd_numeric - cmd_numeric_0_box - cmd_numeric_0_box_multiple_outline - cmd_numeric_0_box_outline - cmd_numeric_1_box - cmd_numeric_1_box_multiple_outline - cmd_numeric_1_box_outline - cmd_numeric_2_box - cmd_numeric_2_box_multiple_outline - cmd_numeric_2_box_outline - cmd_numeric_3_box - cmd_numeric_3_box_multiple_outline - cmd_numeric_3_box_outline - cmd_numeric_4_box - cmd_numeric_4_box_multiple_outline - cmd_numeric_4_box_outline - cmd_numeric_5_box - cmd_numeric_5_box_multiple_outline - cmd_numeric_5_box_outline - cmd_numeric_6_box - cmd_numeric_6_box_multiple_outline - cmd_numeric_6_box_outline - cmd_numeric_7_box - cmd_numeric_7_box_multiple_outline - cmd_numeric_7_box_outline - cmd_numeric_8_box - cmd_numeric_8_box_multiple_outline - cmd_numeric_8_box_outline - cmd_numeric_9_box - cmd_numeric_9_box_multiple_outline - cmd_numeric_9_box_outline - cmd_numeric_9_plus_box - cmd_numeric_9_plus_box_multiple_outline - cmd_numeric_9_plus_box_outline - cmd_nut - cmd_nutrition - cmd_oar - cmd_octagon - cmd_octagon_outline - cmd_octagram - cmd_octagram_outline - cmd_odnoklassniki - cmd_office - cmd_oil - cmd_oil_temperature - cmd_omega - cmd_onedrive - cmd_onenote - cmd_opacity - cmd_open_in_app - cmd_open_in_new - cmd_openid - cmd_opera - cmd_orbit - cmd_ornament - cmd_ornament_variant - cmd_owl - cmd_package - cmd_package_down - cmd_package_up - cmd_package_variant - cmd_package_variant_closed - cmd_page_first - cmd_page_last - cmd_page_layout_body - cmd_page_layout_footer - cmd_page_layout_header - cmd_page_layout_sidebar_left - cmd_page_layout_sidebar_right - cmd_palette - cmd_palette_advanced - cmd_panda - cmd_pandora - cmd_panorama - cmd_panorama_fisheye - cmd_panorama_horizontal - cmd_panorama_vertical - cmd_panorama_wide_angle - cmd_paper_cut_vertical - cmd_paperclip - cmd_parking - cmd_passport - cmd_pause - cmd_pause_circle - cmd_pause_circle_outline - cmd_pause_octagon - cmd_pause_octagon_outline - cmd_paw - cmd_paw_off - cmd_pen - cmd_pencil - cmd_pencil_box - cmd_pencil_box_outline - cmd_pencil_circle - cmd_pencil_circle_outline - cmd_pencil_lock - cmd_pencil_off - cmd_pentagon - cmd_pentagon_outline - cmd_percent - cmd_periodic_table_co2 - cmd_periscope - cmd_pharmacy - cmd_phone - cmd_phone_bluetooth - cmd_phone_classic - cmd_phone_forward - cmd_phone_hangup - cmd_phone_in_talk - cmd_phone_incoming - cmd_phone_locked - cmd_phone_log - cmd_phone_minus - cmd_phone_missed - cmd_phone_outgoing - cmd_phone_paused - cmd_phone_plus - cmd_phone_settings - cmd_phone_voip - cmd_pi - cmd_pi_box - cmd_piano - cmd_pig - cmd_pill - cmd_pillar - cmd_pin - cmd_pin_off - cmd_pine_tree - cmd_pine_tree_box - cmd_pinterest - cmd_pinterest_box - cmd_pipe - cmd_pipe_disconnected - cmd_pistol - cmd_pizza - cmd_plane_shield - cmd_play - cmd_play_box_outline - cmd_play_circle - cmd_play_circle_outline - cmd_play_pause - cmd_play_protected_content - cmd_playlist_check - cmd_playlist_minus - cmd_playlist_play - cmd_playlist_plus - cmd_playlist_remove - cmd_playstation - cmd_plex - cmd_plus - cmd_plus_box - cmd_plus_box_outline - cmd_plus_circle - cmd_plus_circle_multiple_outline - cmd_plus_circle_outline - cmd_plus_network - cmd_plus_one - cmd_plus_outline - cmd_pocket - cmd_pokeball - cmd_polaroid - cmd_poll - cmd_poll_box - cmd_polymer - cmd_pool - cmd_popcorn - cmd_pot - cmd_pot_mix - cmd_pound - cmd_pound_box - cmd_power - cmd_power_plug - cmd_power_plug_off - cmd_power_settings - cmd_power_socket - cmd_power_socket_eu - cmd_power_socket_uk - cmd_power_socket_us - cmd_prescription - cmd_presentation - cmd_presentation_play - cmd_printer - cmd_printer_3d - cmd_printer_alert - cmd_printer_settings - cmd_priority_high - cmd_priority_low - cmd_professional_hexagon - cmd_projector - cmd_projector_screen - cmd_publish - cmd_pulse - cmd_puzzle - cmd_qqchat - cmd_qrcode - cmd_qrcode_scan - cmd_quadcopter - cmd_quality_high - cmd_quicktime - cmd_radar - cmd_radiator - cmd_radio - cmd_radio_handheld - cmd_radio_tower - cmd_radioactive - cmd_radiobox_blank - cmd_radiobox_marked - cmd_raspberrypi - cmd_ray_end - cmd_ray_end_arrow - cmd_ray_start - cmd_ray_start_arrow - cmd_ray_start_end - cmd_ray_vertex - cmd_rdio - cmd_react - cmd_read - cmd_readability - cmd_receipt - cmd_record - cmd_record_rec - cmd_recycle - cmd_reddit - cmd_redo - cmd_redo_variant - cmd_refresh - cmd_regex - cmd_relative_scale - cmd_reload - cmd_remote - cmd_rename_box - cmd_reorder_horizontal - cmd_reorder_vertical - cmd_repeat - cmd_repeat_off - cmd_repeat_once - cmd_replay - cmd_reply - cmd_reply_all - cmd_reproduction - cmd_resize_bottom_right - cmd_responsive - cmd_restart - cmd_restore - cmd_rewind - cmd_rewind_outline - cmd_rhombus - cmd_rhombus_outline - cmd_ribbon - cmd_rice - cmd_ring - cmd_road - cmd_road_variant - cmd_robot - cmd_rocket - cmd_roomba - cmd_rotate_3d - cmd_rotate_left - cmd_rotate_left_variant - cmd_rotate_right - cmd_rotate_right_variant - cmd_rounded_corner - cmd_router_wireless - cmd_routes - cmd_rowing - cmd_rss - cmd_rss_box - cmd_ruler - cmd_run - cmd_run_fast - cmd_sale - cmd_sass - cmd_satellite - cmd_satellite_variant - cmd_saxophone - cmd_scale - cmd_scale_balance - cmd_scale_bathroom - cmd_scanner - cmd_school - cmd_screen_rotation - cmd_screen_rotation_lock - cmd_screwdriver - cmd_script - cmd_sd - cmd_seal - cmd_search_web - cmd_seat_flat - cmd_seat_flat_angled - cmd_seat_individual_suite - cmd_seat_legroom_extra - cmd_seat_legroom_normal - cmd_seat_legroom_reduced - cmd_seat_recline_extra - cmd_seat_recline_normal - cmd_security - cmd_security_home - cmd_security_network - cmd_select - cmd_select_all - cmd_select_inverse - cmd_select_off - cmd_selection - cmd_selection_off - cmd_send - cmd_send_secure - cmd_serial_port - cmd_server - cmd_server_minus - cmd_server_network - cmd_server_network_off - cmd_server_off - cmd_server_plus - cmd_server_remove - cmd_server_security - cmd_set_all - cmd_set_center - cmd_set_center_right - cmd_set_left - cmd_set_left_center - cmd_set_left_right - cmd_set_none - cmd_set_right - cmd_settings - cmd_settings_box - cmd_shape_circle_plus - cmd_shape_plus - cmd_shape_polygon_plus - cmd_shape_rectangle_plus - cmd_shape_square_plus - cmd_share - cmd_share_variant - cmd_shield - cmd_shield_half_full - cmd_shield_outline - cmd_shopping - cmd_shopping_music - cmd_shovel - cmd_shovel_off - cmd_shredder - cmd_shuffle - cmd_shuffle_disabled - cmd_shuffle_variant - cmd_sigma - cmd_sigma_lower - cmd_sign_caution - cmd_sign_direction - cmd_sign_text - cmd_signal - cmd_signal_2g - cmd_signal_3g - cmd_signal_4g - cmd_signal_hspa - cmd_signal_hspa_plus - cmd_signal_off - cmd_signal_variant - cmd_silverware - cmd_silverware_fork - cmd_silverware_spoon - cmd_silverware_variant - cmd_sim - cmd_sim_alert - cmd_sim_off - cmd_sitemap - cmd_skip_backward - cmd_skip_forward - cmd_skip_next - cmd_skip_next_circle - cmd_skip_next_circle_outline - cmd_skip_previous - cmd_skip_previous_circle - cmd_skip_previous_circle_outline - cmd_skull - cmd_skype - cmd_skype_business - cmd_slack - cmd_sleep - cmd_sleep_off - cmd_smoking - cmd_smoking_off - cmd_snapchat - cmd_snowflake - cmd_snowman - cmd_soccer - cmd_sofa - cmd_solid - cmd_sort - cmd_sort_alphabetical - cmd_sort_ascending - cmd_sort_descending - cmd_sort_numeric - cmd_sort_variant - cmd_soundcloud - cmd_source_branch - cmd_source_commit - cmd_source_commit_end - cmd_source_commit_end_local - cmd_source_commit_local - cmd_source_commit_next_local - cmd_source_commit_start - cmd_source_commit_start_next_local - cmd_source_fork - cmd_source_merge - cmd_source_pull - cmd_soy_sauce - cmd_speaker - cmd_speaker_off - cmd_speaker_wireless - cmd_speedometer - cmd_spellcheck - cmd_spotify - cmd_spotlight - cmd_spotlight_beam - cmd_spray - cmd_square - cmd_square_inc - cmd_square_inc_cash - cmd_square_outline - cmd_square_root - cmd_stackexchange - cmd_stackoverflow - cmd_stadium - cmd_stairs - cmd_standard_definition - cmd_star - cmd_star_circle - cmd_star_half - cmd_star_off - cmd_star_outline - cmd_steam - cmd_steering - cmd_step_backward - cmd_step_backward_2 - cmd_step_forward - cmd_step_forward_2 - cmd_stethoscope - cmd_sticker - cmd_sticker_emoji - cmd_stocking - cmd_stop - cmd_stop_circle - cmd_stop_circle_outline - cmd_store - cmd_store_24_hour - cmd_stove - cmd_subdirectory_arrow_left - cmd_subdirectory_arrow_right - cmd_subway - cmd_subway_variant - cmd_summit - cmd_sunglasses - cmd_surround_sound - cmd_surround_sound_2_0 - cmd_surround_sound_3_1 - cmd_surround_sound_5_1 - cmd_surround_sound_7_1 - cmd_svg - cmd_swap_horizontal - cmd_swap_vertical - cmd_swim - cmd_switch - cmd_sword - cmd_sword_cross - cmd_sync - cmd_sync_alert - cmd_sync_off - cmd_tab - cmd_tab_plus - cmd_tab_unselected - cmd_table - cmd_table_column_plus_after - cmd_table_column_plus_before - cmd_table_column_remove - cmd_table_column_width - cmd_table_edit - cmd_table_large - cmd_table_row_height - cmd_table_row_plus_after - cmd_table_row_plus_before - cmd_table_row_remove - cmd_tablet - cmd_tablet_android - cmd_tablet_ipad - cmd_taco - cmd_tag - cmd_tag_faces - cmd_tag_heart - cmd_tag_multiple - cmd_tag_outline - cmd_tag_plus - cmd_tag_remove - cmd_tag_text_outline - cmd_target - cmd_taxi - cmd_teamviewer - cmd_telegram - cmd_television - cmd_television_classic - cmd_television_guide - cmd_temperature_celsius - cmd_temperature_fahrenheit - cmd_temperature_kelvin - cmd_tennis - cmd_tent - cmd_terrain - cmd_test_tube - cmd_text_shadow - cmd_text_to_speech - cmd_text_to_speech_off - cmd_textbox - cmd_textbox_password - cmd_texture - cmd_theater - cmd_theme_light_dark - cmd_thermometer - cmd_thermometer_lines - cmd_thought_bubble - cmd_thought_bubble_outline - cmd_thumb_down - cmd_thumb_down_outline - cmd_thumb_up - cmd_thumb_up_outline - cmd_thumbs_up_down - cmd_ticket - cmd_ticket_account - cmd_ticket_confirmation - cmd_ticket_percent - cmd_tie - cmd_tilde - cmd_timelapse - cmd_timer - cmd_timer_10 - cmd_timer_3 - cmd_timer_off - cmd_timer_sand - cmd_timer_sand_empty - cmd_timer_sand_full - cmd_timetable - cmd_toggle_switch - cmd_toggle_switch_off - cmd_tooltip - cmd_tooltip_edit - cmd_tooltip_image - cmd_tooltip_outline - cmd_tooltip_outline_plus - cmd_tooltip_text - cmd_tooth - cmd_tor - cmd_tower_beach - cmd_tower_fire - cmd_trackpad - cmd_traffic_light - cmd_train - cmd_tram - cmd_transcribe - cmd_transcribe_close - cmd_transfer - cmd_transit_transfer - cmd_translate - cmd_treasure_chest - cmd_tree - cmd_trello - cmd_trending_down - cmd_trending_neutral - cmd_trending_up - cmd_triangle - cmd_triangle_outline - cmd_trophy - cmd_trophy_award - cmd_trophy_outline - cmd_trophy_variant - cmd_trophy_variant_outline - cmd_truck - cmd_truck_delivery - cmd_truck_fast - cmd_truck_trailer - cmd_tshirt_crew - cmd_tshirt_v - cmd_tumblr - cmd_tumblr_reblog - cmd_tune - cmd_tune_vertical - cmd_twitch - cmd_twitter - cmd_twitter_box - cmd_twitter_circle - cmd_twitter_retweet - cmd_uber - cmd_ubuntu - cmd_ultra_high_definition - cmd_umbraco - cmd_umbrella - cmd_umbrella_outline - cmd_undo - cmd_undo_variant - cmd_unfold_less_horizontal - cmd_unfold_less_vertical - cmd_unfold_more_horizontal - cmd_unfold_more_vertical - cmd_ungroup - cmd_unity - cmd_untappd - cmd_update - cmd_upload - cmd_upload_network - cmd_usb - cmd_van_passenger - cmd_van_utility - cmd_vanish - cmd_vector_arrange_above - cmd_vector_arrange_below - cmd_vector_circle - cmd_vector_circle_variant - cmd_vector_combine - cmd_vector_curve - cmd_vector_difference - cmd_vector_difference_ab - cmd_vector_difference_ba - cmd_vector_intersection - cmd_vector_line - cmd_vector_point - cmd_vector_polygon - cmd_vector_polyline - cmd_vector_radius - cmd_vector_rectangle - cmd_vector_selection - cmd_vector_square - cmd_vector_triangle - cmd_vector_union - cmd_verified - cmd_vibrate - cmd_video - cmd_video_3d - cmd_video_off - cmd_video_switch - cmd_view_agenda - cmd_view_array - cmd_view_carousel - cmd_view_column - cmd_view_dashboard - cmd_view_day - cmd_view_grid - cmd_view_headline - cmd_view_list - cmd_view_module - cmd_view_parallel - cmd_view_quilt - cmd_view_sequential - cmd_view_stream - cmd_view_week - cmd_vimeo - cmd_vine - cmd_violin - cmd_visualstudio - cmd_vk - cmd_vk_box - cmd_vk_circle - cmd_vlc - cmd_voice - cmd_voicemail - cmd_volume_high - cmd_volume_low - cmd_volume_medium - cmd_volume_minus - cmd_volume_mute - cmd_volume_off - cmd_volume_plus - cmd_vpn - cmd_walk - cmd_wall - cmd_wallet - cmd_wallet_giftcard - cmd_wallet_membership - cmd_wallet_travel - cmd_wan - cmd_washing_machine - cmd_watch - cmd_watch_export - cmd_watch_import - cmd_watch_vibrate - cmd_water - cmd_water_off - cmd_water_percent - cmd_water_pump - cmd_watermark - cmd_waves - cmd_weather_cloudy - cmd_weather_fog - cmd_weather_hail - cmd_weather_lightning - cmd_weather_lightning_rainy - cmd_weather_night - cmd_weather_partlycloudy - cmd_weather_pouring - cmd_weather_rainy - cmd_weather_snowy - cmd_weather_snowy_rainy - cmd_weather_sunny - cmd_weather_sunset - cmd_weather_sunset_down - cmd_weather_sunset_up - cmd_weather_windy - cmd_weather_windy_variant - cmd_web - cmd_webcam - cmd_webhook - cmd_webpack - cmd_wechat - cmd_weight - cmd_weight_kilogram - cmd_whatsapp - cmd_wheelchair_accessibility - cmd_white_balance_auto - cmd_white_balance_incandescent - cmd_white_balance_iridescent - cmd_white_balance_sunny - cmd_widgets - cmd_wifi - cmd_wifi_off - cmd_wii - cmd_wiiu - cmd_wikipedia - cmd_window_close - cmd_window_closed - cmd_window_maximize - cmd_window_minimize - cmd_window_open - cmd_window_restore - cmd_windows - cmd_wordpress - cmd_worker - cmd_wrap - cmd_wrench - cmd_wunderlist - cmd_xaml - cmd_xbox - cmd_xbox_controller - cmd_xbox_controller_battery_alert - cmd_xbox_controller_battery_empty - cmd_xbox_controller_battery_full - cmd_xbox_controller_battery_low - cmd_xbox_controller_battery_medium - cmd_xbox_controller_battery_unknown - cmd_xbox_controller_off - cmd_xda - cmd_xing - cmd_xing_box - cmd_xing_circle - cmd_xml - cmd_xmpp - cmd_yammer - cmd_yeast - cmd_yelp - cmd_yin_yang - cmd_youtube_play - cmd_zip_box - diff --git a/FONT_IDS/_current_dev_icon_v2.0.0.1.xml b/FONT_IDS/_current_dev_icon_v2.0.0.1.xml deleted file mode 100644 index 98fd7af8..00000000 --- a/FONT_IDS/_current_dev_icon_v2.0.0.1.xml +++ /dev/null @@ -1,164 +0,0 @@ - - dev_ssh_plain_wordmark - dev_ssh_plain - dev_sourcetree_plain_wordmark - dev_sourcetree_plain - dev_phpstorm_plain_wordmark - dev_phpstorm_plain - dev_jeet_plain_wordmark - dev_jeet_plain - dev_gitlab_plain_wordmark - dev_gitlab_plain - dev_github_plain_wordmark - dev_github_plain - dev_d3js_plain - dev_confluence_plain_wordmark - dev_confluence_plain - dev_bitbucket_plain_wordmark - dev_bitbucket_plain - dev_safari_line_wordmark - dev_safari_line - dev_safari_plain_wordmark - dev_safari_plain - dev_jetbrains_plain_wordmark - dev_django_line_wordmark - dev_django_plain_wordmark - dev_gimp_plain - dev_redhat_plain_wordmark - dev_redhat_plain - dev_cplusplus_line_wordmark - dev_cplusplus_plain_wordmark - dev_csharp_line_wordmark - dev_csharp_plain_wordmark - dev_c_line_wordmark - dev_c_plain_wordmark - dev_nodewebkit_line_wordmark - dev_nodewebkit_line - dev_nodewebkit_plain_wordmark - dev_nodewebkit_plain - dev_nginx_plain_wordmark - dev_erlang_plain_wordmark - dev_erlang_plain - dev_doctrine_line_wordmark - dev_doctrine_line - dev_doctrine_plain_wordmark - dev_doctrine_plain - dev_apache_line_wordmark - dev_apache_line - dev_apache_plain_wordmark - dev_apache_plain - dev_go_line - dev_redis_plain_wordmark - dev_redis_plain - dev_meteor_plain_wordmark - dev_meteor_plain - dev_heroku_original_wordmark - dev_heroku_original - dev_heroku_plain_wordmark - dev_heroku_plain - dev_go_plain - dev_docker_plain_wordmark - dev_docker_plain - dev_amazonwebservices_plain - dev_amazonwebservices_plain_wordmark - dev_android_plain_wordmark - dev_android_plain - dev_angularjs_plain_wordmark - dev_angularjs_plain - dev_appcelerator_plain - dev_appcelerator_plain_wordmark - dev_apple_plain - dev_atom_plain_wordmark - dev_atom_plain - dev_backbonejs_plain_wordmark - dev_backbonejs_plain - dev_bootstrap_plain_wordmark - dev_bootstrap_plain - dev_bower_line_wordmark - dev_bower_line - dev_bower_plain_wordmark - dev_bower_plain - dev_chrome_plain_wordmark - dev_chrome_plain - dev_codeigniter_plain_wordmark - dev_codeigniter_plain - dev_coffeescript_plain_wordmark - dev_coffeescript_plain - dev_css3_plain_wordmark - dev_css3_plain - dev_debian_plain_wordmark - dev_debian_plain - dev_dot_net_plain_wordmark - dev_dot_net_plain - dev_drupal_plain_wordmark - dev_drupal_plain - dev_firefox_plain_wordmark - dev_firefox_plain - dev_foundation_plain_wordmark - dev_foundation_plain - dev_git_plain_wordmark - dev_git_plain - dev_grunt_line_wordmark - dev_grunt_line - dev_grunt_plain_wordmark - dev_grunt_plain - dev_gulp_plain - dev_html5_plain_wordmark - dev_html5_plain - dev_ie10_plain - dev_illustrator_line - dev_illustrator_plain - dev_inkscape_plain_wordmark - dev_inkscape_plain - dev_java_plain_wordmark - dev_java_plain - dev_javascript_plain - dev_jquery_plain_wordmark - dev_jquery_plain - dev_krakenjs_plain_wordmark - dev_krakenjs_plain - dev_laravel_plain_wordmark - dev_laravel_plain - dev_less_plain_wordmark - dev_linux_plain - dev_mongodb_plain_wordmark - dev_mongodb_plain - dev_moodle_plain_wordmark - dev_moodle_plain - dev_mysql_plain_wordmark - dev_mysql_plain - dev_nodejs_plain_wordmark - dev_nodejs_plain - dev_oracle_plain - dev_photoshop_line - dev_photoshop_plain - dev_php_plain - dev_postgresql_plain_wordmark - dev_postgresql_plain - dev_python_plain_wordmark - dev_python_plain - dev_rails_plain_wordmark - dev_rails_plain - dev_react_plain_wordmark - dev_react_plain - dev_ruby_plain_wordmark - dev_ruby_plain - dev_sass_plain - dev_symfony_plain_wordmark - dev_symfony_plain - dev_travis_plain_wordmark - dev_travis_plain - dev_trello_plain_wordmark - dev_trello_plain - dev_ubuntu_plain_wordmark - dev_ubuntu_plain - dev_vim_plain - dev_windows8_plain_wordmark - dev_windows8_plain - dev_wordpress_plain_wordmark - dev_wordpress_plain - dev_yii_plain_wordmark - dev_yii_plain - dev_zend_plain_wordmark - dev_zend_plain - diff --git a/FONT_IDS/_current_entypo_v1.0.0.1.xml b/FONT_IDS/_current_entypo_v1.0.0.1.xml deleted file mode 100644 index f7f7b6e0..00000000 --- a/FONT_IDS/_current_entypo_v1.0.0.1.xml +++ /dev/null @@ -1,387 +0,0 @@ - - ent_add_to_list - ent_classic_computer - ent_controller_fast_backward - ent_creative_commons_attribution - ent_creative_commons_noderivs - ent_creative_commons_noncommercial_eu - ent_creative_commons_noncommercial_us - ent_creative_commons_public_domain - ent_creative_commons_remix - ent_creative_commons_share - ent_creative_commons_sharealike - ent_creative_commons - ent_document_landscape - ent_remove_user - ent_warning - ent_arrow_bold_down - ent_arrow_bold_left - ent_arrow_bold_right - ent_arrow_bold_up - ent_arrow_down - ent_arrow_left - ent_arrow_long_down - ent_arrow_long_left - ent_arrow_long_right - ent_arrow_long_up - ent_arrow_right - ent_arrow_up - ent_arrow_with_circle_down - ent_arrow_with_circle_left - ent_arrow_with_circle_right - ent_arrow_with_circle_up - ent_bookmark - ent_bookmarks - ent_chevron_down - ent_chevron_left - ent_chevron_right - ent_chevron_small_down - ent_chevron_small_left - ent_chevron_small_right - ent_chevron_small_up - ent_chevron_thin_down - ent_chevron_thin_left - ent_chevron_thin_right - ent_chevron_thin_up - ent_chevron_up - ent_chevron_with_circle_down - ent_chevron_with_circle_left - ent_chevron_with_circle_right - ent_chevron_with_circle_up - ent_cloud - ent_controller_fast_forward - ent_controller_jump_to_start - ent_controller_next - ent_controller_paus - ent_controller_play - ent_controller_record - ent_controller_stop - ent_controller_volume - ent_dot_single - ent_dots_three_horizontal - ent_dots_three_vertical - ent_dots_two_horizontal - ent_dots_two_vertical - ent_download - ent_emoji_flirt - ent_flow_branch - ent_flow_cascade - ent_flow_line - ent_flow_parallel - ent_flow_tree - ent_install - ent_layers - ent_open_book - ent_resize_100 - ent_resize_full_screen - ent_save - ent_select_arrows - ent_sound_mute - ent_sound - ent_trash - ent_triangle_down - ent_triangle_left - ent_triangle_right - ent_triangle_up - ent_uninstall - ent_upload_to_cloud - ent_upload - ent_add_user - ent_address - ent_adjust - ent_air - ent_aircraft_landing - ent_aircraft_take_off - ent_aircraft - ent_align_bottom - ent_align_horizontal_middle - ent_align_left - ent_align_right - ent_align_top - ent_align_vertical_middle - ent_archive - ent_area_graph - ent_attachment - ent_awareness_ribbon - ent_back_in_time - ent_back - ent_bar_graph - ent_battery - ent_beamed_note - ent_bell - ent_blackboard - ent_block - ent_book - ent_bowl - ent_box - ent_briefcase - ent_browser - ent_brush - ent_bucket - ent_cake - ent_calculator - ent_calendar - ent_camera - ent_ccw - ent_chat - ent_check - ent_circle_with_cross - ent_circle_with_minus - ent_circle_with_plus - ent_circle - ent_circular_graph - ent_clapperboard - ent_clipboard - ent_clock - ent_code - ent_cog - ent_colours - ent_compass - ent_copy - ent_credit_card - ent_credit - ent_cross - ent_cup - ent_cw - ent_cycle - ent_database - ent_dial_pad - ent_direction - ent_document - ent_documents - ent_drink - ent_drive - ent_drop - ent_edit - ent_email - ent_emoji_happy - ent_emoji_neutral - ent_emoji_sad - ent_erase - ent_eraser - ent_export - ent_eye - ent_feather - ent_flag - ent_flash - ent_flashlight - ent_flat_brush - ent_folder_images - ent_folder_music - ent_folder_video - ent_folder - ent_forward - ent_funnel - ent_game_controller - ent_gauge - ent_globe - ent_graduation_cap - ent_grid - ent_hair_cross - ent_hand - ent_heart_outlined - ent_heart - ent_help_with_circle - ent_help - ent_home - ent_hour_glass - ent_image_inverted - ent_image - ent_images - ent_inbox - ent_infinity - ent_info_with_circle - ent_info - ent_key - ent_keyboard - ent_lab_flask - ent_landline - ent_language - ent_laptop - ent_leaf - ent_level_down - ent_level_up - ent_lifebuoy - ent_light_bulb - ent_light_down - ent_light_up - ent_line_graph - ent_link - ent_list - ent_location_pin - ent_location - ent_lock_open - ent_lock - ent_log_out - ent_login - ent_loop - ent_magnet - ent_magnifying_glass - ent_mail - ent_man - ent_map - ent_mask - ent_medal - ent_megaphone - ent_menu - ent_message - ent_mic - ent_minus - ent_mobile - ent_modern_mic - ent_moon - ent_mouse - ent_music - ent_network - ent_new_message - ent_new - ent_news - ent_note - ent_notification - ent_old_mobile - ent_old_phone - ent_palette - ent_paper_plane - ent_pencil - ent_phone - ent_pie_chart - ent_pin - ent_plus - ent_popup - ent_power_plug - ent_price_ribbon - ent_price_tag - ent_print - ent_progress_empty - ent_progress_full - ent_progress_one - ent_progress_two - ent_publish - ent_quote - ent_radio - ent_reply_all - ent_reply - ent_retweet - ent_rocket - ent_round_brush - ent_rss - ent_ruler - ent_scissors - ent_share_alternitive - ent_share - ent_shareable - ent_shield - ent_shop - ent_shopping_bag - ent_shopping_basket - ent_shopping_cart - ent_shuffle - ent_signal - ent_sound_mix - ent_sports_club - ent_spreadsheet - ent_squared_cross - ent_squared_minus - ent_squared_plus - ent_star_outlined - ent_star - ent_stopwatch - ent_suitcase - ent_swap - ent_sweden - ent_switch - ent_tablet - ent_tag - ent_text_document_inverted - ent_text_document - ent_text - ent_thermometer - ent_thumbs_down - ent_thumbs_up - ent_thunder_cloud - ent_ticket - ent_time_slot - ent_tools - ent_traffic_cone - ent_tree - ent_trophy - ent_tv - ent_typing - ent_unread - ent_untag - ent_user - ent_users - ent_v_card - ent_video - ent_vinyl - ent_voicemail - ent_wallet - ent_water - ent_500px_with_circle - ent_500px - ent_basecamp - ent_behance - ent_creative_cloud - ent_dropbox - ent_evernote - ent_flattr - ent_foursquare - ent_google_drive - ent_google_hangouts - ent_grooveshark - ent_icloud - ent_mixi - ent_onedrive - ent_paypal - ent_picasa - ent_qq - ent_rdio_with_circle - ent_renren - ent_scribd - ent_sina_weibo - ent_skype_with_circle - ent_skype - ent_slideshare - ent_smashing - ent_soundcloud - ent_spotify_with_circle - ent_spotify - ent_swarm - ent_vine_with_circle - ent_vine - ent_vk_alternitive - ent_vk_with_circle - ent_vk - ent_xing_with_circle - ent_xing - ent_yelp - ent_dribbble_with_circle - ent_dribbble - ent_facebook_with_circle - ent_facebook - ent_flickr_with_circle - ent_flickr - ent_github_with_circle - ent_github - ent_google_with_circle - ent_google - ent_instagram_with_circle - ent_instagram - ent_lastfm_with_circle - ent_lastfm - ent_linkedin_with_circle - ent_linkedin - ent_pinterest_with_circle - ent_pinterest - ent_rdio - ent_stumbleupon_with_circle - ent_stumbleupon - ent_tumblr_with_circle - ent_tumblr - ent_twitter_with_circle - ent_twitter - ent_vimeo_with_circle - ent_vimeo - ent_youtube_with_circle - ent_youtube - diff --git a/FONT_IDS/_current_font_awesome_v4.7.0.0.xml b/FONT_IDS/_current_font_awesome_v4.7.0.0.xml deleted file mode 100644 index 353cef90..00000000 --- a/FONT_IDS/_current_font_awesome_v4.7.0.0.xml +++ /dev/null @@ -1,677 +0,0 @@ - - faw_glass - faw_music - faw_search - faw_envelope_o - faw_heart - faw_star - faw_star_o - faw_user - faw_film - faw_th_large - faw_th - faw_th_list - faw_check - faw_times - faw_search_plus - faw_search_minus - faw_power_off - faw_signal - faw_cog - faw_trash_o - faw_home - faw_file_o - faw_clock_o - faw_road - faw_download - faw_arrow_circle_o_down - faw_arrow_circle_o_up - faw_inbox - faw_play_circle_o - faw_repeat - faw_refresh - faw_list_alt - faw_lock - faw_flag - faw_headphones - faw_volume_off - faw_volume_down - faw_volume_up - faw_qrcode - faw_barcode - faw_tag - faw_tags - faw_book - faw_bookmark - faw_print - faw_camera - faw_font - faw_bold - faw_italic - faw_text_height - faw_text_width - faw_align_left - faw_align_center - faw_align_right - faw_align_justify - faw_list - faw_outdent - faw_indent - faw_video_camera - faw_picture_o - faw_pencil - faw_map_marker - faw_adjust - faw_tint - faw_pencil_square_o - faw_share_square_o - faw_check_square_o - faw_arrows - faw_step_backward - faw_fast_backward - faw_backward - faw_play - faw_pause - faw_stop - faw_forward - faw_fast_forward - faw_step_forward - faw_eject - faw_chevron_left - faw_chevron_right - faw_plus_circle - faw_minus_circle - faw_times_circle - faw_check_circle - faw_question_circle - faw_info_circle - faw_crosshairs - faw_times_circle_o - faw_check_circle_o - faw_ban - faw_arrow_left - faw_arrow_right - faw_arrow_up - faw_arrow_down - faw_share - faw_expand - faw_compress - faw_plus - faw_minus - faw_asterisk - faw_exclamation_circle - faw_gift - faw_leaf - faw_fire - faw_eye - faw_eye_slash - faw_exclamation_triangle - faw_plane - faw_calendar - faw_random - faw_comment - faw_magnet - faw_chevron_up - faw_chevron_down - faw_retweet - faw_shopping_cart - faw_folder - faw_folder_open - faw_arrows_v - faw_arrows_h - faw_bar_chart - faw_twitter_square - faw_facebook_square - faw_camera_retro - faw_key - faw_cogs - faw_comments - faw_thumbs_o_up - faw_thumbs_o_down - faw_star_half - faw_heart_o - faw_sign_out - faw_linkedin_square - faw_thumb_tack - faw_external_link - faw_sign_in - faw_trophy - faw_github_square - faw_upload - faw_lemon_o - faw_phone - faw_square_o - faw_bookmark_o - faw_phone_square - faw_twitter - faw_facebook - faw_github - faw_unlock - faw_credit_card - faw_rss - faw_hdd_o - faw_bullhorn - faw_bell_o - faw_certificate - faw_hand_o_right - faw_hand_o_left - faw_hand_o_up - faw_hand_o_down - faw_arrow_circle_left - faw_arrow_circle_right - faw_arrow_circle_up - faw_arrow_circle_down - faw_globe - faw_wrench - faw_tasks - faw_filter - faw_briefcase - faw_arrows_alt - faw_users - faw_link - faw_cloud - faw_flask - faw_scissors - faw_files_o - faw_paperclip - faw_floppy_o - faw_square - faw_bars - faw_list_ul - faw_list_ol - faw_strikethrough - faw_underline - faw_table - faw_magic - faw_truck - faw_pinterest - faw_pinterest_square - faw_google_plus_square - faw_google_plus - faw_money - faw_caret_down - faw_caret_up - faw_caret_left - faw_caret_right - faw_columns - faw_sort - faw_sort_desc - faw_sort_asc - faw_envelope - faw_linkedin - faw_undo - faw_gavel - faw_tachometer - faw_comment_o - faw_comments_o - faw_bolt - faw_sitemap - faw_umbrella - faw_clipboard - faw_lightbulb_o - faw_exchange - faw_cloud_download - faw_cloud_upload - faw_user_md - faw_stethoscope - faw_suitcase - faw_bell - faw_coffee - faw_cutlery - faw_file_text_o - faw_building_o - faw_hospital_o - faw_ambulance - faw_medkit - faw_fighter_jet - faw_beer - faw_h_square - faw_plus_square - faw_angle_double_left - faw_angle_double_right - faw_angle_double_up - faw_angle_double_down - faw_angle_left - faw_angle_right - faw_angle_up - faw_angle_down - faw_desktop - faw_laptop - faw_tablet - faw_mobile - faw_circle_o - faw_quote_left - faw_quote_right - faw_spinner - faw_circle - faw_reply - faw_github_alt - faw_folder_o - faw_folder_open_o - faw_smile_o - faw_frown_o - faw_meh_o - faw_gamepad - faw_keyboard_o - faw_flag_o - faw_flag_checkered - faw_terminal - faw_code - faw_reply_all - faw_star_half_o - faw_location_arrow - faw_crop - faw_code_fork - faw_chain_broken - faw_question - faw_info - faw_exclamation - faw_superscript - faw_subscript - faw_eraser - faw_puzzle_piece - faw_microphone - faw_microphone_slash - faw_shield - faw_calendar_o - faw_fire_extinguisher - faw_rocket - faw_maxcdn - faw_chevron_circle_left - faw_chevron_circle_right - faw_chevron_circle_up - faw_chevron_circle_down - faw_html5 - faw_css3 - faw_anchor - faw_unlock_alt - faw_bullseye - faw_ellipsis_h - faw_ellipsis_v - faw_rss_square - faw_play_circle - faw_ticket - faw_minus_square - faw_minus_square_o - faw_level_up - faw_level_down - faw_check_square - faw_pencil_square - faw_external_link_square - faw_share_square - faw_compass - faw_caret_square_o_down - faw_caret_square_o_up - faw_caret_square_o_right - faw_eur - faw_gbp - faw_usd - faw_inr - faw_jpy - faw_rub - faw_krw - faw_btc - faw_file - faw_file_text - faw_sort_alpha_asc - faw_sort_alpha_desc - faw_sort_amount_asc - faw_sort_amount_desc - faw_sort_numeric_asc - faw_sort_numeric_desc - faw_thumbs_up - faw_thumbs_down - faw_youtube_square - faw_youtube - faw_xing - faw_xing_square - faw_youtube_play - faw_dropbox - faw_stack_overflow - faw_instagram - faw_flickr - faw_adn - faw_bitbucket - faw_bitbucket_square - faw_tumblr - faw_tumblr_square - faw_long_arrow_down - faw_long_arrow_up - faw_long_arrow_left - faw_long_arrow_right - faw_apple - faw_windows - faw_android - faw_linux - faw_dribbble - faw_skype - faw_foursquare - faw_trello - faw_female - faw_male - faw_gratipay - faw_sun_o - faw_moon_o - faw_archive - faw_bug - faw_vk - faw_weibo - faw_renren - faw_pagelines - faw_stack_exchange - faw_arrow_circle_o_right - faw_arrow_circle_o_left - faw_caret_square_o_left - faw_dot_circle_o - faw_wheelchair - faw_vimeo_square - faw_try - faw_plus_square_o - faw_space_shuttle - faw_slack - faw_envelope_square - faw_wordpress - faw_openid - faw_university - faw_graduation_cap - faw_yahoo - faw_google - faw_reddit - faw_reddit_square - faw_stumbleupon_circle - faw_stumbleupon - faw_delicious - faw_digg - faw_pied_piper_pp - faw_pied_piper_alt - faw_drupal - faw_joomla - faw_language - faw_fax - faw_building - faw_child - faw_paw - faw_spoon - faw_cube - faw_cubes - faw_behance - faw_behance_square - faw_steam - faw_steam_square - faw_recycle - faw_car - faw_taxi - faw_tree - faw_spotify - faw_deviantart - faw_soundcloud - faw_database - faw_file_pdf_o - faw_file_word_o - faw_file_excel_o - faw_file_powerpoint_o - faw_file_image_o - faw_file_archive_o - faw_file_audio_o - faw_file_video_o - faw_file_code_o - faw_vine - faw_codepen - faw_jsfiddle - faw_life_ring - faw_circle_o_notch - faw_rebel - faw_empire - faw_git_square - faw_git - faw_hacker_news - faw_tencent_weibo - faw_qq - faw_weixin - faw_paper_plane - faw_paper_plane_o - faw_history - faw_circle_thin - faw_header - faw_paragraph - faw_sliders - faw_share_alt - faw_share_alt_square - faw_bomb - faw_futbol_o - faw_tty - faw_binoculars - faw_plug - faw_slideshare - faw_twitch - faw_yelp - faw_newspaper_o - faw_wifi - faw_calculator - faw_paypal - faw_google_wallet - faw_cc_visa - faw_cc_mastercard - faw_cc_discover - faw_cc_amex - faw_cc_paypal - faw_cc_stripe - faw_bell_slash - faw_bell_slash_o - faw_trash - faw_copyright - faw_at - faw_eyedropper - faw_paint_brush - faw_birthday_cake - faw_area_chart - faw_pie_chart - faw_line_chart - faw_lastfm - faw_lastfm_square - faw_toggle_off - faw_toggle_on - faw_bicycle - faw_bus - faw_ioxhost - faw_angellist - faw_cc - faw_ils - faw_meanpath - faw_buysellads - faw_connectdevelop - faw_dashcube - faw_forumbee - faw_leanpub - faw_sellsy - faw_shirtsinbulk - faw_simplybuilt - faw_skyatlas - faw_cart_plus - faw_cart_arrow_down - faw_diamond - faw_ship - faw_user_secret - faw_motorcycle - faw_street_view - faw_heartbeat - faw_venus - faw_mars - faw_mercury - faw_transgender - faw_transgender_alt - faw_venus_double - faw_mars_double - faw_venus_mars - faw_mars_stroke - faw_mars_stroke_v - faw_mars_stroke_h - faw_neuter - faw_genderless - faw_facebook_official - faw_pinterest_p - faw_whatsapp - faw_server - faw_user_plus - faw_user_times - faw_bed - faw_viacoin - faw_train - faw_subway - faw_medium - faw_y_combinator - faw_optin_monster - faw_opencart - faw_expeditedssl - faw_battery_full - faw_battery_three_quarters - faw_battery_half - faw_battery_quarter - faw_battery_empty - faw_mouse_pointer - faw_i_cursor - faw_object_group - faw_object_ungroup - faw_sticky_note - faw_sticky_note_o - faw_cc_jcb - faw_cc_diners_club - faw_clone - faw_balance_scale - faw_hourglass_o - faw_hourglass_start - faw_hourglass_half - faw_hourglass_end - faw_hourglass - faw_hand_rock_o - faw_hand_paper_o - faw_hand_scissors_o - faw_hand_lizard_o - faw_hand_spock_o - faw_hand_pointer_o - faw_hand_peace_o - faw_trademark - faw_registered - faw_creative_commons - faw_gg - faw_gg_circle - faw_tripadvisor - faw_odnoklassniki - faw_odnoklassniki_square - faw_get_pocket - faw_wikipedia_w - faw_safari - faw_chrome - faw_firefox - faw_opera - faw_internet_explorer - faw_television - faw_contao - faw_500px - faw_amazon - faw_calendar_plus_o - faw_calendar_minus_o - faw_calendar_times_o - faw_calendar_check_o - faw_industry - faw_map_pin - faw_map_signs - faw_map_o - faw_map - faw_commenting - faw_commenting_o - faw_houzz - faw_vimeo - faw_black_tie - faw_fonticons - faw_reddit_alien - faw_edge - faw_credit_card_alt - faw_codiepie - faw_modx - faw_fort_awesome - faw_usb - faw_product_hunt - faw_mixcloud - faw_scribd - faw_pause_circle - faw_pause_circle_o - faw_stop_circle - faw_stop_circle_o - faw_shopping_bag - faw_shopping_basket - faw_hashtag - faw_bluetooth - faw_bluetooth_b - faw_percent - faw_gitlab - faw_wpbeginner - faw_wpforms - faw_envira - faw_universal_access - faw_wheelchair_alt - faw_question_circle_o - faw_blind - faw_audio_description - faw_volume_control_phone - faw_braille - faw_assistive_listening_systems - faw_american_sign_language_interpreting - faw_deaf - faw_glide - faw_glide_g - faw_sign_language - faw_low_vision - faw_viadeo - faw_viadeo_square - faw_snapchat - faw_snapchat_ghost - faw_snapchat_square - faw_pied_piper - faw_first_order - faw_yoast - faw_themeisle - faw_google_plus_official - faw_font_awesome - faw_handshake_o - faw_envelope_open - faw_envelope_open_o - faw_linode - faw_address_book - faw_address_book_o - faw_address_card - faw_address_card_o - faw_user_circle - faw_user_circle_o - faw_user_o - faw_id_badge - faw_id_card - faw_id_card_o - faw_quora - faw_free_code_camp - faw_telegram - faw_thermometer_full - faw_thermometer_three_quarters - faw_thermometer_half - faw_thermometer_quarter - faw_thermometer_empty - faw_shower - faw_bath - faw_podcast - faw_window_maximize - faw_window_minimize - faw_window_restore - faw_window_close - faw_window_close_o - faw_bandcamp - faw_grav - faw_etsy - faw_imdb - faw_ravelry - faw_eercast - faw_microchip - faw_snowflake_o - faw_superpowers - faw_wpexplorer - faw_meetup - diff --git a/FONT_IDS/_current_foundation_icons_v3.0.0.1.xml b/FONT_IDS/_current_foundation_icons_v3.0.0.1.xml deleted file mode 100644 index 54ee898a..00000000 --- a/FONT_IDS/_current_foundation_icons_v3.0.0.1.xml +++ /dev/null @@ -1,285 +0,0 @@ - - fou_address_book - fou_alert - fou_align_center - fou_align_justify - fou_align_left - fou_align_right - fou_anchor - fou_annotate - fou_archive - fou_arrow_down - fou_arrow_left - fou_arrow_right - fou_arrow_up - fou_arrows_compress - fou_arrows_expand - fou_arrows_in - fou_arrows_out - fou_asl - fou_asterisk - fou_at_sign - fou_background_color - fou_battery_empty - fou_battery_full - fou_battery_half - fou_bitcoin_circle - fou_bitcoin - fou_blind - fou_bluetooth - fou_bold - fou_book_bookmark - fou_book - fou_bookmark - fou_braille - fou_burst_new - fou_burst_sale - fou_burst - fou_calendar - fou_camera - fou_check - fou_checkbox - fou_clipboard_notes - fou_clipboard_pencil - fou_clipboard - fou_clock - fou_closed_caption - fou_cloud - fou_comment_minus - fou_comment_quotes - fou_comment_video - fou_comment - fou_comments - fou_compass - fou_contrast - fou_credit_card - fou_crop - fou_crown - fou_css3 - fou_database - fou_die_five - fou_die_four - fou_die_one - fou_die_six - fou_die_three - fou_die_two - fou_dislike - fou_dollar_bill - fou_dollar - fou_download - fou_eject - fou_elevator - fou_euro - fou_eye - fou_fast_forward - fou_female_symbol - fou_female - fou_filter - fou_first_aid - fou_flag - fou_folder_add - fou_folder_lock - fou_folder - fou_foot - fou_foundation - fou_graph_bar - fou_graph_horizontal - fou_graph_pie - fou_graph_trend - fou_guide_dog - fou_hearing_aid - fou_heart - fou_home - fou_html5 - fou_indent_less - fou_indent_more - fou_info - fou_italic - fou_key - fou_laptop - fou_layout - fou_lightbulb - fou_like - fou_link - fou_list_bullet - fou_list_number - fou_list_thumbnails - fou_list - fou_lock - fou_loop - fou_magnifying_glass - fou_mail - fou_male_female - fou_male_symbol - fou_male - fou_map - fou_marker - fou_megaphone - fou_microphone - fou_minus_circle - fou_minus - fou_mobile_signal - fou_mobile - fou_monitor - fou_mountains - fou_music - fou_next - fou_no_dogs - fou_no_smoking - fou_page_add - fou_page_copy - fou_page_csv - fou_page_delete - fou_page_doc - fou_page_edit - fou_page_export_csv - fou_page_export_doc - fou_page_export_pdf - fou_page_export - fou_page_filled - fou_page_multiple - fou_page_pdf - fou_page_remove - fou_page_search - fou_page - fou_paint_bucket - fou_paperclip - fou_pause - fou_paw - fou_paypal - fou_pencil - fou_photo - fou_play_circle - fou_play_video - fou_play - fou_plus - fou_pound - fou_power - fou_previous - fou_price_tag - fou_pricetag_multiple - fou_print - fou_prohibited - fou_projection_screen - fou_puzzle - fou_quote - fou_record - fou_refresh - fou_results_demographics - fou_results - fou_rewind_ten - fou_rewind - fou_rss - fou_safety_cone - fou_save - fou_share - fou_sheriff_badge - fou_shield - fou_shopping_bag - fou_shopping_cart - fou_shuffle - fou_skull - fou_social_500px - fou_social_adobe - fou_social_amazon - fou_social_android - fou_social_apple - fou_social_behance - fou_social_bing - fou_social_blogger - fou_social_delicious - fou_social_designer_news - fou_social_deviant_art - fou_social_digg - fou_social_dribbble - fou_social_drive - fou_social_dropbox - fou_social_evernote - fou_social_facebook - fou_social_flickr - fou_social_forrst - fou_social_foursquare - fou_social_game_center - fou_social_github - fou_social_google_plus - fou_social_hacker_news - fou_social_hi5 - fou_social_instagram - fou_social_joomla - fou_social_lastfm - fou_social_linkedin - fou_social_medium - fou_social_myspace - fou_social_orkut - fou_social_path - fou_social_picasa - fou_social_pinterest - fou_social_rdio - fou_social_reddit - fou_social_skillshare - fou_social_skype - fou_social_smashing_mag - fou_social_snapchat - fou_social_spotify - fou_social_squidoo - fou_social_stack_overflow - fou_social_steam - fou_social_stumbleupon - fou_social_treehouse - fou_social_tumblr - fou_social_twitter - fou_social_vimeo - fou_social_windows - fou_social_xbox - fou_social_yahoo - fou_social_yelp - fou_social_youtube - fou_social_zerply - fou_social_zurb - fou_sound - fou_star - fou_stop - fou_strikethrough - fou_subscript - fou_superscript - fou_tablet_landscape - fou_tablet_portrait - fou_target_two - fou_target - fou_telephone_accessible - fou_telephone - fou_text_color - fou_thumbnails - fou_ticket - fou_torso_business - fou_torso_female - fou_torso - fou_torsos_all_female - fou_torsos_all - fou_torsos_female_male - fou_torsos_male_female - fou_torsos - fou_trash - fou_trees - fou_trophy - fou_underline - fou_universal_access - fou_unlink - fou_unlock - fou_upload_cloud - fou_upload - fou_usb - fou_video - fou_volume_none - fou_volume_strike - fou_volume - fou_web - fou_wheelchair - fou_widget - fou_wrench - fou_x_circle - fou_x - fou_yen - fou_zoom_in - fou_zoom_out - diff --git a/FONT_IDS/_current_google_material_v3.0.1.0.original.xml b/FONT_IDS/_current_google_material_v3.0.1.0.original.xml deleted file mode 100644 index 4c8a5d56..00000000 --- a/FONT_IDS/_current_google_material_v3.0.1.0.original.xml +++ /dev/null @@ -1,934 +0,0 @@ - - gmd_3d_rotation - gmd_ac_unit - gmd_access_alarm - gmd_access_alarms - gmd_access_time - gmd_accessibility - gmd_accessible - gmd_account_balance - gmd_account_balance_wallet - gmd_account_box - gmd_account_circle - gmd_adb - gmd_add - gmd_add_a_photo - gmd_add_alarm - gmd_add_alert - gmd_add_box - gmd_add_circle - gmd_add_circle_outline - gmd_add_location - gmd_add_shopping_cart - gmd_add_to_photos - gmd_add_to_queue - gmd_adjust - gmd_airline_seat_flat - gmd_airline_seat_flat_angled - gmd_airline_seat_individual_suite - gmd_airline_seat_legroom_extra - gmd_airline_seat_legroom_normal - gmd_airline_seat_legroom_reduced - gmd_airline_seat_recline_extra - gmd_airline_seat_recline_normal - gmd_airplanemode_active - gmd_airplanemode_inactive - gmd_airplay - gmd_airport_shuttle - gmd_alarm - gmd_alarm_add - gmd_alarm_off - gmd_alarm_on - gmd_album - gmd_all_inclusive - gmd_all_out - gmd_android - gmd_announcement - gmd_apps - gmd_archive - gmd_arrow_back - gmd_arrow_downward - gmd_arrow_drop_down - gmd_arrow_drop_down_circle - gmd_arrow_drop_up - gmd_arrow_forward - gmd_arrow_upward - gmd_art_track - gmd_aspect_ratio - gmd_assessment - gmd_assignment - gmd_assignment_ind - gmd_assignment_late - gmd_assignment_return - gmd_assignment_returned - gmd_assignment_turned_in - gmd_assistant - gmd_assistant_photo - gmd_attach_file - gmd_attach_money - gmd_attachment - gmd_audiotrack - gmd_autorenew - gmd_av_timer - gmd_backspace - gmd_backup - gmd_battery_alert - gmd_battery_charging_full - gmd_battery_full - gmd_battery_std - gmd_battery_unknown - gmd_beach_access - gmd_beenhere - gmd_block - gmd_bluetooth - gmd_bluetooth_audio - gmd_bluetooth_connected - gmd_bluetooth_disabled - gmd_bluetooth_searching - gmd_blur_circular - gmd_blur_linear - gmd_blur_off - gmd_blur_on - gmd_book - gmd_bookmark - gmd_bookmark_border - gmd_border_all - gmd_border_bottom - gmd_border_clear - gmd_border_color - gmd_border_horizontal - gmd_border_inner - gmd_border_left - gmd_border_outer - gmd_border_right - gmd_border_style - gmd_border_top - gmd_border_vertical - gmd_branding_watermark - gmd_brightness_1 - gmd_brightness_2 - gmd_brightness_3 - gmd_brightness_4 - gmd_brightness_5 - gmd_brightness_6 - gmd_brightness_7 - gmd_brightness_auto - gmd_brightness_high - gmd_brightness_low - gmd_brightness_medium - gmd_broken_image - gmd_brush - gmd_bubble_chart - gmd_bug_report - gmd_build - gmd_burst_mode - gmd_business - gmd_business_center - gmd_cached - gmd_cake - gmd_call - gmd_call_end - gmd_call_made - gmd_call_merge - gmd_call_missed - gmd_call_missed_outgoing - gmd_call_received - gmd_call_split - gmd_call_to_action - gmd_camera - gmd_camera_alt - gmd_camera_enhance - gmd_camera_front - gmd_camera_rear - gmd_camera_roll - gmd_cancel - gmd_card_giftcard - gmd_card_membership - gmd_card_travel - gmd_casino - gmd_cast - gmd_cast_connected - gmd_center_focus_strong - gmd_center_focus_weak - gmd_change_history - gmd_chat - gmd_chat_bubble - gmd_chat_bubble_outline - gmd_check - gmd_check_box - gmd_check_box_outline_blank - gmd_check_circle - gmd_chevron_left - gmd_chevron_right - gmd_child_care - gmd_child_friendly - gmd_chrome_reader_mode - gmd_class - gmd_clear - gmd_clear_all - gmd_close - gmd_closed_caption - gmd_cloud - gmd_cloud_circle - gmd_cloud_done - gmd_cloud_download - gmd_cloud_off - gmd_cloud_queue - gmd_cloud_upload - gmd_code - gmd_collections - gmd_collections_bookmark - gmd_color_lens - gmd_colorize - gmd_comment - gmd_compare - gmd_compare_arrows - gmd_computer - gmd_confirmation_number - gmd_contact_mail - gmd_contact_phone - gmd_contacts - gmd_content_copy - gmd_content_cut - gmd_content_paste - gmd_control_point - gmd_control_point_duplicate - gmd_copyright - gmd_create - gmd_create_new_folder - gmd_credit_card - gmd_crop - gmd_crop_16_9 - gmd_crop_3_2 - gmd_crop_5_4 - gmd_crop_7_5 - gmd_crop_din - gmd_crop_free - gmd_crop_landscape - gmd_crop_original - gmd_crop_portrait - gmd_crop_rotate - gmd_crop_square - gmd_dashboard - gmd_data_usage - gmd_date_range - gmd_dehaze - gmd_delete - gmd_delete_forever - gmd_delete_sweep - gmd_description - gmd_desktop_mac - gmd_desktop_windows - gmd_details - gmd_developer_board - gmd_developer_mode - gmd_device_hub - gmd_devices - gmd_devices_other - gmd_dialer_sip - gmd_dialpad - gmd_directions - gmd_directions_bike - gmd_directions_boat - gmd_directions_bus - gmd_directions_car - gmd_directions_railway - gmd_directions_run - gmd_directions_subway - gmd_directions_transit - gmd_directions_walk - gmd_disc_full - gmd_dns - gmd_do_not_disturb - gmd_do_not_disturb_alt - gmd_do_not_disturb_off - gmd_do_not_disturb_on - gmd_dock - gmd_domain - gmd_done - gmd_done_all - gmd_donut_large - gmd_donut_small - gmd_drafts - gmd_drag_handle - gmd_drive_eta - gmd_dvr - gmd_edit - gmd_edit_location - gmd_eject - gmd_email - gmd_enhanced_encryption - gmd_equalizer - gmd_error - gmd_error_outline - gmd_euro_symbol - gmd_ev_station - gmd_event - gmd_event_available - gmd_event_busy - gmd_event_note - gmd_event_seat - gmd_exit_to_app - gmd_expand_less - gmd_expand_more - gmd_explicit - gmd_explore - gmd_exposure - gmd_exposure_neg_1 - gmd_exposure_neg_2 - gmd_exposure_plus_1 - gmd_exposure_plus_2 - gmd_exposure_zero - gmd_extension - gmd_face - gmd_fast_forward - gmd_fast_rewind - gmd_favorite - gmd_favorite_border - gmd_featured_play_list - gmd_featured_video - gmd_feedback - gmd_fiber_dvr - gmd_fiber_manual_record - gmd_fiber_new - gmd_fiber_pin - gmd_fiber_smart_record - gmd_file_download - gmd_file_upload - gmd_filter - gmd_filter_1 - gmd_filter_2 - gmd_filter_3 - gmd_filter_4 - gmd_filter_5 - gmd_filter_6 - gmd_filter_7 - gmd_filter_8 - gmd_filter_9 - gmd_filter_9_plus - gmd_filter_b_and_w - gmd_filter_center_focus - gmd_filter_drama - gmd_filter_frames - gmd_filter_hdr - gmd_filter_list - gmd_filter_none - gmd_filter_tilt_shift - gmd_filter_vintage - gmd_find_in_page - gmd_find_replace - gmd_fingerprint - gmd_first_page - gmd_fitness_center - gmd_flag - gmd_flare - gmd_flash_auto - gmd_flash_off - gmd_flash_on - gmd_flight - gmd_flight_land - gmd_flight_takeoff - gmd_flip - gmd_flip_to_back - gmd_flip_to_front - gmd_folder - gmd_folder_open - gmd_folder_shared - gmd_folder_special - gmd_font_download - gmd_format_align_center - gmd_format_align_justify - gmd_format_align_left - gmd_format_align_right - gmd_format_bold - gmd_format_clear - gmd_format_color_fill - gmd_format_color_reset - gmd_format_color_text - gmd_format_indent_decrease - gmd_format_indent_increase - gmd_format_italic - gmd_format_line_spacing - gmd_format_list_bulleted - gmd_format_list_numbered - gmd_format_paint - gmd_format_quote - gmd_format_shapes - gmd_format_size - gmd_format_strikethrough - gmd_format_textdirection_l_to_r - gmd_format_textdirection_r_to_l - gmd_format_underlined - gmd_forum - gmd_forward - gmd_forward_10 - gmd_forward_30 - gmd_forward_5 - gmd_free_breakfast - gmd_fullscreen - gmd_fullscreen_exit - gmd_functions - gmd_g_translate - gmd_gamepad - gmd_games - gmd_gavel - gmd_gesture - gmd_get_app - gmd_gif - gmd_golf_course - gmd_gps_fixed - gmd_gps_not_fixed - gmd_gps_off - gmd_grade - gmd_gradient - gmd_grain - gmd_graphic_eq - gmd_grid_off - gmd_grid_on - gmd_group - gmd_group_add - gmd_group_work - gmd_hd - gmd_hdr_off - gmd_hdr_on - gmd_hdr_strong - gmd_hdr_weak - gmd_headset - gmd_headset_mic - gmd_healing - gmd_hearing - gmd_help - gmd_help_outline - gmd_high_quality - gmd_highlight - gmd_highlight_off - gmd_history - gmd_home - gmd_hot_tub - gmd_hotel - gmd_hourglass_empty - gmd_hourglass_full - gmd_http - gmd_https - gmd_image - gmd_image_aspect_ratio - gmd_import_contacts - gmd_import_export - gmd_important_devices - gmd_inbox - gmd_indeterminate_check_box - gmd_info - gmd_info_outline - gmd_input - gmd_insert_chart - gmd_insert_comment - gmd_insert_drive_file - gmd_insert_emoticon - gmd_insert_invitation - gmd_insert_link - gmd_insert_photo - gmd_invert_colors - gmd_invert_colors_off - gmd_iso - gmd_keyboard - gmd_keyboard_arrow_down - gmd_keyboard_arrow_left - gmd_keyboard_arrow_right - gmd_keyboard_arrow_up - gmd_keyboard_backspace - gmd_keyboard_capslock - gmd_keyboard_hide - gmd_keyboard_return - gmd_keyboard_tab - gmd_keyboard_voice - gmd_kitchen - gmd_label - gmd_label_outline - gmd_landscape - gmd_language - gmd_laptop - gmd_laptop_chromebook - gmd_laptop_mac - gmd_laptop_windows - gmd_last_page - gmd_launch - gmd_layers - gmd_layers_clear - gmd_leak_add - gmd_leak_remove - gmd_lens - gmd_library_add - gmd_library_books - gmd_library_music - gmd_lightbulb_outline - gmd_line_style - gmd_line_weight - gmd_linear_scale - gmd_link - gmd_linked_camera - gmd_list - gmd_live_help - gmd_live_tv - gmd_local_activity - gmd_local_airport - gmd_local_atm - gmd_local_bar - gmd_local_cafe - gmd_local_car_wash - gmd_local_convenience_store - gmd_local_dining - gmd_local_drink - gmd_local_florist - gmd_local_gas_station - gmd_local_grocery_store - gmd_local_hospital - gmd_local_hotel - gmd_local_laundry_service - gmd_local_library - gmd_local_mall - gmd_local_movies - gmd_local_offer - gmd_local_parking - gmd_local_pharmacy - gmd_local_phone - gmd_local_pizza - gmd_local_play - gmd_local_post_office - gmd_local_printshop - gmd_local_see - gmd_local_shipping - gmd_local_taxi - gmd_location_city - gmd_location_disabled - gmd_location_off - gmd_location_on - gmd_location_searching - gmd_lock - gmd_lock_open - gmd_lock_outline - gmd_looks - gmd_looks_3 - gmd_looks_4 - gmd_looks_5 - gmd_looks_6 - gmd_looks_one - gmd_looks_two - gmd_loop - gmd_loupe - gmd_low_priority - gmd_loyalty - gmd_mail - gmd_mail_outline - gmd_map - gmd_markunread - gmd_markunread_mailbox - gmd_memory - gmd_menu - gmd_merge_type - gmd_message - gmd_mic - gmd_mic_none - gmd_mic_off - gmd_mms - gmd_mode_comment - gmd_mode_edit - gmd_monetization_on - gmd_money_off - gmd_monochrome_photos - gmd_mood - gmd_mood_bad - gmd_more - gmd_more_horiz - gmd_more_vert - gmd_motorcycle - gmd_mouse - gmd_move_to_inbox - gmd_movie - gmd_movie_creation - gmd_movie_filter - gmd_multiline_chart - gmd_music_note - gmd_music_video - gmd_my_location - gmd_nature - gmd_nature_people - gmd_navigate_before - gmd_navigate_next - gmd_navigation - gmd_near_me - gmd_network_cell - gmd_network_check - gmd_network_locked - gmd_network_wifi - gmd_new_releases - gmd_next_week - gmd_nfc - gmd_no_encryption - gmd_no_sim - gmd_not_interested - gmd_note - gmd_note_add - gmd_notifications - gmd_notifications_active - gmd_notifications_none - gmd_notifications_off - gmd_notifications_paused - gmd_offline_pin - gmd_ondemand_video - gmd_opacity - gmd_open_in_browser - gmd_open_in_new - gmd_open_with - gmd_pages - gmd_pageview - gmd_palette - gmd_pan_tool - gmd_panorama - gmd_panorama_fish_eye - gmd_panorama_horizontal - gmd_panorama_vertical - gmd_panorama_wide_angle - gmd_party_mode - gmd_pause - gmd_pause_circle_filled - gmd_pause_circle_outline - gmd_payment - gmd_people - gmd_people_outline - gmd_perm_camera_mic - gmd_perm_contact_calendar - gmd_perm_data_setting - gmd_perm_device_information - gmd_perm_identity - gmd_perm_media - gmd_perm_phone_msg - gmd_perm_scan_wifi - gmd_person - gmd_person_add - gmd_person_outline - gmd_person_pin - gmd_person_pin_circle - gmd_personal_video - gmd_pets - gmd_phone - gmd_phone_android - gmd_phone_bluetooth_speaker - gmd_phone_forwarded - gmd_phone_in_talk - gmd_phone_iphone - gmd_phone_locked - gmd_phone_missed - gmd_phone_paused - gmd_phonelink - gmd_phonelink_erase - gmd_phonelink_lock - gmd_phonelink_off - gmd_phonelink_ring - gmd_phonelink_setup - gmd_photo - gmd_photo_album - gmd_photo_camera - gmd_photo_filter - gmd_photo_library - gmd_photo_size_select_actual - gmd_photo_size_select_large - gmd_photo_size_select_small - gmd_picture_as_pdf - gmd_picture_in_picture - gmd_picture_in_picture_alt - gmd_pie_chart - gmd_pie_chart_outlined - gmd_pin_drop - gmd_place - gmd_play_arrow - gmd_play_circle_filled - gmd_play_circle_outline - gmd_play_for_work - gmd_playlist_add - gmd_playlist_add_check - gmd_playlist_play - gmd_plus_one - gmd_poll - gmd_polymer - gmd_pool - gmd_portable_wifi_off - gmd_portrait - gmd_power - gmd_power_input - gmd_power_settings_new - gmd_pregnant_woman - gmd_present_to_all - gmd_print - gmd_priority_high - gmd_public - gmd_publish - gmd_query_builder - gmd_question_answer - gmd_queue - gmd_queue_music - gmd_queue_play_next - gmd_radio - gmd_radio_button_checked - gmd_radio_button_unchecked - gmd_rate_review - gmd_receipt - gmd_recent_actors - gmd_record_voice_over - gmd_redeem - gmd_redo - gmd_refresh - gmd_remove - gmd_remove_circle - gmd_remove_circle_outline - gmd_remove_from_queue - gmd_remove_red_eye - gmd_remove_shopping_cart - gmd_reorder - gmd_repeat - gmd_repeat_one - gmd_replay - gmd_replay_10 - gmd_replay_30 - gmd_replay_5 - gmd_reply - gmd_reply_all - gmd_report - gmd_report_problem - gmd_restaurant - gmd_restaurant_menu - gmd_restore - gmd_restore_page - gmd_ring_volume - gmd_room - gmd_room_service - gmd_rotate_90_degrees_ccw - gmd_rotate_left - gmd_rotate_right - gmd_rounded_corner - gmd_router - gmd_rowing - gmd_rss_feed - gmd_rv_hookup - gmd_satellite - gmd_save - gmd_scanner - gmd_schedule - gmd_school - gmd_screen_lock_landscape - gmd_screen_lock_portrait - gmd_screen_lock_rotation - gmd_screen_rotation - gmd_screen_share - gmd_sd_card - gmd_sd_storage - gmd_search - gmd_security - gmd_select_all - gmd_send - gmd_sentiment_dissatisfied - gmd_sentiment_neutral - gmd_sentiment_satisfied - gmd_sentiment_very_dissatisfied - gmd_sentiment_very_satisfied - gmd_settings - gmd_settings_applications - gmd_settings_backup_restore - gmd_settings_bluetooth - gmd_settings_brightness - gmd_settings_cell - gmd_settings_ethernet - gmd_settings_input_antenna - gmd_settings_input_component - gmd_settings_input_composite - gmd_settings_input_hdmi - gmd_settings_input_svideo - gmd_settings_overscan - gmd_settings_phone - gmd_settings_power - gmd_settings_remote - gmd_settings_system_daydream - gmd_settings_voice - gmd_share - gmd_shop - gmd_shop_two - gmd_shopping_basket - gmd_shopping_cart - gmd_short_text - gmd_show_chart - gmd_shuffle - gmd_signal_cellular_4_bar - gmd_signal_cellular_connected_no_internet_4_bar - gmd_signal_cellular_no_sim - gmd_signal_cellular_null - gmd_signal_cellular_off - gmd_signal_wifi_4_bar - gmd_signal_wifi_4_bar_lock - gmd_signal_wifi_off - gmd_sim_card - gmd_sim_card_alert - gmd_skip_next - gmd_skip_previous - gmd_slideshow - gmd_slow_motion_video - gmd_smartphone - gmd_smoke_free - gmd_smoking_rooms - gmd_sms - gmd_sms_failed - gmd_snooze - gmd_sort - gmd_sort_by_alpha - gmd_spa - gmd_space_bar - gmd_speaker - gmd_speaker_group - gmd_speaker_notes - gmd_speaker_notes_off - gmd_speaker_phone - gmd_spellcheck - gmd_star - gmd_star_border - gmd_star_half - gmd_stars - gmd_stay_current_landscape - gmd_stay_current_portrait - gmd_stay_primary_landscape - gmd_stay_primary_portrait - gmd_stop - gmd_stop_screen_share - gmd_storage - gmd_store - gmd_store_mall_directory - gmd_straighten - gmd_streetview - gmd_strikethrough_s - gmd_style - gmd_subdirectory_arrow_left - gmd_subdirectory_arrow_right - gmd_subject - gmd_subscriptions - gmd_subtitles - gmd_subway - gmd_supervisor_account - gmd_surround_sound - gmd_swap_calls - gmd_swap_horiz - gmd_swap_vert - gmd_swap_vertical_circle - gmd_switch_camera - gmd_switch_video - gmd_sync - gmd_sync_disabled - gmd_sync_problem - gmd_system_update - gmd_system_update_alt - gmd_tab - gmd_tab_unselected - gmd_tablet - gmd_tablet_android - gmd_tablet_mac - gmd_tag_faces - gmd_tap_and_play - gmd_terrain - gmd_text_fields - gmd_text_format - gmd_textsms - gmd_texture - gmd_theaters - gmd_thumb_down - gmd_thumb_up - gmd_thumbs_up_down - gmd_time_to_leave - gmd_timelapse - gmd_timeline - gmd_timer - gmd_timer_10 - gmd_timer_3 - gmd_timer_off - gmd_title - gmd_toc - gmd_today - gmd_toll - gmd_tonality - gmd_touch_app - gmd_toys - gmd_track_changes - gmd_traffic - gmd_train - gmd_tram - gmd_transfer_within_a_station - gmd_transform - gmd_translate - gmd_trending_down - gmd_trending_flat - gmd_trending_up - gmd_tune - gmd_turned_in - gmd_turned_in_not - gmd_tv - gmd_unarchive - gmd_undo - gmd_unfold_less - gmd_unfold_more - gmd_update - gmd_usb - gmd_verified_user - gmd_vertical_align_bottom - gmd_vertical_align_center - gmd_vertical_align_top - gmd_vibration - gmd_video_call - gmd_video_label - gmd_video_library - gmd_videocam - gmd_videocam_off - gmd_videogame_asset - gmd_view_agenda - gmd_view_array - gmd_view_carousel - gmd_view_column - gmd_view_comfy - gmd_view_compact - gmd_view_day - gmd_view_headline - gmd_view_list - gmd_view_module - gmd_view_quilt - gmd_view_stream - gmd_view_week - gmd_vignette - gmd_visibility - gmd_visibility_off - gmd_voice_chat - gmd_voicemail - gmd_volume_down - gmd_volume_mute - gmd_volume_off - gmd_volume_up - gmd_vpn_key - gmd_vpn_lock - gmd_wallpaper - gmd_warning - gmd_watch - gmd_watch_later - gmd_wb_auto - gmd_wb_cloudy - gmd_wb_incandescent - gmd_wb_iridescent - gmd_wb_sunny - gmd_wc - gmd_web - gmd_web_asset - gmd_weekend - gmd_whatshot - gmd_widgets - gmd_wifi - gmd_wifi_lock - gmd_wifi_tethering - gmd_work - gmd_wrap_text - gmd_youtube_searched_for - gmd_zoom_in - gmd_zoom_out - gmd_zoom_out_map - diff --git a/FONT_IDS/_current_ionicons_v2.0.1.1.xml b/FONT_IDS/_current_ionicons_v2.0.1.1.xml deleted file mode 100644 index e6a743f4..00000000 --- a/FONT_IDS/_current_ionicons_v2.0.1.1.xml +++ /dev/null @@ -1,735 +0,0 @@ - - ion_alert - ion_alert_circled - ion_android_add - ion_android_add_circle - ion_android_alarm_clock - ion_android_alert - ion_android_apps - ion_android_archive - ion_android_arrow_back - ion_android_arrow_down - ion_android_arrow_dropdown - ion_android_arrow_dropdown_circle - ion_android_arrow_dropleft - ion_android_arrow_dropleft_circle - ion_android_arrow_dropright - ion_android_arrow_dropright_circle - ion_android_arrow_dropup - ion_android_arrow_dropup_circle - ion_android_arrow_forward - ion_android_arrow_up - ion_android_attach - ion_android_bar - ion_android_bicycle - ion_android_boat - ion_android_bookmark - ion_android_bulb - ion_android_bus - ion_android_calendar - ion_android_call - ion_android_camera - ion_android_cancel - ion_android_car - ion_android_cart - ion_android_chat - ion_android_checkbox - ion_android_checkbox_blank - ion_android_checkbox_outline - ion_android_checkbox_outline_blank - ion_android_checkmark_circle - ion_android_clipboard - ion_android_close - ion_android_cloud - ion_android_cloud_circle - ion_android_cloud_done - ion_android_cloud_outline - ion_android_color_palette - ion_android_compass - ion_android_contact - ion_android_contacts - ion_android_contract - ion_android_create - ion_android_delete - ion_android_desktop - ion_android_document - ion_android_done - ion_android_done_all - ion_android_download - ion_android_drafts - ion_android_exit - ion_android_expand - ion_android_favorite - ion_android_favorite_outline - ion_android_film - ion_android_folder - ion_android_folder_open - ion_android_funnel - ion_android_globe - ion_android_hand - ion_android_hangout - ion_android_happy - ion_android_home - ion_android_image - ion_android_laptop - ion_android_list - ion_android_locate - ion_android_lock - ion_android_mail - ion_android_map - ion_android_menu - ion_android_microphone - ion_android_microphone_off - ion_android_more_horizontal - ion_android_more_vertical - ion_android_navigate - ion_android_notifications - ion_android_notifications_none - ion_android_notifications_off - ion_android_open - ion_android_options - ion_android_people - ion_android_person - ion_android_person_add - ion_android_phone_landscape - ion_android_phone_portrait - ion_android_pin - ion_android_plane - ion_android_playstore - ion_android_print - ion_android_radio_button_off - ion_android_radio_button_on - ion_android_refresh - ion_android_remove - ion_android_remove_circle - ion_android_restaurant - ion_android_sad - ion_android_search - ion_android_send - ion_android_settings - ion_android_share - ion_android_share_alt - ion_android_star - ion_android_star_half - ion_android_star_outline - ion_android_stopwatch - ion_android_subway - ion_android_sunny - ion_android_sync - ion_android_textsms - ion_android_time - ion_android_train - ion_android_unlock - ion_android_upload - ion_android_volume_down - ion_android_volume_mute - ion_android_volume_off - ion_android_volume_up - ion_android_walk - ion_android_warning - ion_android_watch - ion_android_wifi - ion_aperture - ion_archive - ion_arrow_down_a - ion_arrow_down_b - ion_arrow_down_c - ion_arrow_expand - ion_arrow_graph_down_left - ion_arrow_graph_down_right - ion_arrow_graph_up_left - ion_arrow_graph_up_right - ion_arrow_left_a - ion_arrow_left_b - ion_arrow_left_c - ion_arrow_move - ion_arrow_resize - ion_arrow_return_left - ion_arrow_return_right - ion_arrow_right_a - ion_arrow_right_b - ion_arrow_right_c - ion_arrow_shrink - ion_arrow_swap - ion_arrow_up_a - ion_arrow_up_b - ion_arrow_up_c - ion_asterisk - ion_at - ion_backspace - ion_backspace_outline - ion_bag - ion_battery_charging - ion_battery_empty - ion_battery_full - ion_battery_half - ion_battery_low - ion_beaker - ion_beer - ion_bluetooth - ion_bonfire - ion_bookmark - ion_bowtie - ion_briefcase - ion_bug - ion_calculator - ion_calendar - ion_camera - ion_card - ion_cash - ion_chatbox - ion_chatbox_working - ion_chatboxes - ion_chatbubble - ion_chatbubble_working - ion_chatbubbles - ion_checkmark - ion_checkmark_circled - ion_checkmark_round - ion_chevron_down - ion_chevron_left - ion_chevron_right - ion_chevron_up - ion_clipboard - ion_clock - ion_close - ion_close_circled - ion_close_round - ion_closed_captioning - ion_cloud - ion_code - ion_code_download - ion_code_working - ion_coffee - ion_compass - ion_compose - ion_connection_bars - ion_contrast - ion_crop - ion_cube - ion_disc - ion_document - ion_document_text - ion_drag - ion_earth - ion_easel - ion_edit - ion_egg - ion_eject - ion_email - ion_email_unread - ion_erlenmeyer_flask - ion_erlenmeyer_flask_bubbles - ion_eye - ion_eye_disabled - ion_female - ion_filing - ion_film_marker - ion_fireball - ion_flag - ion_flame - ion_flash - ion_flash_off - ion_folder - ion_fork - ion_fork_repo - ion_forward - ion_funnel - ion_gear_a - ion_gear_b - ion_grid - ion_hammer - ion_happy - ion_happy_outline - ion_headphone - ion_heart - ion_heart_broken - ion_help - ion_help_buoy - ion_help_circled - ion_home - ion_icecream - ion_image - ion_images - ion_information - ion_information_circled - ion_ionic - ion_ios_alarm - ion_ios_alarm_outline - ion_ios_albums - ion_ios_albums_outline - ion_ios_americanfootball - ion_ios_americanfootball_outline - ion_ios_analytics - ion_ios_analytics_outline - ion_ios_arrow_back - ion_ios_arrow_down - ion_ios_arrow_forward - ion_ios_arrow_left - ion_ios_arrow_right - ion_ios_arrow_thin_down - ion_ios_arrow_thin_left - ion_ios_arrow_thin_right - ion_ios_arrow_thin_up - ion_ios_arrow_up - ion_ios_at - ion_ios_at_outline - ion_ios_barcode - ion_ios_barcode_outline - ion_ios_baseball - ion_ios_baseball_outline - ion_ios_basketball - ion_ios_basketball_outline - ion_ios_bell - ion_ios_bell_outline - ion_ios_body - ion_ios_body_outline - ion_ios_bolt - ion_ios_bolt_outline - ion_ios_book - ion_ios_book_outline - ion_ios_bookmarks - ion_ios_bookmarks_outline - ion_ios_box - ion_ios_box_outline - ion_ios_briefcase - ion_ios_briefcase_outline - ion_ios_browsers - ion_ios_browsers_outline - ion_ios_calculator - ion_ios_calculator_outline - ion_ios_calendar - ion_ios_calendar_outline - ion_ios_camera - ion_ios_camera_outline - ion_ios_cart - ion_ios_cart_outline - ion_ios_chatboxes - ion_ios_chatboxes_outline - ion_ios_chatbubble - ion_ios_chatbubble_outline - ion_ios_checkmark - ion_ios_checkmark_empty - ion_ios_checkmark_outline - ion_ios_circle_filled - ion_ios_circle_outline - ion_ios_clock - ion_ios_clock_outline - ion_ios_close - ion_ios_close_empty - ion_ios_close_outline - ion_ios_cloud - ion_ios_cloud_download - ion_ios_cloud_download_outline - ion_ios_cloud_outline - ion_ios_cloud_upload - ion_ios_cloud_upload_outline - ion_ios_cloudy - ion_ios_cloudy_night - ion_ios_cloudy_night_outline - ion_ios_cloudy_outline - ion_ios_cog - ion_ios_cog_outline - ion_ios_color_filter - ion_ios_color_filter_outline - ion_ios_color_wand - ion_ios_color_wand_outline - ion_ios_compose - ion_ios_compose_outline - ion_ios_contact - ion_ios_contact_outline - ion_ios_copy - ion_ios_copy_outline - ion_ios_crop - ion_ios_crop_strong - ion_ios_download - ion_ios_download_outline - ion_ios_drag - ion_ios_email - ion_ios_email_outline - ion_ios_eye - ion_ios_eye_outline - ion_ios_fastforward - ion_ios_fastforward_outline - ion_ios_filing - ion_ios_filing_outline - ion_ios_film - ion_ios_film_outline - ion_ios_flag - ion_ios_flag_outline - ion_ios_flame - ion_ios_flame_outline - ion_ios_flask - ion_ios_flask_outline - ion_ios_flower - ion_ios_flower_outline - ion_ios_folder - ion_ios_folder_outline - ion_ios_football - ion_ios_football_outline - ion_ios_game_controller_a - ion_ios_game_controller_a_outline - ion_ios_game_controller_b - ion_ios_game_controller_b_outline - ion_ios_gear - ion_ios_gear_outline - ion_ios_glasses - ion_ios_glasses_outline - ion_ios_grid_view - ion_ios_grid_view_outline - ion_ios_heart - ion_ios_heart_outline - ion_ios_help - ion_ios_help_empty - ion_ios_help_outline - ion_ios_home - ion_ios_home_outline - ion_ios_infinite - ion_ios_infinite_outline - ion_ios_information - ion_ios_information_empty - ion_ios_information_outline - ion_ios_ionic_outline - ion_ios_keypad - ion_ios_keypad_outline - ion_ios_lightbulb - ion_ios_lightbulb_outline - ion_ios_list - ion_ios_list_outline - ion_ios_location - ion_ios_location_outline - ion_ios_locked - ion_ios_locked_outline - ion_ios_loop - ion_ios_loop_strong - ion_ios_medical - ion_ios_medical_outline - ion_ios_medkit - ion_ios_medkit_outline - ion_ios_mic - ion_ios_mic_off - ion_ios_mic_outline - ion_ios_minus - ion_ios_minus_empty - ion_ios_minus_outline - ion_ios_monitor - ion_ios_monitor_outline - ion_ios_moon - ion_ios_moon_outline - ion_ios_more - ion_ios_more_outline - ion_ios_musical_note - ion_ios_musical_notes - ion_ios_navigate - ion_ios_navigate_outline - ion_ios_nutrition - ion_ios_nutrition_outline - ion_ios_paper - ion_ios_paper_outline - ion_ios_paperplane - ion_ios_paperplane_outline - ion_ios_partlysunny - ion_ios_partlysunny_outline - ion_ios_pause - ion_ios_pause_outline - ion_ios_paw - ion_ios_paw_outline - ion_ios_people - ion_ios_people_outline - ion_ios_person - ion_ios_person_outline - ion_ios_personadd - ion_ios_personadd_outline - ion_ios_photos - ion_ios_photos_outline - ion_ios_pie - ion_ios_pie_outline - ion_ios_pint - ion_ios_pint_outline - ion_ios_play - ion_ios_play_outline - ion_ios_plus - ion_ios_plus_empty - ion_ios_plus_outline - ion_ios_pricetag - ion_ios_pricetag_outline - ion_ios_pricetags - ion_ios_pricetags_outline - ion_ios_printer - ion_ios_printer_outline - ion_ios_pulse - ion_ios_pulse_strong - ion_ios_rainy - ion_ios_rainy_outline - ion_ios_recording - ion_ios_recording_outline - ion_ios_redo - ion_ios_redo_outline - ion_ios_refresh - ion_ios_refresh_empty - ion_ios_refresh_outline - ion_ios_reload - ion_ios_reverse_camera - ion_ios_reverse_camera_outline - ion_ios_rewind - ion_ios_rewind_outline - ion_ios_rose - ion_ios_rose_outline - ion_ios_search - ion_ios_search_strong - ion_ios_settings - ion_ios_settings_strong - ion_ios_shuffle - ion_ios_shuffle_strong - ion_ios_skipbackward - ion_ios_skipbackward_outline - ion_ios_skipforward - ion_ios_skipforward_outline - ion_ios_snowy - ion_ios_speedometer - ion_ios_speedometer_outline - ion_ios_star - ion_ios_star_half - ion_ios_star_outline - ion_ios_stopwatch - ion_ios_stopwatch_outline - ion_ios_sunny - ion_ios_sunny_outline - ion_ios_telephone - ion_ios_telephone_outline - ion_ios_tennisball - ion_ios_tennisball_outline - ion_ios_thunderstorm - ion_ios_thunderstorm_outline - ion_ios_time - ion_ios_time_outline - ion_ios_timer - ion_ios_timer_outline - ion_ios_toggle - ion_ios_toggle_outline - ion_ios_trash - ion_ios_trash_outline - ion_ios_undo - ion_ios_undo_outline - ion_ios_unlocked - ion_ios_unlocked_outline - ion_ios_upload - ion_ios_upload_outline - ion_ios_videocam - ion_ios_videocam_outline - ion_ios_volume_high - ion_ios_volume_low - ion_ios_wineglass - ion_ios_wineglass_outline - ion_ios_world - ion_ios_world_outline - ion_ipad - ion_iphone - ion_ipod - ion_jet - ion_key - ion_knife - ion_laptop - ion_leaf - ion_levels - ion_lightbulb - ion_link - ion_load_a - ion_load_b - ion_load_c - ion_load_d - ion_location - ion_lock_combination - ion_locked - ion_log_in - ion_log_out - ion_loop - ion_magnet - ion_male - ion_man - ion_map - ion_medkit - ion_merge - ion_mic_a - ion_mic_b - ion_mic_c - ion_minus - ion_minus_circled - ion_minus_round - ion_model_s - ion_monitor - ion_more - ion_mouse - ion_music_note - ion_navicon - ion_navicon_round - ion_navigate - ion_network - ion_no_smoking - ion_nuclear - ion_outlet - ion_paintbrush - ion_paintbucket - ion_paper_airplane - ion_paperclip - ion_pause - ion_person - ion_person_add - ion_person_stalker - ion_pie_graph - ion_pin - ion_pinpoint - ion_pizza - ion_plane - ion_planet - ion_play - ion_playstation - ion_plus - ion_plus_circled - ion_plus_round - ion_podium - ion_pound - ion_power - ion_pricetag - ion_pricetags - ion_printer - ion_pull_request - ion_qr_scanner - ion_quote - ion_radio_waves - ion_record - ion_refresh - ion_reply - ion_reply_all - ion_ribbon_a - ion_ribbon_b - ion_sad - ion_sad_outline - ion_scissors - ion_search - ion_settings - ion_share - ion_shuffle - ion_skip_backward - ion_skip_forward - ion_social_android - ion_social_android_outline - ion_social_angular - ion_social_angular_outline - ion_social_apple - ion_social_apple_outline - ion_social_bitcoin - ion_social_bitcoin_outline - ion_social_buffer - ion_social_buffer_outline - ion_social_chrome - ion_social_chrome_outline - ion_social_codepen - ion_social_codepen_outline - ion_social_css3 - ion_social_css3_outline - ion_social_designernews - ion_social_designernews_outline - ion_social_dribbble - ion_social_dribbble_outline - ion_social_dropbox - ion_social_dropbox_outline - ion_social_euro - ion_social_euro_outline - ion_social_facebook - ion_social_facebook_outline - ion_social_foursquare - ion_social_foursquare_outline - ion_social_freebsd_devil - ion_social_github - ion_social_github_outline - ion_social_google - ion_social_google_outline - ion_social_googleplus - ion_social_googleplus_outline - ion_social_hackernews - ion_social_hackernews_outline - ion_social_html5 - ion_social_html5_outline - ion_social_instagram - ion_social_instagram_outline - ion_social_javascript - ion_social_javascript_outline - ion_social_linkedin - ion_social_linkedin_outline - ion_social_markdown - ion_social_nodejs - ion_social_octocat - ion_social_pinterest - ion_social_pinterest_outline - ion_social_python - ion_social_reddit - ion_social_reddit_outline - ion_social_rss - ion_social_rss_outline - ion_social_sass - ion_social_skype - ion_social_skype_outline - ion_social_snapchat - ion_social_snapchat_outline - ion_social_tumblr - ion_social_tumblr_outline - ion_social_tux - ion_social_twitch - ion_social_twitch_outline - ion_social_twitter - ion_social_twitter_outline - ion_social_usd - ion_social_usd_outline - ion_social_vimeo - ion_social_vimeo_outline - ion_social_whatsapp - ion_social_whatsapp_outline - ion_social_windows - ion_social_windows_outline - ion_social_wordpress - ion_social_wordpress_outline - ion_social_yahoo - ion_social_yahoo_outline - ion_social_yen - ion_social_yen_outline - ion_social_youtube - ion_social_youtube_outline - ion_soup_can - ion_soup_can_outline - ion_speakerphone - ion_speedometer - ion_spoon - ion_star - ion_stats_bars - ion_steam - ion_stop - ion_thermometer - ion_thumbsdown - ion_thumbsup - ion_toggle - ion_toggle_filled - ion_transgender - ion_trash_a - ion_trash_b - ion_trophy - ion_tshirt - ion_tshirt_outline - ion_umbrella - ion_university - ion_unlocked - ion_upload - ion_usb - ion_videocamera - ion_volume_high - ion_volume_low - ion_volume_medium - ion_volume_mute - ion_wand - ion_waterdrop - ion_wifi - ion_wineglass - ion_woman - ion_wrench - ion_xbox - diff --git a/FONT_IDS/_current_material_design_iconic_v2.2.0.xml b/FONT_IDS/_current_material_design_iconic_v2.2.0.xml deleted file mode 100644 index 42124d12..00000000 --- a/FONT_IDS/_current_material_design_iconic_v2.2.0.xml +++ /dev/null @@ -1,888 +0,0 @@ - - gmi_3d_rotation - gmi_airplane_off - gmi_airplane - gmi_album - gmi_archive - gmi_assignment_account - gmi_assignment_alert - gmi_assignment_check - gmi_assignment_o - gmi_assignment_return - gmi_assignment_returned - gmi_assignment - gmi_attachment_alt - gmi_attachment - gmi_audio - gmi_badge_check - gmi_balance_wallet - gmi_balance - gmi_battery_alert - gmi_battery_flash - gmi_battery_unknown - gmi_battery - gmi_bike - gmi_block_alt - gmi_block - gmi_boat - gmi_book_image - gmi_book - gmi_bookmark_outline - gmi_bookmark - gmi_brush - gmi_bug - gmi_bus - gmi_cake - gmi_car_taxi - gmi_car_wash - gmi_car - gmi_card_giftcard - gmi_card_membership - gmi_card_travel - gmi_card - gmi_case_check - gmi_case_download - gmi_case_play - gmi_case - gmi_cast_connected - gmi_cast - gmi_chart_donut - gmi_chart - gmi_city_alt - gmi_city - gmi_close_circle_o - gmi_close_circle - gmi_close - gmi_cocktail - gmi_code_setting - gmi_code_smartphone - gmi_code - gmi_coffee - gmi_collection_bookmark - gmi_collection_case_play - gmi_collection_folder_image - gmi_collection_image_o - gmi_collection_image - gmi_collection_item_1 - gmi_collection_item_2 - gmi_collection_item_3 - gmi_collection_item_4 - gmi_collection_item_5 - gmi_collection_item_6 - gmi_collection_item_7 - gmi_collection_item_8 - gmi_collection_item_9_plus - gmi_collection_item_9 - gmi_collection_item - gmi_collection_music - gmi_collection_pdf - gmi_collection_plus - gmi_collection_speaker - gmi_collection_text - gmi_collection_video - gmi_compass - gmi_cutlery - gmi_delete - gmi_dialpad - gmi_dns - gmi_drink - gmi_edit - gmi_email_open - gmi_email - gmi_eye_off - gmi_eye - gmi_eyedropper - gmi_favorite_outline - gmi_favorite - gmi_filter_list - gmi_fire - gmi_flag - gmi_flare - gmi_flash_auto - gmi_flash_off - gmi_flash - gmi_flip - gmi_flower_alt - gmi_flower - gmi_font - gmi_fullscreen_alt - gmi_fullscreen_exit - gmi_fullscreen - gmi_functions - gmi_gas_station - gmi_gesture - gmi_globe_alt - gmi_globe_lock - gmi_globe - gmi_graduation_cap - gmi_home - gmi_hospital_alt - gmi_hospital - gmi_hotel - gmi_hourglass_alt - gmi_hourglass_outline - gmi_hourglass - gmi_http - gmi_image_alt - gmi_image_o - gmi_image - gmi_inbox - gmi_invert_colors_off - gmi_invert_colors - gmi_key - gmi_label_alt_outline - gmi_label_alt - gmi_label_heart - gmi_label - gmi_labels - gmi_lamp - gmi_landscape - gmi_layers_off - gmi_layers - gmi_library - gmi_link - gmi_lock_open - gmi_lock_outline - gmi_lock - gmi_mail_reply_all - gmi_mail_reply - gmi_mail_send - gmi_mall - gmi_map - gmi_menu - gmi_money_box - gmi_money_off - gmi_money - gmi_more_vert - gmi_more - gmi_movie_alt - gmi_movie - gmi_nature_people - gmi_nature - gmi_navigation - gmi_open_in_browser - gmi_open_in_new - gmi_palette - gmi_parking - gmi_pin_account - gmi_pin_assistant - gmi_pin_drop - gmi_pin_help - gmi_pin_off - gmi_pin - gmi_pizza - gmi_plaster - gmi_power_setting - gmi_power - gmi_print - gmi_puzzle_piece - gmi_quote - gmi_railway - gmi_receipt - gmi_refresh_alt - gmi_refresh_sync_alert - gmi_refresh_sync_off - gmi_refresh_sync - gmi_refresh - gmi_roller - gmi_ruler - gmi_scissors - gmi_screen_rotation_lock - gmi_screen_rotation - gmi_search_for - gmi_search_in_file - gmi_search_in_page - gmi_search_replace - gmi_search - gmi_seat - gmi_settings_square - gmi_settings - gmi_shield_check - gmi_shield_security - gmi_shopping_basket - gmi_shopping_cart_plus - gmi_shopping_cart - gmi_sign_in - gmi_sort_amount_asc - gmi_sort_amount_desc - gmi_sort_asc - gmi_sort_desc - gmi_spellcheck - gmi_storage - gmi_store_24 - gmi_store - gmi_subway - gmi_sun - gmi_tab_unselected - gmi_tab - gmi_tag_close - gmi_tag_more - gmi_tag - gmi_thumb_down - gmi_thumb_up_down - gmi_thumb_up - gmi_ticket_star - gmi_toll - gmi_toys - gmi_traffic - gmi_translate - gmi_triangle_down - gmi_triangle_up - gmi_truck - gmi_turning_sign - gmi_wallpaper - gmi_washing_machine - gmi_window_maximize - gmi_window_minimize - gmi_window_restore - gmi_wrench - gmi_zoom_in - gmi_zoom_out - gmi_alert_circle_o - gmi_alert_circle - gmi_alert_octagon - gmi_alert_polygon - gmi_alert_triangle - gmi_help_outline - gmi_help - gmi_info_outline - gmi_info - gmi_notifications_active - gmi_notifications_add - gmi_notifications_none - gmi_notifications_off - gmi_notifications_paused - gmi_notifications - gmi_account_add - gmi_account_box_mail - gmi_account_box_o - gmi_account_box_phone - gmi_account_box - gmi_account_calendar - gmi_account_circle - gmi_account_o - gmi_account - gmi_accounts_add - gmi_accounts_alt - gmi_accounts_list_alt - gmi_accounts_list - gmi_accounts_outline - gmi_accounts - gmi_face - gmi_female - gmi_male_alt - gmi_male_female - gmi_male - gmi_mood_bad - gmi_mood - gmi_run - gmi_walk - gmi_cloud_box - gmi_cloud_circle - gmi_cloud_done - gmi_cloud_download - gmi_cloud_off - gmi_cloud_outline_alt - gmi_cloud_outline - gmi_cloud_upload - gmi_cloud - gmi_download - gmi_file_plus - gmi_file_text - gmi_file - gmi_folder_outline - gmi_folder_person - gmi_folder_star_alt - gmi_folder_star - gmi_folder - gmi_gif - gmi_upload - gmi_border_all - gmi_border_bottom - gmi_border_clear - gmi_border_color - gmi_border_horizontal - gmi_border_inner - gmi_border_left - gmi_border_outer - gmi_border_right - gmi_border_style - gmi_border_top - gmi_border_vertical - gmi_copy - gmi_crop - gmi_format_align_center - gmi_format_align_justify - gmi_format_align_left - gmi_format_align_right - gmi_format_bold - gmi_format_clear_all - gmi_format_clear - gmi_format_color_fill - gmi_format_color_reset - gmi_format_color_text - gmi_format_indent_decrease - gmi_format_indent_increase - gmi_format_italic - gmi_format_line_spacing - gmi_format_list_bulleted - gmi_format_list_numbered - gmi_format_ltr - gmi_format_rtl - gmi_format_size - gmi_format_strikethrough_s - gmi_format_strikethrough - gmi_format_subject - gmi_format_underlined - gmi_format_valign_bottom - gmi_format_valign_center - gmi_format_valign_top - gmi_redo - gmi_select_all - gmi_space_bar - gmi_text_format - gmi_transform - gmi_undo - gmi_wrap_text - gmi_comment_alert - gmi_comment_alt_text - gmi_comment_alt - gmi_comment_edit - gmi_comment_image - gmi_comment_list - gmi_comment_more - gmi_comment_outline - gmi_comment_text_alt - gmi_comment_text - gmi_comment_video - gmi_comment - gmi_comments - gmi_check_all - gmi_check_circle_u - gmi_check_circle - gmi_check_square - gmi_check - gmi_circle_o - gmi_circle - gmi_dot_circle_alt - gmi_dot_circle - gmi_minus_circle_outline - gmi_minus_circle - gmi_minus_square - gmi_minus - gmi_plus_circle_o_duplicate - gmi_plus_circle_o - gmi_plus_circle - gmi_plus_square - gmi_plus - gmi_square_o - gmi_star_circle - gmi_star_half - gmi_star_outline - gmi_star - gmi_bluetooth_connected - gmi_bluetooth_off - gmi_bluetooth_search - gmi_bluetooth_setting - gmi_bluetooth - gmi_camera_add - gmi_camera_alt - gmi_camera_bw - gmi_camera_front - gmi_camera_mic - gmi_camera_party_mode - gmi_camera_rear - gmi_camera_roll - gmi_camera_switch - gmi_camera - gmi_card_alert - gmi_card_off - gmi_card_sd - gmi_card_sim - gmi_desktop_mac - gmi_desktop_windows - gmi_device_hub - gmi_devices_off - gmi_devices - gmi_dock - gmi_floppy - gmi_gamepad - gmi_gps_dot - gmi_gps_off - gmi_gps - gmi_headset_mic - gmi_headset - gmi_input_antenna - gmi_input_composite - gmi_input_hdmi - gmi_input_power - gmi_input_svideo - gmi_keyboard_hide - gmi_keyboard - gmi_laptop_chromebook - gmi_laptop_mac - gmi_laptop - gmi_mic_off - gmi_mic_outline - gmi_mic_setting - gmi_mic - gmi_mouse - gmi_network_alert - gmi_network_locked - gmi_network_off - gmi_network_outline - gmi_network_setting - gmi_network - gmi_phone_bluetooth - gmi_phone_end - gmi_phone_forwarded - gmi_phone_in_talk - gmi_phone_locked - gmi_phone_missed - gmi_phone_msg - gmi_phone_paused - gmi_phone_ring - gmi_phone_setting - gmi_phone_sip - gmi_phone - gmi_portable_wifi_changes - gmi_portable_wifi_off - gmi_portable_wifi - gmi_radio - gmi_reader - gmi_remote_control_alt - gmi_remote_control - gmi_router - gmi_scanner - gmi_smartphone_android - gmi_smartphone_download - gmi_smartphone_erase - gmi_smartphone_info - gmi_smartphone_iphone - gmi_smartphone_landscape_lock - gmi_smartphone_landscape - gmi_smartphone_lock - gmi_smartphone_portrait_lock - gmi_smartphone_ring - gmi_smartphone_setting - gmi_smartphone_setup - gmi_smartphone - gmi_speaker - gmi_tablet_android - gmi_tablet_mac - gmi_tablet - gmi_tv_alt_play - gmi_tv_list - gmi_tv_play - gmi_tv - gmi_usb - gmi_videocam_off - gmi_videocam_switch - gmi_videocam - gmi_watch - gmi_wifi_alt_2 - gmi_wifi_alt - gmi_wifi_info - gmi_wifi_lock - gmi_wifi_off - gmi_wifi_outline - gmi_wifi - gmi_arrow_left_bottom - gmi_arrow_left - gmi_arrow_merge - gmi_arrow_missed - gmi_arrow_right_top - gmi_arrow_right - gmi_arrow_split - gmi_arrows - gmi_caret_down_circle - gmi_caret_down - gmi_caret_left_circle - gmi_caret_left - gmi_caret_right_circle - gmi_caret_right - gmi_caret_up_circle - gmi_caret_up - gmi_chevron_down - gmi_chevron_left - gmi_chevron_right - gmi_chevron_up - gmi_forward - gmi_long_arrow_down - gmi_long_arrow_left - gmi_long_arrow_return - gmi_long_arrow_right - gmi_long_arrow_tab - gmi_long_arrow_up - gmi_rotate_ccw - gmi_rotate_cw - gmi_rotate_left - gmi_rotate_right - gmi_square_down - gmi_square_right - gmi_swap_alt - gmi_swap_vertical_circle - gmi_swap_vertical - gmi_swap - gmi_trending_down - gmi_trending_flat - gmi_trending_up - gmi_unfold_less - gmi_unfold_more - gmi_apps - gmi_grid_off - gmi_grid - gmi_view_agenda - gmi_view_array - gmi_view_carousel - gmi_view_column - gmi_view_comfy - gmi_view_compact - gmi_view_dashboard - gmi_view_day - gmi_view_headline - gmi_view_list_alt - gmi_view_list - gmi_view_module - gmi_view_quilt - gmi_view_stream - gmi_view_subtitles - gmi_view_toc - gmi_view_web - gmi_view_week - gmi_widgets - gmi_alarm_check - gmi_alarm_off - gmi_alarm_plus - gmi_alarm_snooze - gmi_alarm - gmi_calendar_alt - gmi_calendar_check - gmi_calendar_close - gmi_calendar_note - gmi_calendar - gmi_time_countdown - gmi_time_interval - gmi_time_restore_setting - gmi_time_restore - gmi_time - gmi_timer_off - gmi_timer - gmi_android_alt - gmi_android - gmi_apple - gmi_behance - gmi_codepen - gmi_dribbble - gmi_dropbox - gmi_evernote - gmi_facebook_box - gmi_facebook - gmi_github_box - gmi_github - gmi_google_drive - gmi_google_earth - gmi_google_glass - gmi_google_maps - gmi_google_pages - gmi_google_play - gmi_google_plus_box - gmi_google_plus - gmi_google - gmi_instagram - gmi_language_css3 - gmi_language_html5 - gmi_language_javascript - gmi_language_python_alt - gmi_language_python - gmi_lastfm - gmi_linkedin_box - gmi_paypal - gmi_pinterest_box - gmi_pocket - gmi_polymer - gmi_share - gmi_stackoverflow - gmi_steam_square - gmi_steam - gmi_twitter_box - gmi_twitter - gmi_vk - gmi_wikipedia - gmi_windows - gmi_aspect_ratio_alt - gmi_aspect_ratio - gmi_blur_circular - gmi_blur_linear - gmi_blur_off - gmi_blur - gmi_brightness_2 - gmi_brightness_3 - gmi_brightness_4 - gmi_brightness_5 - gmi_brightness_6 - gmi_brightness_7 - gmi_brightness_auto - gmi_brightness_setting - gmi_broken_image - gmi_center_focus_strong - gmi_center_focus_weak - gmi_compare - gmi_crop_16_9 - gmi_crop_3_2 - gmi_crop_5_4 - gmi_crop_7_5 - gmi_crop_din - gmi_crop_free - gmi_crop_landscape - gmi_crop_portrait - gmi_crop_square - gmi_exposure_alt - gmi_exposure - gmi_filter_b_and_w - gmi_filter_center_focus - gmi_filter_frames - gmi_filter_tilt_shift - gmi_gradient - gmi_grain - gmi_graphic_eq - gmi_hdr_off - gmi_hdr_strong - gmi_hdr_weak - gmi_hdr - gmi_iridescent - gmi_leak_off - gmi_leak - gmi_looks - gmi_loupe - gmi_panorama_horizontal - gmi_panorama_vertical - gmi_panorama_wide_angle - gmi_photo_size_select_large - gmi_photo_size_select_small - gmi_picture_in_picture - gmi_slideshow - gmi_texture - gmi_tonality - gmi_vignette - gmi_wb_auto - gmi_eject_alt - gmi_eject - gmi_equalizer - gmi_fast_forward - gmi_fast_rewind - gmi_forward_10 - gmi_forward_30 - gmi_forward_5 - gmi_hearing - gmi_pause_circle_outline - gmi_pause_circle - gmi_pause - gmi_play_circle_outline - gmi_play_circle - gmi_play - gmi_playlist_audio - gmi_playlist_plus - gmi_repeat_one - gmi_repeat - gmi_replay_10 - gmi_replay_30 - gmi_replay_5 - gmi_replay - gmi_shuffle - gmi_skip_next - gmi_skip_previous - gmi_stop - gmi_surround_sound - gmi_tune - gmi_volume_down - gmi_volume_mute - gmi_volume_off - gmi_volume_up - gmi_n_1_square - gmi_n_2_square - gmi_n_3_square - gmi_n_4_square - gmi_n_5_square - gmi_n_6_square - gmi_neg_1 - gmi_neg_2 - gmi_plus_1 - gmi_plus_2 - gmi_sec_10 - gmi_sec_3 - gmi_zero - gmi_airline_seat_flat_angled - gmi_airline_seat_flat - gmi_airline_seat_individual_suite - gmi_airline_seat_legroom_extra - gmi_airline_seat_legroom_normal - gmi_airline_seat_legroom_reduced - gmi_airline_seat_recline_extra - gmi_airline_seat_recline_normal - gmi_airplay - gmi_closed_caption - gmi_confirmation_number - gmi_developer_board - gmi_disc_full - gmi_explicit - gmi_flight_land - gmi_flight_takeoff - gmi_flip_to_back - gmi_flip_to_front - gmi_group_work - gmi_hd - gmi_hq - gmi_markunread_mailbox - gmi_memory - gmi_nfc - gmi_play_for_work - gmi_power_input - gmi_present_to_all - gmi_satellite - gmi_tap_and_play - gmi_vibration - gmi_voicemail - gmi_group - gmi_rss - gmi_shape - gmi_spinner - gmi_ungroup - gmi_500px - gmi_8tracks - gmi_amazon - gmi_blogger - gmi_delicious - gmi_disqus - gmi_flattr - gmi_flickr - gmi_github_alt - gmi_google_old - gmi_linkedin - gmi_odnoklassniki - gmi_outlook - gmi_paypal_alt - gmi_pinterest - gmi_playstation - gmi_reddit - gmi_skype - gmi_slideshare - gmi_soundcloud - gmi_tumblr - gmi_twitch - gmi_vimeo - gmi_whatsapp - gmi_xbox - gmi_yahoo - gmi_youtube_play - gmi_youtube - gmi_import_export - gmi_swap_vertical_ - gmi_airplanemode_inactive - gmi_airplanemode_active - gmi_rate_review - gmi_comment_sign - gmi_network_warning - gmi_shopping_cart_add - gmi_file_add - gmi_network_wifi_scan - gmi_collection_add - gmi_format_playlist_add - gmi_format_queue_music - gmi_plus_box - gmi_tag_backspace - gmi_alarm_add - gmi_battery_charging - gmi_daydream_setting - gmi_more_horiz - gmi_book_photo - gmi_incandescent - gmi_wb_iridescent - gmi_calendar_remove - gmi_refresh_sync_disabled - gmi_refresh_sync_problem - gmi_crop_original - gmi_power_off - gmi_power_off_setting - gmi_leak_remove - gmi_star_border - gmi_brightness_low - gmi_brightness_medium - gmi_brightness_high - gmi_smartphone_portrait - gmi_live_tv - gmi_format_textdirection_l_to_r - gmi_format_textdirection_r_to_l - gmi_arrow_back - gmi_arrow_forward - gmi_arrow_in - gmi_arrow_out - gmi_rotate_90_degrees_ccw - gmi_adb - gmi_network_wifi - gmi_network_wifi_alt - gmi_network_wifi_lock - gmi_network_wifi_off - gmi_network_wifi_outline - gmi_network_wifi_info - gmi_layers_clear - gmi_colorize - gmi_format_paint - gmi_format_quote - gmi_camera_monochrome_photos - gmi_sort_by_alpha - gmi_folder_shared - gmi_folder_special - gmi_comment_dots - gmi_reorder - gmi_dehaze - gmi_sort - gmi_pages - gmi_stack_overflow - gmi_calendar_account - gmi_paste - gmi_cut - gmi_save - gmi_smartphone_code - gmi_directions_bike - gmi_directions_boat - gmi_directions_bus - gmi_directions_car - gmi_directions_railway - gmi_directions_run - gmi_directions_subway - gmi_directions_walk - gmi_local_hotel - gmi_local_activity - gmi_local_play - gmi_local_airport - gmi_local_atm - gmi_local_bar - gmi_local_cafe - gmi_local_car_wash - gmi_local_convenience_store - gmi_local_dining - gmi_local_drink - gmi_local_florist - gmi_local_gas_station - gmi_local_grocery_store - gmi_local_hospital - gmi_local_laundry_service - gmi_local_library - gmi_local_mall - gmi_local_movies - gmi_local_offer - gmi_local_parking - gmi_local_pharmacy - gmi_local_phone - gmi_local_pizza - gmi_local_post_office - gmi_local_printshop - gmi_local_see - gmi_local_shipping - gmi_local_store - gmi_local_taxi - gmi_local_wc - gmi_my_location - gmi_directions - diff --git a/FONT_IDS/_current_meteocons_v1.1.1.xml b/FONT_IDS/_current_meteocons_v1.1.1.xml deleted file mode 100644 index 5c52080a..00000000 --- a/FONT_IDS/_current_meteocons_v1.1.1.xml +++ /dev/null @@ -1,49 +0,0 @@ - - met_windy_rain_inv - met_snow_inv - met_snow_heavy_inv - met_hail_inv - met_clouds_inv - met_clouds_flash_inv - met_temperature - met_compass - met_na - met_celcius - met_fahrenheit - met_clouds_flash_alt - met_sun_inv - met_moon_inv - met_cloud_sun_inv - met_cloud_moon_inv - met_cloud_inv - met_cloud_flash_inv - met_drizzle_inv - met_rain_inv - met_windy_inv - met_sunrise - met_sun - met_moon - met_eclipse - met_mist - met_wind - met_snowflake - met_cloud_sun - met_cloud_moon - met_fog_sun - met_fog_moon - met_fog_cloud - met_fog - met_cloud - met_cloud_flash - met_cloud_flash_alt - met_drizzle - met_rain - met_windy - met_windy_rain - met_snow - met_snow_alt - met_snow_heavy - met_hail - met_clouds - met_clouds_flash - diff --git a/FONT_IDS/_current_octicons_v3.2.0.xml b/FONT_IDS/_current_octicons_v3.2.0.xml deleted file mode 100644 index b81469ed..00000000 --- a/FONT_IDS/_current_octicons_v3.2.0.xml +++ /dev/null @@ -1,195 +0,0 @@ - - oct_alert - oct_arrow_down - oct_arrow_left - oct_arrow_right - oct_arrow_small_down - oct_arrow_small_left - oct_arrow_small_right - oct_arrow_small_up - oct_arrow_up - oct_microscope - oct_beaker - oct_bell - oct_bold - oct_book - oct_bookmark - oct_briefcase - oct_broadcast - oct_browser - oct_bug - oct_calendar - oct_check - oct_checklist - oct_chevron_down - oct_chevron_left - oct_chevron_right - oct_chevron_up - oct_circle_slash - oct_circuit_board - oct_clippy - oct_clock - oct_cloud_download - oct_cloud_upload - oct_code - oct_color_mode - oct_comment_add - oct_comment - oct_comment_discussion - oct_credit_card - oct_dash - oct_dashboard - oct_database - oct_clone - oct_desktop_download - oct_device_camera - oct_device_camera_video - oct_device_desktop - oct_device_mobile - oct_diff - oct_diff_added - oct_diff_ignored - oct_diff_modified - oct_diff_removed - oct_diff_renamed - oct_ellipsis - oct_eye_unwatch - oct_eye_watch - oct_eye - oct_file_binary - oct_file_code - oct_file_directory - oct_file_media - oct_file_pdf - oct_file_submodule - oct_file_symlink_directory - oct_file_symlink_file - oct_file_text - oct_file_zip - oct_flame - oct_fold - oct_gear - oct_gift - oct_gist - oct_gist_secret - oct_git_branch_create - oct_git_branch_delete - oct_git_branch - oct_git_commit - oct_git_compare - oct_git_merge - oct_git_pull_request_abandoned - oct_git_pull_request - oct_globe - oct_graph - oct_heart - oct_history - oct_home - oct_horizontal_rule - oct_hubot - oct_inbox - oct_info - oct_issue_closed - oct_issue_opened - oct_issue_reopened - oct_italic - oct_jersey - oct_key - oct_keyboard - oct_law - oct_light_bulb - oct_link - oct_link_external - oct_list_ordered - oct_list_unordered - oct_location - oct_gist_private - oct_mirror_private - oct_git_fork_private - oct_lock - oct_logo_github - oct_mail - oct_mail_read - oct_mail_reply - oct_mark_github - oct_markdown - oct_megaphone - oct_mention - oct_milestone - oct_mirror_public - oct_mirror - oct_mortar_board - oct_mute - oct_no_newline - oct_octoface - oct_organization - oct_package - oct_paintcan - oct_pencil - oct_person_add - oct_person_follow - oct_person - oct_pin - oct_plug - oct_repo_create - oct_gist_new - oct_file_directory_create - oct_file_add - oct_plus - oct_primitive_dot - oct_primitive_square - oct_pulse - oct_question - oct_quote - oct_radio_tower - oct_repo_delete - oct_repo - oct_repo_clone - oct_repo_force_push - oct_gist_fork - oct_repo_forked - oct_repo_pull - oct_repo_push - oct_rocket - oct_rss - oct_ruby - oct_search_save - oct_search - oct_server - oct_settings - oct_shield - oct_log_in - oct_sign_in - oct_log_out - oct_sign_out - oct_squirrel - oct_star_add - oct_star_delete - oct_star - oct_stop - oct_repo_sync - oct_sync - oct_tag_remove - oct_tag_add - oct_tag - oct_tasklist - oct_telescope - oct_terminal - oct_text_size - oct_three_bars - oct_thumbsdown - oct_thumbsup - oct_tools - oct_trashcan - oct_triangle_down - oct_triangle_left - oct_triangle_right - oct_triangle_up - oct_unfold - oct_unmute - oct_versions - oct_watch - oct_remove_close - oct_x - oct_zap - diff --git a/FONT_IDS/_current_pixeden7_stroke_v1.2.0.0.xml b/FONT_IDS/_current_pixeden7_stroke_v1.2.0.0.xml deleted file mode 100644 index 38f40408..00000000 --- a/FONT_IDS/_current_pixeden7_stroke_v1.2.0.0.xml +++ /dev/null @@ -1,204 +0,0 @@ - - pe7_7s_album - pe7_7s_arc - pe7_7s_back_2 - pe7_7s_bandaid - pe7_7s_car - pe7_7s_diamond - pe7_7s_door_lock - pe7_7s_eyedropper - pe7_7s_female - pe7_7s_gym - pe7_7s_hammer - pe7_7s_headphones - pe7_7s_helm - pe7_7s_hourglass - pe7_7s_leaf - pe7_7s_magic_wand - pe7_7s_male - pe7_7s_map_2 - pe7_7s_next_2 - pe7_7s_paint_bucket - pe7_7s_pendrive - pe7_7s_photo - pe7_7s_piggy - pe7_7s_plugin - pe7_7s_refresh_2 - pe7_7s_rocket - pe7_7s_settings - pe7_7s_shield - pe7_7s_smile - pe7_7s_usb - pe7_7s_vector - pe7_7s_wine - pe7_7s_cloud_upload - pe7_7s_cash - pe7_7s_close - pe7_7s_bluetooth - pe7_7s_cloud_download - pe7_7s_way - pe7_7s_close_circle - pe7_7s_id - pe7_7s_angle_up - pe7_7s_wristwatch - pe7_7s_angle_up_circle - pe7_7s_world - pe7_7s_angle_right - pe7_7s_volume - pe7_7s_angle_right_circle - pe7_7s_users - pe7_7s_angle_left - pe7_7s_user_female - pe7_7s_angle_left_circle - pe7_7s_up_arrow - pe7_7s_angle_down - pe7_7s_switch - pe7_7s_angle_down_circle - pe7_7s_scissors - pe7_7s_wallet - pe7_7s_safe - pe7_7s_volume2 - pe7_7s_volume1 - pe7_7s_voicemail - pe7_7s_video - pe7_7s_user - pe7_7s_upload - pe7_7s_unlock - pe7_7s_umbrella - pe7_7s_trash - pe7_7s_tools - pe7_7s_timer - pe7_7s_ticket - pe7_7s_target - pe7_7s_sun - pe7_7s_study - pe7_7s_stopwatch - pe7_7s_star - pe7_7s_speaker - pe7_7s_signal - pe7_7s_shuffle - pe7_7s_shopbag - pe7_7s_share - pe7_7s_server - pe7_7s_search - pe7_7s_film - pe7_7s_science - pe7_7s_disk - pe7_7s_ribbon - pe7_7s_repeat - pe7_7s_refresh - pe7_7s_add_user - pe7_7s_refresh_cloud - pe7_7s_paperclip - pe7_7s_radio - pe7_7s_note2 - pe7_7s_print - pe7_7s_network - pe7_7s_prev - pe7_7s_mute - pe7_7s_power - pe7_7s_medal - pe7_7s_portfolio - pe7_7s_like2 - pe7_7s_plus - pe7_7s_left_arrow - pe7_7s_play - pe7_7s_key - pe7_7s_plane - pe7_7s_joy - pe7_7s_photo_gallery - pe7_7s_pin - pe7_7s_phone - pe7_7s_plug - pe7_7s_pen - pe7_7s_right_arrow - pe7_7s_paper_plane - pe7_7s_delete_user - pe7_7s_paint - pe7_7s_bottom_arrow - pe7_7s_notebook - pe7_7s_note - pe7_7s_next - pe7_7s_news_paper - pe7_7s_musiclist - pe7_7s_music - pe7_7s_mouse - pe7_7s_more - pe7_7s_moon - pe7_7s_monitor - pe7_7s_micro - pe7_7s_menu - pe7_7s_map - pe7_7s_map_marker - pe7_7s_mail - pe7_7s_mail_open - pe7_7s_mail_open_file - pe7_7s_magnet - pe7_7s_loop - pe7_7s_look - pe7_7s_lock - pe7_7s_lintern - pe7_7s_link - pe7_7s_like - pe7_7s_light - pe7_7s_less - pe7_7s_keypad - pe7_7s_junk - pe7_7s_info - pe7_7s_home - pe7_7s_help2 - pe7_7s_help1 - pe7_7s_graph3 - pe7_7s_graph2 - pe7_7s_graph1 - pe7_7s_graph - pe7_7s_global - pe7_7s_gleam - pe7_7s_glasses - pe7_7s_gift - pe7_7s_folder - pe7_7s_flag - pe7_7s_filter - pe7_7s_file - pe7_7s_expand1 - pe7_7s_exapnd2 - pe7_7s_edit - pe7_7s_drop - pe7_7s_drawer - pe7_7s_download - pe7_7s_display2 - pe7_7s_display1 - pe7_7s_diskette - pe7_7s_date - pe7_7s_cup - pe7_7s_culture - pe7_7s_crop - pe7_7s_credit - pe7_7s_copy_file - pe7_7s_config - pe7_7s_compass - pe7_7s_comment - pe7_7s_coffee - pe7_7s_cloud - pe7_7s_clock - pe7_7s_check - pe7_7s_chat - pe7_7s_cart - pe7_7s_camera - pe7_7s_call - pe7_7s_calculator - pe7_7s_browser - pe7_7s_box2 - pe7_7s_box1 - pe7_7s_bookmarks - pe7_7s_bicycle - pe7_7s_bell - pe7_7s_battery - pe7_7s_ball - pe7_7s_back - pe7_7s_attention - pe7_7s_anchor - pe7_7s_albums - pe7_7s_alarm - pe7_7s_airplay - diff --git a/FONT_IDS/_current_typeicons_v2.0.7.1.xml b/FONT_IDS/_current_typeicons_v2.0.7.1.xml deleted file mode 100644 index ad414cdc..00000000 --- a/FONT_IDS/_current_typeicons_v2.0.7.1.xml +++ /dev/null @@ -1,338 +0,0 @@ - - typ_adjust_brightness - typ_adjust_contrast - typ_anchor_outline - typ_anchor - typ_archive - typ_arrow_back_outline - typ_arrow_back - typ_arrow_down_outline - typ_arrow_down_thick - typ_arrow_down - typ_arrow_forward_outline - typ_arrow_forward - typ_arrow_left_outline - typ_arrow_left_thick - typ_arrow_left - typ_arrow_loop_outline - typ_arrow_loop - typ_arrow_maximise_outline - typ_arrow_maximise - typ_arrow_minimise_outline - typ_arrow_minimise - typ_arrow_move_outline - typ_arrow_move - typ_arrow_repeat_outline - typ_arrow_repeat - typ_arrow_right_outline - typ_arrow_right_thick - typ_arrow_right - typ_arrow_shuffle - typ_arrow_sorted_down - typ_arrow_sorted_up - typ_arrow_sync_outline - typ_arrow_sync - typ_arrow_unsorted - typ_arrow_up_outline - typ_arrow_up_thick - typ_arrow_up - typ_at - typ_attachment_outline - typ_attachment - typ_backspace_outline - typ_backspace - typ_battery_charge - typ_battery_full - typ_battery_high - typ_battery_low - typ_battery_mid - typ_beaker - typ_beer - typ_bell - typ_book - typ_bookmark - typ_briefcase - typ_brush - typ_business_card - typ_calculator - typ_calendar_outline - typ_calendar - typ_camera_outline - typ_camera - typ_cancel_outline - typ_cancel - typ_chart_area_outline - typ_chart_area - typ_chart_bar_outline - typ_chart_bar - typ_chart_line_outline - typ_chart_line - typ_chart_pie_outline - typ_chart_pie - typ_chevron_left_outline - typ_chevron_left - typ_chevron_right_outline - typ_chevron_right - typ_clipboard - typ_cloud_storage - typ_cloud_storage_outline - typ_code_outline - typ_code - typ_coffee - typ_cog_outline - typ_cog - typ_compass - typ_contacts - typ_credit_card - typ_css3 - typ_database - typ_delete_outline - typ_delete - typ_device_desktop - typ_device_laptop - typ_device_phone - typ_device_tablet - typ_directions - typ_divide_outline - typ_divide - typ_document_add - typ_document_delete - typ_document_text - typ_document - typ_download_outline - typ_download - typ_dropbox - typ_edit - typ_eject_outline - typ_eject - typ_equals_outline - typ_equals - typ_export_outline - typ_export - typ_eye_outline - typ_eye - typ_feather - typ_film - typ_filter - typ_flag_outline - typ_flag - typ_flash_outline - typ_flash - typ_flow_children - typ_flow_merge - typ_flow_parallel - typ_flow_switch - typ_folder_add - typ_folder_delete - typ_folder_open - typ_folder - typ_gift - typ_globe_outline - typ_globe - typ_group_outline - typ_group - typ_headphones - typ_heart_full_outline - typ_heart_half_outline - typ_heart_outline - typ_heart - typ_home_outline - typ_home - typ_html5 - typ_image_outline - typ_image - typ_infinity_outline - typ_infinity - typ_info_large_outline - typ_info_large - typ_info_outline - typ_info - typ_input_checked_outline - typ_input_checked - typ_key_outline - typ_key - typ_keyboard - typ_leaf - typ_lightbulb - typ_link_outline - typ_link - typ_location_arrow_outline - typ_location_arrow - typ_location_outline - typ_location - typ_lock_closed_outline - typ_lock_closed - typ_lock_open_outline - typ_lock_open - typ_mail - typ_map - typ_media_eject_outline - typ_media_eject - typ_media_fast_forward_outline - typ_media_fast_forward - typ_media_pause_outline - typ_media_pause - typ_media_play_outline - typ_media_play_reverse_outline - typ_media_play_reverse - typ_media_play - typ_media_record_outline - typ_media_record - typ_media_rewind_outline - typ_media_rewind - typ_media_stop_outline - typ_media_stop - typ_message_typing - typ_message - typ_messages - typ_microphone_outline - typ_microphone - typ_minus_outline - typ_minus - typ_mortar_board - typ_news - typ_notes_outline - typ_notes - typ_pen - typ_pencil - typ_phone_outline - typ_phone - typ_pi_outline - typ_pi - typ_pin_outline - typ_pin - typ_pipette - typ_plane_outline - typ_plane - typ_plug - typ_plus_outline - typ_plus - typ_point_of_interest_outline - typ_point_of_interest - typ_power_outline - typ_power - typ_printer - typ_puzzle_outline - typ_puzzle - typ_radar_outline - typ_radar - typ_refresh_outline - typ_refresh - typ_rss_outline - typ_rss - typ_scissors_outline - typ_scissors - typ_shopping_bag - typ_shopping_cart - typ_social_at_circular - typ_social_dribbble_circular - typ_social_dribbble - typ_social_facebook_circular - typ_social_facebook - typ_social_flickr_circular - typ_social_flickr - typ_social_github_circular - typ_social_github - typ_social_google_plus_circular - typ_social_google_plus - typ_social_instagram_circular - typ_social_instagram - typ_social_last_fm_circular - typ_social_last_fm - typ_social_linkedin_circular - typ_social_linkedin - typ_social_pinterest_circular - typ_social_pinterest - typ_social_skype_outline - typ_social_skype - typ_social_tumbler_circular - typ_social_tumbler - typ_social_twitter_circular - typ_social_twitter - typ_social_vimeo_circular - typ_social_vimeo - typ_social_youtube_circular - typ_social_youtube - typ_sort_alphabetically_outline - typ_sort_alphabetically - typ_sort_numerically_outline - typ_sort_numerically - typ_spanner_outline - typ_spanner - typ_spiral - typ_star_full_outline - typ_star_half_outline - typ_star_half - typ_star_outline - typ_star - typ_starburst_outline - typ_starburst - typ_stopwatch - typ_support - typ_tabs_outline - typ_tag - typ_tags - typ_th_large_outline - typ_th_large - typ_th_list_outline - typ_th_list - typ_th_menu_outline - typ_th_menu - typ_th_small_outline - typ_th_small - typ_thermometer - typ_thumbs_down - typ_thumbs_ok - typ_thumbs_up - typ_tick_outline - typ_tick - typ_ticket - typ_time - typ_times_outline - typ_times - typ_trash - typ_tree - typ_upload_outline - typ_upload - typ_user_add_outline - typ_user_add - typ_user_delete_outline - typ_user_delete - typ_user_outline - typ_user - typ_vendor_android - typ_vendor_apple - typ_vendor_microsoft - typ_video_outline - typ_video - typ_volume_down - typ_volume_mute - typ_volume_up - typ_volume - typ_warning_outline - typ_warning - typ_watch - typ_waves_outline - typ_waves - typ_weather_cloudy - typ_weather_downpour - typ_weather_night - typ_weather_partly_sunny - typ_weather_shower - typ_weather_snow - typ_weather_stormy - typ_weather_sunny - typ_weather_windy_cloudy - typ_weather_windy - typ_wi_fi_outline - typ_wi_fi - typ_wine - typ_world_outline - typ_world - typ_zoom_in_outline - typ_zoom_in - typ_zoom_out_outline - typ_zoom_out - typ_zoom_outline - typ_zoom - diff --git a/FONT_IDS/_current_weather_icons_v2.0.10.xml b/FONT_IDS/_current_weather_icons_v2.0.10.xml deleted file mode 100644 index 6f322f5f..00000000 --- a/FONT_IDS/_current_weather_icons_v2.0.10.xml +++ /dev/null @@ -1,592 +0,0 @@ - - wic_day_sunny - wic_day_cloudy - wic_day_cloudy_gusts - wic_day_cloudy_windy - wic_day_fog - wic_day_hail - wic_day_haze - wic_day_lightning - wic_day_rain - wic_day_rain_mix - wic_day_rain_wind - wic_day_showers - wic_day_sleet - wic_day_sleet_storm - wic_day_snow - wic_day_snow_thunderstorm - wic_day_snow_wind - wic_day_sprinkle - wic_day_storm_showers - wic_day_sunny_overcast - wic_day_thunderstorm - wic_day_windy - wic_solar_eclipse - wic_hot - wic_day_cloudy_high - wic_day_light_wind - wic_night_clear - wic_night_alt_cloudy - wic_night_alt_cloudy_gusts - wic_night_alt_cloudy_windy - wic_night_alt_hail - wic_night_alt_lightning - wic_night_alt_rain - wic_night_alt_rain_mix - wic_night_alt_rain_wind - wic_night_alt_showers - wic_night_alt_sleet - wic_night_alt_sleet_storm - wic_night_alt_snow - wic_night_alt_snow_thunderstorm - wic_night_alt_snow_wind - wic_night_alt_sprinkle - wic_night_alt_storm_showers - wic_night_alt_thunderstorm - wic_night_cloudy - wic_night_cloudy_gusts - wic_night_cloudy_windy - wic_night_fog - wic_night_hail - wic_night_lightning - wic_night_partly_cloudy - wic_night_rain - wic_night_rain_mix - wic_night_rain_wind - wic_night_showers - wic_night_sleet - wic_night_sleet_storm - wic_night_snow - wic_night_snow_thunderstorm - wic_night_snow_wind - wic_night_sprinkle - wic_night_storm_showers - wic_night_thunderstorm - wic_lunar_eclipse - wic_stars - wic_night_alt_cloudy_high - wic_night_cloudy_high - wic_night_alt_partly_cloudy - wic_cloud - wic_cloudy - wic_cloudy_gusts - wic_cloudy_windy - wic_fog - wic_hail - wic_rain - wic_rain_mix - wic_rain_wind - wic_showers - wic_sleet - wic_sprinkle - wic_storm_showers - wic_thunderstorm - wic_snow_wind - wic_snow - wic_smog - wic_smoke - wic_lightning - wic_raindrops - wic_raindrop - wic_dust - wic_snowflake_cold - wic_windy - wic_strong_wind - wic_sandstorm - wic_earthquake - wic_fire - wic_flood - wic_meteor - wic_tsunami - wic_volcano - wic_hurricane - wic_tornado - wic_small_craft_advisory - wic_gale_warning - wic_storm_warning - wic_hurricane_warning - wic_wind_direction - wic_alien - wic_celsius - wic_fahrenheit - wic_degrees - wic_thermometer - wic_thermometer_exterior - wic_thermometer_internal - wic_cloud_down - wic_cloud_up - wic_cloud_refresh - wic_horizon - wic_horizon_alt - wic_sunrise - wic_sunset - wic_moonrise - wic_moonset - wic_refresh - wic_refresh_alt - wic_umbrella - wic_barometer - wic_humidity - wic_na - wic_train - wic_moon_new - wic_moon_waxing_crescent_1 - wic_moon_waxing_crescent_2 - wic_moon_waxing_crescent_3 - wic_moon_waxing_crescent_4 - wic_moon_waxing_crescent_5 - wic_moon_waxing_crescent_6 - wic_moon_first_quarter - wic_moon_waxing_gibbous_1 - wic_moon_waxing_gibbous_2 - wic_moon_waxing_gibbous_3 - wic_moon_waxing_gibbous_4 - wic_moon_waxing_gibbous_5 - wic_moon_waxing_gibbous_6 - wic_moon_full - wic_moon_waning_gibbous_1 - wic_moon_waning_gibbous_2 - wic_moon_waning_gibbous_3 - wic_moon_waning_gibbous_4 - wic_moon_waning_gibbous_5 - wic_moon_waning_gibbous_6 - wic_moon_third_quarter - wic_moon_waning_crescent_1 - wic_moon_waning_crescent_2 - wic_moon_waning_crescent_3 - wic_moon_waning_crescent_4 - wic_moon_waning_crescent_5 - wic_moon_waning_crescent_6 - wic_moon_alt_new - wic_moon_alt_waxing_crescent_1 - wic_moon_alt_waxing_crescent_2 - wic_moon_alt_waxing_crescent_3 - wic_moon_alt_waxing_crescent_4 - wic_moon_alt_waxing_crescent_5 - wic_moon_alt_waxing_crescent_6 - wic_moon_alt_first_quarter - wic_moon_alt_waxing_gibbous_1 - wic_moon_alt_waxing_gibbous_2 - wic_moon_alt_waxing_gibbous_3 - wic_moon_alt_waxing_gibbous_4 - wic_moon_alt_waxing_gibbous_5 - wic_moon_alt_waxing_gibbous_6 - wic_moon_alt_full - wic_moon_alt_waning_gibbous_1 - wic_moon_alt_waning_gibbous_2 - wic_moon_alt_waning_gibbous_3 - wic_moon_alt_waning_gibbous_4 - wic_moon_alt_waning_gibbous_5 - wic_moon_alt_waning_gibbous_6 - wic_moon_alt_third_quarter - wic_moon_alt_waning_crescent_1 - wic_moon_alt_waning_crescent_2 - wic_moon_alt_waning_crescent_3 - wic_moon_alt_waning_crescent_4 - wic_moon_alt_waning_crescent_5 - wic_moon_alt_waning_crescent_6 - wic_moon_0 - wic_moon_1 - wic_moon_2 - wic_moon_3 - wic_moon_4 - wic_moon_5 - wic_moon_6 - wic_moon_7 - wic_moon_8 - wic_moon_9 - wic_moon_10 - wic_moon_11 - wic_moon_12 - wic_moon_13 - wic_moon_14 - wic_moon_15 - wic_moon_16 - wic_moon_17 - wic_moon_18 - wic_moon_19 - wic_moon_20 - wic_moon_21 - wic_moon_22 - wic_moon_23 - wic_moon_24 - wic_moon_25 - wic_moon_26 - wic_moon_27 - wic_time_1 - wic_time_2 - wic_time_3 - wic_time_4 - wic_time_5 - wic_time_6 - wic_time_7 - wic_time_8 - wic_time_9 - wic_time_10 - wic_time_11 - wic_time_12 - wic_direction_up - wic_direction_up_right - wic_direction_right - wic_direction_down_right - wic_direction_down - wic_direction_down_left - wic_direction_left - wic_direction_up_left - wic_wind_beaufort_0 - wic_wind_beaufort_1 - wic_wind_beaufort_2 - wic_wind_beaufort_3 - wic_wind_beaufort_4 - wic_wind_beaufort_5 - wic_wind_beaufort_6 - wic_wind_beaufort_7 - wic_wind_beaufort_8 - wic_wind_beaufort_9 - wic_wind_beaufort_10 - wic_wind_beaufort_11 - wic_wind_beaufort_12 - wic_yahoo_0 - wic_yahoo_1 - wic_yahoo_2 - wic_yahoo_3 - wic_yahoo_4 - wic_yahoo_5 - wic_yahoo_6 - wic_yahoo_7 - wic_yahoo_8 - wic_yahoo_9 - wic_yahoo_10 - wic_yahoo_11 - wic_yahoo_12 - wic_yahoo_13 - wic_yahoo_14 - wic_yahoo_15 - wic_yahoo_16 - wic_yahoo_17 - wic_yahoo_18 - wic_yahoo_19 - wic_yahoo_20 - wic_yahoo_21 - wic_yahoo_22 - wic_yahoo_23 - wic_yahoo_24 - wic_yahoo_25 - wic_yahoo_26 - wic_yahoo_27 - wic_yahoo_28 - wic_yahoo_29 - wic_yahoo_30 - wic_yahoo_31 - wic_yahoo_32 - wic_yahoo_33 - wic_yahoo_34 - wic_yahoo_35 - wic_yahoo_36 - wic_yahoo_37 - wic_yahoo_38 - wic_yahoo_39 - wic_yahoo_40 - wic_yahoo_41 - wic_yahoo_42 - wic_yahoo_43 - wic_yahoo_44 - wic_yahoo_45 - wic_yahoo_46 - wic_yahoo_47 - wic_yahoo_3200 - wic_forecast_io_clear_day - wic_forecast_io_clear_night - wic_forecast_io_rain - wic_forecast_io_snow - wic_forecast_io_sleet - wic_forecast_io_wind - wic_forecast_io_fog - wic_forecast_io_cloudy - wic_forecast_io_partly_cloudy_day - wic_forecast_io_partly_cloudy_night - wic_forecast_io_hail - wic_forecast_io_thunderstorm - wic_forecast_io_tornado - wic_wmo4680_0 - wic_wmo4680_00 - wic_wmo4680_1 - wic_wmo4680_01 - wic_wmo4680_2 - wic_wmo4680_02 - wic_wmo4680_3 - wic_wmo4680_03 - wic_wmo4680_4 - wic_wmo4680_04 - wic_wmo4680_5 - wic_wmo4680_05 - wic_wmo4680_10 - wic_wmo4680_11 - wic_wmo4680_12 - wic_wmo4680_18 - wic_wmo4680_20 - wic_wmo4680_21 - wic_wmo4680_22 - wic_wmo4680_23 - wic_wmo4680_24 - wic_wmo4680_25 - wic_wmo4680_26 - wic_wmo4680_27 - wic_wmo4680_28 - wic_wmo4680_29 - wic_wmo4680_30 - wic_wmo4680_31 - wic_wmo4680_32 - wic_wmo4680_33 - wic_wmo4680_34 - wic_wmo4680_35 - wic_wmo4680_40 - wic_wmo4680_41 - wic_wmo4680_42 - wic_wmo4680_43 - wic_wmo4680_44 - wic_wmo4680_45 - wic_wmo4680_46 - wic_wmo4680_47 - wic_wmo4680_48 - wic_wmo4680_50 - wic_wmo4680_51 - wic_wmo4680_52 - wic_wmo4680_53 - wic_wmo4680_54 - wic_wmo4680_55 - wic_wmo4680_56 - wic_wmo4680_57 - wic_wmo4680_58 - wic_wmo4680_60 - wic_wmo4680_61 - wic_wmo4680_62 - wic_wmo4680_63 - wic_wmo4680_64 - wic_wmo4680_65 - wic_wmo4680_66 - wic_wmo4680_67 - wic_wmo4680_68 - wic_wmo4680_70 - wic_wmo4680_71 - wic_wmo4680_72 - wic_wmo4680_73 - wic_wmo4680_74 - wic_wmo4680_75 - wic_wmo4680_76 - wic_wmo4680_77 - wic_wmo4680_78 - wic_wmo4680_80 - wic_wmo4680_81 - wic_wmo4680_82 - wic_wmo4680_83 - wic_wmo4680_84 - wic_wmo4680_85 - wic_wmo4680_86 - wic_wmo4680_87 - wic_wmo4680_89 - wic_wmo4680_90 - wic_wmo4680_91 - wic_wmo4680_92 - wic_wmo4680_93 - wic_wmo4680_94 - wic_wmo4680_95 - wic_wmo4680_96 - wic_wmo4680_99 - wic_owm_200 - wic_owm_201 - wic_owm_202 - wic_owm_210 - wic_owm_211 - wic_owm_212 - wic_owm_221 - wic_owm_230 - wic_owm_231 - wic_owm_232 - wic_owm_300 - wic_owm_301 - wic_owm_302 - wic_owm_310 - wic_owm_311 - wic_owm_312 - wic_owm_313 - wic_owm_314 - wic_owm_321 - wic_owm_500 - wic_owm_501 - wic_owm_502 - wic_owm_503 - wic_owm_504 - wic_owm_511 - wic_owm_520 - wic_owm_521 - wic_owm_522 - wic_owm_531 - wic_owm_600 - wic_owm_601 - wic_owm_602 - wic_owm_611 - wic_owm_612 - wic_owm_615 - wic_owm_616 - wic_owm_620 - wic_owm_621 - wic_owm_622 - wic_owm_701 - wic_owm_711 - wic_owm_721 - wic_owm_731 - wic_owm_741 - wic_owm_761 - wic_owm_762 - wic_owm_771 - wic_owm_781 - wic_owm_800 - wic_owm_801 - wic_owm_802 - wic_owm_803 - wic_owm_804 - wic_owm_900 - wic_owm_901 - wic_owm_902 - wic_owm_903 - wic_owm_904 - wic_owm_905 - wic_owm_906 - wic_owm_957 - wic_owm_day_200 - wic_owm_day_201 - wic_owm_day_202 - wic_owm_day_210 - wic_owm_day_211 - wic_owm_day_212 - wic_owm_day_221 - wic_owm_day_230 - wic_owm_day_231 - wic_owm_day_232 - wic_owm_day_300 - wic_owm_day_301 - wic_owm_day_302 - wic_owm_day_310 - wic_owm_day_311 - wic_owm_day_312 - wic_owm_day_313 - wic_owm_day_314 - wic_owm_day_321 - wic_owm_day_500 - wic_owm_day_501 - wic_owm_day_502 - wic_owm_day_503 - wic_owm_day_504 - wic_owm_day_511 - wic_owm_day_520 - wic_owm_day_521 - wic_owm_day_522 - wic_owm_day_531 - wic_owm_day_600 - wic_owm_day_601 - wic_owm_day_602 - wic_owm_day_611 - wic_owm_day_612 - wic_owm_day_615 - wic_owm_day_616 - wic_owm_day_620 - wic_owm_day_621 - wic_owm_day_622 - wic_owm_day_701 - wic_owm_day_711 - wic_owm_day_721 - wic_owm_day_731 - wic_owm_day_741 - wic_owm_day_761 - wic_owm_day_762 - wic_owm_day_781 - wic_owm_day_800 - wic_owm_day_801 - wic_owm_day_802 - wic_owm_day_803 - wic_owm_day_804 - wic_owm_day_900 - wic_owm_day_902 - wic_owm_day_903 - wic_owm_day_904 - wic_owm_day_906 - wic_owm_day_957 - wic_owm_night_200 - wic_owm_night_201 - wic_owm_night_202 - wic_owm_night_210 - wic_owm_night_211 - wic_owm_night_212 - wic_owm_night_221 - wic_owm_night_230 - wic_owm_night_231 - wic_owm_night_232 - wic_owm_night_300 - wic_owm_night_301 - wic_owm_night_302 - wic_owm_night_310 - wic_owm_night_311 - wic_owm_night_312 - wic_owm_night_313 - wic_owm_night_314 - wic_owm_night_321 - wic_owm_night_500 - wic_owm_night_501 - wic_owm_night_502 - wic_owm_night_503 - wic_owm_night_504 - wic_owm_night_511 - wic_owm_night_520 - wic_owm_night_521 - wic_owm_night_522 - wic_owm_night_531 - wic_owm_night_600 - wic_owm_night_601 - wic_owm_night_602 - wic_owm_night_611 - wic_owm_night_612 - wic_owm_night_615 - wic_owm_night_616 - wic_owm_night_620 - wic_owm_night_621 - wic_owm_night_622 - wic_owm_night_701 - wic_owm_night_711 - wic_owm_night_721 - wic_owm_night_731 - wic_owm_night_741 - wic_owm_night_761 - wic_owm_night_762 - wic_owm_night_781 - wic_owm_night_800 - wic_owm_night_801 - wic_owm_night_802 - wic_owm_night_803 - wic_owm_night_804 - wic_owm_night_900 - wic_owm_night_902 - wic_owm_night_903 - wic_owm_night_904 - wic_owm_night_906 - wic_owm_night_957 - wic_wu_chanceflurries - wic_wu_chancerain - wic_wu_chancesleat - wic_wu_chancesnow - wic_wu_chancetstorms - wic_wu_clear - wic_wu_cloudy - wic_wu_flurries - wic_wu_hazy - wic_wu_mostlycloudy - wic_wu_mostlysunny - wic_wu_partlycloudy - wic_wu_partlysunny - wic_wu_rain - wic_wu_sleat - wic_wu_snow - wic_wu_sunny - wic_wu_tstorms - wic_wu_unknown - From fddf1b0d5abf899be4f19e2caa8176796322d12d Mon Sep 17 00:00:00 2001 From: Mike Penz Date: Sat, 15 Dec 2018 16:17:49 +0100 Subject: [PATCH 08/15] * fix formatting --- .../java/com/mikepenz/iconics/Iconics.java | 125 ++++--- .../mikepenz/iconics/IconicsArrayBuilder.java | 2 +- .../com/mikepenz/iconics/IconicsBrush.java | 32 +- .../com/mikepenz/iconics/IconicsDrawable.java | 347 ++++++++++++------ .../animation/BlinkAlphaProcessor.java | 39 +- .../animation/BlinkScaleProcessor.java | 42 ++- .../animation/IconicsAnimatedDrawable.java | 54 +-- .../animation/IconicsAnimationListener.java | 8 +- .../animation/IconicsAnimationProcessor.java | 128 ++++--- .../iconics/animation/SpinProcessor.java | 34 +- .../iconics/context/IconicsAttrsApplier.java | 11 +- .../context/IconicsAttrsExtractor.java | 148 +++++--- .../iconics/context/IconicsFactory.java | 4 +- .../context/IconicsLayoutInflater.java | 5 +- .../context/IconicsLayoutInflater2.java | 3 +- .../iconics/typeface/GenericFont.java | 51 ++- .../mikepenz/iconics/utils/GenericsUtil.java | 1 + .../com/mikepenz/iconics/utils/Utils.java | 1 + 18 files changed, 658 insertions(+), 377 deletions(-) diff --git a/library-core/src/main/java/com/mikepenz/iconics/Iconics.java b/library-core/src/main/java/com/mikepenz/iconics/Iconics.java index 1b954601..d90ca624 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/Iconics.java +++ b/library-core/src/main/java/com/mikepenz/iconics/Iconics.java @@ -24,6 +24,9 @@ import android.widget.Button; import android.widget.TextView; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + import com.mikepenz.iconics.animation.IconicsAnimationProcessor; import com.mikepenz.iconics.typeface.IIcon; import com.mikepenz.iconics.typeface.ITypeface; @@ -38,16 +41,16 @@ import java.util.LinkedList; import java.util.List; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; - @SuppressWarnings("UnusedReturnValue, WeakerAccess, unused") public final class Iconics { - public static final @NonNull String TAG = Iconics.class.getSimpleName(); + public static final @NonNull + String TAG = Iconics.class.getSimpleName(); private static boolean INIT_DONE = false; - private static final @NonNull HashMap FONTS = new HashMap<>(); - private static final @NonNull HashMap> PROCESSORS = new HashMap<>(); + private static final @NonNull + HashMap FONTS = new HashMap<>(); + private static final @NonNull + HashMap> PROCESSORS = new HashMap<>(); /** * initializes the FONTS. This also tries to find all founds automatically via their font file @@ -133,8 +136,9 @@ public static void registerProcessor(@NonNull IconicsAnimationProcessor processo PROCESSORS.put(processor.animationTag(), processor.getClass()); } - public static @Nullable IconicsAnimationProcessor findProcessor(@NonNull Context ctx, - @NonNull String animationTag) { + public static @Nullable + IconicsAnimationProcessor findProcessor(@NonNull Context ctx, + @NonNull String animationTag) { init(ctx); Class processorClass = PROCESSORS.get(animationTag); @@ -162,7 +166,8 @@ private static void validateFont(@NonNull ITypeface font) { /** * return all registered FONTS */ - public static @NonNull Collection getRegisteredFonts(@NonNull Context ctx) { + public static @NonNull + Collection getRegisteredFonts(@NonNull Context ctx) { init(ctx); return FONTS.values(); } @@ -170,7 +175,8 @@ private static void validateFont(@NonNull ITypeface font) { /** * tries to find a font by its key in all registered FONTS */ - public static @Nullable ITypeface findFont(@NonNull Context ctx, @NonNull String key) { + public static @Nullable + ITypeface findFont(@NonNull Context ctx, @NonNull String key) { init(ctx); return FONTS.get(key); } @@ -178,7 +184,8 @@ private static void validateFont(@NonNull ITypeface font) { /** * fetches the font from the Typeface of an IIcon */ - public static @NonNull ITypeface findFont(@NonNull IIcon icon) { + public static @NonNull + ITypeface findFont(@NonNull IIcon icon) { return icon.getTypeface(); } @@ -191,7 +198,8 @@ private Iconics() { * all characters, it will also directly replace icon font placeholders with the correct mapping. * Afterwards it will apply the styles */ - public static @NonNull Spanned style(@NonNull Context ctx, @NonNull Spanned textSpanned) { + public static @NonNull + Spanned style(@NonNull Context ctx, @NonNull Spanned textSpanned) { return style(ctx, null, textSpanned, null, null); } @@ -200,11 +208,12 @@ private Iconics() { * all characters, it will also directly replace icon font placeholders with the correct mapping. * Afterwards it will apply the styles */ - public static @NonNull Spanned style(@NonNull Context ctx, - @Nullable HashMap fonts, - @NonNull Spanned textSpanned, - @Nullable List styles, - @Nullable HashMap> stylesFor) { + public static @NonNull + Spanned style(@NonNull Context ctx, + @Nullable HashMap fonts, + @NonNull Spanned textSpanned, + @Nullable List styles, + @Nullable HashMap> stylesFor) { fonts = init(ctx, fonts); //find all icons which should be replaced with the iconFont @@ -246,11 +255,16 @@ public static void styleEditable(@NonNull Context ctx, } public static class IconicsBuilderString { - private @NonNull Context ctx; - private @NonNull Spanned text; - private @NonNull List withStyles; - private @NonNull HashMap> withStylesFor; - private @NonNull List fonts; + private @NonNull + Context ctx; + private @NonNull + Spanned text; + private @NonNull + List withStyles; + private @NonNull + HashMap> withStylesFor; + private @NonNull + List fonts; public IconicsBuilderString(@NonNull Context ctx, @NonNull List fonts, @@ -264,7 +278,8 @@ public IconicsBuilderString(@NonNull Context ctx, this.withStylesFor = stylesFor; } - public @NonNull Spanned build() { + public @NonNull + Spanned build() { HashMap mappedFonts = new HashMap<>(); for (ITypeface font : fonts) { mappedFonts.put(font.getMappingPrefix(), font); @@ -274,11 +289,16 @@ public IconicsBuilderString(@NonNull Context ctx, } public static class IconicsBuilderView { - private @NonNull Context ctx; - private @NonNull TextView view; - private @NonNull List withStyles; - private @NonNull HashMap> withStylesFor; - private @NonNull List fonts; + private @NonNull + Context ctx; + private @NonNull + TextView view; + private @NonNull + List withStyles; + private @NonNull + HashMap> withStylesFor; + private @NonNull + List fonts; public IconicsBuilderView(@NonNull Context ctx, @NonNull List fonts, @@ -317,20 +337,26 @@ public void build() { } public static class IconicsBuilder { - private final @NonNull List styles = new LinkedList<>(); - private final @NonNull HashMap> stylesFor = new HashMap<>(); - private final @NonNull List fonts = new LinkedList<>(); - private @NonNull Context ctx; + private final @NonNull + List styles = new LinkedList<>(); + private final @NonNull + HashMap> stylesFor = new HashMap<>(); + private final @NonNull + List fonts = new LinkedList<>(); + private @NonNull + Context ctx; public IconicsBuilder() { } - public @NonNull IconicsBuilder ctx(@NonNull Context ctx) { + public @NonNull + IconicsBuilder ctx(@NonNull Context ctx) { this.ctx = ctx; return this; } - public @NonNull IconicsBuilder style(@NonNull CharacterStyle... styles) { + public @NonNull + IconicsBuilder style(@NonNull CharacterStyle... styles) { if (styles != null && styles.length > 0) { Collections.addAll(this.styles, styles); } @@ -341,8 +367,9 @@ public IconicsBuilder() { * this method allows you to apply additional styles on icons , just provide all * CharacterStyles you want to apply on the given IIcon */ - public @NonNull IconicsBuilder styleFor(@NonNull IIcon styleFor, - @NonNull CharacterStyle... styles) { + public @NonNull + IconicsBuilder styleFor(@NonNull IIcon styleFor, + @NonNull CharacterStyle... styles) { return styleFor(styleFor.getName(), styles); } @@ -350,8 +377,9 @@ public IconicsBuilder() { * this method allows you to apply additional styles on icons , just provide all * CharacterStyles you want to apply on the given icon (by it's name faw-android) */ - public @NonNull IconicsBuilder styleFor(@NonNull String styleFor, - @NonNull CharacterStyle... styles) { + public @NonNull + IconicsBuilder styleFor(@NonNull String styleFor, + @NonNull CharacterStyle... styles) { styleFor = styleFor.replace("-", "_"); if (!stylesFor.containsKey(styleFor)) { @@ -369,7 +397,8 @@ public IconicsBuilder() { /** * adds additional fonts which should be used to apply the icons */ - public @NonNull IconicsBuilder font(@NonNull ITypeface font) { + public @NonNull + IconicsBuilder font(@NonNull ITypeface font) { this.fonts.add(font); return this; } @@ -377,42 +406,48 @@ public IconicsBuilder() { /** * defines where the icons should be applied to */ - public @NonNull IconicsBuilderString on(@NonNull Spanned on) { + public @NonNull + IconicsBuilderString on(@NonNull Spanned on) { return new IconicsBuilderString(ctx, fonts, on, styles, stylesFor); } /** * defines where the icons should be applied to */ - public @NonNull IconicsBuilderString on(@NonNull String on) { + public @NonNull + IconicsBuilderString on(@NonNull String on) { return on(new SpannableString(on)); } /** * defines where the icons should be applied to */ - public @NonNull IconicsBuilderString on(@NonNull CharSequence on) { + public @NonNull + IconicsBuilderString on(@NonNull CharSequence on) { return on(on.toString()); } /** * defines where the icons should be applied to */ - public @NonNull IconicsBuilderString on(@NonNull StringBuilder on) { + public @NonNull + IconicsBuilderString on(@NonNull StringBuilder on) { return on(on.toString()); } /** * defines where the icons should be applied to */ - public @NonNull IconicsBuilderView on(@NonNull TextView on) { + public @NonNull + IconicsBuilderView on(@NonNull TextView on) { return new IconicsBuilderView(ctx, fonts, on, styles, stylesFor); } /** * defines where the icons should be applied to */ - public @NonNull IconicsBuilderView on(@NonNull Button on) { + public @NonNull + IconicsBuilderView on(@NonNull Button on) { return new IconicsBuilderView(ctx, fonts, on, styles, stylesFor); } } diff --git a/library-core/src/main/java/com/mikepenz/iconics/IconicsArrayBuilder.java b/library-core/src/main/java/com/mikepenz/iconics/IconicsArrayBuilder.java index cbb16e90..71b175d2 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/IconicsArrayBuilder.java +++ b/library-core/src/main/java/com/mikepenz/iconics/IconicsArrayBuilder.java @@ -22,7 +22,7 @@ public IconicsArrayBuilder add(IIcon icon) { mIcons.add(Pair.create((Object) icon, (Typeface) null)); return this; } - + public IconicsArrayBuilder add(String icon) { return add(icon, Typeface.DEFAULT); } diff --git a/library-core/src/main/java/com/mikepenz/iconics/IconicsBrush.java b/library-core/src/main/java/com/mikepenz/iconics/IconicsBrush.java index 6b4c5d0c..0e310410 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/IconicsBrush.java +++ b/library-core/src/main/java/com/mikepenz/iconics/IconicsBrush.java @@ -20,12 +20,12 @@ import android.graphics.Color; import android.graphics.Paint; -import com.mikepenz.iconics.animation.IconicsAnimationProcessor; - import androidx.annotation.IntRange; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import com.mikepenz.iconics.animation.IconicsAnimationProcessor; + /** * Helper class to control applying state changes to colors and paint. Also for compact providing * into {@link IconicsAnimationProcessor AnimationProcessor} @@ -33,9 +33,12 @@ * @author pa.gulko zTrap (28.11.2018) */ public class IconicsBrush { - private @Nullable ColorStateList mColors; - private @NonNull final T mPaint; - private @Nullable int[] mState; + private @Nullable + ColorStateList mColors; + private @NonNull + final T mPaint; + private @Nullable + int[] mState; private int mAlpha; public IconicsBrush(@NonNull T paint) { @@ -44,7 +47,7 @@ public IconicsBrush(@NonNull T paint) { /** * @param colors which will be applied on {@link #getPaint()} for drawing current state - * */ + */ public void setColors(@Nullable ColorStateList colors) { mColors = colors; applyState(mState); @@ -52,21 +55,23 @@ public void setColors(@Nullable ColorStateList colors) { /** * @return colors which applied on {@link #getPaint()} for drawing current state - * */ - public @Nullable ColorStateList getColorsList() { + */ + public @Nullable + ColorStateList getColorsList() { return mColors; } /** * @return paint. Will be used for drawing something (icon, background etc.) - * */ - public @NonNull T getPaint() { + */ + public @NonNull + T getPaint() { return mPaint; } /** * @param alpha channel for colors - * */ + */ public void setAlpha(@IntRange(from = 0, to = 255) int alpha) { mAlpha = alpha; mPaint.setAlpha(alpha); @@ -74,8 +79,9 @@ public void setAlpha(@IntRange(from = 0, to = 255) int alpha) { /** * @return alpha channel for colors - * */ - public @IntRange(from = 0, to = 255) int getAlpha() { + */ + public @IntRange(from = 0, to = 255) + int getAlpha() { return mAlpha; } diff --git a/library-core/src/main/java/com/mikepenz/iconics/IconicsDrawable.java b/library-core/src/main/java/com/mikepenz/iconics/IconicsDrawable.java index 73a5f0a4..1a15b719 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/IconicsDrawable.java +++ b/library-core/src/main/java/com/mikepenz/iconics/IconicsDrawable.java @@ -52,11 +52,6 @@ import android.util.Log; import android.view.View; -import com.mikepenz.iconics.animation.IconicsAnimatedDrawable; -import com.mikepenz.iconics.typeface.IIcon; -import com.mikepenz.iconics.typeface.ITypeface; -import com.mikepenz.iconics.utils.Utils; - import androidx.annotation.ColorInt; import androidx.annotation.ColorRes; import androidx.annotation.DimenRes; @@ -66,6 +61,11 @@ import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; +import com.mikepenz.iconics.animation.IconicsAnimatedDrawable; +import com.mikepenz.iconics.typeface.IIcon; +import com.mikepenz.iconics.typeface.ITypeface; +import com.mikepenz.iconics.utils.Utils; + import static android.view.View.LAYER_TYPE_SOFTWARE; import static androidx.annotation.Dimension.DP; import static androidx.annotation.Dimension.PX; @@ -87,7 +87,8 @@ public class IconicsDrawable extends Drawable { @Dimension(unit = DP) public static final int TOOLBAR_ICON_PADDING = 1; - protected @NonNull Context mContext; + protected @NonNull + Context mContext; private int mSizeX = -1; private int mSizeY = -1; @@ -95,30 +96,37 @@ public class IconicsDrawable extends Drawable { private boolean mRespectFontBounds = false; // icon - protected final @NonNull IconicsBrush mIconBrush = new IconicsBrush<>( + protected final @NonNull + IconicsBrush mIconBrush = new IconicsBrush<>( new TextPaint(Paint.ANTI_ALIAS_FLAG)); // background - protected final @NonNull IconicsBrush mBackgroundBrush = new IconicsBrush<>( + protected final @NonNull + IconicsBrush mBackgroundBrush = new IconicsBrush<>( new Paint(Paint.ANTI_ALIAS_FLAG)); // contour - protected final @NonNull IconicsBrush mContourBrush = new IconicsBrush<>( + protected final @NonNull + IconicsBrush mContourBrush = new IconicsBrush<>( new Paint(Paint.ANTI_ALIAS_FLAG)); private boolean mDrawContour; // background contour - protected final @NonNull IconicsBrush mBackgroundContourBrush = new IconicsBrush<>( + protected final @NonNull + IconicsBrush mBackgroundContourBrush = new IconicsBrush<>( new Paint(Paint.ANTI_ALIAS_FLAG)); private boolean mDrawBackgroundContour; private int mRoundedCornerRx = -1; private int mRoundedCornerRy = -1; - private final @NonNull Rect mPaddingBounds = new Rect(); - private final @NonNull RectF mPathBounds = new RectF(); + private final @NonNull + Rect mPaddingBounds = new Rect(); + private final @NonNull + RectF mPathBounds = new RectF(); - private final @NonNull Path mPath = new Path(); + private final @NonNull + Path mPath = new Path(); private int mIconPadding; private int mContourWidth; @@ -134,13 +142,19 @@ public class IconicsDrawable extends Drawable { private float mShadowDy = 0F; private int mShadowColor = Color.TRANSPARENT; - private @Nullable IIcon mIcon; - private @Nullable String mPlainIcon; + private @Nullable + IIcon mIcon; + private @Nullable + String mPlainIcon; - private @Nullable ColorStateList mTint; - private @NonNull PorterDuff.Mode mTintMode = PorterDuff.Mode.SRC_IN; - private @Nullable ColorFilter mTintFilter; - private @Nullable ColorFilter mColorFilter; + private @Nullable + ColorStateList mTint; + private @NonNull + PorterDuff.Mode mTintMode = PorterDuff.Mode.SRC_IN; + private @Nullable + ColorFilter mTintFilter; + private @Nullable + ColorFilter mColorFilter; public IconicsDrawable(@NonNull Context context) { mContext = context.getApplicationContext(); @@ -172,9 +186,7 @@ protected IconicsDrawable(@NonNull Context context, this(context); icon(typeface, icon); - } - { mIconBrush.getPaint().setStyle(Paint.Style.FILL); mIconBrush.getPaint().setTextAlign(Paint.Align.CENTER); mIconBrush.getPaint().setUnderlineText(false); @@ -189,70 +201,80 @@ protected IconicsDrawable(@NonNull Context context, /** * @return the icon color */ - public @ColorInt int getColor() { + public @ColorInt + int getColor() { return mIconBrush.getColorForCurrentState(); } /** * @return the icon colors */ - public @Nullable ColorStateList getColorList() { + public @Nullable + ColorStateList getColorList() { return mIconBrush.getColorsList(); } /** * @return the icon contour color */ - public @ColorInt int getContourColor() { + public @ColorInt + int getContourColor() { return mContourBrush.getColorForCurrentState(); } /** * @return the contour colors */ - public @Nullable ColorStateList getContourColorList() { + public @Nullable + ColorStateList getContourColorList() { return mContourBrush.getColorsList(); } /** * @return the icon background color */ - public @ColorInt int getBackgroundColor() { + public @ColorInt + int getBackgroundColor() { return mBackgroundBrush.getColorForCurrentState(); } /** * @return the background colors */ - public @Nullable ColorStateList getBackgroundColorList() { + public @Nullable + ColorStateList getBackgroundColorList() { return mBackgroundBrush.getColorsList(); } /** * @return the icon background contour color */ - public @ColorInt int getBackgroundContourColor() { + public @ColorInt + int getBackgroundContourColor() { return mBackgroundContourBrush.getColorForCurrentState(); } /** * @return the background contour colors */ - public @Nullable ColorStateList getBackgroundContourColorList() { + public @Nullable + ColorStateList getBackgroundContourColorList() { return mBackgroundContourBrush.getColorsList(); } /** * @return the IIcon which is used inside this IconicsDrawable */ - public @Nullable IIcon getIcon() { + public @Nullable + IIcon getIcon() { return mIcon; } /** * @return the PlainIcon which is used inside this IconicsDrawable */ - public @Nullable String getPlainIcon() { + public @Nullable + String getPlainIcon() { return mPlainIcon; } @@ -261,7 +283,8 @@ protected IconicsDrawable(@NonNull Context context, * * @return current alpha */ - public @IntRange(from = 0, to = 255) int getCompatAlpha() { + public @IntRange(from = 0, to = 255) + int getCompatAlpha() { return mAlpha; } @@ -270,7 +293,8 @@ protected IconicsDrawable(@NonNull Context context, * * @return bitmap to set */ - public @NonNull Bitmap toBitmap() { + public @NonNull + Bitmap toBitmap() { if (mSizeX == -1 || mSizeY == -1) { actionBar(); } @@ -295,7 +319,9 @@ protected IconicsDrawable(@NonNull Context context, * @return new IconicsDrawable with the same values. */ @SuppressWarnings("MethodDoesntCallSuperMethod") - @Override public @NonNull IconicsDrawable clone() { + @Override + public @NonNull + IconicsDrawable clone() { return copyTo(new IconicsDrawable(mContext)); } @@ -304,7 +330,8 @@ protected IconicsDrawable(@NonNull Context context, * * @return new IconicsDrawable with the same values. */ - public @NonNull IconicsAnimatedDrawable toAnimatedDrawable() { + public @NonNull + IconicsAnimatedDrawable toAnimatedDrawable() { return copyTo(new IconicsAnimatedDrawable(mContext)); } @@ -350,7 +377,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable icon(@NonNull String icon) { + public @NonNull + IconicsDrawable icon(@NonNull String icon) { try { ITypeface font = Iconics.findFont(mContext, icon.substring(0, 3)); icon = icon.replace("-", "_"); @@ -366,7 +394,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable icon(@NonNull Character icon) { + public @NonNull + IconicsDrawable icon(@NonNull Character icon) { return iconText(icon.toString(), null); } @@ -375,7 +404,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable icon(@NonNull Character icon, @Nullable Typeface typeface) { + public @NonNull + IconicsDrawable icon(@NonNull Character icon, @Nullable Typeface typeface) { return iconText(icon.toString(), typeface); } @@ -384,7 +414,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable iconText(@NonNull String icon) { + public @NonNull + IconicsDrawable iconText(@NonNull String icon) { return iconText(icon, null); } @@ -393,7 +424,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable iconText(@NonNull String icon, @Nullable Typeface typeface) { + public @NonNull + IconicsDrawable iconText(@NonNull String icon, @Nullable Typeface typeface) { mPlainIcon = icon; mIcon = null; mIconBrush.getPaint().setTypeface(typeface == null ? Typeface.DEFAULT : typeface); @@ -407,7 +439,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable icon(@NonNull IIcon icon) { + public @NonNull + IconicsDrawable icon(@NonNull IIcon icon) { mIcon = icon; mPlainIcon = null; ITypeface typeface = icon.getTypeface(); @@ -422,7 +455,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - protected @NonNull IconicsDrawable icon(@NonNull ITypeface typeface, @NonNull IIcon icon) { + protected @NonNull + IconicsDrawable icon(@NonNull ITypeface typeface, @NonNull IIcon icon) { mIcon = icon; mIconBrush.getPaint().setTypeface(typeface.getTypeface(mContext)); @@ -438,7 +472,8 @@ private T copyTo(T drawable) { * @param respectBounds set to true if it should respect the original bounds * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable respectFontBounds(boolean respectBounds) { + public @NonNull + IconicsDrawable respectFontBounds(boolean respectBounds) { mRespectFontBounds = respectBounds; invalidateSelf(); @@ -451,7 +486,8 @@ private T copyTo(T drawable) { * @param color The color, usually from android.graphics.Color or 0xFF012345. * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable color(@ColorInt int color) { + public @NonNull + IconicsDrawable color(@ColorInt int color) { return color(ColorStateList.valueOf(color)); } @@ -461,7 +497,8 @@ private T copyTo(T drawable) { * @param colorResId The color resource, from your R file. * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable colorRes(@ColorRes int colorResId) { + public @NonNull + IconicsDrawable colorRes(@ColorRes int colorResId) { return color(ContextCompat.getColor(mContext, colorResId)); } @@ -471,7 +508,8 @@ private T copyTo(T drawable) { * @param colorResId The color resource, from your R file. * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable colorListRes(@ColorRes int colorResId) { + public @NonNull + IconicsDrawable colorListRes(@ColorRes int colorResId) { return color(ContextCompat.getColorStateList(mContext, colorResId)); } @@ -481,7 +519,8 @@ private T copyTo(T drawable) { * @param colors The color, usually from android.graphics.Color or 0xFF012345. * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable color(@NonNull ColorStateList colors) { + public @NonNull + IconicsDrawable color(@NonNull ColorStateList colors) { if (colors != null) { mIconBrush.setColors(colors); if (mIconBrush.applyState(getState())) { @@ -496,7 +535,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable iconOffsetXRes(@DimenRes int sizeResId) { + public @NonNull + IconicsDrawable iconOffsetXRes(@DimenRes int sizeResId) { return iconOffsetXPx(mContext.getResources().getDimensionPixelSize(sizeResId)); } @@ -505,7 +545,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable iconOffsetXDp(@Dimension(unit = DP) int sizeDp) { + public @NonNull + IconicsDrawable iconOffsetXDp(@Dimension(unit = DP) int sizeDp) { return iconOffsetXPx(Utils.convertDpToPx(mContext, sizeDp)); } @@ -514,7 +555,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable iconOffsetXPx(@Dimension(unit = PX) int sizePx) { + public @NonNull + IconicsDrawable iconOffsetXPx(@Dimension(unit = PX) int sizePx) { mIconOffsetX = sizePx; invalidateSelf(); @@ -526,7 +568,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable iconOffsetYRes(@DimenRes int sizeResId) { + public @NonNull + IconicsDrawable iconOffsetYRes(@DimenRes int sizeResId) { return iconOffsetYPx(mContext.getResources().getDimensionPixelSize(sizeResId)); } @@ -535,7 +578,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable iconOffsetYDp(@Dimension(unit = DP) int sizeDp) { + public @NonNull + IconicsDrawable iconOffsetYDp(@Dimension(unit = DP) int sizeDp) { return iconOffsetYPx(Utils.convertDpToPx(mContext, sizeDp)); } @@ -544,7 +588,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable iconOffsetYPx(@Dimension(unit = PX) int sizePx) { + public @NonNull + IconicsDrawable iconOffsetYPx(@Dimension(unit = PX) int sizePx) { mIconOffsetY = sizePx; invalidateSelf(); @@ -556,7 +601,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable paddingRes(@DimenRes int sizeResId) { + public @NonNull + IconicsDrawable paddingRes(@DimenRes int sizeResId) { return paddingPx(mContext.getResources().getDimensionPixelSize(sizeResId)); } @@ -565,7 +611,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable paddingDp(@Dimension(unit = DP) int sizeDp) { + public @NonNull + IconicsDrawable paddingDp(@Dimension(unit = DP) int sizeDp) { return paddingPx(Utils.convertDpToPx(mContext, sizeDp)); } @@ -574,7 +621,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable paddingPx(@Dimension(unit = PX) int sizePx) { + public @NonNull + IconicsDrawable paddingPx(@Dimension(unit = PX) int sizePx) { if (mIconPadding != sizePx) { mIconPadding = sizePx; if (mDrawContour) { @@ -594,7 +642,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable actionBar() { + public @NonNull + IconicsDrawable actionBar() { return sizeDp(TOOLBAR_ICON_SIZE).paddingDp(TOOLBAR_ICON_PADDING); } @@ -604,7 +653,8 @@ private T copyTo(T drawable) { * @param sizeResId The dimension resource. * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable sizeRes(@DimenRes int sizeResId) { + public @NonNull + IconicsDrawable sizeRes(@DimenRes int sizeResId) { return sizePx(mContext.getResources().getDimensionPixelSize(sizeResId)); } @@ -614,7 +664,8 @@ private T copyTo(T drawable) { * @param sizeDp The size in density-independent pixels (dp). * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable sizeDp(@Dimension(unit = DP) int sizeDp) { + public @NonNull + IconicsDrawable sizeDp(@Dimension(unit = DP) int sizeDp) { return sizePx(Utils.convertDpToPx(mContext, sizeDp)); } @@ -624,7 +675,8 @@ private T copyTo(T drawable) { * @param sizePx The size in pixels (px). * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable sizePx(@Dimension(unit = PX) int sizePx) { + public @NonNull + IconicsDrawable sizePx(@Dimension(unit = PX) int sizePx) { mSizeX = mSizeY = sizePx; setBounds(0, 0, mSizeX, mSizeY); @@ -638,7 +690,8 @@ private T copyTo(T drawable) { * @param sizeResId The dimension resource. * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable sizeResX(@DimenRes int sizeResId) { + public @NonNull + IconicsDrawable sizeResX(@DimenRes int sizeResId) { return sizePxX(mContext.getResources().getDimensionPixelSize(sizeResId)); } @@ -648,7 +701,8 @@ private T copyTo(T drawable) { * @param sizeDp The size in density-independent pixels (dp). * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable sizeDpX(@Dimension(unit = DP) int sizeDp) { + public @NonNull + IconicsDrawable sizeDpX(@Dimension(unit = DP) int sizeDp) { return sizePxX(Utils.convertDpToPx(mContext, sizeDp)); } @@ -658,7 +712,8 @@ private T copyTo(T drawable) { * @param sizePx The size in pixels (px). * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable sizePxX(@Dimension(unit = PX) int sizePx) { + public @NonNull + IconicsDrawable sizePxX(@Dimension(unit = PX) int sizePx) { mSizeX = sizePx; setBounds(0, 0, mSizeX, mSizeY); @@ -672,7 +727,8 @@ private T copyTo(T drawable) { * @param sizeResId The dimension resource. * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable sizeResY(@DimenRes int sizeResId) { + public @NonNull + IconicsDrawable sizeResY(@DimenRes int sizeResId) { return sizePxY(mContext.getResources().getDimensionPixelSize(sizeResId)); } @@ -682,7 +738,8 @@ private T copyTo(T drawable) { * @param sizeDp The size in density-independent pixels (dp). * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable sizeDpY(@Dimension(unit = DP) int sizeDp) { + public @NonNull + IconicsDrawable sizeDpY(@Dimension(unit = DP) int sizeDp) { return sizePxY(Utils.convertDpToPx(mContext, sizeDp)); } @@ -692,7 +749,8 @@ private T copyTo(T drawable) { * @param sizePx The size in pixels (px). * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable sizePxY(@Dimension(unit = PX) int sizePx) { + public @NonNull + IconicsDrawable sizePxY(@Dimension(unit = PX) int sizePx) { mSizeY = sizePx; setBounds(0, 0, mSizeX, mSizeY); @@ -705,7 +763,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable backgroundContourColorRes(@ColorRes int colorResId) { + public @NonNull + IconicsDrawable backgroundContourColorRes(@ColorRes int colorResId) { return backgroundContourColor(ContextCompat.getColor(mContext, colorResId)); } @@ -714,7 +773,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable backgroundContourColor(@ColorInt int color) { + public @NonNull + IconicsDrawable backgroundContourColor(@ColorInt int color) { return backgroundContourColor(ColorStateList.valueOf(color)); } @@ -724,7 +784,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable backgroundContourColorListRes(@ColorRes int colorResId) { + public @NonNull + IconicsDrawable backgroundContourColorListRes(@ColorRes int colorResId) { return backgroundContourColor(ContextCompat.getColorStateList(mContext, colorResId)); } @@ -734,7 +795,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable backgroundContourColor(@NonNull ColorStateList colors) { + public @NonNull + IconicsDrawable backgroundContourColor(@NonNull ColorStateList colors) { if (colors != null) { mBackgroundContourBrush.setColors(colors); if (mBackgroundContourBrush.applyState(getState())) { @@ -749,7 +811,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable contourColorRes(@ColorRes int colorResId) { + public @NonNull + IconicsDrawable contourColorRes(@ColorRes int colorResId) { return contourColor(ContextCompat.getColor(mContext, colorResId)); } @@ -758,7 +821,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable contourColor(@ColorInt int color) { + public @NonNull + IconicsDrawable contourColor(@ColorInt int color) { return contourColor(ColorStateList.valueOf(color)); } @@ -768,7 +832,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable contourColorListRes(@ColorRes int colorResId) { + public @NonNull + IconicsDrawable contourColorListRes(@ColorRes int colorResId) { return contourColor(ContextCompat.getColorStateList(mContext, colorResId)); } @@ -778,7 +843,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable contourColor(@NonNull ColorStateList colors) { + public @NonNull + IconicsDrawable contourColor(@NonNull ColorStateList colors) { if (colors != null) { mContourBrush.setColors(colors); if (mContourBrush.applyState(getState())) { @@ -793,7 +859,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable backgroundColorRes(@ColorRes int colorResId) { + public @NonNull + IconicsDrawable backgroundColorRes(@ColorRes int colorResId) { return backgroundColor(ContextCompat.getColor(mContext, colorResId)); } @@ -802,7 +869,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable backgroundColor(@ColorInt int color) { + public @NonNull + IconicsDrawable backgroundColor(@ColorInt int color) { return backgroundColor(ColorStateList.valueOf(color)); } @@ -812,7 +880,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable backgroundColorListRes(@ColorRes int colorResId) { + public @NonNull + IconicsDrawable backgroundColorListRes(@ColorRes int colorResId) { return backgroundColor(ContextCompat.getColorStateList(mContext, colorResId)); } @@ -822,7 +891,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable backgroundColor(@NonNull ColorStateList colors) { + public @NonNull + IconicsDrawable backgroundColor(@NonNull ColorStateList colors) { if (colors != null) { boolean isInvalidate = false; @@ -852,7 +922,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable roundedCornersRxRes(@DimenRes int sizeResId) { + public @NonNull + IconicsDrawable roundedCornersRxRes(@DimenRes int sizeResId) { return roundedCornersRxPx(mContext.getResources().getDimensionPixelSize(sizeResId)); } @@ -861,7 +932,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable roundedCornersRxDp(@Dimension(unit = DP) int sizeDp) { + public @NonNull + IconicsDrawable roundedCornersRxDp(@Dimension(unit = DP) int sizeDp) { return roundedCornersRxPx(Utils.convertDpToPx(mContext, sizeDp)); } @@ -870,7 +942,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable roundedCornersRxPx(@Dimension(unit = PX) int sizePx) { + public @NonNull + IconicsDrawable roundedCornersRxPx(@Dimension(unit = PX) int sizePx) { mRoundedCornerRx = sizePx; invalidateSelf(); @@ -882,7 +955,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable roundedCornersRyRes(@DimenRes int sizeResId) { + public @NonNull + IconicsDrawable roundedCornersRyRes(@DimenRes int sizeResId) { return roundedCornersRyPx(mContext.getResources().getDimensionPixelSize(sizeResId)); } @@ -891,7 +965,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable roundedCornersRyDp(@Dimension(unit = DP) int sizeDp) { + public @NonNull + IconicsDrawable roundedCornersRyDp(@Dimension(unit = DP) int sizeDp) { return roundedCornersRyPx(Utils.convertDpToPx(mContext, sizeDp)); } @@ -900,7 +975,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable roundedCornersRyPx(@Dimension(unit = PX) int sizePx) { + public @NonNull + IconicsDrawable roundedCornersRyPx(@Dimension(unit = PX) int sizePx) { mRoundedCornerRy = sizePx; invalidateSelf(); @@ -912,7 +988,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable roundedCornersRes(@DimenRes int sizeResId) { + public @NonNull + IconicsDrawable roundedCornersRes(@DimenRes int sizeResId) { return roundedCornersPx(mContext.getResources().getDimensionPixelSize(sizeResId)); } @@ -921,7 +998,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable roundedCornersDp(@Dimension(unit = DP) int sizeDp) { + public @NonNull + IconicsDrawable roundedCornersDp(@Dimension(unit = DP) int sizeDp) { return roundedCornersPx(Utils.convertDpToPx(mContext, sizeDp)); } @@ -930,7 +1008,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable roundedCornersPx(@Dimension(unit = PX) int sizePx) { + public @NonNull + IconicsDrawable roundedCornersPx(@Dimension(unit = PX) int sizePx) { mRoundedCornerRx = mRoundedCornerRy = sizePx; invalidateSelf(); @@ -942,7 +1021,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable contourWidthRes(@DimenRes int sizeResId) { + public @NonNull + IconicsDrawable contourWidthRes(@DimenRes int sizeResId) { return contourWidthPx(mContext.getResources().getDimensionPixelSize(sizeResId)); } @@ -951,7 +1031,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable contourWidthDp(@Dimension(unit = DP) int sizeDp) { + public @NonNull + IconicsDrawable contourWidthDp(@Dimension(unit = DP) int sizeDp) { return contourWidthPx(Utils.convertDpToPx(mContext, sizeDp)); } @@ -960,7 +1041,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable contourWidthPx(@Dimension(unit = PX) int sizePx) { + public @NonNull + IconicsDrawable contourWidthPx(@Dimension(unit = PX) int sizePx) { mContourWidth = sizePx; mContourBrush.getPaint().setStrokeWidth(sizePx); drawContour(true); @@ -977,7 +1059,8 @@ private T copyTo(T drawable) { * @return The current IconicsDrawable for chaining. * @see View#setLayerType(int, Paint) */ - public @NonNull IconicsDrawable enableShadowSupport(@NonNull View view) { + public @NonNull + IconicsDrawable enableShadowSupport(@NonNull View view) { view.setLayerType(LAYER_TYPE_SOFTWARE, null); return this; } @@ -990,7 +1073,8 @@ private T copyTo(T drawable) { * @see Paint#setShadowLayer(float, float, float, int) * @see #enableShadowSupport(View) */ - public @NonNull IconicsDrawable shadowRes( + public @NonNull + IconicsDrawable shadowRes( @DimenRes int radiusRes, @DimenRes int dxRes, @DimenRes int dyRes, @@ -1010,7 +1094,8 @@ private T copyTo(T drawable) { * @see Paint#setShadowLayer(float, float, float, int) * @see #enableShadowSupport(View) */ - public @NonNull IconicsDrawable shadowDp( + public @NonNull + IconicsDrawable shadowDp( @Dimension(unit = DP) float radiusDp, @Dimension(unit = DP) float dxDp, @Dimension(unit = DP) float dyDp, @@ -1030,7 +1115,8 @@ private T copyTo(T drawable) { * @see Paint#setShadowLayer(float, float, float, int) * @see #enableShadowSupport(View) */ - public @NonNull IconicsDrawable shadowPx( + public @NonNull + IconicsDrawable shadowPx( @Dimension(unit = PX) float radius, @Dimension(unit = PX) float dx, @Dimension(unit = PX) float dy, @@ -1055,7 +1141,8 @@ private T copyTo(T drawable) { * @see #shadowDp(float, float, float, int) * @see #shadowRes(int, int, int, int) */ - public @NonNull IconicsDrawable clearShadow() { + public @NonNull + IconicsDrawable clearShadow() { mIconBrush.getPaint().clearShadowLayer(); invalidateSelf(); return this; @@ -1066,7 +1153,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable backgroundContourWidthRes(@DimenRes int sizeResId) { + public @NonNull + IconicsDrawable backgroundContourWidthRes(@DimenRes int sizeResId) { return backgroundContourWidthPx(mContext.getResources().getDimensionPixelSize(sizeResId)); } @@ -1075,7 +1163,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable backgroundContourWidthDp(@Dimension(unit = DP) int sizeDp) { + public @NonNull + IconicsDrawable backgroundContourWidthDp(@Dimension(unit = DP) int sizeDp) { return backgroundContourWidthPx(Utils.convertDpToPx(mContext, sizeDp)); } @@ -1084,7 +1173,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable backgroundContourWidthPx(@Dimension(unit = PX) int sizePx) { + public @NonNull + IconicsDrawable backgroundContourWidthPx(@Dimension(unit = PX) int sizePx) { mBackgroundContourWidth = sizePx; mBackgroundContourBrush.getPaint().setStrokeWidth(sizePx); drawBackgroundContour(true); @@ -1098,7 +1188,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable drawContour(boolean drawContour) { + public @NonNull + IconicsDrawable drawContour(boolean drawContour) { if (mDrawContour != drawContour) { mDrawContour = drawContour; @@ -1114,7 +1205,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable drawBackgroundContour(boolean drawBackgroundContour) { + public @NonNull + IconicsDrawable drawBackgroundContour(boolean drawBackgroundContour) { if (mDrawBackgroundContour != drawBackgroundContour) { mDrawBackgroundContour = drawBackgroundContour; @@ -1130,7 +1222,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable colorFilter(@Nullable ColorFilter cf) { + public @NonNull + IconicsDrawable colorFilter(@Nullable ColorFilter cf) { setColorFilter(cf); return this; } @@ -1142,7 +1235,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable alpha(@IntRange(from = 0, to = 255) int alpha) { + public @NonNull + IconicsDrawable alpha(@IntRange(from = 0, to = 255) int alpha) { setAlpha(alpha); return this; } @@ -1152,7 +1246,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable style(@NonNull Paint.Style style) { + public @NonNull + IconicsDrawable style(@NonNull Paint.Style style) { mIconBrush.getPaint().setStyle(style); invalidateSelf(); @@ -1165,7 +1260,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull IconicsDrawable typeface(@Nullable Typeface typeface) { + public @NonNull + IconicsDrawable typeface(@Nullable Typeface typeface) { mIconBrush.getPaint().setTypeface(typeface); invalidateSelf(); @@ -1174,7 +1270,8 @@ private T copyTo(T drawable) { //endregion //region overridden methods from android.graphics.drawable.Drawable class - @Override public void draw(@NonNull Canvas canvas) { + @Override + public void draw(@NonNull Canvas canvas) { if (mIcon == null && mPlainIcon == null) return; Rect viewBounds = getBounds(); @@ -1225,21 +1322,24 @@ private T copyTo(T drawable) { canvas.drawPath(mPath, mIconBrush.getPaint()); } - @Override public void setTintList(@Nullable ColorStateList tint) { + @Override + public void setTintList(@Nullable ColorStateList tint) { mTint = tint; mTintFilter = updateTintFilter(tint, mTintMode); invalidateSelf(); } - @Override public void setTintMode(@NonNull PorterDuff.Mode tintMode) { + @Override + public void setTintMode(@NonNull PorterDuff.Mode tintMode) { mTintMode = tintMode; mTintFilter = updateTintFilter(mTint, tintMode); invalidateSelf(); } - @Override protected void onBoundsChange(@NonNull Rect bounds) { + @Override + protected void onBoundsChange(@NonNull Rect bounds) { offsetIcon(bounds); try { mPath.close(); @@ -1248,14 +1348,16 @@ private T copyTo(T drawable) { super.onBoundsChange(bounds); } - @Override public boolean isStateful() { + @Override + public boolean isStateful() { return mIconBrush.isStateful() || mContourBrush.isStateful() || mBackgroundBrush.isStateful() || mBackgroundContourBrush.isStateful(); } - @Override public boolean setState(@NonNull int[] stateSet) { + @Override + public boolean setState(@NonNull int[] stateSet) { boolean b = super.setState(stateSet); return b || mIconBrush.isStateful() || mContourBrush.isStateful() @@ -1265,7 +1367,8 @@ private T copyTo(T drawable) { || mTintFilter != null; } - @Override public int getOpacity() { + @Override + public int getOpacity() { if (mTintFilter != null || mIconBrush.getPaint().getColorFilter() != null) { return PixelFormat.TRANSLUCENT; } @@ -1278,7 +1381,8 @@ private T copyTo(T drawable) { return PixelFormat.TRANSLUCENT; } - @Override protected boolean onStateChange(@NonNull int[] stateSet) { + @Override + protected boolean onStateChange(@NonNull int[] stateSet) { boolean isNeedsRedraw = mIconBrush.applyState(stateSet); isNeedsRedraw |= mContourBrush.applyState(stateSet); isNeedsRedraw |= mBackgroundBrush.applyState(stateSet); @@ -1292,15 +1396,18 @@ private T copyTo(T drawable) { return isNeedsRedraw; } - @Override public int getIntrinsicWidth() { + @Override + public int getIntrinsicWidth() { return mSizeX; } - @Override public int getIntrinsicHeight() { + @Override + public int getIntrinsicHeight() { return mSizeY; } - @Override public void setAlpha(@IntRange(from = 0, to = 255) int alpha) { + @Override + public void setAlpha(@IntRange(from = 0, to = 255) int alpha) { mIconBrush.setAlpha(alpha); mContourBrush.setAlpha(alpha); mBackgroundBrush.setAlpha(alpha); @@ -1311,17 +1418,21 @@ private T copyTo(T drawable) { invalidateSelf(); } - @Override public @IntRange(from = 0, to = 255) int getAlpha() { + @Override + public @IntRange(from = 0, to = 255) + int getAlpha() { return mAlpha; } - @Override public void setColorFilter(@Nullable ColorFilter cf) { + @Override + public void setColorFilter(@Nullable ColorFilter cf) { mColorFilter = cf; invalidateSelf(); } - @Override public void clearColorFilter() { + @Override + public void clearColorFilter() { mColorFilter = null; invalidateSelf(); diff --git a/library-core/src/main/java/com/mikepenz/iconics/animation/BlinkAlphaProcessor.java b/library-core/src/main/java/com/mikepenz/iconics/animation/BlinkAlphaProcessor.java index e070c992..c48f30ea 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/animation/BlinkAlphaProcessor.java +++ b/library-core/src/main/java/com/mikepenz/iconics/animation/BlinkAlphaProcessor.java @@ -20,22 +20,24 @@ import android.graphics.Paint; import android.text.TextPaint; -import com.mikepenz.iconics.IconicsBrush; - import androidx.annotation.IntRange; import androidx.annotation.NonNull; +import com.mikepenz.iconics.IconicsBrush; + /** * @author pa.gulko zTrap (30.11.2018) */ public class BlinkAlphaProcessor extends IconicsAnimationProcessor { /** * Duration used for all instances of this processor by default. 500 ms by default. - * */ + */ public static int defaultDuration = 500; - private @IntRange(from = 0, to = 255) int mMinimumAlpha = 0; - private @IntRange(from = 0, to = 255) int mMaximumAlpha = 255; + private @IntRange(from = 0, to = 255) + int mMinimumAlpha = 0; + private @IntRange(from = 0, to = 255) + int mMaximumAlpha = 255; { mRepeatMode = REVERSE; @@ -44,39 +46,46 @@ public class BlinkAlphaProcessor extends IconicsAnimationProcessor { /** * @param minimumAlpha The alpha which will be used as minimal available value. - * */ - public @NonNull BlinkAlphaProcessor minimumAlpha(@IntRange(from = 0, to = 255) int minimumAlpha) { + */ + public @NonNull + BlinkAlphaProcessor minimumAlpha(@IntRange(from = 0, to = 255) int minimumAlpha) { mMinimumAlpha = minimumAlpha; return this; } /** * @param maximumAlpha The alpha which will be used as maximal available value. - * */ - public @NonNull BlinkAlphaProcessor maximumAlpha(@IntRange(from = 0, to = 255) int maximumAlpha) { + */ + public @NonNull + BlinkAlphaProcessor maximumAlpha(@IntRange(from = 0, to = 255) int maximumAlpha) { mMaximumAlpha = maximumAlpha; return this; } /** * @return The minimal available alpha. - * */ - public @IntRange(from = 0, to = 255) int getMinimumAlpha() { + */ + public @IntRange(from = 0, to = 255) + int getMinimumAlpha() { return mMinimumAlpha; } /** * @return The maximal available alpha. - * */ - public @IntRange(from = 0, to = 255) int getMaximumAlpha() { + */ + public @IntRange(from = 0, to = 255) + int getMaximumAlpha() { return mMaximumAlpha; } - @Override public @NonNull String animationTag() { + @Override + public @NonNull + String animationTag() { return "blink_alpha"; } - @Override protected void processPreDraw( + @Override + protected void processPreDraw( @NonNull Canvas canvas, @NonNull IconicsBrush iconBrush, @NonNull IconicsBrush iconContourBrush, diff --git a/library-core/src/main/java/com/mikepenz/iconics/animation/BlinkScaleProcessor.java b/library-core/src/main/java/com/mikepenz/iconics/animation/BlinkScaleProcessor.java index ddb71c8c..778611e7 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/animation/BlinkScaleProcessor.java +++ b/library-core/src/main/java/com/mikepenz/iconics/animation/BlinkScaleProcessor.java @@ -21,22 +21,24 @@ import android.graphics.Rect; import android.text.TextPaint; -import com.mikepenz.iconics.IconicsBrush; - import androidx.annotation.FloatRange; import androidx.annotation.NonNull; +import com.mikepenz.iconics.IconicsBrush; + /** * @author pa.gulko zTrap (30.11.2018) */ public class BlinkScaleProcessor extends IconicsAnimationProcessor { /** * Duration used for all instances of this processor by default. 500 ms by default. - * */ + */ public static int defaultDuration = 500; - private @FloatRange(from = 0) float mMinimumScale = 0; - private @FloatRange(from = 0) float mMaximumScale = 1; + private @FloatRange(from = 0) + float mMinimumScale = 0; + private @FloatRange(from = 0) + float mMaximumScale = 1; { mRepeatMode = REVERSE; @@ -45,39 +47,46 @@ public class BlinkScaleProcessor extends IconicsAnimationProcessor { /** * @param minimumScale The scale which will be used as minimal available value. - * */ - public @NonNull BlinkScaleProcessor minimumScale(@FloatRange(from = 0) float minimumScale) { + */ + public @NonNull + BlinkScaleProcessor minimumScale(@FloatRange(from = 0) float minimumScale) { mMinimumScale = minimumScale; return this; } /** * @param maximumScale The scale which will be used as maximal available value. - * */ - public @NonNull BlinkScaleProcessor maximumScale(@FloatRange(from = 0) float maximumScale) { + */ + public @NonNull + BlinkScaleProcessor maximumScale(@FloatRange(from = 0) float maximumScale) { mMaximumScale = maximumScale; return this; } /** * @return The minimal available scale. - * */ - public @FloatRange(from = 0) float getMinimumScale() { + */ + public @FloatRange(from = 0) + float getMinimumScale() { return mMinimumScale; } /** * @return The minimal available scale. - * */ - public @FloatRange(from = 0) float getMaximumScale() { + */ + public @FloatRange(from = 0) + float getMaximumScale() { return mMaximumScale; } - @Override public @NonNull String animationTag() { + @Override + public @NonNull + String animationTag() { return "blink_scale"; } - @Override protected void processPreDraw( + @Override + protected void processPreDraw( @NonNull Canvas canvas, @NonNull IconicsBrush iconBrush, @NonNull IconicsBrush iconContourBrush, @@ -93,7 +102,8 @@ public class BlinkScaleProcessor extends IconicsAnimationProcessor { canvas.scale(scale, scale, bounds.width() / 2, bounds.height() / 2); } - @Override protected void processPostDraw(@NonNull Canvas canvas) { + @Override + protected void processPostDraw(@NonNull Canvas canvas) { canvas.restore(); } } diff --git a/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimatedDrawable.java b/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimatedDrawable.java index b7529a67..e875ab10 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimatedDrawable.java +++ b/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimatedDrawable.java @@ -20,6 +20,10 @@ import android.graphics.Canvas; import android.view.View; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.view.ViewCompat; + import com.mikepenz.iconics.IconicsDrawable; import com.mikepenz.iconics.typeface.IIcon; import com.mikepenz.iconics.typeface.ITypeface; @@ -27,16 +31,13 @@ import java.util.ArrayList; import java.util.List; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.core.view.ViewCompat; - /** * @author pa.gulko zTrap (28.11.2018) */ @SuppressWarnings("UnusedReturnValue, WeakerAccess, unused") public class IconicsAnimatedDrawable extends IconicsDrawable { - private @NonNull List mProcessors = new ArrayList<>(); + private @NonNull + List mProcessors = new ArrayList<>(); public IconicsAnimatedDrawable(Context context) { super(context); @@ -58,16 +59,19 @@ protected IconicsAnimatedDrawable(Context context, ITypeface typeface, IIcon ico super(context, typeface, icon); } - @Override public int getAlpha() { + @Override + public int getAlpha() { return mIconBrush.getAlpha(); } - @Override public int getCompatAlpha() { + @Override + public int getCompatAlpha() { return mIconBrush.getAlpha(); } // FI-LO - @Override public void draw(@NonNull Canvas canvas) { + @Override + public void draw(@NonNull Canvas canvas) { for (int i = 0; i < mProcessors.size(); i++) { IconicsAnimationProcessor p = mProcessors.get(i); p.processPreDraw( @@ -88,8 +92,9 @@ protected IconicsAnimatedDrawable(Context context, ITypeface typeface, IIcon ico /** * Attach an {@link IconicsAnimationProcessor processor} to this drawable - * */ - public @NonNull IconicsAnimatedDrawable processor(@NonNull IconicsAnimationProcessor processor) { + */ + public @NonNull + IconicsAnimatedDrawable processor(@NonNull IconicsAnimationProcessor processor) { if (processor == null) return this; processor.setDrawable(this); mProcessors.add(processor); @@ -98,8 +103,9 @@ protected IconicsAnimatedDrawable(Context context, ITypeface typeface, IIcon ico /** * Attach an {@link IconicsAnimationProcessor processors} to this drawable - * */ - public @NonNull IconicsAnimatedDrawable processors(@NonNull IconicsAnimationProcessor... processors) { + */ + public @NonNull + IconicsAnimatedDrawable processors(@NonNull IconicsAnimationProcessor... processors) { if (processors == null || processors.length == 0) return this; for (IconicsAnimationProcessor processor : processors) { processor(processor); @@ -110,8 +116,9 @@ protected IconicsAnimatedDrawable(Context context, ITypeface typeface, IIcon ico /** * @return The runner which used for animations. Animations can be easily removed by calling * {@link Runner#unset()} - * */ - public @NonNull Runner animateIn(@Nullable View view) { + */ + public @NonNull + Runner animateIn(@Nullable View view) { Runner runner = new Runner(); runner.setFor(view, this); return runner; @@ -119,18 +126,22 @@ protected IconicsAnimatedDrawable(Context context, ITypeface typeface, IIcon ico public static class Runner { private boolean mIsAttached = false; - private @Nullable View mView; - private @Nullable IconicsAnimatedDrawable mDrawable; + private @Nullable + View mView; + private @Nullable + IconicsAnimatedDrawable mDrawable; private Runner() { } private View.OnAttachStateChangeListener mListener = new View.OnAttachStateChangeListener() { - @Override public void onViewAttachedToWindow(@NonNull final View v) { + @Override + public void onViewAttachedToWindow(@NonNull final View v) { mIsAttached = true; ViewCompat.postOnAnimation(v, new Runnable() { - @Override public void run() { + @Override + public void run() { if (mIsAttached && mDrawable != null) { v.invalidateDrawable(mDrawable); ViewCompat.postOnAnimation(v, this); @@ -139,14 +150,15 @@ private Runner() { }); } - @Override public void onViewDetachedFromWindow(@NonNull View v) { + @Override + public void onViewDetachedFromWindow(@NonNull View v) { mIsAttached = false; } }; /** * Setup all animations to provided drawable and view - * */ + */ public void setFor(@NonNull View view, @NonNull IconicsAnimatedDrawable drawable) { unset(); if (view == null || drawable == null) return; @@ -160,7 +172,7 @@ public void setFor(@NonNull View view, @NonNull IconicsAnimatedDrawable drawable /** * Clear all animations from previously provided drawable and view - * */ + */ public void unset() { mDrawable = null; if (mView != null) { diff --git a/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationListener.java b/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationListener.java index 41bc7e49..fbce9c9d 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationListener.java +++ b/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationListener.java @@ -23,9 +23,9 @@ public interface IconicsAnimationListener { /** * Notifies the start of the animation as well as the animation's overall play direction. - * This method's default behavior is to call - * {@link #onAnimationStart(IconicsAnimationProcessor)}. This method can be overridden, - * though not required, to get the additional play direction info when an animation starts. + * This method's default behavior is to call + * {@link #onAnimationStart(IconicsAnimationProcessor)}. This method can be overridden, + * though not required, to get the additional play direction info when an animation starts. * Skipping calling super when overriding this method results in * {@link #onAnimationStart(IconicsAnimationProcessor)} not getting called. * @@ -39,7 +39,7 @@ default void onAnimationStart(IconicsAnimationProcessor processor, boolean isRev /** * Notifies the end of the animation. This callback is not invoked * for animations with repeat count set to INFINITE. - * + *

* This method's default behavior is to call {@link #onAnimationEnd(IconicsAnimationProcessor)}. * This method can be overridden, though not required, to get the additional play direction info * when an animation ends. Skipping calling super when overriding this method results in diff --git a/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationProcessor.java b/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationProcessor.java index ccc54f05..9359c6b5 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationProcessor.java +++ b/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationProcessor.java @@ -26,6 +26,13 @@ import android.text.TextPaint; import android.view.animation.LinearInterpolator; +import androidx.annotation.FloatRange; +import androidx.annotation.IntDef; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.RequiresApi; +import androidx.core.util.Consumer; + import com.mikepenz.iconics.IconicsBrush; import java.lang.annotation.Retention; @@ -34,22 +41,18 @@ import java.util.List; import java.util.concurrent.TimeUnit; -import androidx.annotation.FloatRange; -import androidx.annotation.IntDef; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.annotation.RequiresApi; -import androidx.core.util.Consumer; - /** * @author pa.gulko zTrap (28.11.2018) */ public abstract class IconicsAnimationProcessor { - private static final @NonNull TimeInterpolator sDefaultInterpolator = new LinearInterpolator(); + private static final @NonNull + TimeInterpolator sDefaultInterpolator = new LinearInterpolator(); - private final @NonNull ValueAnimator mAnimator = ValueAnimator.ofFloat(0, 100); + private final @NonNull + ValueAnimator mAnimator = ValueAnimator.ofFloat(0, 100); - private @Nullable IconicsAnimatedDrawable mDrawable; + private @Nullable + IconicsAnimatedDrawable mDrawable; private boolean mIsStartRequested = false; /** @@ -68,7 +71,8 @@ public abstract class IconicsAnimationProcessor { */ public static final int INFINITE = ValueAnimator.INFINITE; - protected @NonNull TimeInterpolator mInterpolator = sDefaultInterpolator; + protected @NonNull + TimeInterpolator mInterpolator = sDefaultInterpolator; protected long mDuration = 300; protected int mRepeatCount = INFINITE; protected int mRepeatMode = RESTART; @@ -76,42 +80,51 @@ public abstract class IconicsAnimationProcessor { @IntDef({RESTART, REVERSE}) @Retention(RetentionPolicy.SOURCE) - private @interface RepeatMode {} + private @interface RepeatMode { + } /** * The set of listeners to be sent events through the life of an animation. */ - private @Nullable List mListeners = null; + private @Nullable + List mListeners = null; /** * The set of listeners to be sent pause/resume events through the life * of an animation. */ - private @Nullable List mPauseListeners = null; + private @Nullable + List mPauseListeners = null; private final Animator.AnimatorListener mProxyListener = new Animator.AnimatorListener() { - @Override public void onAnimationStart(Animator animation, boolean isReverse) { + @Override + public void onAnimationStart(Animator animation, boolean isReverse) { forEachListeners(l -> l.onAnimationStart(IconicsAnimationProcessor.this, isReverse)); } - @Override public void onAnimationEnd(Animator animation, boolean isReverse) { + @Override + public void onAnimationEnd(Animator animation, boolean isReverse) { forEachListeners(l -> l.onAnimationEnd(IconicsAnimationProcessor.this, isReverse)); } - @Override public void onAnimationStart(Animator animation) { + @Override + public void onAnimationStart(Animator animation) { forEachListeners(l -> l.onAnimationStart(IconicsAnimationProcessor.this)); } - @Override public void onAnimationEnd(Animator animation) { + @Override + public void onAnimationEnd(Animator animation) { forEachListeners(l -> l.onAnimationEnd(IconicsAnimationProcessor.this)); } - @Override public void onAnimationCancel(Animator animation) { + @Override + public void onAnimationCancel(Animator animation) { forEachListeners(l -> l.onAnimationCancel(IconicsAnimationProcessor.this)); } - @Override public void onAnimationRepeat(Animator animation) { + @Override + public void onAnimationRepeat(Animator animation) { forEachListeners(l -> l.onAnimationRepeat(IconicsAnimationProcessor.this)); } @@ -126,11 +139,13 @@ private void forEachListeners(Consumer consumer) { @RequiresApi(Build.VERSION_CODES.KITKAT) private final Animator.AnimatorPauseListener mProxyPauseListener = new Animator.AnimatorPauseListener() { - @Override public void onAnimationPause(Animator animation) { + @Override + public void onAnimationPause(Animator animation) { forEachListeners(l -> l.onAnimationPause(IconicsAnimationProcessor.this)); } - @Override public void onAnimationResume(Animator animation) { + @Override + public void onAnimationResume(Animator animation) { forEachListeners(l -> l.onAnimationResume(IconicsAnimationProcessor.this)); } @@ -144,15 +159,17 @@ private void forEachListeners(Consumer consumer) /** * @return Tag which will be used to apply this processor via xml - * */ - public abstract @NonNull String animationTag(); + */ + public abstract @NonNull + String animationTag(); /** * Sets the length of the animation. The default duration is 300 milliseconds. * * @param duration The length of the animation. This value cannot be negative. */ - public @NonNull IconicsAnimationProcessor duration(long duration, @NonNull TimeUnit timeUnit) { + public @NonNull + IconicsAnimationProcessor duration(long duration, @NonNull TimeUnit timeUnit) { mDuration = timeUnit.toMillis(duration); return this; } @@ -164,7 +181,8 @@ private void forEachListeners(Consumer consumer) * * @param value {@link #RESTART} or {@link #REVERSE} */ - public @NonNull IconicsAnimationProcessor repeatMode(@RepeatMode int value) { + public @NonNull + IconicsAnimationProcessor repeatMode(@RepeatMode int value) { mRepeatMode = value; return this; } @@ -177,7 +195,8 @@ private void forEachListeners(Consumer consumer) * * @param repeatCount the number of times the animation should be repeated */ - public @NonNull IconicsAnimationProcessor repeatCount(int repeatCount) { + public @NonNull + IconicsAnimationProcessor repeatCount(int repeatCount) { mRepeatCount = repeatCount; return this; } @@ -191,7 +210,8 @@ private void forEachListeners(Consumer consumer) * @param interpolator the interpolator to be used by this processor. A value of {@code null} * will result in linear interpolation. */ - public @NonNull IconicsAnimationProcessor interpolator(@NonNull TimeInterpolator interpolator) { + public @NonNull + IconicsAnimationProcessor interpolator(@NonNull TimeInterpolator interpolator) { if (interpolator != null) { mInterpolator = interpolator; } else { @@ -205,8 +225,9 @@ private void forEachListeners(Consumer consumer) * with the view is attached to window. Default value is {@code true}. * * @param startImmediately the flag - * */ - public @NonNull IconicsAnimationProcessor startImmediately(boolean startImmediately) { + */ + public @NonNull + IconicsAnimationProcessor startImmediately(boolean startImmediately) { mIsStartImmediately = startImmediately; return this; } @@ -214,8 +235,9 @@ private void forEachListeners(Consumer consumer) /** * Starts the animation, if processor is attached to drawable, otherwise sets flag to start * animation immediately after attaching - * */ - public @NonNull IconicsAnimationProcessor start() { + */ + public @NonNull + IconicsAnimationProcessor start() { mAnimator.setInterpolator(mInterpolator); mAnimator.setDuration(mDuration); mAnimator.setRepeatCount(mRepeatCount); @@ -236,7 +258,8 @@ private void forEachListeners(Consumer consumer) * * @param listener the listener to be added to the current set of listeners for this processor. */ - public @NonNull IconicsAnimationProcessor addListener(@NonNull IconicsAnimationListener listener) { + public @NonNull + IconicsAnimationProcessor addListener(@NonNull IconicsAnimationListener listener) { if (mListeners == null) { mListeners = new ArrayList<>(); mAnimator.addListener(mProxyListener); @@ -266,10 +289,11 @@ public void removeListener(@NonNull IconicsAnimationListener listener) { * Adds a pause listener to this processor. * * @param listener the listener to be added to the current set of pause listeners - * for this processor. + * for this processor. */ @RequiresApi(Build.VERSION_CODES.KITKAT) - public @NonNull IconicsAnimationProcessor addPauseListener(@NonNull IconicsAnimationPauseListener listener) { + public @NonNull + IconicsAnimationProcessor addPauseListener(@NonNull IconicsAnimationPauseListener listener) { if (mPauseListeners == null) { mPauseListeners = new ArrayList<>(); mAnimator.addPauseListener(mProxyPauseListener); @@ -282,7 +306,7 @@ public void removeListener(@NonNull IconicsAnimationListener listener) { * Removes a pause listener from the set listening to this processor. * * @param listener the listener to be removed from the current set of pause - * listeners for this processor. + * listeners for this processor. */ @RequiresApi(Build.VERSION_CODES.KITKAT) public void removePauseListener(@NonNull IconicsAnimationPauseListener listener) { @@ -321,7 +345,7 @@ public void removeAllListeners() { * {@link IconicsAnimationListener#onAnimationCancel(IconicsAnimationProcessor)} to * its listeners, followed by an * {@link IconicsAnimationListener#onAnimationEnd(IconicsAnimationProcessor)} message. - * + *

* This method must be called on the thread that is running the processor. */ public void cancel() { @@ -333,7 +357,7 @@ public void cancel() { * animated, then calling the * {@link IconicsAnimationListener#onAnimationEnd(IconicsAnimationProcessor)} method on * its listeners. - * + *

* This method must be called on the thread that is running the processor. */ public void end() { @@ -396,7 +420,6 @@ public void resume() { * Returns whether this processor is currently in a paused state. * * @return True if the processor is currently paused, false otherwise. - * * @see #pause() * @see #resume() */ @@ -408,7 +431,7 @@ public boolean isPaused() { /** * Will be called before {@link android.graphics.drawable.Drawable#draw(Canvas) .draw(Canvas)}. * Useful for some changes, based on {@link android.graphics.Paint Paint} - * */ + */ protected void processPreDraw( @NonNull Canvas canvas, @NonNull IconicsBrush iconBrush, @@ -421,28 +444,29 @@ protected void processPreDraw( * Will be called after {@link android.graphics.drawable.Drawable#draw(Canvas) .draw(Canvas)}. * Useful for some changes, based on canvas and need to restore canvas after drawing the icon * (scale, rotate etc.). - * */ + */ protected void processPostDraw(@NonNull Canvas canvas) { } /** * Return the drawable's current state - * + *

* Nullability contract: calling this into * {@link #processPreDraw(Canvas, IconicsBrush, IconicsBrush, IconicsBrush, IconicsBrush)} or * {@link #processPostDraw(Canvas)} is guaranteed return {@code @NonNull} value, otherwise it * can be {@code @Nullable}. * * @return The current state of the drawable - * */ - protected @Nullable int[] getDrawableState() { + */ + protected @Nullable + int[] getDrawableState() { return mDrawable == null ? null : mDrawable.getState(); } /** * Return the drawable's bounds Rect. Note: for efficiency, the returned object may be the same * object stored in the drawable (though this is not guaranteed). - * + *

* Nullability contract: calling this into * {@link #processPreDraw(Canvas, IconicsBrush, IconicsBrush, IconicsBrush, IconicsBrush)} or * {@link #processPostDraw(Canvas)} is guaranteed return {@code @NonNull} value, otherwise it @@ -451,14 +475,16 @@ protected void processPostDraw(@NonNull Canvas canvas) { * @return The bounds of the drawable (which may change later, so caller beware). DO NOT ALTER * the returned object as it may change the stored bounds of this drawable. */ - protected @Nullable Rect getDrawableBounds() { + protected @Nullable + Rect getDrawableBounds() { return mDrawable == null ? null : mDrawable.getBounds(); } /** * @return completed percent of animation - * */ - protected @FloatRange(from = 0, to = 100) float getAnimatedPercent() { + */ + protected @FloatRange(from = 0, to = 100) + float getAnimatedPercent() { return (float) mAnimator.getAnimatedValue(); } @@ -466,7 +492,7 @@ protected void processPostDraw(@NonNull Canvas canvas) { * Called when a drawable was attached and now {@link #getDrawableBounds()} and * {@link #getDrawableState()} will return valid values. Good place to set some * drawable-dependent fields - * */ + */ protected void onDrawableAttached() { } @@ -474,13 +500,13 @@ protected void onDrawableAttached() { * Called when a drawable was detached and now {@link #getDrawableBounds()} and * {@link #getDrawableState()} will return {@code null}. Good place to reset some * drawable-dependent fields - * */ + */ protected void onDrawableDetached() { } /** * Internal set an drawable to this processor - * */ + */ void setDrawable(@Nullable IconicsAnimatedDrawable drawable) { mDrawable = null; onDrawableDetached(); diff --git a/library-core/src/main/java/com/mikepenz/iconics/animation/SpinProcessor.java b/library-core/src/main/java/com/mikepenz/iconics/animation/SpinProcessor.java index 81442df2..50aa0e3a 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/animation/SpinProcessor.java +++ b/library-core/src/main/java/com/mikepenz/iconics/animation/SpinProcessor.java @@ -21,21 +21,21 @@ import android.graphics.Rect; import android.text.TextPaint; +import androidx.annotation.IntDef; +import androidx.annotation.NonNull; + import com.mikepenz.iconics.IconicsBrush; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; -import androidx.annotation.IntDef; -import androidx.annotation.NonNull; - /** * @author pa.gulko zTrap (30.11.2018) */ public class SpinProcessor extends IconicsAnimationProcessor { /** * Duration used for all instances of this processor by default. 2000 ms by default. - * */ + */ public static int defaultDuration = 2000; public final static int DIRECTION_CLOCKWISE = +1; @@ -46,7 +46,8 @@ public class SpinProcessor extends IconicsAnimationProcessor { private @interface Direction { } - private @Direction int mDirection = DIRECTION_CLOCKWISE; + private @Direction + int mDirection = DIRECTION_CLOCKWISE; private boolean mIsDrawableShadowCleared = false; { @@ -56,24 +57,29 @@ public class SpinProcessor extends IconicsAnimationProcessor { /** * @param direction The direction of the spin, {@link #DIRECTION_CLOCKWISE clockwise (+1)} * or {@link #DIRECTION_COUNTER_CLOCKWISE counter clockwise (-1)} - * */ - public @NonNull SpinProcessor direction(@Direction int direction) { + */ + public @NonNull + SpinProcessor direction(@Direction int direction) { mDirection = direction; return this; } /** * @return the direction of the spin, clockwise (+1) or counter clockwise (-1) - * */ - public @Direction int getDirection() { + */ + public @Direction + int getDirection() { return (int) Math.signum(mDirection); } - @Override public @NonNull String animationTag() { + @Override + public @NonNull + String animationTag() { return "spin"; } - @Override protected void processPreDraw( + @Override + protected void processPreDraw( @NonNull Canvas canvas, @NonNull IconicsBrush iconBrush, @NonNull IconicsBrush iconContourBrush, @@ -95,11 +101,13 @@ public class SpinProcessor extends IconicsAnimationProcessor { canvas.rotate(degrees, bounds.width() / 2, bounds.height() / 2); } - @Override protected void processPostDraw(@NonNull Canvas canvas) { + @Override + protected void processPostDraw(@NonNull Canvas canvas) { canvas.restore(); } - @Override protected void onDrawableDetached() { + @Override + protected void onDrawableDetached() { mIsDrawableShadowCleared = false; } } diff --git a/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsApplier.java b/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsApplier.java index e1b1f284..4d9b04a2 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsApplier.java +++ b/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsApplier.java @@ -20,13 +20,13 @@ import android.content.res.TypedArray; import android.util.AttributeSet; -import com.mikepenz.iconics.IconicsDrawable; -import com.mikepenz.iconics.core.R; - import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.RestrictTo; +import com.mikepenz.iconics.IconicsDrawable; +import com.mikepenz.iconics.core.R; + import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP; /** @@ -35,8 +35,9 @@ @RestrictTo(LIBRARY_GROUP) public class IconicsAttrsApplier { - public static @Nullable IconicsDrawable getIconicsDrawable(@NonNull Context ctx, - @Nullable AttributeSet attrs) { + public static @Nullable + IconicsDrawable getIconicsDrawable(@NonNull Context ctx, + @Nullable AttributeSet attrs) { TypedArray a = ctx.obtainStyledAttributes(attrs, R.styleable.Iconics); try { return new IconicsAttrsExtractor(ctx, a) diff --git a/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsExtractor.java b/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsExtractor.java index 9f6faaf5..23e1e57a 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsExtractor.java +++ b/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsExtractor.java @@ -21,6 +21,11 @@ import android.content.res.TypedArray; import android.text.TextUtils; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.RestrictTo; +import androidx.annotation.StyleableRes; + import com.mikepenz.iconics.Iconics; import com.mikepenz.iconics.IconicsDrawable; import com.mikepenz.iconics.animation.IconicsAnimationProcessor; @@ -28,11 +33,6 @@ import java.util.ArrayList; import java.util.List; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.annotation.RestrictTo; -import androidx.annotation.StyleableRes; - import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP; /** @@ -43,31 +43,50 @@ public class IconicsAttrsExtractor { private final static int DEF_COLOR = Integer.MIN_VALUE; private final static int DEF_SIZE = -1; - private final @NonNull Context mContext; - private final @NonNull TypedArray mTypedArray; - - private @StyleableRes int mIconId; - private @StyleableRes int mSizeId; - private @StyleableRes int mColorsId; - private @StyleableRes int mPaddingId; - private @StyleableRes int mOffsetXId; - private @StyleableRes int mOffsetYId; - - private @StyleableRes int mContourColorId; - private @StyleableRes int mContourWidthId; - - private @StyleableRes int mBackgroundColorId; - private @StyleableRes int mCornerRadiusId; - - private @StyleableRes int mBackgroundContourColorId; - private @StyleableRes int mBackgroundContourWidthId; - - private @StyleableRes int mShadowRadiusId; - private @StyleableRes int mShadowDxId; - private @StyleableRes int mShadowDyId; - private @StyleableRes int mShadowColorId; - - private @StyleableRes int mAnimationsId; + private final @NonNull + Context mContext; + private final @NonNull + TypedArray mTypedArray; + + private @StyleableRes + int mIconId; + private @StyleableRes + int mSizeId; + private @StyleableRes + int mColorsId; + private @StyleableRes + int mPaddingId; + private @StyleableRes + int mOffsetXId; + private @StyleableRes + int mOffsetYId; + + private @StyleableRes + int mContourColorId; + private @StyleableRes + int mContourWidthId; + + private @StyleableRes + int mBackgroundColorId; + private @StyleableRes + int mCornerRadiusId; + + private @StyleableRes + int mBackgroundContourColorId; + private @StyleableRes + int mBackgroundContourWidthId; + + private @StyleableRes + int mShadowRadiusId; + private @StyleableRes + int mShadowDxId; + private @StyleableRes + int mShadowDyId; + private @StyleableRes + int mShadowColorId; + + private @StyleableRes + int mAnimationsId; public IconicsAttrsExtractor(@NonNull Context context, @NonNull TypedArray typedArray) { @@ -76,105 +95,126 @@ public IconicsAttrsExtractor(@NonNull Context context, @NonNull TypedArray typed } //region chain setters - public @NonNull IconicsAttrsExtractor iconId(@StyleableRes int iconId) { + public @NonNull + IconicsAttrsExtractor iconId(@StyleableRes int iconId) { mIconId = iconId; return this; } - public @NonNull IconicsAttrsExtractor sizeId(@StyleableRes int sizeId) { + public @NonNull + IconicsAttrsExtractor sizeId(@StyleableRes int sizeId) { mSizeId = sizeId; return this; } - public @NonNull IconicsAttrsExtractor colorsId(@StyleableRes int colorsId) { + public @NonNull + IconicsAttrsExtractor colorsId(@StyleableRes int colorsId) { mColorsId = colorsId; return this; } - public @NonNull IconicsAttrsExtractor paddingId(@StyleableRes int paddingId) { + public @NonNull + IconicsAttrsExtractor paddingId(@StyleableRes int paddingId) { mPaddingId = paddingId; return this; } - public @NonNull IconicsAttrsExtractor offsetXId(@StyleableRes int offsetXId) { + public @NonNull + IconicsAttrsExtractor offsetXId(@StyleableRes int offsetXId) { mOffsetXId = offsetXId; return this; } - public @NonNull IconicsAttrsExtractor offsetYId(@StyleableRes int offsetYId) { + public @NonNull + IconicsAttrsExtractor offsetYId(@StyleableRes int offsetYId) { mOffsetYId = offsetYId; return this; } - public @NonNull IconicsAttrsExtractor contourColorId(@StyleableRes int contourColorId) { + public @NonNull + IconicsAttrsExtractor contourColorId(@StyleableRes int contourColorId) { mContourColorId = contourColorId; return this; } - public @NonNull IconicsAttrsExtractor contourWidthId(@StyleableRes int contourWidthId) { + public @NonNull + IconicsAttrsExtractor contourWidthId(@StyleableRes int contourWidthId) { mContourWidthId = contourWidthId; return this; } - public @NonNull IconicsAttrsExtractor backgroundColorId(@StyleableRes int backgroundColorId) { + public @NonNull + IconicsAttrsExtractor backgroundColorId(@StyleableRes int backgroundColorId) { mBackgroundColorId = backgroundColorId; return this; } - public @NonNull IconicsAttrsExtractor cornerRadiusId(@StyleableRes int cornerRadiusId) { + public @NonNull + IconicsAttrsExtractor cornerRadiusId(@StyleableRes int cornerRadiusId) { mCornerRadiusId = cornerRadiusId; return this; } - public @NonNull IconicsAttrsExtractor backgroundContourColorId(@StyleableRes int backgroundContourColorId) { + public @NonNull + IconicsAttrsExtractor backgroundContourColorId(@StyleableRes int backgroundContourColorId) { mBackgroundContourColorId = backgroundContourColorId; return this; } - public @NonNull IconicsAttrsExtractor backgroundContourWidthId(@StyleableRes int backgroundContourWidthId) { + public @NonNull + IconicsAttrsExtractor backgroundContourWidthId(@StyleableRes int backgroundContourWidthId) { mBackgroundContourWidthId = backgroundContourWidthId; return this; } - public @NonNull IconicsAttrsExtractor shadowRadiusId(@StyleableRes int shadowRadiusId) { + public @NonNull + IconicsAttrsExtractor shadowRadiusId(@StyleableRes int shadowRadiusId) { mShadowRadiusId = shadowRadiusId; return this; } - public @NonNull IconicsAttrsExtractor shadowDxId(@StyleableRes int shadowDxId) { + public @NonNull + IconicsAttrsExtractor shadowDxId(@StyleableRes int shadowDxId) { mShadowDxId = shadowDxId; return this; } - public @NonNull IconicsAttrsExtractor shadowDyId(@StyleableRes int shadowDyId) { + public @NonNull + IconicsAttrsExtractor shadowDyId(@StyleableRes int shadowDyId) { mShadowDyId = shadowDyId; return this; } - public @NonNull IconicsAttrsExtractor shadowColorId(@StyleableRes int shadowColorId) { + public @NonNull + IconicsAttrsExtractor shadowColorId(@StyleableRes int shadowColorId) { mShadowColorId = shadowColorId; return this; } - public @NonNull IconicsAttrsExtractor animationsId(@StyleableRes int animationsId) { + public @NonNull + IconicsAttrsExtractor animationsId(@StyleableRes int animationsId) { mAnimationsId = animationsId; return this; } //endregion - public @NonNull IconicsDrawable extractNonNull() { + public @NonNull + IconicsDrawable extractNonNull() { return extract(null, false, true); } - public @Nullable IconicsDrawable extract(@Nullable IconicsDrawable icon) { + public @Nullable + IconicsDrawable extract(@Nullable IconicsDrawable icon) { return extract(icon, false, false); } - public @Nullable IconicsDrawable extract() { + public @Nullable + IconicsDrawable extract() { return extract(null, false, false); } - public @Nullable IconicsDrawable extractWithOffsets() { + public @Nullable + IconicsDrawable extractWithOffsets() { return extract(null, true, false); } @@ -287,14 +327,16 @@ private IconicsDrawable extract(@Nullable IconicsDrawable icon, return icon; } - private static @Nullable IconicsDrawable copyIfCan(@Nullable IconicsDrawable drawable) { + private static @Nullable + IconicsDrawable copyIfCan(@Nullable IconicsDrawable drawable) { if (drawable != null) { return drawable.clone(); } return null; } - private static @NonNull IconicsDrawable createIfNeeds( + private static @NonNull + IconicsDrawable createIfNeeds( @Nullable IconicsDrawable drawable, @NonNull Context context) { if (drawable == null) { diff --git a/library-core/src/main/java/com/mikepenz/iconics/context/IconicsFactory.java b/library-core/src/main/java/com/mikepenz/iconics/context/IconicsFactory.java index bfc96470..d271ec20 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/context/IconicsFactory.java +++ b/library-core/src/main/java/com/mikepenz/iconics/context/IconicsFactory.java @@ -10,13 +10,13 @@ import android.widget.ImageView; import android.widget.TextView; +import androidx.appcompat.view.menu.ActionMenuItemView; + import com.mikepenz.iconics.Iconics; import com.mikepenz.iconics.IconicsDrawable; import com.mikepenz.iconics.animation.IconicsAnimatedDrawable; import com.mikepenz.iconics.core.R; -import androidx.appcompat.view.menu.ActionMenuItemView; - class IconicsFactory { View onViewCreated(View view, Context context, AttributeSet attrs) { diff --git a/library-core/src/main/java/com/mikepenz/iconics/context/IconicsLayoutInflater.java b/library-core/src/main/java/com/mikepenz/iconics/context/IconicsLayoutInflater.java index 055a4a36..bb320024 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/context/IconicsLayoutInflater.java +++ b/library-core/src/main/java/com/mikepenz/iconics/context/IconicsLayoutInflater.java @@ -1,11 +1,12 @@ package com.mikepenz.iconics.context; import android.content.Context; -import androidx.core.view.LayoutInflaterFactory; -import androidx.appcompat.app.AppCompatDelegate; import android.util.AttributeSet; import android.view.View; +import androidx.appcompat.app.AppCompatDelegate; +import androidx.core.view.LayoutInflaterFactory; + /** * Created by mikepenz on 01.12.15. */ diff --git a/library-core/src/main/java/com/mikepenz/iconics/context/IconicsLayoutInflater2.java b/library-core/src/main/java/com/mikepenz/iconics/context/IconicsLayoutInflater2.java index 562a2abd..43a7d2c5 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/context/IconicsLayoutInflater2.java +++ b/library-core/src/main/java/com/mikepenz/iconics/context/IconicsLayoutInflater2.java @@ -1,10 +1,11 @@ package com.mikepenz.iconics.context; import android.content.Context; -import androidx.appcompat.app.AppCompatDelegate; import android.util.AttributeSet; import android.view.View; +import androidx.appcompat.app.AppCompatDelegate; + /** * Created by bschnack on 07.18.17. */ diff --git a/library-core/src/main/java/com/mikepenz/iconics/typeface/GenericFont.java b/library-core/src/main/java/com/mikepenz/iconics/typeface/GenericFont.java index 988e8b63..63fb6c0a 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/typeface/GenericFont.java +++ b/library-core/src/main/java/com/mikepenz/iconics/typeface/GenericFont.java @@ -60,55 +60,68 @@ public void registerIcon(String name, char aChar) { mChars.put(mMappingPrefix + "_" + name, aChar); } - @Override public IIcon getIcon(String key) { + @Override + public IIcon getIcon(String key) { return new Icon(mChars.get(key)).withTypeface(this); } - @Override public HashMap getCharacters() { + @Override + public HashMap getCharacters() { return new HashMap<>(); } - @Override public String getMappingPrefix() { + @Override + public String getMappingPrefix() { return mMappingPrefix; } - @Override public String getFontName() { + @Override + public String getFontName() { return mFontName; } - @Override public String getVersion() { + @Override + public String getVersion() { return "1.0.0"; } - @Override public int getIconCount() { + @Override + public int getIconCount() { return mChars.size(); } - @Override public Collection getIcons() { + @Override + public Collection getIcons() { return mChars.keySet(); } - @Override public String getAuthor() { + @Override + public String getAuthor() { return mAuthor; } - @Override public String getUrl() { + @Override + public String getUrl() { return ""; } - @Override public String getDescription() { + @Override + public String getDescription() { return ""; } - @Override public String getLicense() { + @Override + public String getLicense() { return ""; } - @Override public String getLicenseUrl() { + @Override + public String getLicenseUrl() { return ""; } - @Override public Typeface getTypeface(Context context) { + @Override + public Typeface getTypeface(Context context) { if (typeface == null) { try { typeface = Typeface.createFromAsset(context.getAssets(), mFontFile); @@ -139,22 +152,26 @@ public Icon withTypeface(ITypeface typeface) { return this; } - @Override public String getFormattedName() { + @Override + public String getFormattedName() { return "{" + getName() + "}"; } - @Override public String getName() { + @Override + public String getName() { if (mName != null) { return mName; } return String.valueOf(aChar); } - @Override public char getCharacter() { + @Override + public char getCharacter() { return aChar; } - @Override public ITypeface getTypeface() { + @Override + public ITypeface getTypeface() { if (mTypeface != null) { return mTypeface; } else { diff --git a/library-core/src/main/java/com/mikepenz/iconics/utils/GenericsUtil.java b/library-core/src/main/java/com/mikepenz/iconics/utils/GenericsUtil.java index 58db7162..1ee9a411 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/utils/GenericsUtil.java +++ b/library-core/src/main/java/com/mikepenz/iconics/utils/GenericsUtil.java @@ -13,6 +13,7 @@ public class GenericsUtil { /** * a helper to get the string fields from the R class + * * @deprecated use {@link #getDefinedFonts(Context)} instead */ @Deprecated diff --git a/library-core/src/main/java/com/mikepenz/iconics/utils/Utils.java b/library-core/src/main/java/com/mikepenz/iconics/utils/Utils.java index d7fb7ecb..365eeefb 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/utils/Utils.java +++ b/library-core/src/main/java/com/mikepenz/iconics/utils/Utils.java @@ -4,6 +4,7 @@ import android.content.res.TypedArray; import android.graphics.drawable.Drawable; import android.graphics.drawable.StateListDrawable; + import androidx.annotation.StyleableRes; import static android.util.TypedValue.COMPLEX_UNIT_DIP; From 38738bbb7350937057c1083ad01647740967391c Mon Sep 17 00:00:00 2001 From: Mike Penz Date: Sat, 15 Dec 2018 16:18:04 +0100 Subject: [PATCH 09/15] * update to latest gradle build tools * update to latest gradle version --- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 92637c7e..ead8b31f 100644 --- a/build.gradle +++ b/build.gradle @@ -23,7 +23,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:3.3.0-alpha11' + classpath 'com.android.tools.build:gradle:3.4.0-alpha08' classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index fd949ef3..d895dfb3 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sat Sep 15 13:11:12 CEST 2018 +#Sat Dec 15 16:16:47 CET 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.1-milestone-1-all.zip From 99e6eda3255494e8772c49f71e60dd3bae26c76e Mon Sep 17 00:00:00 2001 From: Mike Penz Date: Sat, 15 Dec 2018 16:22:13 +0100 Subject: [PATCH 10/15] * [release] v3.2.0-rc1 --- build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index ead8b31f..ce9aa863 100644 --- a/build.gradle +++ b/build.gradle @@ -1,8 +1,8 @@ buildscript { ext { release = [ - versionName: "3.1.0", - versionCode: 31000 + versionName: "3.2.0-rc1", + versionCode: 3200 ] setup = [ From d775d4f2a9320d54184bf278b72e82685ca9596f Mon Sep 17 00:00:00 2001 From: "zTrap (Peter Gulko)" Date: Wed, 9 Jan 2019 20:51:15 +0300 Subject: [PATCH 11/15] - Fixed code formatting - Code cleanup --- .../java/com/mikepenz/iconics/Iconics.java | 160 +++---- .../mikepenz/iconics/IconicsArrayBuilder.java | 6 +- .../com/mikepenz/iconics/IconicsBrush.java | 28 +- .../com/mikepenz/iconics/IconicsDrawable.java | 402 +++++++++--------- .../animation/BlinkAlphaProcessor.java | 32 +- .../animation/BlinkScaleProcessor.java | 32 +- .../animation/IconicsAnimatedDrawable.java | 32 +- .../animation/IconicsAnimationProcessor.java | 86 ++-- .../iconics/animation/SpinProcessor.java | 22 +- .../iconics/context/IconicsAttrsApplier.java | 12 +- .../context/IconicsAttrsExtractor.java | 190 ++++----- 11 files changed, 501 insertions(+), 501 deletions(-) diff --git a/library-core/src/main/java/com/mikepenz/iconics/Iconics.java b/library-core/src/main/java/com/mikepenz/iconics/Iconics.java index d90ca624..0aa8dde8 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/Iconics.java +++ b/library-core/src/main/java/com/mikepenz/iconics/Iconics.java @@ -24,9 +24,6 @@ import android.widget.Button; import android.widget.TextView; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; - import com.mikepenz.iconics.animation.IconicsAnimationProcessor; import com.mikepenz.iconics.typeface.IIcon; import com.mikepenz.iconics.typeface.ITypeface; @@ -41,16 +38,19 @@ import java.util.LinkedList; import java.util.List; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + @SuppressWarnings("UnusedReturnValue, WeakerAccess, unused") public final class Iconics { - public static final @NonNull - String TAG = Iconics.class.getSimpleName(); + @NonNull + public static final String TAG = Iconics.class.getSimpleName(); private static boolean INIT_DONE = false; - private static final @NonNull - HashMap FONTS = new HashMap<>(); - private static final @NonNull - HashMap> PROCESSORS = new HashMap<>(); + @NonNull + private static final HashMap FONTS = new HashMap<>(); + @NonNull + private static final HashMap> PROCESSORS = new HashMap<>(); /** * initializes the FONTS. This also tries to find all founds automatically via their font file @@ -136,9 +136,9 @@ public static void registerProcessor(@NonNull IconicsAnimationProcessor processo PROCESSORS.put(processor.animationTag(), processor.getClass()); } - public static @Nullable - IconicsAnimationProcessor findProcessor(@NonNull Context ctx, - @NonNull String animationTag) { + @Nullable + public static IconicsAnimationProcessor findProcessor(@NonNull Context ctx, + @NonNull String animationTag) { init(ctx); Class processorClass = PROCESSORS.get(animationTag); @@ -166,8 +166,8 @@ private static void validateFont(@NonNull ITypeface font) { /** * return all registered FONTS */ - public static @NonNull - Collection getRegisteredFonts(@NonNull Context ctx) { + @NonNull + public static Collection getRegisteredFonts(@NonNull Context ctx) { init(ctx); return FONTS.values(); } @@ -175,8 +175,8 @@ Collection getRegisteredFonts(@NonNull Context ctx) { /** * tries to find a font by its key in all registered FONTS */ - public static @Nullable - ITypeface findFont(@NonNull Context ctx, @NonNull String key) { + @Nullable + public static ITypeface findFont(@NonNull Context ctx, @NonNull String key) { init(ctx); return FONTS.get(key); } @@ -184,8 +184,8 @@ ITypeface findFont(@NonNull Context ctx, @NonNull String key) { /** * fetches the font from the Typeface of an IIcon */ - public static @NonNull - ITypeface findFont(@NonNull IIcon icon) { + @NonNull + public static ITypeface findFont(@NonNull IIcon icon) { return icon.getTypeface(); } @@ -198,8 +198,8 @@ private Iconics() { * all characters, it will also directly replace icon font placeholders with the correct mapping. * Afterwards it will apply the styles */ - public static @NonNull - Spanned style(@NonNull Context ctx, @NonNull Spanned textSpanned) { + @NonNull + public static Spanned style(@NonNull Context ctx, @NonNull Spanned textSpanned) { return style(ctx, null, textSpanned, null, null); } @@ -208,12 +208,12 @@ Spanned style(@NonNull Context ctx, @NonNull Spanned textSpanned) { * all characters, it will also directly replace icon font placeholders with the correct mapping. * Afterwards it will apply the styles */ - public static @NonNull - Spanned style(@NonNull Context ctx, - @Nullable HashMap fonts, - @NonNull Spanned textSpanned, - @Nullable List styles, - @Nullable HashMap> stylesFor) { + @NonNull + public static Spanned style(@NonNull Context ctx, + @Nullable HashMap fonts, + @NonNull Spanned textSpanned, + @Nullable List styles, + @Nullable HashMap> stylesFor) { fonts = init(ctx, fonts); //find all icons which should be replaced with the iconFont @@ -255,16 +255,16 @@ public static void styleEditable(@NonNull Context ctx, } public static class IconicsBuilderString { - private @NonNull - Context ctx; - private @NonNull - Spanned text; - private @NonNull - List withStyles; - private @NonNull - HashMap> withStylesFor; - private @NonNull - List fonts; + @NonNull + private Context ctx; + @NonNull + private Spanned text; + @NonNull + private List withStyles; + @NonNull + private HashMap> withStylesFor; + @NonNull + private List fonts; public IconicsBuilderString(@NonNull Context ctx, @NonNull List fonts, @@ -278,8 +278,8 @@ public IconicsBuilderString(@NonNull Context ctx, this.withStylesFor = stylesFor; } - public @NonNull - Spanned build() { + @NonNull + public Spanned build() { HashMap mappedFonts = new HashMap<>(); for (ITypeface font : fonts) { mappedFonts.put(font.getMappingPrefix(), font); @@ -289,16 +289,16 @@ Spanned build() { } public static class IconicsBuilderView { - private @NonNull - Context ctx; - private @NonNull - TextView view; - private @NonNull - List withStyles; - private @NonNull - HashMap> withStylesFor; - private @NonNull - List fonts; + @NonNull + private Context ctx; + @NonNull + private TextView view; + @NonNull + private List withStyles; + @NonNull + private HashMap> withStylesFor; + @NonNull + private List fonts; public IconicsBuilderView(@NonNull Context ctx, @NonNull List fonts, @@ -337,26 +337,26 @@ public void build() { } public static class IconicsBuilder { - private final @NonNull - List styles = new LinkedList<>(); - private final @NonNull - HashMap> stylesFor = new HashMap<>(); - private final @NonNull - List fonts = new LinkedList<>(); - private @NonNull - Context ctx; + @NonNull + private final List styles = new LinkedList<>(); + @NonNull + private final HashMap> stylesFor = new HashMap<>(); + @NonNull + private final List fonts = new LinkedList<>(); + @NonNull + private Context ctx; public IconicsBuilder() { } - public @NonNull - IconicsBuilder ctx(@NonNull Context ctx) { + @NonNull + public IconicsBuilder ctx(@NonNull Context ctx) { this.ctx = ctx; return this; } - public @NonNull - IconicsBuilder style(@NonNull CharacterStyle... styles) { + @NonNull + public IconicsBuilder style(@NonNull CharacterStyle... styles) { if (styles != null && styles.length > 0) { Collections.addAll(this.styles, styles); } @@ -367,9 +367,9 @@ IconicsBuilder style(@NonNull CharacterStyle... styles) { * this method allows you to apply additional styles on icons , just provide all * CharacterStyles you want to apply on the given IIcon */ - public @NonNull - IconicsBuilder styleFor(@NonNull IIcon styleFor, - @NonNull CharacterStyle... styles) { + @NonNull + public IconicsBuilder styleFor(@NonNull IIcon styleFor, + @NonNull CharacterStyle... styles) { return styleFor(styleFor.getName(), styles); } @@ -377,9 +377,9 @@ IconicsBuilder styleFor(@NonNull IIcon styleFor, * this method allows you to apply additional styles on icons , just provide all * CharacterStyles you want to apply on the given icon (by it's name faw-android) */ - public @NonNull - IconicsBuilder styleFor(@NonNull String styleFor, - @NonNull CharacterStyle... styles) { + @NonNull + public IconicsBuilder styleFor(@NonNull String styleFor, + @NonNull CharacterStyle... styles) { styleFor = styleFor.replace("-", "_"); if (!stylesFor.containsKey(styleFor)) { @@ -397,8 +397,8 @@ IconicsBuilder styleFor(@NonNull String styleFor, /** * adds additional fonts which should be used to apply the icons */ - public @NonNull - IconicsBuilder font(@NonNull ITypeface font) { + @NonNull + public IconicsBuilder font(@NonNull ITypeface font) { this.fonts.add(font); return this; } @@ -406,48 +406,48 @@ IconicsBuilder font(@NonNull ITypeface font) { /** * defines where the icons should be applied to */ - public @NonNull - IconicsBuilderString on(@NonNull Spanned on) { + @NonNull + public IconicsBuilderString on(@NonNull Spanned on) { return new IconicsBuilderString(ctx, fonts, on, styles, stylesFor); } /** * defines where the icons should be applied to */ - public @NonNull - IconicsBuilderString on(@NonNull String on) { + @NonNull + public IconicsBuilderString on(@NonNull String on) { return on(new SpannableString(on)); } /** * defines where the icons should be applied to */ - public @NonNull - IconicsBuilderString on(@NonNull CharSequence on) { + @NonNull + public IconicsBuilderString on(@NonNull CharSequence on) { return on(on.toString()); } /** * defines where the icons should be applied to */ - public @NonNull - IconicsBuilderString on(@NonNull StringBuilder on) { + @NonNull + public IconicsBuilderString on(@NonNull StringBuilder on) { return on(on.toString()); } /** * defines where the icons should be applied to */ - public @NonNull - IconicsBuilderView on(@NonNull TextView on) { + @NonNull + public IconicsBuilderView on(@NonNull TextView on) { return new IconicsBuilderView(ctx, fonts, on, styles, stylesFor); } /** * defines where the icons should be applied to */ - public @NonNull - IconicsBuilderView on(@NonNull Button on) { + @NonNull + public IconicsBuilderView on(@NonNull Button on) { return new IconicsBuilderView(ctx, fonts, on, styles, stylesFor); } } diff --git a/library-core/src/main/java/com/mikepenz/iconics/IconicsArrayBuilder.java b/library-core/src/main/java/com/mikepenz/iconics/IconicsArrayBuilder.java index 71b175d2..99f2ee38 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/IconicsArrayBuilder.java +++ b/library-core/src/main/java/com/mikepenz/iconics/IconicsArrayBuilder.java @@ -19,7 +19,7 @@ public IconicsArrayBuilder(IconicsDrawable iconicsDrawable) { } public IconicsArrayBuilder add(IIcon icon) { - mIcons.add(Pair.create((Object) icon, (Typeface) null)); + mIcons.add(Pair.create(icon, null)); return this; } @@ -32,12 +32,12 @@ public IconicsArrayBuilder add(Character icon) { } public IconicsArrayBuilder add(String icon, Typeface typeface) { - mIcons.add(Pair.create((Object) icon, typeface)); + mIcons.add(Pair.create(icon, typeface)); return this; } public IconicsArrayBuilder add(Character icon, Typeface typeface) { - mIcons.add(Pair.create((Object) icon, typeface)); + mIcons.add(Pair.create(icon, typeface)); return this; } diff --git a/library-core/src/main/java/com/mikepenz/iconics/IconicsBrush.java b/library-core/src/main/java/com/mikepenz/iconics/IconicsBrush.java index 0e310410..84c1cba7 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/IconicsBrush.java +++ b/library-core/src/main/java/com/mikepenz/iconics/IconicsBrush.java @@ -20,12 +20,12 @@ import android.graphics.Color; import android.graphics.Paint; +import com.mikepenz.iconics.animation.IconicsAnimationProcessor; + import androidx.annotation.IntRange; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import com.mikepenz.iconics.animation.IconicsAnimationProcessor; - /** * Helper class to control applying state changes to colors and paint. Also for compact providing * into {@link IconicsAnimationProcessor AnimationProcessor} @@ -33,12 +33,12 @@ * @author pa.gulko zTrap (28.11.2018) */ public class IconicsBrush { - private @Nullable - ColorStateList mColors; - private @NonNull - final T mPaint; - private @Nullable - int[] mState; + @Nullable + private ColorStateList mColors; + @NonNull + private final T mPaint; + @Nullable + private int[] mState; private int mAlpha; public IconicsBrush(@NonNull T paint) { @@ -56,16 +56,16 @@ public void setColors(@Nullable ColorStateList colors) { /** * @return colors which applied on {@link #getPaint()} for drawing current state */ - public @Nullable - ColorStateList getColorsList() { + @Nullable + public ColorStateList getColorsList() { return mColors; } /** * @return paint. Will be used for drawing something (icon, background etc.) */ - public @NonNull - T getPaint() { + @NonNull + public T getPaint() { return mPaint; } @@ -80,8 +80,8 @@ public void setAlpha(@IntRange(from = 0, to = 255) int alpha) { /** * @return alpha channel for colors */ - public @IntRange(from = 0, to = 255) - int getAlpha() { + @IntRange(from = 0, to = 255) + public int getAlpha() { return mAlpha; } diff --git a/library-core/src/main/java/com/mikepenz/iconics/IconicsDrawable.java b/library-core/src/main/java/com/mikepenz/iconics/IconicsDrawable.java index 1a15b719..07f9dff1 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/IconicsDrawable.java +++ b/library-core/src/main/java/com/mikepenz/iconics/IconicsDrawable.java @@ -52,6 +52,11 @@ import android.util.Log; import android.view.View; +import com.mikepenz.iconics.animation.IconicsAnimatedDrawable; +import com.mikepenz.iconics.typeface.IIcon; +import com.mikepenz.iconics.typeface.ITypeface; +import com.mikepenz.iconics.utils.Utils; + import androidx.annotation.ColorInt; import androidx.annotation.ColorRes; import androidx.annotation.DimenRes; @@ -61,11 +66,6 @@ import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; -import com.mikepenz.iconics.animation.IconicsAnimatedDrawable; -import com.mikepenz.iconics.typeface.IIcon; -import com.mikepenz.iconics.typeface.ITypeface; -import com.mikepenz.iconics.utils.Utils; - import static android.view.View.LAYER_TYPE_SOFTWARE; import static androidx.annotation.Dimension.DP; import static androidx.annotation.Dimension.PX; @@ -87,8 +87,8 @@ public class IconicsDrawable extends Drawable { @Dimension(unit = DP) public static final int TOOLBAR_ICON_PADDING = 1; - protected @NonNull - Context mContext; + @NonNull + protected Context mContext; private int mSizeX = -1; private int mSizeY = -1; @@ -96,37 +96,37 @@ public class IconicsDrawable extends Drawable { private boolean mRespectFontBounds = false; // icon - protected final @NonNull - IconicsBrush mIconBrush = new IconicsBrush<>( + @NonNull + protected final IconicsBrush mIconBrush = new IconicsBrush<>( new TextPaint(Paint.ANTI_ALIAS_FLAG)); // background - protected final @NonNull - IconicsBrush mBackgroundBrush = new IconicsBrush<>( + @NonNull + protected final IconicsBrush mBackgroundBrush = new IconicsBrush<>( new Paint(Paint.ANTI_ALIAS_FLAG)); // contour - protected final @NonNull - IconicsBrush mContourBrush = new IconicsBrush<>( + @NonNull + protected final IconicsBrush mContourBrush = new IconicsBrush<>( new Paint(Paint.ANTI_ALIAS_FLAG)); private boolean mDrawContour; // background contour - protected final @NonNull - IconicsBrush mBackgroundContourBrush = new IconicsBrush<>( + @NonNull + protected final IconicsBrush mBackgroundContourBrush = new IconicsBrush<>( new Paint(Paint.ANTI_ALIAS_FLAG)); private boolean mDrawBackgroundContour; private int mRoundedCornerRx = -1; private int mRoundedCornerRy = -1; - private final @NonNull - Rect mPaddingBounds = new Rect(); - private final @NonNull - RectF mPathBounds = new RectF(); + @NonNull + private final Rect mPaddingBounds = new Rect(); + @NonNull + private final RectF mPathBounds = new RectF(); - private final @NonNull - Path mPath = new Path(); + @NonNull + private final Path mPath = new Path(); private int mIconPadding; private int mContourWidth; @@ -142,19 +142,19 @@ public class IconicsDrawable extends Drawable { private float mShadowDy = 0F; private int mShadowColor = Color.TRANSPARENT; - private @Nullable - IIcon mIcon; - private @Nullable - String mPlainIcon; + @Nullable + private IIcon mIcon; + @Nullable + private String mPlainIcon; - private @Nullable - ColorStateList mTint; - private @NonNull - PorterDuff.Mode mTintMode = PorterDuff.Mode.SRC_IN; - private @Nullable - ColorFilter mTintFilter; - private @Nullable - ColorFilter mColorFilter; + @Nullable + private ColorStateList mTint; + @NonNull + private PorterDuff.Mode mTintMode = PorterDuff.Mode.SRC_IN; + @Nullable + private ColorFilter mTintFilter; + @Nullable + private ColorFilter mColorFilter; public IconicsDrawable(@NonNull Context context) { mContext = context.getApplicationContext(); @@ -201,80 +201,80 @@ protected IconicsDrawable(@NonNull Context context, /** * @return the icon color */ - public @ColorInt - int getColor() { + @ColorInt + public int getColor() { return mIconBrush.getColorForCurrentState(); } /** * @return the icon colors */ - public @Nullable - ColorStateList getColorList() { + @Nullable + public ColorStateList getColorList() { return mIconBrush.getColorsList(); } /** * @return the icon contour color */ - public @ColorInt - int getContourColor() { + @ColorInt + public int getContourColor() { return mContourBrush.getColorForCurrentState(); } /** * @return the contour colors */ - public @Nullable - ColorStateList getContourColorList() { + @Nullable + public ColorStateList getContourColorList() { return mContourBrush.getColorsList(); } /** * @return the icon background color */ - public @ColorInt - int getBackgroundColor() { + @ColorInt + public int getBackgroundColor() { return mBackgroundBrush.getColorForCurrentState(); } /** * @return the background colors */ - public @Nullable - ColorStateList getBackgroundColorList() { + @Nullable + public ColorStateList getBackgroundColorList() { return mBackgroundBrush.getColorsList(); } /** * @return the icon background contour color */ - public @ColorInt - int getBackgroundContourColor() { + @ColorInt + public int getBackgroundContourColor() { return mBackgroundContourBrush.getColorForCurrentState(); } /** * @return the background contour colors */ - public @Nullable - ColorStateList getBackgroundContourColorList() { + @Nullable + public ColorStateList getBackgroundContourColorList() { return mBackgroundContourBrush.getColorsList(); } /** * @return the IIcon which is used inside this IconicsDrawable */ - public @Nullable - IIcon getIcon() { + @Nullable + public IIcon getIcon() { return mIcon; } /** * @return the PlainIcon which is used inside this IconicsDrawable */ - public @Nullable - String getPlainIcon() { + @Nullable + public String getPlainIcon() { return mPlainIcon; } @@ -283,8 +283,8 @@ String getPlainIcon() { * * @return current alpha */ - public @IntRange(from = 0, to = 255) - int getCompatAlpha() { + @IntRange(from = 0, to = 255) + public int getCompatAlpha() { return mAlpha; } @@ -293,8 +293,8 @@ int getCompatAlpha() { * * @return bitmap to set */ - public @NonNull - Bitmap toBitmap() { + @NonNull + public Bitmap toBitmap() { if (mSizeX == -1 || mSizeY == -1) { actionBar(); } @@ -320,8 +320,8 @@ Bitmap toBitmap() { */ @SuppressWarnings("MethodDoesntCallSuperMethod") @Override - public @NonNull - IconicsDrawable clone() { + @NonNull + public IconicsDrawable clone() { return copyTo(new IconicsDrawable(mContext)); } @@ -330,8 +330,8 @@ IconicsDrawable clone() { * * @return new IconicsDrawable with the same values. */ - public @NonNull - IconicsAnimatedDrawable toAnimatedDrawable() { + @NonNull + public IconicsAnimatedDrawable toAnimatedDrawable() { return copyTo(new IconicsAnimatedDrawable(mContext)); } @@ -377,8 +377,8 @@ private T copyTo(T drawable) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable icon(@NonNull String icon) { + @NonNull + public IconicsDrawable icon(@NonNull String icon) { try { ITypeface font = Iconics.findFont(mContext, icon.substring(0, 3)); icon = icon.replace("-", "_"); @@ -394,8 +394,8 @@ IconicsDrawable icon(@NonNull String icon) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable icon(@NonNull Character icon) { + @NonNull + public IconicsDrawable icon(@NonNull Character icon) { return iconText(icon.toString(), null); } @@ -404,8 +404,8 @@ IconicsDrawable icon(@NonNull Character icon) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable icon(@NonNull Character icon, @Nullable Typeface typeface) { + @NonNull + public IconicsDrawable icon(@NonNull Character icon, @Nullable Typeface typeface) { return iconText(icon.toString(), typeface); } @@ -414,8 +414,8 @@ IconicsDrawable icon(@NonNull Character icon, @Nullable Typeface typeface) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable iconText(@NonNull String icon) { + @NonNull + public IconicsDrawable iconText(@NonNull String icon) { return iconText(icon, null); } @@ -424,8 +424,8 @@ IconicsDrawable iconText(@NonNull String icon) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable iconText(@NonNull String icon, @Nullable Typeface typeface) { + @NonNull + public IconicsDrawable iconText(@NonNull String icon, @Nullable Typeface typeface) { mPlainIcon = icon; mIcon = null; mIconBrush.getPaint().setTypeface(typeface == null ? Typeface.DEFAULT : typeface); @@ -439,8 +439,8 @@ IconicsDrawable iconText(@NonNull String icon, @Nullable Typeface typeface) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable icon(@NonNull IIcon icon) { + @NonNull + public IconicsDrawable icon(@NonNull IIcon icon) { mIcon = icon; mPlainIcon = null; ITypeface typeface = icon.getTypeface(); @@ -455,8 +455,8 @@ IconicsDrawable icon(@NonNull IIcon icon) { * * @return The current IconicsDrawable for chaining. */ - protected @NonNull - IconicsDrawable icon(@NonNull ITypeface typeface, @NonNull IIcon icon) { + @NonNull + protected IconicsDrawable icon(@NonNull ITypeface typeface, @NonNull IIcon icon) { mIcon = icon; mIconBrush.getPaint().setTypeface(typeface.getTypeface(mContext)); @@ -472,8 +472,8 @@ IconicsDrawable icon(@NonNull ITypeface typeface, @NonNull IIcon icon) { * @param respectBounds set to true if it should respect the original bounds * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable respectFontBounds(boolean respectBounds) { + @NonNull + public IconicsDrawable respectFontBounds(boolean respectBounds) { mRespectFontBounds = respectBounds; invalidateSelf(); @@ -486,8 +486,8 @@ IconicsDrawable respectFontBounds(boolean respectBounds) { * @param color The color, usually from android.graphics.Color or 0xFF012345. * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable color(@ColorInt int color) { + @NonNull + public IconicsDrawable color(@ColorInt int color) { return color(ColorStateList.valueOf(color)); } @@ -497,8 +497,8 @@ IconicsDrawable color(@ColorInt int color) { * @param colorResId The color resource, from your R file. * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable colorRes(@ColorRes int colorResId) { + @NonNull + public IconicsDrawable colorRes(@ColorRes int colorResId) { return color(ContextCompat.getColor(mContext, colorResId)); } @@ -508,8 +508,8 @@ IconicsDrawable colorRes(@ColorRes int colorResId) { * @param colorResId The color resource, from your R file. * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable colorListRes(@ColorRes int colorResId) { + @NonNull + public IconicsDrawable colorListRes(@ColorRes int colorResId) { return color(ContextCompat.getColorStateList(mContext, colorResId)); } @@ -519,8 +519,8 @@ IconicsDrawable colorListRes(@ColorRes int colorResId) { * @param colors The color, usually from android.graphics.Color or 0xFF012345. * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable color(@NonNull ColorStateList colors) { + @NonNull + public IconicsDrawable color(@NonNull ColorStateList colors) { if (colors != null) { mIconBrush.setColors(colors); if (mIconBrush.applyState(getState())) { @@ -535,8 +535,8 @@ IconicsDrawable color(@NonNull ColorStateList colors) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable iconOffsetXRes(@DimenRes int sizeResId) { + @NonNull + public IconicsDrawable iconOffsetXRes(@DimenRes int sizeResId) { return iconOffsetXPx(mContext.getResources().getDimensionPixelSize(sizeResId)); } @@ -545,8 +545,8 @@ IconicsDrawable iconOffsetXRes(@DimenRes int sizeResId) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable iconOffsetXDp(@Dimension(unit = DP) int sizeDp) { + @NonNull + public IconicsDrawable iconOffsetXDp(@Dimension(unit = DP) int sizeDp) { return iconOffsetXPx(Utils.convertDpToPx(mContext, sizeDp)); } @@ -555,8 +555,8 @@ IconicsDrawable iconOffsetXDp(@Dimension(unit = DP) int sizeDp) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable iconOffsetXPx(@Dimension(unit = PX) int sizePx) { + @NonNull + public IconicsDrawable iconOffsetXPx(@Dimension(unit = PX) int sizePx) { mIconOffsetX = sizePx; invalidateSelf(); @@ -568,8 +568,8 @@ IconicsDrawable iconOffsetXPx(@Dimension(unit = PX) int sizePx) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable iconOffsetYRes(@DimenRes int sizeResId) { + @NonNull + public IconicsDrawable iconOffsetYRes(@DimenRes int sizeResId) { return iconOffsetYPx(mContext.getResources().getDimensionPixelSize(sizeResId)); } @@ -578,8 +578,8 @@ IconicsDrawable iconOffsetYRes(@DimenRes int sizeResId) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable iconOffsetYDp(@Dimension(unit = DP) int sizeDp) { + @NonNull + public IconicsDrawable iconOffsetYDp(@Dimension(unit = DP) int sizeDp) { return iconOffsetYPx(Utils.convertDpToPx(mContext, sizeDp)); } @@ -588,8 +588,8 @@ IconicsDrawable iconOffsetYDp(@Dimension(unit = DP) int sizeDp) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable iconOffsetYPx(@Dimension(unit = PX) int sizePx) { + @NonNull + public IconicsDrawable iconOffsetYPx(@Dimension(unit = PX) int sizePx) { mIconOffsetY = sizePx; invalidateSelf(); @@ -601,8 +601,8 @@ IconicsDrawable iconOffsetYPx(@Dimension(unit = PX) int sizePx) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable paddingRes(@DimenRes int sizeResId) { + @NonNull + public IconicsDrawable paddingRes(@DimenRes int sizeResId) { return paddingPx(mContext.getResources().getDimensionPixelSize(sizeResId)); } @@ -611,8 +611,8 @@ IconicsDrawable paddingRes(@DimenRes int sizeResId) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable paddingDp(@Dimension(unit = DP) int sizeDp) { + @NonNull + public IconicsDrawable paddingDp(@Dimension(unit = DP) int sizeDp) { return paddingPx(Utils.convertDpToPx(mContext, sizeDp)); } @@ -621,8 +621,8 @@ IconicsDrawable paddingDp(@Dimension(unit = DP) int sizeDp) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable paddingPx(@Dimension(unit = PX) int sizePx) { + @NonNull + public IconicsDrawable paddingPx(@Dimension(unit = PX) int sizePx) { if (mIconPadding != sizePx) { mIconPadding = sizePx; if (mDrawContour) { @@ -642,8 +642,8 @@ IconicsDrawable paddingPx(@Dimension(unit = PX) int sizePx) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable actionBar() { + @NonNull + public IconicsDrawable actionBar() { return sizeDp(TOOLBAR_ICON_SIZE).paddingDp(TOOLBAR_ICON_PADDING); } @@ -653,8 +653,8 @@ IconicsDrawable actionBar() { * @param sizeResId The dimension resource. * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable sizeRes(@DimenRes int sizeResId) { + @NonNull + public IconicsDrawable sizeRes(@DimenRes int sizeResId) { return sizePx(mContext.getResources().getDimensionPixelSize(sizeResId)); } @@ -664,8 +664,8 @@ IconicsDrawable sizeRes(@DimenRes int sizeResId) { * @param sizeDp The size in density-independent pixels (dp). * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable sizeDp(@Dimension(unit = DP) int sizeDp) { + @NonNull + public IconicsDrawable sizeDp(@Dimension(unit = DP) int sizeDp) { return sizePx(Utils.convertDpToPx(mContext, sizeDp)); } @@ -675,8 +675,8 @@ IconicsDrawable sizeDp(@Dimension(unit = DP) int sizeDp) { * @param sizePx The size in pixels (px). * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable sizePx(@Dimension(unit = PX) int sizePx) { + @NonNull + public IconicsDrawable sizePx(@Dimension(unit = PX) int sizePx) { mSizeX = mSizeY = sizePx; setBounds(0, 0, mSizeX, mSizeY); @@ -690,8 +690,8 @@ IconicsDrawable sizePx(@Dimension(unit = PX) int sizePx) { * @param sizeResId The dimension resource. * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable sizeResX(@DimenRes int sizeResId) { + @NonNull + public IconicsDrawable sizeResX(@DimenRes int sizeResId) { return sizePxX(mContext.getResources().getDimensionPixelSize(sizeResId)); } @@ -701,8 +701,8 @@ IconicsDrawable sizeResX(@DimenRes int sizeResId) { * @param sizeDp The size in density-independent pixels (dp). * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable sizeDpX(@Dimension(unit = DP) int sizeDp) { + @NonNull + public IconicsDrawable sizeDpX(@Dimension(unit = DP) int sizeDp) { return sizePxX(Utils.convertDpToPx(mContext, sizeDp)); } @@ -712,8 +712,8 @@ IconicsDrawable sizeDpX(@Dimension(unit = DP) int sizeDp) { * @param sizePx The size in pixels (px). * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable sizePxX(@Dimension(unit = PX) int sizePx) { + @NonNull + public IconicsDrawable sizePxX(@Dimension(unit = PX) int sizePx) { mSizeX = sizePx; setBounds(0, 0, mSizeX, mSizeY); @@ -727,8 +727,8 @@ IconicsDrawable sizePxX(@Dimension(unit = PX) int sizePx) { * @param sizeResId The dimension resource. * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable sizeResY(@DimenRes int sizeResId) { + @NonNull + public IconicsDrawable sizeResY(@DimenRes int sizeResId) { return sizePxY(mContext.getResources().getDimensionPixelSize(sizeResId)); } @@ -738,8 +738,8 @@ IconicsDrawable sizeResY(@DimenRes int sizeResId) { * @param sizeDp The size in density-independent pixels (dp). * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable sizeDpY(@Dimension(unit = DP) int sizeDp) { + @NonNull + public IconicsDrawable sizeDpY(@Dimension(unit = DP) int sizeDp) { return sizePxY(Utils.convertDpToPx(mContext, sizeDp)); } @@ -749,8 +749,8 @@ IconicsDrawable sizeDpY(@Dimension(unit = DP) int sizeDp) { * @param sizePx The size in pixels (px). * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable sizePxY(@Dimension(unit = PX) int sizePx) { + @NonNull + public IconicsDrawable sizePxY(@Dimension(unit = PX) int sizePx) { mSizeY = sizePx; setBounds(0, 0, mSizeX, mSizeY); @@ -763,8 +763,8 @@ IconicsDrawable sizePxY(@Dimension(unit = PX) int sizePx) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable backgroundContourColorRes(@ColorRes int colorResId) { + @NonNull + public IconicsDrawable backgroundContourColorRes(@ColorRes int colorResId) { return backgroundContourColor(ContextCompat.getColor(mContext, colorResId)); } @@ -773,8 +773,8 @@ IconicsDrawable backgroundContourColorRes(@ColorRes int colorResId) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable backgroundContourColor(@ColorInt int color) { + @NonNull + public IconicsDrawable backgroundContourColor(@ColorInt int color) { return backgroundContourColor(ColorStateList.valueOf(color)); } @@ -784,8 +784,8 @@ IconicsDrawable backgroundContourColor(@ColorInt int color) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable backgroundContourColorListRes(@ColorRes int colorResId) { + @NonNull + public IconicsDrawable backgroundContourColorListRes(@ColorRes int colorResId) { return backgroundContourColor(ContextCompat.getColorStateList(mContext, colorResId)); } @@ -795,8 +795,8 @@ IconicsDrawable backgroundContourColorListRes(@ColorRes int colorResId) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable backgroundContourColor(@NonNull ColorStateList colors) { + @NonNull + public IconicsDrawable backgroundContourColor(@NonNull ColorStateList colors) { if (colors != null) { mBackgroundContourBrush.setColors(colors); if (mBackgroundContourBrush.applyState(getState())) { @@ -811,8 +811,8 @@ IconicsDrawable backgroundContourColor(@NonNull ColorStateList colors) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable contourColorRes(@ColorRes int colorResId) { + @NonNull + public IconicsDrawable contourColorRes(@ColorRes int colorResId) { return contourColor(ContextCompat.getColor(mContext, colorResId)); } @@ -821,8 +821,8 @@ IconicsDrawable contourColorRes(@ColorRes int colorResId) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable contourColor(@ColorInt int color) { + @NonNull + public IconicsDrawable contourColor(@ColorInt int color) { return contourColor(ColorStateList.valueOf(color)); } @@ -832,8 +832,8 @@ IconicsDrawable contourColor(@ColorInt int color) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable contourColorListRes(@ColorRes int colorResId) { + @NonNull + public IconicsDrawable contourColorListRes(@ColorRes int colorResId) { return contourColor(ContextCompat.getColorStateList(mContext, colorResId)); } @@ -843,8 +843,8 @@ IconicsDrawable contourColorListRes(@ColorRes int colorResId) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable contourColor(@NonNull ColorStateList colors) { + @NonNull + public IconicsDrawable contourColor(@NonNull ColorStateList colors) { if (colors != null) { mContourBrush.setColors(colors); if (mContourBrush.applyState(getState())) { @@ -859,8 +859,8 @@ IconicsDrawable contourColor(@NonNull ColorStateList colors) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable backgroundColorRes(@ColorRes int colorResId) { + @NonNull + public IconicsDrawable backgroundColorRes(@ColorRes int colorResId) { return backgroundColor(ContextCompat.getColor(mContext, colorResId)); } @@ -869,8 +869,8 @@ IconicsDrawable backgroundColorRes(@ColorRes int colorResId) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable backgroundColor(@ColorInt int color) { + @NonNull + public IconicsDrawable backgroundColor(@ColorInt int color) { return backgroundColor(ColorStateList.valueOf(color)); } @@ -880,8 +880,8 @@ IconicsDrawable backgroundColor(@ColorInt int color) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable backgroundColorListRes(@ColorRes int colorResId) { + @NonNull + public IconicsDrawable backgroundColorListRes(@ColorRes int colorResId) { return backgroundColor(ContextCompat.getColorStateList(mContext, colorResId)); } @@ -891,8 +891,8 @@ IconicsDrawable backgroundColorListRes(@ColorRes int colorResId) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable backgroundColor(@NonNull ColorStateList colors) { + @NonNull + public IconicsDrawable backgroundColor(@NonNull ColorStateList colors) { if (colors != null) { boolean isInvalidate = false; @@ -922,8 +922,8 @@ IconicsDrawable backgroundColor(@NonNull ColorStateList colors) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable roundedCornersRxRes(@DimenRes int sizeResId) { + @NonNull + public IconicsDrawable roundedCornersRxRes(@DimenRes int sizeResId) { return roundedCornersRxPx(mContext.getResources().getDimensionPixelSize(sizeResId)); } @@ -932,8 +932,8 @@ IconicsDrawable roundedCornersRxRes(@DimenRes int sizeResId) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable roundedCornersRxDp(@Dimension(unit = DP) int sizeDp) { + @NonNull + public IconicsDrawable roundedCornersRxDp(@Dimension(unit = DP) int sizeDp) { return roundedCornersRxPx(Utils.convertDpToPx(mContext, sizeDp)); } @@ -942,8 +942,8 @@ IconicsDrawable roundedCornersRxDp(@Dimension(unit = DP) int sizeDp) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable roundedCornersRxPx(@Dimension(unit = PX) int sizePx) { + @NonNull + public IconicsDrawable roundedCornersRxPx(@Dimension(unit = PX) int sizePx) { mRoundedCornerRx = sizePx; invalidateSelf(); @@ -955,8 +955,8 @@ IconicsDrawable roundedCornersRxPx(@Dimension(unit = PX) int sizePx) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable roundedCornersRyRes(@DimenRes int sizeResId) { + @NonNull + public IconicsDrawable roundedCornersRyRes(@DimenRes int sizeResId) { return roundedCornersRyPx(mContext.getResources().getDimensionPixelSize(sizeResId)); } @@ -965,8 +965,8 @@ IconicsDrawable roundedCornersRyRes(@DimenRes int sizeResId) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable roundedCornersRyDp(@Dimension(unit = DP) int sizeDp) { + @NonNull + public IconicsDrawable roundedCornersRyDp(@Dimension(unit = DP) int sizeDp) { return roundedCornersRyPx(Utils.convertDpToPx(mContext, sizeDp)); } @@ -975,8 +975,8 @@ IconicsDrawable roundedCornersRyDp(@Dimension(unit = DP) int sizeDp) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable roundedCornersRyPx(@Dimension(unit = PX) int sizePx) { + @NonNull + public IconicsDrawable roundedCornersRyPx(@Dimension(unit = PX) int sizePx) { mRoundedCornerRy = sizePx; invalidateSelf(); @@ -988,8 +988,8 @@ IconicsDrawable roundedCornersRyPx(@Dimension(unit = PX) int sizePx) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable roundedCornersRes(@DimenRes int sizeResId) { + @NonNull + public IconicsDrawable roundedCornersRes(@DimenRes int sizeResId) { return roundedCornersPx(mContext.getResources().getDimensionPixelSize(sizeResId)); } @@ -998,8 +998,8 @@ IconicsDrawable roundedCornersRes(@DimenRes int sizeResId) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable roundedCornersDp(@Dimension(unit = DP) int sizeDp) { + @NonNull + public IconicsDrawable roundedCornersDp(@Dimension(unit = DP) int sizeDp) { return roundedCornersPx(Utils.convertDpToPx(mContext, sizeDp)); } @@ -1008,8 +1008,8 @@ IconicsDrawable roundedCornersDp(@Dimension(unit = DP) int sizeDp) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable roundedCornersPx(@Dimension(unit = PX) int sizePx) { + @NonNull + public IconicsDrawable roundedCornersPx(@Dimension(unit = PX) int sizePx) { mRoundedCornerRx = mRoundedCornerRy = sizePx; invalidateSelf(); @@ -1021,8 +1021,8 @@ IconicsDrawable roundedCornersPx(@Dimension(unit = PX) int sizePx) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable contourWidthRes(@DimenRes int sizeResId) { + @NonNull + public IconicsDrawable contourWidthRes(@DimenRes int sizeResId) { return contourWidthPx(mContext.getResources().getDimensionPixelSize(sizeResId)); } @@ -1031,8 +1031,8 @@ IconicsDrawable contourWidthRes(@DimenRes int sizeResId) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable contourWidthDp(@Dimension(unit = DP) int sizeDp) { + @NonNull + public IconicsDrawable contourWidthDp(@Dimension(unit = DP) int sizeDp) { return contourWidthPx(Utils.convertDpToPx(mContext, sizeDp)); } @@ -1041,8 +1041,8 @@ IconicsDrawable contourWidthDp(@Dimension(unit = DP) int sizeDp) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable contourWidthPx(@Dimension(unit = PX) int sizePx) { + @NonNull + public IconicsDrawable contourWidthPx(@Dimension(unit = PX) int sizePx) { mContourWidth = sizePx; mContourBrush.getPaint().setStrokeWidth(sizePx); drawContour(true); @@ -1059,8 +1059,8 @@ IconicsDrawable contourWidthPx(@Dimension(unit = PX) int sizePx) { * @return The current IconicsDrawable for chaining. * @see View#setLayerType(int, Paint) */ - public @NonNull - IconicsDrawable enableShadowSupport(@NonNull View view) { + @NonNull + public IconicsDrawable enableShadowSupport(@NonNull View view) { view.setLayerType(LAYER_TYPE_SOFTWARE, null); return this; } @@ -1073,8 +1073,8 @@ IconicsDrawable enableShadowSupport(@NonNull View view) { * @see Paint#setShadowLayer(float, float, float, int) * @see #enableShadowSupport(View) */ - public @NonNull - IconicsDrawable shadowRes( + @NonNull + public IconicsDrawable shadowRes( @DimenRes int radiusRes, @DimenRes int dxRes, @DimenRes int dyRes, @@ -1094,8 +1094,8 @@ IconicsDrawable shadowRes( * @see Paint#setShadowLayer(float, float, float, int) * @see #enableShadowSupport(View) */ - public @NonNull - IconicsDrawable shadowDp( + @NonNull + public IconicsDrawable shadowDp( @Dimension(unit = DP) float radiusDp, @Dimension(unit = DP) float dxDp, @Dimension(unit = DP) float dyDp, @@ -1115,8 +1115,8 @@ IconicsDrawable shadowDp( * @see Paint#setShadowLayer(float, float, float, int) * @see #enableShadowSupport(View) */ - public @NonNull - IconicsDrawable shadowPx( + @NonNull + public IconicsDrawable shadowPx( @Dimension(unit = PX) float radius, @Dimension(unit = PX) float dx, @Dimension(unit = PX) float dy, @@ -1141,8 +1141,8 @@ IconicsDrawable shadowPx( * @see #shadowDp(float, float, float, int) * @see #shadowRes(int, int, int, int) */ - public @NonNull - IconicsDrawable clearShadow() { + @NonNull + public IconicsDrawable clearShadow() { mIconBrush.getPaint().clearShadowLayer(); invalidateSelf(); return this; @@ -1153,8 +1153,8 @@ IconicsDrawable clearShadow() { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable backgroundContourWidthRes(@DimenRes int sizeResId) { + @NonNull + public IconicsDrawable backgroundContourWidthRes(@DimenRes int sizeResId) { return backgroundContourWidthPx(mContext.getResources().getDimensionPixelSize(sizeResId)); } @@ -1163,8 +1163,8 @@ IconicsDrawable backgroundContourWidthRes(@DimenRes int sizeResId) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable backgroundContourWidthDp(@Dimension(unit = DP) int sizeDp) { + @NonNull + public IconicsDrawable backgroundContourWidthDp(@Dimension(unit = DP) int sizeDp) { return backgroundContourWidthPx(Utils.convertDpToPx(mContext, sizeDp)); } @@ -1173,8 +1173,8 @@ IconicsDrawable backgroundContourWidthDp(@Dimension(unit = DP) int sizeDp) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable backgroundContourWidthPx(@Dimension(unit = PX) int sizePx) { + @NonNull + public IconicsDrawable backgroundContourWidthPx(@Dimension(unit = PX) int sizePx) { mBackgroundContourWidth = sizePx; mBackgroundContourBrush.getPaint().setStrokeWidth(sizePx); drawBackgroundContour(true); @@ -1188,8 +1188,8 @@ IconicsDrawable backgroundContourWidthPx(@Dimension(unit = PX) int sizePx) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable drawContour(boolean drawContour) { + @NonNull + public IconicsDrawable drawContour(boolean drawContour) { if (mDrawContour != drawContour) { mDrawContour = drawContour; @@ -1205,8 +1205,8 @@ IconicsDrawable drawContour(boolean drawContour) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable drawBackgroundContour(boolean drawBackgroundContour) { + @NonNull + public IconicsDrawable drawBackgroundContour(boolean drawBackgroundContour) { if (mDrawBackgroundContour != drawBackgroundContour) { mDrawBackgroundContour = drawBackgroundContour; @@ -1222,8 +1222,8 @@ IconicsDrawable drawBackgroundContour(boolean drawBackgroundContour) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable colorFilter(@Nullable ColorFilter cf) { + @NonNull + public IconicsDrawable colorFilter(@Nullable ColorFilter cf) { setColorFilter(cf); return this; } @@ -1235,8 +1235,8 @@ IconicsDrawable colorFilter(@Nullable ColorFilter cf) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable alpha(@IntRange(from = 0, to = 255) int alpha) { + @NonNull + public IconicsDrawable alpha(@IntRange(from = 0, to = 255) int alpha) { setAlpha(alpha); return this; } @@ -1246,8 +1246,8 @@ IconicsDrawable alpha(@IntRange(from = 0, to = 255) int alpha) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable style(@NonNull Paint.Style style) { + @NonNull + public IconicsDrawable style(@NonNull Paint.Style style) { mIconBrush.getPaint().setStyle(style); invalidateSelf(); @@ -1260,8 +1260,8 @@ IconicsDrawable style(@NonNull Paint.Style style) { * * @return The current IconicsDrawable for chaining. */ - public @NonNull - IconicsDrawable typeface(@Nullable Typeface typeface) { + @NonNull + public IconicsDrawable typeface(@Nullable Typeface typeface) { mIconBrush.getPaint().setTypeface(typeface); invalidateSelf(); @@ -1419,8 +1419,8 @@ public void setAlpha(@IntRange(from = 0, to = 255) int alpha) { } @Override - public @IntRange(from = 0, to = 255) - int getAlpha() { + @IntRange(from = 0, to = 255) + public int getAlpha() { return mAlpha; } diff --git a/library-core/src/main/java/com/mikepenz/iconics/animation/BlinkAlphaProcessor.java b/library-core/src/main/java/com/mikepenz/iconics/animation/BlinkAlphaProcessor.java index c48f30ea..bf0f4518 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/animation/BlinkAlphaProcessor.java +++ b/library-core/src/main/java/com/mikepenz/iconics/animation/BlinkAlphaProcessor.java @@ -20,11 +20,11 @@ import android.graphics.Paint; import android.text.TextPaint; +import com.mikepenz.iconics.IconicsBrush; + import androidx.annotation.IntRange; import androidx.annotation.NonNull; -import com.mikepenz.iconics.IconicsBrush; - /** * @author pa.gulko zTrap (30.11.2018) */ @@ -34,10 +34,10 @@ public class BlinkAlphaProcessor extends IconicsAnimationProcessor { */ public static int defaultDuration = 500; - private @IntRange(from = 0, to = 255) - int mMinimumAlpha = 0; - private @IntRange(from = 0, to = 255) - int mMaximumAlpha = 255; + @IntRange(from = 0, to = 255) + private int mMinimumAlpha = 0; + @IntRange(from = 0, to = 255) + private int mMaximumAlpha = 255; { mRepeatMode = REVERSE; @@ -47,8 +47,8 @@ public class BlinkAlphaProcessor extends IconicsAnimationProcessor { /** * @param minimumAlpha The alpha which will be used as minimal available value. */ - public @NonNull - BlinkAlphaProcessor minimumAlpha(@IntRange(from = 0, to = 255) int minimumAlpha) { + @NonNull + public BlinkAlphaProcessor minimumAlpha(@IntRange(from = 0, to = 255) int minimumAlpha) { mMinimumAlpha = minimumAlpha; return this; } @@ -56,8 +56,8 @@ BlinkAlphaProcessor minimumAlpha(@IntRange(from = 0, to = 255) int minimumAlpha) /** * @param maximumAlpha The alpha which will be used as maximal available value. */ - public @NonNull - BlinkAlphaProcessor maximumAlpha(@IntRange(from = 0, to = 255) int maximumAlpha) { + @NonNull + public BlinkAlphaProcessor maximumAlpha(@IntRange(from = 0, to = 255) int maximumAlpha) { mMaximumAlpha = maximumAlpha; return this; } @@ -65,22 +65,22 @@ BlinkAlphaProcessor maximumAlpha(@IntRange(from = 0, to = 255) int maximumAlpha) /** * @return The minimal available alpha. */ - public @IntRange(from = 0, to = 255) - int getMinimumAlpha() { + @IntRange(from = 0, to = 255) + public int getMinimumAlpha() { return mMinimumAlpha; } /** * @return The maximal available alpha. */ - public @IntRange(from = 0, to = 255) - int getMaximumAlpha() { + @IntRange(from = 0, to = 255) + public int getMaximumAlpha() { return mMaximumAlpha; } @Override - public @NonNull - String animationTag() { + @NonNull + public String animationTag() { return "blink_alpha"; } diff --git a/library-core/src/main/java/com/mikepenz/iconics/animation/BlinkScaleProcessor.java b/library-core/src/main/java/com/mikepenz/iconics/animation/BlinkScaleProcessor.java index 778611e7..0126239f 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/animation/BlinkScaleProcessor.java +++ b/library-core/src/main/java/com/mikepenz/iconics/animation/BlinkScaleProcessor.java @@ -21,11 +21,11 @@ import android.graphics.Rect; import android.text.TextPaint; +import com.mikepenz.iconics.IconicsBrush; + import androidx.annotation.FloatRange; import androidx.annotation.NonNull; -import com.mikepenz.iconics.IconicsBrush; - /** * @author pa.gulko zTrap (30.11.2018) */ @@ -35,10 +35,10 @@ public class BlinkScaleProcessor extends IconicsAnimationProcessor { */ public static int defaultDuration = 500; - private @FloatRange(from = 0) - float mMinimumScale = 0; - private @FloatRange(from = 0) - float mMaximumScale = 1; + @FloatRange(from = 0) + private float mMinimumScale = 0; + @FloatRange(from = 0) + private float mMaximumScale = 1; { mRepeatMode = REVERSE; @@ -48,8 +48,8 @@ public class BlinkScaleProcessor extends IconicsAnimationProcessor { /** * @param minimumScale The scale which will be used as minimal available value. */ - public @NonNull - BlinkScaleProcessor minimumScale(@FloatRange(from = 0) float minimumScale) { + @NonNull + public BlinkScaleProcessor minimumScale(@FloatRange(from = 0) float minimumScale) { mMinimumScale = minimumScale; return this; } @@ -57,8 +57,8 @@ BlinkScaleProcessor minimumScale(@FloatRange(from = 0) float minimumScale) { /** * @param maximumScale The scale which will be used as maximal available value. */ - public @NonNull - BlinkScaleProcessor maximumScale(@FloatRange(from = 0) float maximumScale) { + @NonNull + public BlinkScaleProcessor maximumScale(@FloatRange(from = 0) float maximumScale) { mMaximumScale = maximumScale; return this; } @@ -66,22 +66,22 @@ BlinkScaleProcessor maximumScale(@FloatRange(from = 0) float maximumScale) { /** * @return The minimal available scale. */ - public @FloatRange(from = 0) - float getMinimumScale() { + @FloatRange(from = 0) + public float getMinimumScale() { return mMinimumScale; } /** * @return The minimal available scale. */ - public @FloatRange(from = 0) - float getMaximumScale() { + @FloatRange(from = 0) + public float getMaximumScale() { return mMaximumScale; } @Override - public @NonNull - String animationTag() { + @NonNull + public String animationTag() { return "blink_scale"; } diff --git a/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimatedDrawable.java b/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimatedDrawable.java index e875ab10..5aa9b291 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimatedDrawable.java +++ b/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimatedDrawable.java @@ -20,10 +20,6 @@ import android.graphics.Canvas; import android.view.View; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.core.view.ViewCompat; - import com.mikepenz.iconics.IconicsDrawable; import com.mikepenz.iconics.typeface.IIcon; import com.mikepenz.iconics.typeface.ITypeface; @@ -31,13 +27,17 @@ import java.util.ArrayList; import java.util.List; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.view.ViewCompat; + /** * @author pa.gulko zTrap (28.11.2018) */ @SuppressWarnings("UnusedReturnValue, WeakerAccess, unused") public class IconicsAnimatedDrawable extends IconicsDrawable { - private @NonNull - List mProcessors = new ArrayList<>(); + @NonNull + private List mProcessors = new ArrayList<>(); public IconicsAnimatedDrawable(Context context) { super(context); @@ -93,8 +93,8 @@ public void draw(@NonNull Canvas canvas) { /** * Attach an {@link IconicsAnimationProcessor processor} to this drawable */ - public @NonNull - IconicsAnimatedDrawable processor(@NonNull IconicsAnimationProcessor processor) { + @NonNull + public IconicsAnimatedDrawable processor(@NonNull IconicsAnimationProcessor processor) { if (processor == null) return this; processor.setDrawable(this); mProcessors.add(processor); @@ -104,8 +104,8 @@ IconicsAnimatedDrawable processor(@NonNull IconicsAnimationProcessor processor) /** * Attach an {@link IconicsAnimationProcessor processors} to this drawable */ - public @NonNull - IconicsAnimatedDrawable processors(@NonNull IconicsAnimationProcessor... processors) { + @NonNull + public IconicsAnimatedDrawable processors(@NonNull IconicsAnimationProcessor... processors) { if (processors == null || processors.length == 0) return this; for (IconicsAnimationProcessor processor : processors) { processor(processor); @@ -117,8 +117,8 @@ IconicsAnimatedDrawable processors(@NonNull IconicsAnimationProcessor... process * @return The runner which used for animations. Animations can be easily removed by calling * {@link Runner#unset()} */ - public @NonNull - Runner animateIn(@Nullable View view) { + @NonNull + public Runner animateIn(@Nullable View view) { Runner runner = new Runner(); runner.setFor(view, this); return runner; @@ -126,10 +126,10 @@ Runner animateIn(@Nullable View view) { public static class Runner { private boolean mIsAttached = false; - private @Nullable - View mView; - private @Nullable - IconicsAnimatedDrawable mDrawable; + @Nullable + private View mView; + @Nullable + private IconicsAnimatedDrawable mDrawable; private Runner() { } diff --git a/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationProcessor.java b/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationProcessor.java index 9359c6b5..a27e3ba1 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationProcessor.java +++ b/library-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationProcessor.java @@ -26,13 +26,6 @@ import android.text.TextPaint; import android.view.animation.LinearInterpolator; -import androidx.annotation.FloatRange; -import androidx.annotation.IntDef; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.annotation.RequiresApi; -import androidx.core.util.Consumer; - import com.mikepenz.iconics.IconicsBrush; import java.lang.annotation.Retention; @@ -41,18 +34,25 @@ import java.util.List; import java.util.concurrent.TimeUnit; +import androidx.annotation.FloatRange; +import androidx.annotation.IntDef; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.RequiresApi; +import androidx.core.util.Consumer; + /** * @author pa.gulko zTrap (28.11.2018) */ public abstract class IconicsAnimationProcessor { - private static final @NonNull - TimeInterpolator sDefaultInterpolator = new LinearInterpolator(); + @NonNull + private static final TimeInterpolator sDefaultInterpolator = new LinearInterpolator(); - private final @NonNull - ValueAnimator mAnimator = ValueAnimator.ofFloat(0, 100); + @NonNull + private final ValueAnimator mAnimator = ValueAnimator.ofFloat(0, 100); - private @Nullable - IconicsAnimatedDrawable mDrawable; + @Nullable + private IconicsAnimatedDrawable mDrawable; private boolean mIsStartRequested = false; /** @@ -71,8 +71,8 @@ public abstract class IconicsAnimationProcessor { */ public static final int INFINITE = ValueAnimator.INFINITE; - protected @NonNull - TimeInterpolator mInterpolator = sDefaultInterpolator; + @NonNull + protected TimeInterpolator mInterpolator = sDefaultInterpolator; protected long mDuration = 300; protected int mRepeatCount = INFINITE; protected int mRepeatMode = RESTART; @@ -86,15 +86,15 @@ public abstract class IconicsAnimationProcessor { /** * The set of listeners to be sent events through the life of an animation. */ - private @Nullable - List mListeners = null; + @Nullable + private List mListeners = null; /** * The set of listeners to be sent pause/resume events through the life * of an animation. */ - private @Nullable - List mPauseListeners = null; + @Nullable + private List mPauseListeners = null; private final Animator.AnimatorListener mProxyListener = new Animator.AnimatorListener() { @@ -160,16 +160,16 @@ private void forEachListeners(Consumer consumer) /** * @return Tag which will be used to apply this processor via xml */ - public abstract @NonNull - String animationTag(); + @NonNull + public abstract String animationTag(); /** * Sets the length of the animation. The default duration is 300 milliseconds. * * @param duration The length of the animation. This value cannot be negative. */ - public @NonNull - IconicsAnimationProcessor duration(long duration, @NonNull TimeUnit timeUnit) { + @NonNull + public IconicsAnimationProcessor duration(long duration, @NonNull TimeUnit timeUnit) { mDuration = timeUnit.toMillis(duration); return this; } @@ -181,8 +181,8 @@ IconicsAnimationProcessor duration(long duration, @NonNull TimeUnit timeUnit) { * * @param value {@link #RESTART} or {@link #REVERSE} */ - public @NonNull - IconicsAnimationProcessor repeatMode(@RepeatMode int value) { + @NonNull + public IconicsAnimationProcessor repeatMode(@RepeatMode int value) { mRepeatMode = value; return this; } @@ -195,8 +195,8 @@ IconicsAnimationProcessor repeatMode(@RepeatMode int value) { * * @param repeatCount the number of times the animation should be repeated */ - public @NonNull - IconicsAnimationProcessor repeatCount(int repeatCount) { + @NonNull + public IconicsAnimationProcessor repeatCount(int repeatCount) { mRepeatCount = repeatCount; return this; } @@ -210,8 +210,8 @@ IconicsAnimationProcessor repeatCount(int repeatCount) { * @param interpolator the interpolator to be used by this processor. A value of {@code null} * will result in linear interpolation. */ - public @NonNull - IconicsAnimationProcessor interpolator(@NonNull TimeInterpolator interpolator) { + @NonNull + public IconicsAnimationProcessor interpolator(@NonNull TimeInterpolator interpolator) { if (interpolator != null) { mInterpolator = interpolator; } else { @@ -226,8 +226,8 @@ IconicsAnimationProcessor interpolator(@NonNull TimeInterpolator interpolator) { * * @param startImmediately the flag */ - public @NonNull - IconicsAnimationProcessor startImmediately(boolean startImmediately) { + @NonNull + public IconicsAnimationProcessor startImmediately(boolean startImmediately) { mIsStartImmediately = startImmediately; return this; } @@ -236,8 +236,8 @@ IconicsAnimationProcessor startImmediately(boolean startImmediately) { * Starts the animation, if processor is attached to drawable, otherwise sets flag to start * animation immediately after attaching */ - public @NonNull - IconicsAnimationProcessor start() { + @NonNull + public IconicsAnimationProcessor start() { mAnimator.setInterpolator(mInterpolator); mAnimator.setDuration(mDuration); mAnimator.setRepeatCount(mRepeatCount); @@ -258,8 +258,8 @@ IconicsAnimationProcessor start() { * * @param listener the listener to be added to the current set of listeners for this processor. */ - public @NonNull - IconicsAnimationProcessor addListener(@NonNull IconicsAnimationListener listener) { + @NonNull + public IconicsAnimationProcessor addListener(@NonNull IconicsAnimationListener listener) { if (mListeners == null) { mListeners = new ArrayList<>(); mAnimator.addListener(mProxyListener); @@ -292,8 +292,8 @@ public void removeListener(@NonNull IconicsAnimationListener listener) { * for this processor. */ @RequiresApi(Build.VERSION_CODES.KITKAT) - public @NonNull - IconicsAnimationProcessor addPauseListener(@NonNull IconicsAnimationPauseListener listener) { + @NonNull + public IconicsAnimationProcessor addPauseListener(@NonNull IconicsAnimationPauseListener listener) { if (mPauseListeners == null) { mPauseListeners = new ArrayList<>(); mAnimator.addPauseListener(mProxyPauseListener); @@ -458,8 +458,8 @@ protected void processPostDraw(@NonNull Canvas canvas) { * * @return The current state of the drawable */ - protected @Nullable - int[] getDrawableState() { + @Nullable + protected int[] getDrawableState() { return mDrawable == null ? null : mDrawable.getState(); } @@ -475,16 +475,16 @@ int[] getDrawableState() { * @return The bounds of the drawable (which may change later, so caller beware). DO NOT ALTER * the returned object as it may change the stored bounds of this drawable. */ - protected @Nullable - Rect getDrawableBounds() { + @Nullable + protected Rect getDrawableBounds() { return mDrawable == null ? null : mDrawable.getBounds(); } /** * @return completed percent of animation */ - protected @FloatRange(from = 0, to = 100) - float getAnimatedPercent() { + @FloatRange(from = 0, to = 100) + protected float getAnimatedPercent() { return (float) mAnimator.getAnimatedValue(); } diff --git a/library-core/src/main/java/com/mikepenz/iconics/animation/SpinProcessor.java b/library-core/src/main/java/com/mikepenz/iconics/animation/SpinProcessor.java index 50aa0e3a..696aa8a2 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/animation/SpinProcessor.java +++ b/library-core/src/main/java/com/mikepenz/iconics/animation/SpinProcessor.java @@ -21,14 +21,14 @@ import android.graphics.Rect; import android.text.TextPaint; -import androidx.annotation.IntDef; -import androidx.annotation.NonNull; - import com.mikepenz.iconics.IconicsBrush; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import androidx.annotation.IntDef; +import androidx.annotation.NonNull; + /** * @author pa.gulko zTrap (30.11.2018) */ @@ -46,8 +46,8 @@ public class SpinProcessor extends IconicsAnimationProcessor { private @interface Direction { } - private @Direction - int mDirection = DIRECTION_CLOCKWISE; + @Direction + private int mDirection = DIRECTION_CLOCKWISE; private boolean mIsDrawableShadowCleared = false; { @@ -58,8 +58,8 @@ public class SpinProcessor extends IconicsAnimationProcessor { * @param direction The direction of the spin, {@link #DIRECTION_CLOCKWISE clockwise (+1)} * or {@link #DIRECTION_COUNTER_CLOCKWISE counter clockwise (-1)} */ - public @NonNull - SpinProcessor direction(@Direction int direction) { + @NonNull + public SpinProcessor direction(@Direction int direction) { mDirection = direction; return this; } @@ -67,14 +67,14 @@ SpinProcessor direction(@Direction int direction) { /** * @return the direction of the spin, clockwise (+1) or counter clockwise (-1) */ - public @Direction - int getDirection() { + @Direction + public int getDirection() { return (int) Math.signum(mDirection); } @Override - public @NonNull - String animationTag() { + @NonNull + public String animationTag() { return "spin"; } diff --git a/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsApplier.java b/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsApplier.java index 4d9b04a2..b8bde3ac 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsApplier.java +++ b/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsApplier.java @@ -20,13 +20,13 @@ import android.content.res.TypedArray; import android.util.AttributeSet; +import com.mikepenz.iconics.IconicsDrawable; +import com.mikepenz.iconics.core.R; + import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.RestrictTo; -import com.mikepenz.iconics.IconicsDrawable; -import com.mikepenz.iconics.core.R; - import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP; /** @@ -35,9 +35,9 @@ @RestrictTo(LIBRARY_GROUP) public class IconicsAttrsApplier { - public static @Nullable - IconicsDrawable getIconicsDrawable(@NonNull Context ctx, - @Nullable AttributeSet attrs) { + @Nullable + public static IconicsDrawable getIconicsDrawable(@NonNull Context ctx, + @Nullable AttributeSet attrs) { TypedArray a = ctx.obtainStyledAttributes(attrs, R.styleable.Iconics); try { return new IconicsAttrsExtractor(ctx, a) diff --git a/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsExtractor.java b/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsExtractor.java index 23e1e57a..0c572f2a 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsExtractor.java +++ b/library-core/src/main/java/com/mikepenz/iconics/context/IconicsAttrsExtractor.java @@ -21,11 +21,6 @@ import android.content.res.TypedArray; import android.text.TextUtils; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.annotation.RestrictTo; -import androidx.annotation.StyleableRes; - import com.mikepenz.iconics.Iconics; import com.mikepenz.iconics.IconicsDrawable; import com.mikepenz.iconics.animation.IconicsAnimationProcessor; @@ -33,6 +28,11 @@ import java.util.ArrayList; import java.util.List; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.RestrictTo; +import androidx.annotation.StyleableRes; + import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP; /** @@ -43,50 +43,50 @@ public class IconicsAttrsExtractor { private final static int DEF_COLOR = Integer.MIN_VALUE; private final static int DEF_SIZE = -1; - private final @NonNull - Context mContext; - private final @NonNull - TypedArray mTypedArray; - - private @StyleableRes - int mIconId; - private @StyleableRes - int mSizeId; - private @StyleableRes - int mColorsId; - private @StyleableRes - int mPaddingId; - private @StyleableRes - int mOffsetXId; - private @StyleableRes - int mOffsetYId; - - private @StyleableRes - int mContourColorId; - private @StyleableRes - int mContourWidthId; - - private @StyleableRes - int mBackgroundColorId; - private @StyleableRes - int mCornerRadiusId; - - private @StyleableRes - int mBackgroundContourColorId; - private @StyleableRes - int mBackgroundContourWidthId; - - private @StyleableRes - int mShadowRadiusId; - private @StyleableRes - int mShadowDxId; - private @StyleableRes - int mShadowDyId; - private @StyleableRes - int mShadowColorId; - - private @StyleableRes - int mAnimationsId; + @NonNull + private final Context mContext; + @NonNull + private final TypedArray mTypedArray; + + @StyleableRes + private int mIconId; + @StyleableRes + private int mSizeId; + @StyleableRes + private int mColorsId; + @StyleableRes + private int mPaddingId; + @StyleableRes + private int mOffsetXId; + @StyleableRes + private int mOffsetYId; + + @StyleableRes + private int mContourColorId; + @StyleableRes + private int mContourWidthId; + + @StyleableRes + private int mBackgroundColorId; + @StyleableRes + private int mCornerRadiusId; + + @StyleableRes + private int mBackgroundContourColorId; + @StyleableRes + private int mBackgroundContourWidthId; + + @StyleableRes + private int mShadowRadiusId; + @StyleableRes + private int mShadowDxId; + @StyleableRes + private int mShadowDyId; + @StyleableRes + private int mShadowColorId; + + @StyleableRes + private int mAnimationsId; public IconicsAttrsExtractor(@NonNull Context context, @NonNull TypedArray typedArray) { @@ -95,126 +95,126 @@ public IconicsAttrsExtractor(@NonNull Context context, @NonNull TypedArray typed } //region chain setters - public @NonNull - IconicsAttrsExtractor iconId(@StyleableRes int iconId) { + @NonNull + public IconicsAttrsExtractor iconId(@StyleableRes int iconId) { mIconId = iconId; return this; } - public @NonNull - IconicsAttrsExtractor sizeId(@StyleableRes int sizeId) { + @NonNull + public IconicsAttrsExtractor sizeId(@StyleableRes int sizeId) { mSizeId = sizeId; return this; } - public @NonNull - IconicsAttrsExtractor colorsId(@StyleableRes int colorsId) { + @NonNull + public IconicsAttrsExtractor colorsId(@StyleableRes int colorsId) { mColorsId = colorsId; return this; } - public @NonNull - IconicsAttrsExtractor paddingId(@StyleableRes int paddingId) { + @NonNull + public IconicsAttrsExtractor paddingId(@StyleableRes int paddingId) { mPaddingId = paddingId; return this; } - public @NonNull - IconicsAttrsExtractor offsetXId(@StyleableRes int offsetXId) { + @NonNull + public IconicsAttrsExtractor offsetXId(@StyleableRes int offsetXId) { mOffsetXId = offsetXId; return this; } - public @NonNull - IconicsAttrsExtractor offsetYId(@StyleableRes int offsetYId) { + @NonNull + public IconicsAttrsExtractor offsetYId(@StyleableRes int offsetYId) { mOffsetYId = offsetYId; return this; } - public @NonNull - IconicsAttrsExtractor contourColorId(@StyleableRes int contourColorId) { + @NonNull + public IconicsAttrsExtractor contourColorId(@StyleableRes int contourColorId) { mContourColorId = contourColorId; return this; } - public @NonNull - IconicsAttrsExtractor contourWidthId(@StyleableRes int contourWidthId) { + @NonNull + public IconicsAttrsExtractor contourWidthId(@StyleableRes int contourWidthId) { mContourWidthId = contourWidthId; return this; } - public @NonNull - IconicsAttrsExtractor backgroundColorId(@StyleableRes int backgroundColorId) { + @NonNull + public IconicsAttrsExtractor backgroundColorId(@StyleableRes int backgroundColorId) { mBackgroundColorId = backgroundColorId; return this; } - public @NonNull - IconicsAttrsExtractor cornerRadiusId(@StyleableRes int cornerRadiusId) { + @NonNull + public IconicsAttrsExtractor cornerRadiusId(@StyleableRes int cornerRadiusId) { mCornerRadiusId = cornerRadiusId; return this; } - public @NonNull - IconicsAttrsExtractor backgroundContourColorId(@StyleableRes int backgroundContourColorId) { + @NonNull + public IconicsAttrsExtractor backgroundContourColorId(@StyleableRes int backgroundContourColorId) { mBackgroundContourColorId = backgroundContourColorId; return this; } - public @NonNull - IconicsAttrsExtractor backgroundContourWidthId(@StyleableRes int backgroundContourWidthId) { + @NonNull + public IconicsAttrsExtractor backgroundContourWidthId(@StyleableRes int backgroundContourWidthId) { mBackgroundContourWidthId = backgroundContourWidthId; return this; } - public @NonNull - IconicsAttrsExtractor shadowRadiusId(@StyleableRes int shadowRadiusId) { + @NonNull + public IconicsAttrsExtractor shadowRadiusId(@StyleableRes int shadowRadiusId) { mShadowRadiusId = shadowRadiusId; return this; } - public @NonNull - IconicsAttrsExtractor shadowDxId(@StyleableRes int shadowDxId) { + @NonNull + public IconicsAttrsExtractor shadowDxId(@StyleableRes int shadowDxId) { mShadowDxId = shadowDxId; return this; } - public @NonNull - IconicsAttrsExtractor shadowDyId(@StyleableRes int shadowDyId) { + @NonNull + public IconicsAttrsExtractor shadowDyId(@StyleableRes int shadowDyId) { mShadowDyId = shadowDyId; return this; } - public @NonNull - IconicsAttrsExtractor shadowColorId(@StyleableRes int shadowColorId) { + @NonNull + public IconicsAttrsExtractor shadowColorId(@StyleableRes int shadowColorId) { mShadowColorId = shadowColorId; return this; } - public @NonNull - IconicsAttrsExtractor animationsId(@StyleableRes int animationsId) { + @NonNull + public IconicsAttrsExtractor animationsId(@StyleableRes int animationsId) { mAnimationsId = animationsId; return this; } //endregion - public @NonNull - IconicsDrawable extractNonNull() { + @NonNull + public IconicsDrawable extractNonNull() { return extract(null, false, true); } - public @Nullable - IconicsDrawable extract(@Nullable IconicsDrawable icon) { + @Nullable + public IconicsDrawable extract(@Nullable IconicsDrawable icon) { return extract(icon, false, false); } - public @Nullable - IconicsDrawable extract() { + @Nullable + public IconicsDrawable extract() { return extract(null, false, false); } - public @Nullable - IconicsDrawable extractWithOffsets() { + @Nullable + public IconicsDrawable extractWithOffsets() { return extract(null, true, false); } @@ -327,16 +327,16 @@ private IconicsDrawable extract(@Nullable IconicsDrawable icon, return icon; } - private static @Nullable - IconicsDrawable copyIfCan(@Nullable IconicsDrawable drawable) { + @Nullable + private static IconicsDrawable copyIfCan(@Nullable IconicsDrawable drawable) { if (drawable != null) { return drawable.clone(); } return null; } - private static @NonNull - IconicsDrawable createIfNeeds( + @NonNull + private static IconicsDrawable createIfNeeds( @Nullable IconicsDrawable drawable, @NonNull Context context) { if (drawable == null) { From e2ca5fef397c8d2f990eb1ec283e1a795ccb92f3 Mon Sep 17 00:00:00 2001 From: "zTrap (Peter Gulko)" Date: Wed, 9 Jan 2019 21:15:03 +0300 Subject: [PATCH 12/15] - Make travis happy to work with gradle 5.1 --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index f0b66d57..86f64a27 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,11 +2,11 @@ language: android android: components: - tools - - build-tools-28.0.2 + - build-tools-28.0.3 - android-28 before_install: - yes | sdkmanager "platforms;android-28" - - yes | sdkmanager "build-tools;28.0.2" + - yes | sdkmanager "build-tools;28.0.3" jdk: - oraclejdk8 script: From 0f417fe3aa782c406e323dc8fc95de36570b9099 Mon Sep 17 00:00:00 2001 From: "zTrap (Peter Gulko)" Date: Wed, 9 Jan 2019 20:54:54 +0300 Subject: [PATCH 13/15] - Added utility method for set icons w/o inflating menu --- .../utils/IconicsMenuInflaterUtil.java | 37 ++++++++++++++++--- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/library-core/src/main/java/com/mikepenz/iconics/utils/IconicsMenuInflaterUtil.java b/library-core/src/main/java/com/mikepenz/iconics/utils/IconicsMenuInflaterUtil.java index c58a35af..a9bebeff 100644 --- a/library-core/src/main/java/com/mikepenz/iconics/utils/IconicsMenuInflaterUtil.java +++ b/library-core/src/main/java/com/mikepenz/iconics/utils/IconicsMenuInflaterUtil.java @@ -32,6 +32,8 @@ import java.io.IOException; import java.util.HashMap; +import androidx.annotation.NonNull; + /** * Created by flisar on 23.05.2017. */ @@ -51,19 +53,40 @@ public class IconicsMenuInflaterUtil { * Default menu inflater * Uses the IconicsImageView styleable tags to get the iconics data of menu items */ - public static void inflate(MenuInflater inflater, Context context, int menuId, Menu menu) { + public static void inflate(@NonNull MenuInflater inflater, + @NonNull Context context, + int menuId, + @NonNull Menu menu) { inflate(inflater, context, menuId, menu, false); } /* - * Default menu inflater - * Uses the IconicsImageView styleable tags to get the iconics data of menu items + * Inflates an menu by resource id and uses the styleable tags to get the iconics data of menu + * items * * By default, menus don't show icons for sub menus, but this can be enabled via reflection * So use this function if you want that sub menu icons are checked as well */ - public static void inflate(MenuInflater inflater, Context context, int menuId, Menu menu, boolean checkSubMenus) { + public static void inflate(@NonNull MenuInflater inflater, + @NonNull Context context, + int menuId, + @NonNull Menu menu, + boolean checkSubMenus) { inflater.inflate(menuId, menu); + parseXmlAndSetIconicsDrawables(context, menuId, menu, checkSubMenus); + } + + /** + * Uses the styleable tags to get the iconics data of menu items. Useful for set icons into + * {@code BottomNavigationView} + *

+ * By default, menus don't show icons for sub menus, but this can be enabled via reflection + * So use this function if you want that sub menu icons are checked as well + */ + public static void parseXmlAndSetIconicsDrawables(@NonNull Context context, + int menuId, + @NonNull Menu menu, + boolean checkSubMenus) { try { XmlResourceParser parser = context.getResources().getXml(menuId); AttributeSet attrs = Xml.asAttributeSet(parser); @@ -75,7 +98,11 @@ public static void inflate(MenuInflater inflater, Context context, int menuId, M } } - private static void parseMenu(Context context, AttributeSet attrs, XmlPullParser parser, Menu menu, boolean checkSubMenus) throws XmlPullParserException, IOException { + private static void parseMenu(@NonNull Context context, + @NonNull AttributeSet attrs, + @NonNull XmlPullParser parser, + @NonNull Menu menu, + boolean checkSubMenus) throws XmlPullParserException, IOException { int eventType = parser.getEventType(); String tagName; boolean lookingForEndOfUnknownTag = false; From 2a06296c36ec0d8a4d17c9f4f5b1abfdb30ddcd1 Mon Sep 17 00:00:00 2001 From: "zTrap (Peter Gulko)" Date: Sat, 2 Feb 2019 13:58:24 +0300 Subject: [PATCH 14/15] - fix for #426 - bump deps versions - change gradle version for AS 3.3 --- app/build.gradle | 24 ++- .../main/res/layout/activity_playground.xml | 141 ++++++++---------- build.gradle | 9 +- gradle.properties | 4 +- gradle/wrapper/gradle-wrapper.properties | 4 +- iconics-view-library/build.gradle | 2 +- library-core/build.gradle | 2 +- .../com/mikepenz/iconics/IconicsDrawable.java | 16 +- 8 files changed, 93 insertions(+), 109 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 66a55fe6..c9391f6a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -52,46 +52,44 @@ android { } dependencies { - implementation 'com.android.support:multidex:1.0.3' + implementation 'androidx.multidex:multidex:2.0.1' - implementation "androidx.appcompat:appcompat:${versions.androidXVersion}" - implementation "com.google.android.material:material:${versions.androidXVersion}" - implementation "androidx.recyclerview:recyclerview:${versions.androidXVersion}" - implementation "androidx.cardview:cardview:${versions.androidXVersion}" + implementation "androidx.appcompat:appcompat:${versions.appCompat}" + implementation "com.google.android.material:material:${versions.androidX}" + implementation "androidx.recyclerview:recyclerview:${versions.androidX}" + implementation "androidx.cardview:cardview:${versions.androidX}" // used to base on some backwards compatible themes // contains util classes to support various android versions, and clean up code // comes with the awesome "Holder"-Pattern // https://github.com/mikepenz/Materialize - implementation 'com.mikepenz:materialize:1.2.0' + implementation 'com.mikepenz:materialize:1.2.1' // used to fill the RecyclerView with the DrawerItems // and provides single and multi selection, expandable items // https://github.com/mikepenz/FastAdapter - implementation 'com.mikepenz:fastadapter:3.3.0' - implementation 'com.mikepenz:fastadapter-commons:3.3.0' - implementation 'com.mikepenz:fastadapter-extensions-expandable:3.3.0' + implementation 'com.mikepenz:fastadapter:3.3.1' + implementation 'com.mikepenz:fastadapter-commons:3.3.1' + implementation 'com.mikepenz:fastadapter-extensions-expandable:3.3.1' // used to generating string fields for icons (sample - test/java/StringFieldGenerator.java) testImplementation 'ru.ztrap.iconics:string-generator:1.0.2' //used to generate the drawer on the left //https://github.com/mikepenz/MaterialDrawer - implementation('com.mikepenz:materialdrawer:6.1.0') { + implementation('com.mikepenz:materialdrawer:6.1.2') { transitive = true exclude module: "fastadapter" exclude module: "fastadapter-extensions-expandable" exclude module: "iconics-core" - exclude group: "com.android.support" } // used to generate the Open Source section // https://github.com/mikepenz/AboutLibraries - implementation('com.mikepenz:aboutlibraries:6.2.0') { + implementation('com.mikepenz:aboutlibraries:6.2.1') { transitive = true exclude module: "fastadapter" exclude module: "iconics-core" - exclude group: "com.android.support" } implementation project(':library-core') diff --git a/app/src/main/res/layout/activity_playground.xml b/app/src/main/res/layout/activity_playground.xml index 4bceab92..4d9e0873 100644 --- a/app/src/main/res/layout/activity_playground.xml +++ b/app/src/main/res/layout/activity_playground.xml @@ -13,15 +13,16 @@ ~ See the License for the specific language governing permissions and ~ limitations under the License. --> - + + android:text="IconicsImageView Showcase" /> + android:background="#000" /> + app:iiv_icon="faw_android" /> + app:iiv_corner_radius="36dp" /> @@ -88,14 +89,14 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="8dp" - android:text="IconicsImageView Padding Showcase"/> + android:text="IconicsImageView Padding Showcase" /> + android:background="#000" /> + app:iiv_icon="faw_android" /> + app:iiv_size="16dp" /> + app:iiv_padding="16dp" /> + app:iiv_icon="faw_android" /> @@ -145,14 +146,14 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="8dp" - android:text="TextView Showcase"/> + android:text="TextView Showcase" /> + android:background="#000" /> + android:textSize="16sp" /> + android:textSize="16sp" /> @@ -176,24 +177,14 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="8dp" - android:text="IconicsTextView Showcase"/> + android:text="IconicsTextView Showcase" /> - - + android:background="#000" /> + app:iiv_all_size="24dp" /> + android:textSize="16sp" /> @@ -218,14 +209,14 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="8dp" - android:text="Button/IconicsButton Showcase"/> + android:text="Button/IconicsButton Showcase" /> + android:background="#000" /> + android:text="{faw-adjust} Button" />