Compare commits
39 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b3dbe062a1 | |||
| bdff93eb94 | |||
| 2b6b37e4ec | |||
| 43b80fa5ad | |||
| 3d931ed365 | |||
| e7de224188 | |||
| 2096ce66d5 | |||
| 668f49d912 | |||
| a19dedfec3 | |||
| 3a69c18500 | |||
| 0dcaeea998 | |||
| 6ec5a5d8ef | |||
| 8bcb52e2f4 | |||
| 6588d8458a | |||
| 6cd2654b2a | |||
| 4ddb00edcb | |||
| 67adf23091 | |||
| 8ebf9518c9 | |||
| 7852d6a9ae | |||
| 03930ec1c4 | |||
| 8e47dd330f | |||
| c9e63d886d | |||
| c2467ffec4 | |||
| bfa472841a | |||
| 1b759d27f3 | |||
| 3f4cd89d0c | |||
| 1b26be9923 | |||
| 712955ffaa | |||
| 77b50c3fe0 | |||
| 9d2265a809 | |||
| 62273fb5df | |||
| b886966c93 | |||
| 0695e5bbca | |||
| 6330d7e3ae | |||
| 801b09403c | |||
| db838fcd31 | |||
| 4212c485e5 | |||
| e07ab95495 | |||
| ffada8db82 |
@@ -1,14 +1,14 @@
|
||||
# * http://www.objc.io/issue-6/travis-ci.html
|
||||
# * https://github.com/supermarin/xcpretty#usage
|
||||
|
||||
osx_image: xcode9.2
|
||||
osx_image: xcode11.4
|
||||
language: swift
|
||||
# cache: cocoapods
|
||||
# podfile: Example/Podfile
|
||||
# before_install:
|
||||
# - gem install cocoapods # Since Travis is not always on latest version
|
||||
# - pod install --project-directory=Example
|
||||
cache: cocoapods
|
||||
podfile: Example/Podfile
|
||||
before_install:
|
||||
- gem install cocoapods # Since Travis is not always on latest version
|
||||
# - pod install
|
||||
script:
|
||||
- set -o pipefail && xcodebuild test -enableCodeCoverage YES -workspace Example/LabelSwitch.xcworkspace -scheme LabelSwitch-Example -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 6' ONLY_ACTIVE_ARCH=NO | xcpretty
|
||||
- set -o pipefail && xcodebuild test -enableCodeCoverage YES -workspace Example/LabelSwitch.xcworkspace -scheme LabelSwitch-Example -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 11' ONLY_ACTIVE_ARCH=NO | xcpretty
|
||||
- pod lib lint
|
||||
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
607FACE01AFB9204008FA782 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */; };
|
||||
607FACEC1AFB9204008FA782 /* Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACEB1AFB9204008FA782 /* Tests.swift */; };
|
||||
6B593754B6E43A396382D564 /* Pods_LabelSwitch_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 60D2D94024A73069F0287034 /* Pods_LabelSwitch_Tests.framework */; };
|
||||
765BAE23210C18E8008D0133 /* fire.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 765BAE22210C18E8008D0133 /* fire.jpg */; };
|
||||
765BAE25210C18F9008D0133 /* water.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 765BAE24210C18F9008D0133 /* water.jpg */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
@@ -42,6 +44,8 @@
|
||||
607FACEA1AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
607FACEB1AFB9204008FA782 /* Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests.swift; sourceTree = "<group>"; };
|
||||
60D2D94024A73069F0287034 /* Pods_LabelSwitch_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LabelSwitch_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
765BAE22210C18E8008D0133 /* fire.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = fire.jpg; sourceTree = "<group>"; };
|
||||
765BAE24210C18F9008D0133 /* water.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = water.jpg; sourceTree = "<group>"; };
|
||||
9DE1109E861CA122C4E89D98 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = "<group>"; };
|
||||
B44F4C7012EB4623C0D33E3A /* Pods-LabelSwitch_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LabelSwitch_Tests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LabelSwitch_Tests/Pods-LabelSwitch_Tests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
D16153E815CC5D979B1DEBCF /* Pods-LabelSwitch_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LabelSwitch_Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-LabelSwitch_Example/Pods-LabelSwitch_Example.release.xcconfig"; sourceTree = "<group>"; };
|
||||
@@ -102,6 +106,8 @@
|
||||
607FACD21AFB9204008FA782 /* Example for LabelSwitch */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
765BAE24210C18F9008D0133 /* water.jpg */,
|
||||
765BAE22210C18E8008D0133 /* fire.jpg */,
|
||||
607FACD51AFB9204008FA782 /* AppDelegate.swift */,
|
||||
607FACD71AFB9204008FA782 /* ViewController.swift */,
|
||||
607FACD91AFB9204008FA782 /* Main.storyboard */,
|
||||
@@ -171,7 +177,6 @@
|
||||
607FACCD1AFB9204008FA782 /* Frameworks */,
|
||||
607FACCE1AFB9204008FA782 /* Resources */,
|
||||
40177D7B23047A5D3EB4F060 /* [CP] Embed Pods Frameworks */,
|
||||
0C59C05A8C561B00C30729E6 /* [CP] Copy Pods Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -190,8 +195,6 @@
|
||||
607FACE11AFB9204008FA782 /* Sources */,
|
||||
607FACE21AFB9204008FA782 /* Frameworks */,
|
||||
607FACE31AFB9204008FA782 /* Resources */,
|
||||
18F9B0442D0C45DC90AEC65F /* [CP] Embed Pods Frameworks */,
|
||||
922E547E5B168BA9ABEAE6C1 /* [CP] Copy Pods Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -210,23 +213,23 @@
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastSwiftUpdateCheck = 0830;
|
||||
LastUpgradeCheck = 0830;
|
||||
LastUpgradeCheck = 1140;
|
||||
ORGANIZATIONNAME = CocoaPods;
|
||||
TargetAttributes = {
|
||||
607FACCF1AFB9204008FA782 = {
|
||||
CreatedOnToolsVersion = 6.3.1;
|
||||
LastSwiftMigration = 0900;
|
||||
LastSwiftMigration = 1020;
|
||||
};
|
||||
607FACE41AFB9204008FA782 = {
|
||||
CreatedOnToolsVersion = 6.3.1;
|
||||
LastSwiftMigration = 0900;
|
||||
LastSwiftMigration = 1020;
|
||||
TestTargetID = 607FACCF1AFB9204008FA782;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "LabelSwitch" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
@@ -249,8 +252,10 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
607FACDB1AFB9204008FA782 /* Main.storyboard in Resources */,
|
||||
765BAE23210C18E8008D0133 /* fire.jpg in Resources */,
|
||||
607FACE01AFB9204008FA782 /* LaunchScreen.xib in Resources */,
|
||||
607FACDD1AFB9204008FA782 /* Images.xcassets in Resources */,
|
||||
765BAE25210C18F9008D0133 /* water.jpg in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -282,36 +287,6 @@
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
0C59C05A8C561B00C30729E6 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LabelSwitch_Example/Pods-LabelSwitch_Example-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
18F9B0442D0C45DC90AEC65F /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LabelSwitch_Tests/Pods-LabelSwitch_Tests-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
40177D7B23047A5D3EB4F060 /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@@ -348,21 +323,6 @@
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
922E547E5B168BA9ABEAE6C1 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LabelSwitch_Tests/Pods-LabelSwitch_Tests-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
@@ -425,12 +385,14 @@
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
@@ -478,12 +440,14 @@
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
@@ -524,8 +488,7 @@
|
||||
MODULE_NAME = ExampleApp;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
|
||||
SWIFT_VERSION = 4.0;
|
||||
SWIFT_VERSION = 5.0;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
@@ -541,8 +504,7 @@
|
||||
MODULE_NAME = ExampleApp;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
|
||||
SWIFT_VERSION = 4.0;
|
||||
SWIFT_VERSION = 5.0;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
@@ -550,20 +512,17 @@
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = B44F4C7012EB4623C0D33E3A /* Pods-LabelSwitch_Tests.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/Developer/Library/Frameworks",
|
||||
"$(inherited)",
|
||||
);
|
||||
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = Tests/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
|
||||
SWIFT_VERSION = 4.0;
|
||||
SWIFT_VERSION = 5.0;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
@@ -571,16 +530,13 @@
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 3FCE599881BA9C988E5C908E /* Pods-LabelSwitch_Tests.release.xcconfig */;
|
||||
buildSettings = {
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/Developer/Library/Frameworks",
|
||||
"$(inherited)",
|
||||
);
|
||||
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
|
||||
INFOPLIST_FILE = Tests/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
|
||||
SWIFT_VERSION = 4.0;
|
||||
SWIFT_VERSION = 5.0;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0900"
|
||||
LastUpgradeVersion = "1140"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
@@ -40,8 +40,16 @@
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
language = ""
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "607FACCF1AFB9204008FA782"
|
||||
BuildableName = "LabelSwitch_Example.app"
|
||||
BlueprintName = "LabelSwitch_Example"
|
||||
ReferencedContainer = "container:LabelSwitch.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<Testables>
|
||||
<TestableReference
|
||||
skipped = "NO">
|
||||
@@ -54,23 +62,11 @@
|
||||
</BuildableReference>
|
||||
</TestableReference>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "607FACCF1AFB9204008FA782"
|
||||
BuildableName = "LabelSwitch_Example.app"
|
||||
BlueprintName = "LabelSwitch_Example"
|
||||
ReferencedContainer = "container:LabelSwitch.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
language = ""
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
@@ -87,8 +83,6 @@
|
||||
ReferencedContainer = "container:LabelSwitch.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IDEDidComputeMac32BitWarning</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -14,7 +14,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
var window: UIWindow?
|
||||
|
||||
|
||||
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
|
||||
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
|
||||
// Override point for customization after application launch.
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="vXZ-lx-hvc">
|
||||
<device id="retina4_7" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="16096" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="vXZ-lx-hvc">
|
||||
<device id="retina6_5" orientation="portrait" appearance="light"/>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13772"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="16087"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
@@ -18,42 +16,41 @@
|
||||
<viewControllerLayoutGuide type="bottom" id="2fi-mo-0CV"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="kh9-bI-dsS">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" ambiguous="YES" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="wIm-yi-cLv">
|
||||
<rect key="frame" x="83" y="264" width="173" height="128"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="PGQ-i0-4O4" customClass="LabelSwitch" customModule="LabelSwitch">
|
||||
<rect key="frame" x="0.0" y="0.0" width="173" height="128"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="color" keyPath="lBackColor">
|
||||
<color key="value" red="1" green="0.90876896409999997" blue="0.13431931529999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="color" keyPath="rBackColor">
|
||||
<color key="value" red="0.34343534650000002" green="0.44993422370000002" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="color" keyPath="lTextColor">
|
||||
<color key="value" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="color" keyPath="rTextColor">
|
||||
<color key="value" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="lText" value="Left"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="rText" value="Right"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="fontSize">
|
||||
<real key="value" value="20"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
</subviews>
|
||||
</stackView>
|
||||
<view contentMode="scaleToFill" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="PGQ-i0-4O4" customClass="LabelSwitch" customModule="LabelSwitch">
|
||||
<rect key="frame" x="155" y="94" width="104" height="65"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" relation="greaterThanOrEqual" id="60m-DS-uVG"/>
|
||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" id="uFB-54-Byd"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="color" keyPath="lBackColor">
|
||||
<color key="value" red="1" green="0.90876896409999997" blue="0.13431931529999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="color" keyPath="rBackColor">
|
||||
<color key="value" red="0.34343534650000002" green="0.44993422370000002" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="color" keyPath="lTextColor">
|
||||
<color key="value" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="color" keyPath="rTextColor">
|
||||
<color key="value" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="lText" value="Left"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="rText" value="Right"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="fontSize">
|
||||
<real key="value" value="20"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="wIm-yi-cLv" firstAttribute="centerX" secondItem="kh9-bI-dsS" secondAttribute="centerX" id="KYI-CP-o7e"/>
|
||||
<constraint firstItem="wIm-yi-cLv" firstAttribute="centerY" secondItem="kh9-bI-dsS" secondAttribute="centerY" id="dBS-sy-z63"/>
|
||||
<constraint firstItem="PGQ-i0-4O4" firstAttribute="centerX" secondItem="kh9-bI-dsS" secondAttribute="centerX" id="3Sz-f4-gvz"/>
|
||||
<constraint firstItem="PGQ-i0-4O4" firstAttribute="top" secondItem="jyV-Pf-zRb" secondAttribute="bottom" constant="50" id="KSh-sO-syx"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<connections>
|
||||
@@ -62,7 +59,7 @@
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="x5A-6p-PRh" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="117.59999999999999" y="118.29085457271366"/>
|
||||
<point key="canvasLocation" x="33" y="71"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
</document>
|
||||
|
||||
@@ -18,23 +18,45 @@ class ViewController: UIViewController {
|
||||
labelSwitch.delegate = self
|
||||
labelSwitch.curState = .R
|
||||
labelSwitch.circleShadow = false
|
||||
labelSwitch.circleColor = .red
|
||||
labelSwitch.fullSizeTapEnabled = true
|
||||
// Do any additional setup after loading the view, typically from a nib.
|
||||
}
|
||||
|
||||
override func didReceiveMemoryWarning() {
|
||||
super.didReceiveMemoryWarning()
|
||||
// Dispose of any resources that can be recreated.
|
||||
}
|
||||
|
||||
// Set the default state of the switch,
|
||||
|
||||
let ls2 = LabelSwitchConfig(text: "Left",
|
||||
textColor: .white,
|
||||
font: .boldSystemFont(ofSize: 20),
|
||||
gradientColors: [UIColor.red.cgColor, UIColor.purple.cgColor], startPoint: CGPoint(x: 0.0, y: 0.5), endPoint: CGPoint(x: 1, y: 0.5))
|
||||
|
||||
let rs2 = LabelSwitchConfig(text: "Right",
|
||||
textColor: .white,
|
||||
font: .boldSystemFont(ofSize: 20),
|
||||
gradientColors: [UIColor.yellow.cgColor, UIColor.orange.cgColor], startPoint: CGPoint(x: 0.0, y: 0.5), endPoint: CGPoint(x: 1, y: 0.5))
|
||||
|
||||
let gradientLabelSwitch = LabelSwitch(center: CGPoint(x: view.center.x, y: view.center.y + 100), leftConfig: ls2, rightConfig: rs2, defaultState: .L)
|
||||
view.addSubview(gradientLabelSwitch)
|
||||
|
||||
let ls3 = LabelSwitchConfig(text: "Fire",
|
||||
textColor: .white,
|
||||
font: .boldSystemFont(ofSize: 20),
|
||||
image: UIImage(named: "fire.jpg"))
|
||||
|
||||
let rs3 = LabelSwitchConfig(text: "Water",
|
||||
textColor: .white,
|
||||
font: .boldSystemFont(ofSize: 20),
|
||||
image: UIImage(named: "water.jpg"))
|
||||
|
||||
let imageLabelSwitch = LabelSwitch(center: CGPoint(x: view.center.x, y: view.center.y + 200), leftConfig: ls3, rightConfig: rs3, defaultState: .L)
|
||||
view.addSubview(imageLabelSwitch)
|
||||
}
|
||||
}
|
||||
|
||||
extension ViewController: LabelSwitchDelegate {
|
||||
func switchChangToState(_ state: SwitchState) {
|
||||
switch state {
|
||||
case .L: print("circle on left")
|
||||
case .R: print("circle on right")
|
||||
func switchChangToState(sender: LabelSwitch) {
|
||||
switch sender.curState {
|
||||
case .L: print("left")
|
||||
case .R: print("right")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 8.1 KiB |
@@ -1,16 +1,16 @@
|
||||
PODS:
|
||||
- LabelSwitch (0.1.2)
|
||||
- LabelSwitch (0.1.7)
|
||||
|
||||
DEPENDENCIES:
|
||||
- LabelSwitch (from `../`)
|
||||
|
||||
EXTERNAL SOURCES:
|
||||
LabelSwitch:
|
||||
:path: ../
|
||||
:path: "../"
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
LabelSwitch: 91f9db2e1cbb200aabe1de4a879f95d60d99527c
|
||||
LabelSwitch: 06333d13e4050d3af7832df872ec3a425bb7dcf1
|
||||
|
||||
PODFILE CHECKSUM: a898de11b0f271336544f6e30dfc02c11c75244a
|
||||
|
||||
COCOAPODS: 1.4.0
|
||||
COCOAPODS: 1.5.3
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "LabelSwitch",
|
||||
"version": "0.1.2",
|
||||
"version": "0.1.7",
|
||||
"summary": "Switch with label in background",
|
||||
"description": "TODO: Add long description of the pod here.",
|
||||
"homepage": "https://github.com/Cookiezby/LabelSwitch",
|
||||
@@ -13,7 +13,7 @@
|
||||
},
|
||||
"source": {
|
||||
"git": "https://github.com/Cookiezby/LabelSwitch.git",
|
||||
"tag": "0.1.2"
|
||||
"tag": "0.1.7"
|
||||
},
|
||||
"platforms": {
|
||||
"ios": "9.0"
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
PODS:
|
||||
- LabelSwitch (0.1.2)
|
||||
- LabelSwitch (0.1.7)
|
||||
|
||||
DEPENDENCIES:
|
||||
- LabelSwitch (from `../`)
|
||||
|
||||
EXTERNAL SOURCES:
|
||||
LabelSwitch:
|
||||
:path: ../
|
||||
:path: "../"
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
LabelSwitch: 91f9db2e1cbb200aabe1de4a879f95d60d99527c
|
||||
LabelSwitch: 06333d13e4050d3af7832df872ec3a425bb7dcf1
|
||||
|
||||
PODFILE CHECKSUM: a898de11b0f271336544f6e30dfc02c11c75244a
|
||||
|
||||
COCOAPODS: 1.4.0
|
||||
COCOAPODS: 1.5.3
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IDEDidComputeMac32BitWarning</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -15,7 +15,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.1.2</string>
|
||||
<string>0.1.7</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/LabelSwitch
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
|
||||
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
|
||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||
|
||||
@@ -3,7 +3,7 @@ This application makes use of the following third party libraries:
|
||||
|
||||
## LabelSwitch
|
||||
|
||||
Copyright (c) 2018 zhu.bingyi@donuts.ne.jp <zhu.bingyi@donuts.ne.jp>
|
||||
Copyright (c) 2018 cookiezby@gmail.com <cookiezby@gmail.com>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
</dict>
|
||||
<dict>
|
||||
<key>FooterText</key>
|
||||
<string>Copyright (c) 2018 zhu.bingyi@donuts.ne.jp <zhu.bingyi@donuts.ne.jp>
|
||||
<string>Copyright (c) 2018 cookiezby@gmail.com <cookiezby@gmail.com>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -1,9 +1,18 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
set -u
|
||||
set -o pipefail
|
||||
|
||||
if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then
|
||||
# If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy
|
||||
# frameworks to, so exit 0 (signalling the script phase was successful).
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
|
||||
COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}"
|
||||
SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
|
||||
|
||||
# Used as a return value for each invocation of `strip_invalid_archs` function.
|
||||
@@ -92,10 +101,10 @@ install_dsym() {
|
||||
|
||||
# Signs a framework with the provided identity
|
||||
code_sign_if_enabled() {
|
||||
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
|
||||
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
|
||||
# Use the current code_sign_identitiy
|
||||
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
|
||||
local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'"
|
||||
local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"
|
||||
|
||||
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
|
||||
code_sign_cmd="$code_sign_cmd &"
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
set -u
|
||||
set -o pipefail
|
||||
|
||||
if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then
|
||||
# If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy
|
||||
# resources to, so exit 0 (signalling the script phase was successful).
|
||||
exit 0
|
||||
fi
|
||||
|
||||
mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||
|
||||
@@ -12,7 +20,7 @@ XCASSET_FILES=()
|
||||
# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
|
||||
RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????")
|
||||
|
||||
case "${TARGETED_DEVICE_FAMILY}" in
|
||||
case "${TARGETED_DEVICE_FAMILY:-}" in
|
||||
1,2)
|
||||
TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone"
|
||||
;;
|
||||
@@ -92,7 +100,7 @@ if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then
|
||||
fi
|
||||
rm -f "$RESOURCES_TO_COPY"
|
||||
|
||||
if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ]
|
||||
if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ]
|
||||
then
|
||||
# Find all other xcassets (this unfortunately includes those of path pods and other targets).
|
||||
OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d)
|
||||
@@ -102,5 +110,9 @@ then
|
||||
fi
|
||||
done <<<"$OTHER_XCASSETS"
|
||||
|
||||
printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||
if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then
|
||||
printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||
else
|
||||
printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -1,9 +1,18 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
set -u
|
||||
set -o pipefail
|
||||
|
||||
if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then
|
||||
# If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy
|
||||
# frameworks to, so exit 0 (signalling the script phase was successful).
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
|
||||
COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}"
|
||||
SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
|
||||
|
||||
# Used as a return value for each invocation of `strip_invalid_archs` function.
|
||||
@@ -92,10 +101,10 @@ install_dsym() {
|
||||
|
||||
# Signs a framework with the provided identity
|
||||
code_sign_if_enabled() {
|
||||
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
|
||||
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
|
||||
# Use the current code_sign_identitiy
|
||||
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
|
||||
local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'"
|
||||
local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"
|
||||
|
||||
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
|
||||
code_sign_cmd="$code_sign_cmd &"
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
set -u
|
||||
set -o pipefail
|
||||
|
||||
if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then
|
||||
# If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy
|
||||
# resources to, so exit 0 (signalling the script phase was successful).
|
||||
exit 0
|
||||
fi
|
||||
|
||||
mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||
|
||||
@@ -12,7 +20,7 @@ XCASSET_FILES=()
|
||||
# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
|
||||
RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????")
|
||||
|
||||
case "${TARGETED_DEVICE_FAMILY}" in
|
||||
case "${TARGETED_DEVICE_FAMILY:-}" in
|
||||
1,2)
|
||||
TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone"
|
||||
;;
|
||||
@@ -92,7 +100,7 @@ if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then
|
||||
fi
|
||||
rm -f "$RESOURCES_TO_COPY"
|
||||
|
||||
if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ]
|
||||
if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ]
|
||||
then
|
||||
# Find all other xcassets (this unfortunately includes those of path pods and other targets).
|
||||
OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d)
|
||||
@@ -102,5 +110,9 @@ then
|
||||
fi
|
||||
done <<<"$OTHER_XCASSETS"
|
||||
|
||||
printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||
if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then
|
||||
printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||
else
|
||||
printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Copyright (c) 2018 zhu.bingyi@donuts.ne.jp <zhu.bingyi@donuts.ne.jp>
|
||||
Copyright (c) 2018 cookiezby@gmail.com <cookiezby@gmail.com>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -8,25 +8,13 @@
|
||||
|
||||
Pod::Spec.new do |s|
|
||||
s.name = 'LabelSwitch'
|
||||
s.version = '0.1.3'
|
||||
s.version = '0.1.7'
|
||||
s.summary = 'Switch with label in background'
|
||||
|
||||
# This description is used to generate tags and improve search results.
|
||||
# * Think: What does it do? Why did you write it? What is the focus?
|
||||
# * Try to keep it short, snappy and to the point.
|
||||
# * Write the description between the DESC delimiters below.
|
||||
# * Finally, don't worry about the indent, CocoaPods strips it!
|
||||
|
||||
s.description = <<-DESC
|
||||
TODO: Add long description of the pod here.
|
||||
DESC
|
||||
|
||||
s.homepage = 'https://github.com/Cookiezby/LabelSwitch'
|
||||
# s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
|
||||
s.license = { :type => 'MIT', :file => 'LICENSE' }
|
||||
s.author = { 'cookiezby@gmail.com' => 'cookiezby@gmail.com' }
|
||||
s.source = { :git => 'https://github.com/Cookiezby/LabelSwitch.git', :tag => s.version.to_s }
|
||||
s.ios.deployment_target = '9.0'
|
||||
s.ios.deployment_target = '10.0'
|
||||
s.source_files = 'LabelSwitch/Classes/**/*'
|
||||
|
||||
|
||||
|
||||
@@ -10,54 +10,114 @@ import Foundation
|
||||
import UIKit
|
||||
|
||||
public protocol LabelSwitchDelegate : class {
|
||||
func switchChangToState(_ state: SwitchState) -> Void
|
||||
func switchChangToState(sender: LabelSwitch) -> Void
|
||||
}
|
||||
|
||||
struct TextTypeUIState {
|
||||
var circleFrame: CGRect = .zero
|
||||
private class LabelSwitchPart {
|
||||
let label: UILabel = {
|
||||
let label = UILabel()
|
||||
label.textAlignment = .center
|
||||
label.numberOfLines = 1
|
||||
label.backgroundColor = .clear
|
||||
return label
|
||||
}()
|
||||
|
||||
var leftBgFrame: CGRect = .zero
|
||||
var rightBgFrame: CGRect = .zero
|
||||
let back: LabelSwitchBackView = {
|
||||
let view = LabelSwitchBackView()
|
||||
return view
|
||||
}()
|
||||
|
||||
var leftTextMaskFrame: CGRect = .zero
|
||||
var rightTextMaskFrame: CGRect = .zero
|
||||
lazy var mask: CALayer = {
|
||||
let layer = CALayer()
|
||||
layer.backgroundColor = UIColor.black.cgColor
|
||||
label.layer.mask = layer
|
||||
return layer
|
||||
}()
|
||||
|
||||
var backgroundColor: UIColor = .clear
|
||||
func setConfig(_ config: LabelSwitchConfig) {
|
||||
back.backgroundColor = config.backgroundColor
|
||||
label.textColor = config.textColor
|
||||
label.text = config.text
|
||||
label.font = config.font
|
||||
label.sizeToFit()
|
||||
|
||||
if let gradient = config.backGradient {
|
||||
back.gradientLayer.colors = gradient.colors
|
||||
back.gradientLayer.startPoint = gradient.startPoint
|
||||
back.gradientLayer.endPoint = gradient.endPoint
|
||||
back.gradientLayer.isHidden = false
|
||||
}
|
||||
|
||||
if let image = config.backImage {
|
||||
back.imageView.image = image
|
||||
back.imageView.isHidden = false
|
||||
}
|
||||
}
|
||||
|
||||
func setState(_ state: LabelSwitchPartState) {
|
||||
mask.frame = state.backMaskFrame
|
||||
back.frame = state.backMaskFrame
|
||||
}
|
||||
}
|
||||
|
||||
@IBDesignable public class LabelSwitch: UIView {
|
||||
|
||||
private let circleView = UIView()
|
||||
private lazy var circleView: UIView = {
|
||||
let view = UIView()
|
||||
view.backgroundColor = .white
|
||||
view.layer.shadowColor = UIColor.black.cgColor
|
||||
view.layer.shadowOffset = CGSize(width: 0, height: 2)
|
||||
view.layer.shadowOpacity = 0.5
|
||||
addSubview(view)
|
||||
return view
|
||||
}()
|
||||
|
||||
private let leftTextBackground = UIView()
|
||||
private let rightTextBackground = UIView()
|
||||
private lazy var leftPart: LabelSwitchPart = {
|
||||
let part = LabelSwitchPart()
|
||||
addSubview(part.back)
|
||||
addSubview(part.label)
|
||||
return part
|
||||
}()
|
||||
|
||||
private lazy var rightPart: LabelSwitchPart = {
|
||||
let part = LabelSwitchPart()
|
||||
addSubview(part.back)
|
||||
addSubview(part.label)
|
||||
return part
|
||||
}()
|
||||
|
||||
private var switchConfigL: LabelSwitchConfig! {
|
||||
didSet {
|
||||
stateL.backgroundColor = switchConfigL.backgroundColor
|
||||
leftPart.setConfig(switchConfigL)
|
||||
}
|
||||
}
|
||||
private var switchConfigR: LabelSwitchConfig! {
|
||||
didSet {
|
||||
stateR.backgroundColor = switchConfigR.backgroundColor
|
||||
rightPart.setConfig(switchConfigR)
|
||||
}
|
||||
}
|
||||
|
||||
private let leftTextMask = CALayer()
|
||||
private let rightTextMask = CALayer()
|
||||
|
||||
private let leftLabel = UILabel()
|
||||
private let rightLabel = UILabel()
|
||||
|
||||
private var leftSetting: LabelSwtichSetting
|
||||
private var rightSetting: LabelSwtichSetting
|
||||
|
||||
private var edge: CGFloat = 0
|
||||
private let circlePadding: CGFloat
|
||||
private let minimumSize: CGSize
|
||||
|
||||
private var leftUIState = TextTypeUIState()
|
||||
private var rightUIState = TextTypeUIState()
|
||||
private var stateL = LabelSwitchUIState()
|
||||
private var stateR = LabelSwitchUIState()
|
||||
|
||||
private var fullSizeTapGesture: UITapGestureRecognizer?
|
||||
|
||||
public weak var delegate: LabelSwitchDelegate?
|
||||
public var curState: SwitchState {
|
||||
public var curState: LabelSwitchState {
|
||||
didSet{
|
||||
switch curState {
|
||||
case .L: updateUIState(leftUIState)
|
||||
case .R: updateUIState(rightUIState)
|
||||
case .L: updateUIState(stateL)
|
||||
case .R: updateUIState(stateR)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public var circleShadow: Bool = true {
|
||||
didSet{
|
||||
circleView.layer.shadowOpacity = circleShadow ? 0.5 : 0.0
|
||||
@@ -73,251 +133,191 @@ struct TextTypeUIState {
|
||||
public var fullSizeTapEnabled: Bool = false {
|
||||
didSet{
|
||||
if fullSizeTapEnabled {
|
||||
fullSizeTapGesture = UITapGestureRecognizer(target: self, action: #selector(switchTaped(sender:)))
|
||||
fullSizeTapGesture = UITapGestureRecognizer(target: self, action: #selector(switchTapped(sender:)))
|
||||
addGestureRecognizer(fullSizeTapGesture!)
|
||||
} else {
|
||||
fullSizeTapGesture?.removeTarget(self, action: #selector(switchTaped(sender:)))
|
||||
fullSizeTapGesture?.removeTarget(self, action: #selector(switchTapped(sender:)))
|
||||
fullSizeTapGesture = nil
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@IBInspectable var lBackColor: UIColor = .white {
|
||||
didSet{
|
||||
leftSetting.backgroundColor = lBackColor
|
||||
}
|
||||
}
|
||||
@IBInspectable var rBackColor: UIColor = .white {
|
||||
didSet{
|
||||
rightSetting.backgroundColor = rBackColor
|
||||
private var calculatedSize: CGSize = .zero {
|
||||
didSet {
|
||||
bounds = CGRect(origin: .zero, size: calculatedSize)
|
||||
layer.cornerRadius = calculatedSize.height / 2
|
||||
setupTextMask()
|
||||
setupLabel()
|
||||
setupCircle()
|
||||
}
|
||||
}
|
||||
|
||||
@IBInspectable var lTextColor: UIColor = .white {
|
||||
didSet{
|
||||
leftSetting.textColor = lTextColor
|
||||
}
|
||||
/// Enable the swith
|
||||
public var isEnable: Bool = true
|
||||
|
||||
override public convenience init(frame: CGRect) {
|
||||
self.init(center: .zero, leftConfig: .defaultLeft, rightConfig: .defaultRight)
|
||||
}
|
||||
|
||||
@IBInspectable var rTextColor: UIColor = .white {
|
||||
didSet{
|
||||
rightSetting.textColor = rTextColor
|
||||
}
|
||||
}
|
||||
|
||||
@IBInspectable var lText: String = "" {
|
||||
didSet{
|
||||
leftSetting.text = lText
|
||||
}
|
||||
}
|
||||
|
||||
@IBInspectable var rText: String = "" {
|
||||
didSet{
|
||||
rightSetting.text = rText
|
||||
}
|
||||
}
|
||||
|
||||
@IBInspectable var fontSize: CGFloat = 10 {
|
||||
didSet{
|
||||
leftSetting.font = UIFont.systemFont(ofSize: fontSize)
|
||||
rightSetting.font = UIFont.systemFont(ofSize: fontSize)
|
||||
}
|
||||
}
|
||||
|
||||
private var widthLayout: NSLayoutConstraint?
|
||||
private var heightLayout: NSLayoutConstraint?
|
||||
|
||||
public init(center: CGPoint, leftSetting: LabelSwtichSetting, rightSetting: LabelSwtichSetting, circlePadding: CGFloat = 1, defaultState: SwitchState = .L) {
|
||||
self.leftSetting = leftSetting
|
||||
self.rightSetting = rightSetting
|
||||
public init(center: CGPoint,
|
||||
leftConfig: LabelSwitchConfig,
|
||||
rightConfig: LabelSwitchConfig,
|
||||
circlePadding: CGFloat = 1,
|
||||
minimumSize: CGSize = .zero,
|
||||
defaultState: LabelSwitchState = .L) {
|
||||
|
||||
self.circlePadding = circlePadding
|
||||
self.minimumSize = minimumSize
|
||||
self.curState = defaultState
|
||||
|
||||
super.init(frame: .zero)
|
||||
self.center = center
|
||||
clipsToBounds = true
|
||||
addSubview(leftTextBackground)
|
||||
addSubview(rightTextBackground)
|
||||
addSubview(leftLabel)
|
||||
addSubview(rightLabel)
|
||||
addSubview(circleView)
|
||||
setConfig(left: leftConfig, right: rightConfig)
|
||||
updateUI()
|
||||
}
|
||||
|
||||
|
||||
private func updateUI() {
|
||||
setupBounds()
|
||||
setupTextMask()
|
||||
setupTextBackground()
|
||||
setupBackgroundColor()
|
||||
setupText()
|
||||
setupCircle()
|
||||
|
||||
calculateSize()
|
||||
switch curState {
|
||||
case .L: updateUIState(leftUIState)
|
||||
case .R: updateUIState(rightUIState)
|
||||
case .L: updateUIState(stateL)
|
||||
case .R: updateUIState(stateR)
|
||||
}
|
||||
}
|
||||
|
||||
/// Calculate the bounds of the switch accourding to the label's text and font size
|
||||
private func setupBounds () {
|
||||
let circleSize = max(leftSetting.font.pointSize, rightSetting.font.pointSize) * 2
|
||||
private func calculateSize () {
|
||||
let circleMinimumSize = minimumSize.height - 2 * circlePadding
|
||||
let circleSize = max(circleMinimumSize, max(switchConfigL.font.pointSize, switchConfigR.font.pointSize) * 2)
|
||||
edge = circleSize * 0.2
|
||||
leftLabel.text = leftSetting.text
|
||||
leftLabel.font = leftSetting.font
|
||||
leftLabel.sizeToFit()
|
||||
rightLabel.text = rightSetting.text
|
||||
rightLabel.font = rightSetting.font
|
||||
rightLabel.sizeToFit()
|
||||
|
||||
let width = max(leftLabel.bounds.width, rightLabel.bounds.width) + 2 * edge + circleSize + 2 * circlePadding
|
||||
bounds = CGRect(x: 0, y: 0, width: width, height: circleSize + 2 * circlePadding)
|
||||
layer.cornerRadius = bounds.height / 2
|
||||
|
||||
let width = max(minimumSize.width, max(leftPart.label.bounds.width, rightPart.label.bounds.width) + 2 * edge + circleSize + 2 * circlePadding)
|
||||
calculatedSize = CGSize(width: width, height: circleSize + 2 * circlePadding)
|
||||
}
|
||||
|
||||
|
||||
/// Calculate the left frame and right frame for the circle
|
||||
private func setupCircle() {
|
||||
let circleSize = bounds.height - 2 * circlePadding
|
||||
circleView.backgroundColor = .white
|
||||
circleView.layer.cornerRadius = circleSize / 2
|
||||
circleView.layer.shadowColor = UIColor.black.cgColor
|
||||
circleView.layer.shadowOffset = CGSize(width: 0, height: 2)
|
||||
circleView.layer.shadowOpacity = 0.5
|
||||
let diameter = bounds.height - 2 * circlePadding
|
||||
circleView.layer.cornerRadius = diameter / 2
|
||||
circleView.layer.shadowRadius = bounds.height * 0.05
|
||||
let circleSize = CGSize(width: diameter, height: diameter)
|
||||
|
||||
let leftFrame = CGRect(x: circlePadding,
|
||||
y: circlePadding,
|
||||
width: circleSize,
|
||||
height: circleSize)
|
||||
stateL.circleFrame = CGRect(origin: CGPoint(x: circlePadding, y: circlePadding),
|
||||
size: circleSize)
|
||||
|
||||
let rigthFrame = CGRect(x: bounds.width - circleSize - circlePadding,
|
||||
y: circlePadding,
|
||||
width: circleSize,
|
||||
height: circleSize)
|
||||
|
||||
leftUIState.circleFrame = leftFrame
|
||||
rightUIState.circleFrame = rigthFrame
|
||||
|
||||
stateR.circleFrame = CGRect(origin: CGPoint(x: bounds.width - diameter - circlePadding, y: circlePadding),
|
||||
size: circleSize)
|
||||
/// Add the touch event to the circle view
|
||||
circleView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(switchTaped(sender:))))
|
||||
circleView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(switchTapped(sender:))))
|
||||
}
|
||||
|
||||
|
||||
/// Set the label's frame and color
|
||||
private func setupText() {
|
||||
leftLabel.bounds = CGRect(x: 0,
|
||||
y: 0,
|
||||
width: leftLabel.bounds.width,
|
||||
height: leftLabel.bounds.height)
|
||||
private func setupLabel() {
|
||||
leftPart.label.center = CGPoint(x: (bounds.width - bounds.height + edge) / 2,
|
||||
y: bounds.height / 2)
|
||||
|
||||
rightLabel.bounds = CGRect(x: 0,
|
||||
y: 0,
|
||||
width: rightLabel.bounds.width,
|
||||
height: rightLabel.bounds.height)
|
||||
|
||||
|
||||
leftLabel.center = CGPoint(x: (bounds.width - bounds.height) / 2 + edge / 2,
|
||||
y: bounds.height / 2)
|
||||
|
||||
rightLabel.center = CGPoint(x: (bounds.width + bounds.height) / 2 - edge / 2,
|
||||
y: bounds.height / 2)
|
||||
|
||||
|
||||
leftLabel.textColor = leftSetting.textColor
|
||||
rightLabel.textColor = rightSetting.textColor
|
||||
leftLabel.textAlignment = .center
|
||||
rightLabel.textAlignment = .center
|
||||
rightPart.label.center = CGPoint(x: (bounds.width + bounds.height - edge) / 2,
|
||||
y: bounds.height / 2)
|
||||
}
|
||||
|
||||
|
||||
/// Set the frame for the text mask
|
||||
private func setupTextMask() {
|
||||
leftUIState.leftTextMaskFrame = CGRect(x: -bounds.width,
|
||||
y: 0,
|
||||
width: bounds.width,
|
||||
height: bounds.height)
|
||||
|
||||
leftUIState.rightTextMaskFrame = CGRect(x: 0,
|
||||
y: 0,
|
||||
width: bounds.width,
|
||||
height: bounds.height)
|
||||
|
||||
rightUIState.leftTextMaskFrame = CGRect(x: 0,
|
||||
y: 0,
|
||||
width: bounds.width,
|
||||
height: bounds.height)
|
||||
|
||||
rightUIState.rightTextMaskFrame = CGRect(x: bounds.width,
|
||||
y: 0,
|
||||
width: bounds.width,
|
||||
height: bounds.height)
|
||||
|
||||
leftTextMask.backgroundColor = UIColor.black.cgColor
|
||||
rightTextMask.backgroundColor = UIColor.black.cgColor
|
||||
|
||||
leftLabel.layer.mask = leftTextMask
|
||||
rightLabel.layer.mask = rightTextMask
|
||||
}
|
||||
|
||||
|
||||
/// Set the frame for background, which has the same frame with the text mask
|
||||
private func setupTextBackground() {
|
||||
leftUIState.leftBgFrame = leftUIState.leftTextMaskFrame
|
||||
leftUIState.rightBgFrame = leftUIState.rightTextMaskFrame
|
||||
|
||||
rightUIState.leftBgFrame = rightUIState.leftTextMaskFrame
|
||||
rightUIState.rightBgFrame = rightUIState.rightTextMaskFrame
|
||||
|
||||
leftTextBackground.backgroundColor = leftSetting.backgroundColor
|
||||
rightTextBackground.backgroundColor = rightSetting.backgroundColor
|
||||
|
||||
leftTextBackground.layer.cornerRadius = bounds.height / 2
|
||||
rightTextBackground.layer.cornerRadius = bounds.height / 2
|
||||
}
|
||||
|
||||
private func setupBackgroundColor() {
|
||||
leftUIState.backgroundColor = leftSetting.backgroundColor
|
||||
rightUIState.backgroundColor = rightSetting.backgroundColor
|
||||
}
|
||||
stateL.leftPartState.backMaskFrame = bounds.offsetBy(dx: -bounds.width, dy: 0)
|
||||
stateL.rightPartState.backMaskFrame = bounds
|
||||
|
||||
stateR.leftPartState.backMaskFrame = bounds
|
||||
stateR.rightPartState.backMaskFrame = bounds.offsetBy(dx: bounds.width, dy: 0)
|
||||
}
|
||||
|
||||
private func setConfig(left: LabelSwitchConfig, right: LabelSwitchConfig) {
|
||||
switchConfigL = left
|
||||
switchConfigR = right
|
||||
}
|
||||
|
||||
/// Called when the circle is touched
|
||||
@objc func switchTaped(sender: Any) {
|
||||
UIView.animate(withDuration: 0.3) {
|
||||
switch self.curState {
|
||||
case .L:
|
||||
self.delegate?.switchChangToState(.R)
|
||||
self.curState = .R
|
||||
case .R:
|
||||
self.delegate?.switchChangToState(.L)
|
||||
self.curState = .L
|
||||
@objc private func switchTapped(sender: Any) {
|
||||
guard isEnable else { return }
|
||||
UIView.animate(withDuration: 0.3, animations: {
|
||||
self.curState.flip()
|
||||
}) { (completed) in
|
||||
if completed {
|
||||
self.delegate?.switchChangToState(sender: self)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Update view's frame by UI state
|
||||
private func updateUIState(_ state: TextTypeUIState) {
|
||||
circleView.frame = state.circleFrame
|
||||
leftTextMask.frame = state.leftTextMaskFrame
|
||||
rightTextMask.frame = state.rightTextMaskFrame
|
||||
|
||||
leftTextBackground.frame = state.leftBgFrame
|
||||
rightTextBackground.frame = state.rightBgFrame
|
||||
private func updateUIState(_ state: LabelSwitchUIState) {
|
||||
leftPart.setState(state.leftPartState)
|
||||
rightPart.setState(state.rightPartState)
|
||||
circleView.frame = state.circleFrame
|
||||
backgroundColor = state.backgroundColor
|
||||
}
|
||||
|
||||
|
||||
/// For InterfaceBuilder
|
||||
@IBInspectable var lBackColor: UIColor = .white {
|
||||
didSet{
|
||||
guard switchConfigL != nil else { return }
|
||||
switchConfigL.backgroundColor = lBackColor
|
||||
}
|
||||
}
|
||||
|
||||
@IBInspectable var rBackColor: UIColor = .white {
|
||||
didSet{
|
||||
guard switchConfigR != nil else { return }
|
||||
switchConfigR.backgroundColor = rBackColor
|
||||
}
|
||||
}
|
||||
|
||||
@IBInspectable var lTextColor: UIColor = .white {
|
||||
didSet{
|
||||
guard switchConfigL != nil else { return }
|
||||
switchConfigL.textColor = lTextColor
|
||||
}
|
||||
}
|
||||
|
||||
@IBInspectable var rTextColor: UIColor = .white {
|
||||
didSet{
|
||||
guard switchConfigR != nil else { return }
|
||||
switchConfigR.textColor = rTextColor
|
||||
}
|
||||
}
|
||||
|
||||
@IBInspectable var lText: String = "" {
|
||||
didSet{
|
||||
guard switchConfigL != nil else { return }
|
||||
switchConfigL.text = lText
|
||||
}
|
||||
}
|
||||
|
||||
@IBInspectable var rText: String = "" {
|
||||
didSet{
|
||||
guard switchConfigR != nil else { return }
|
||||
switchConfigR.text = rText
|
||||
}
|
||||
}
|
||||
|
||||
@IBInspectable var fontSize: CGFloat = 10 {
|
||||
didSet{
|
||||
guard switchConfigR != nil else { return }
|
||||
guard switchConfigL != nil else { return }
|
||||
switchConfigL.font = .systemFont(ofSize: fontSize)
|
||||
switchConfigR.font = .systemFont(ofSize: fontSize)
|
||||
}
|
||||
}
|
||||
|
||||
private var widthLayout: NSLayoutConstraint?
|
||||
private var heightLayout: NSLayoutConstraint?
|
||||
|
||||
required public init?(coder aDecoder: NSCoder) {
|
||||
self.leftSetting = LabelSwtichSetting.defaultLeft
|
||||
self.rightSetting = LabelSwtichSetting.defaultRight
|
||||
self.switchConfigL = LabelSwitchConfig.defaultLeft
|
||||
self.switchConfigR = LabelSwitchConfig.defaultRight
|
||||
self.circlePadding = 1
|
||||
self.minimumSize = .zero
|
||||
self.curState = .L
|
||||
super.init(coder: aDecoder)
|
||||
clipsToBounds = true
|
||||
addSubview(leftTextBackground)
|
||||
addSubview(rightTextBackground)
|
||||
addSubview(leftLabel)
|
||||
addSubview(rightLabel)
|
||||
addSubview(circleView)
|
||||
|
||||
updateUI()
|
||||
updateLayoutConstraint()
|
||||
}
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
//
|
||||
// LabelSwitchBackView.swift
|
||||
// LabelSwitch
|
||||
//
|
||||
// Created by cookie on 2018/7/28.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import UIKit
|
||||
|
||||
class LabelSwitchBackView: UIView {
|
||||
var gradientLayer: CAGradientLayer = {
|
||||
let layer = CAGradientLayer()
|
||||
layer.isHidden = true
|
||||
return layer
|
||||
}()
|
||||
|
||||
var imageView: UIImageView = {
|
||||
let view = UIImageView()
|
||||
view.contentMode = .scaleAspectFill
|
||||
view.isHidden = true
|
||||
return view
|
||||
}()
|
||||
|
||||
override var frame: CGRect {
|
||||
didSet {
|
||||
gradientLayer.frame = bounds
|
||||
imageView.frame = bounds
|
||||
}
|
||||
}
|
||||
|
||||
init() {
|
||||
super.init(frame: .zero)
|
||||
addSubview(imageView)
|
||||
layer.addSublayer(gradientLayer)
|
||||
}
|
||||
|
||||
required init?(coder aDecoder: NSCoder) {
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
//
|
||||
// Model.swift
|
||||
// ContentsSwitch
|
||||
//
|
||||
// Created by cookie on 20/02/2018.
|
||||
// Copyright © 2018 cookie. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import UIKit
|
||||
|
||||
|
||||
public struct LabelSwitchConfig {
|
||||
struct GradientBack {
|
||||
var colors: [CGColor]
|
||||
var startPoint: CGPoint
|
||||
var endPoint: CGPoint
|
||||
}
|
||||
|
||||
var text: String
|
||||
var textColor: UIColor
|
||||
var font: UIFont
|
||||
var backgroundColor: UIColor
|
||||
var backGradient: GradientBack?
|
||||
var backImage: UIImage?
|
||||
|
||||
public init(text: String, textColor: UIColor, font: UIFont, backgroundColor: UIColor) {
|
||||
self.text = text
|
||||
self.textColor = textColor
|
||||
self.font = font
|
||||
self.backgroundColor = backgroundColor
|
||||
}
|
||||
|
||||
public init(text: String, textColor: UIColor, font: UIFont, gradientColors: [CGColor], startPoint: CGPoint, endPoint: CGPoint) {
|
||||
self.init(text: text, textColor: textColor, font: font, backgroundColor: .white)
|
||||
self.backGradient = GradientBack(colors: gradientColors, startPoint: startPoint, endPoint: endPoint)
|
||||
}
|
||||
|
||||
public init(text: String, textColor: UIColor, font: UIFont, image: UIImage?) {
|
||||
self.init(text: text, textColor: textColor, font: font, backgroundColor: .white)
|
||||
self.backImage = image
|
||||
}
|
||||
|
||||
public static let defaultLeft = LabelSwitchConfig(text: "Left",
|
||||
textColor: .white,
|
||||
font: .boldSystemFont(ofSize: 20),
|
||||
backgroundColor: UIColor.red)
|
||||
|
||||
public static let defaultRight = LabelSwitchConfig(text: "Right",
|
||||
textColor: .white,
|
||||
font: .boldSystemFont(ofSize: 20),
|
||||
backgroundColor: UIColor.blue)
|
||||
}
|
||||
|
||||
public enum LabelSwitchState {
|
||||
case L
|
||||
case R
|
||||
|
||||
mutating func flip() {
|
||||
switch self {
|
||||
case .L:
|
||||
self = .R
|
||||
case .R:
|
||||
self = .L
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
//
|
||||
// LabelSwitchState.swift
|
||||
// LabelSwitch
|
||||
//
|
||||
// Created by cookie on 2018/7/28.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
struct LabelSwitchPartState {
|
||||
var backMaskFrame: CGRect = .zero
|
||||
}
|
||||
|
||||
struct LabelSwitchUIState {
|
||||
var backgroundColor: UIColor = .clear
|
||||
var circleFrame: CGRect = .zero
|
||||
var leftPartState = LabelSwitchPartState()
|
||||
var rightPartState = LabelSwitchPartState()
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
//
|
||||
// Model.swift
|
||||
// ContentsSwitch
|
||||
//
|
||||
// Created by cookie on 20/02/2018.
|
||||
// Copyright © 2018 cookie. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import UIKit
|
||||
|
||||
public struct LabelSwtichSetting {
|
||||
public var text: String
|
||||
public var textColor: UIColor
|
||||
public var font: UIFont
|
||||
public var backgroundColor: UIColor
|
||||
|
||||
public init(text: String, textColor: UIColor, font: UIFont, backgroundColor: UIColor) {
|
||||
self.text = text
|
||||
self.textColor = textColor
|
||||
self.font = font
|
||||
self.backgroundColor = backgroundColor
|
||||
}
|
||||
|
||||
public static let defaultLeft = LabelSwtichSetting(text: "Left",
|
||||
textColor: .white,
|
||||
font: UIFont.boldSystemFont(ofSize: 20),
|
||||
backgroundColor: .green)
|
||||
|
||||
public static let defaultRight = LabelSwtichSetting(text: "Right",
|
||||
textColor: .white,
|
||||
font: UIFont.boldSystemFont(ofSize: 20),
|
||||
backgroundColor: .red)
|
||||
}
|
||||
|
||||
public enum SwitchState {
|
||||
case L
|
||||
case R
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# LabelSwitch
|
||||

|
||||
|
||||
[](https://travis-ci.org/Cookiezby/LabelSwitch)
|
||||
[](https://travis-ci.org/Cookiezby/LabelSwitch)
|
||||
[](http://cocoapods.org/pods/LabelSwitch)
|
||||
[](http://cocoapods.org/pods/LabelSwitch)
|
||||
[](http://cocoapods.org/pods/LabelSwitch)
|
||||
|
||||
<img src="sample.gif" width="112" height="61" />
|
||||
<img src= "sample2.png" width = "240" height = "309" />
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -18,21 +18,25 @@ pod 'LabelSwitch'
|
||||
|
||||
## Usage
|
||||
|
||||
You can create the view through code or InterfaceBuilder
|
||||
**You can create the view through code or InterfaceBuilder**
|
||||
|
||||
### Use with Interface Builder
|
||||
Set the position constarint for the switch, and set the width and height constraint to larger than zero.
|
||||
|
||||
### Use with code
|
||||
```swift
|
||||
let ls = LabelSwtichSetting(text: "Text1",
|
||||
textColor: .white,
|
||||
font: UIFont.boldSystemFont(ofSize: 15),
|
||||
backgroundColor: .red)
|
||||
let ls = LabelSwitchConfig(text: "Text1",
|
||||
textColor: .white,
|
||||
font: UIFont.boldSystemFont(ofSize: 15),
|
||||
backgroundColor: .red)
|
||||
|
||||
let rs = LabelSwtichSetting(text: "Text2",
|
||||
textColor: .white,
|
||||
font: UIFont.boldSystemFont(ofSize: 20),
|
||||
backgroundColor: .green)
|
||||
let rs = LabelSwitchConfig(text: "Text2",
|
||||
textColor: .white,
|
||||
font: UIFont.boldSystemFont(ofSize: 20),
|
||||
backgroundColor: .green)
|
||||
|
||||
// Set the default state of the switch,
|
||||
let labelSwitch = LabelSwitch(center: .zero, leftSetting: ls, rightSetting: rs, defaultState: .L)
|
||||
let labelSwitch = LabelSwitch(center: .zero, leftConfig: ls, rightConfig: rs)
|
||||
|
||||
// Set the appearance of the circle button
|
||||
labelSwitch.circleShadow = false
|
||||
@@ -45,14 +49,22 @@ labelSwitch.fullSizeTapEnabled = true
|
||||
labelSwitch.delegate = self
|
||||
|
||||
extension ViewController: LabelSwitchDelegate {
|
||||
func switchChangToState(_ state: SwitchState) {
|
||||
switch state {
|
||||
case .L: print("circle on left")
|
||||
case .R: print("circle on right")
|
||||
func switchChangToState(sender: LabelSwitch) {
|
||||
switch sender.curState {
|
||||
case .L: print("left state")
|
||||
case .R: print("right state")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
you can also make the switch background to be image or gradient color
|
||||
```
|
||||
// gradient color
|
||||
init(text: String, textColor: UIColor, font: UIFont, gradientColors: [CGColor], startPoint: CGPoint, endPoint: CGPoint)
|
||||
|
||||
// image
|
||||
init(text: String, textColor: UIColor, font: UIFont, image: UIImage?)
|
||||
```
|
||||
|
||||
## Author
|
||||
@@ -62,3 +74,5 @@ cookiezby@gmail.com
|
||||
## License
|
||||
|
||||
LabelSwitch is available under the MIT license. See the LICENSE file for more info.
|
||||
|
||||
logo by [@Tobaloidee](https://github.com/Tobaloidee)
|
||||
|
||||
|
After Width: | Height: | Size: 34 KiB |
@@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="500px" height="500px" viewBox="0 0 500 500" enable-background="new 0 0 500 500" xml:space="preserve">
|
||||
<path fill="#6699FF" d="M307.962,263.24h-115.92c-43.557,0-78.879,35.322-78.879,78.879c0,43.57,35.322,78.879,78.879,78.879h115.92
|
||||
c43.566,0,78.89-35.309,78.89-78.879C386.852,298.563,351.528,263.24,307.962,263.24z M304.262,397.311
|
||||
c-30.479,0-55.181-24.709-55.181-55.189s24.702-55.182,55.181-55.182c30.479,0,55.191,24.701,55.191,55.182
|
||||
S334.741,397.311,304.262,397.311z"/>
|
||||
<path fill="#0E8BE0" d="M465.61,283.771c-19.651-47.814-61.333-84.307-112.17-95.402c-13.263-2.895-26.424-3.146-39.876-3.889
|
||||
c-1.394-0.078-2.781-0.217-4.167-0.359c-0.231-0.043-0.547-0.098-0.976-0.17c-2.814-0.469-5.593-1.131-8.35-1.859
|
||||
c-2.726-0.721-5.398-1.629-8.045-2.596c-0.3-0.107-1.082-0.436-1.73-0.707c-1.358-0.623-2.701-1.281-4.031-1.961
|
||||
c-2.469-1.262-4.849-2.688-7.192-4.166c-1.169-0.736-2.303-1.525-3.437-2.313c-0.265-0.184-0.964-0.713-1.523-1.137
|
||||
c-4.342-3.523-8.31-7.492-11.957-11.725c-0.266-0.309-1.073-1.33-1.513-1.877c-0.484-0.676-0.963-1.355-1.438-2.039
|
||||
c-1.581-2.273-3.004-4.65-4.371-7.055c-1.042-1.826-1.986-3.703-2.884-5.605c-0.155-0.373-0.919-2.109-1.105-2.598
|
||||
c-0.67-1.752-1.247-3.537-1.809-5.326c-0.853-2.713-1.515-5.479-2.11-8.254c-0.15-0.705-0.286-1.414-0.412-2.123
|
||||
c-0.052-0.359-0.365-2.369-0.424-2.922c-0.642-6.277-0.501-12.615,0.133-18.883c0.043-0.23,0.098-0.541,0.169-0.963
|
||||
c0.233-1.41,0.533-2.811,0.834-4.209c0.595-2.771,1.383-5.5,2.232-8.201c0.422-1.344,0.904-2.664,1.387-3.984
|
||||
c0.118-0.322,0.484-1.199,0.765-1.867c1.181-2.576,2.508-5.08,3.907-7.541c1.37-2.406,2.898-4.713,4.475-6.982
|
||||
c0.211-0.305,0.885-1.191,1.325-1.77c0.571-0.689,1.154-1.375,1.739-2.057c1.798-2.086,3.733-4.049,5.707-5.967
|
||||
c0.988-0.959,2.02-1.873,3.05-2.787c0.416-0.371,2.268-1.852,2.9-2.383c4.04-2.947,8.343-5.52,12.792-7.791
|
||||
c0.611-0.313,1.23-0.611,1.852-0.902c-0.014,0.02,2.12-0.924,2.671-1.135c3.076-1.178,6.235-2.117,9.416-2.957
|
||||
c2.156-0.568,4.341-1.018,6.533-1.41c0.656-0.1,2.201-0.338,2.676-0.387c1.456-0.15,2.918-0.23,4.376-0.311
|
||||
c2.953-0.162,5.911-0.117,8.861,0c1.463,0.057,2.922,0.184,4.378,0.311c0.399,0.037,0.795,0.088,1.192,0.131
|
||||
c0.239,0.043,0.57,0.094,1.038,0.168c5.599,0.93,11.071,2.508,16.396,4.455c0.314,0.115,1.172,0.473,1.837,0.752
|
||||
c0.9,0.418,1.795,0.848,2.684,1.285c2.904,1.428,5.696,3.072,8.431,4.795c1.17,0.738,2.305,1.525,3.438,2.314
|
||||
c0.261,0.184,0.953,0.707,1.509,1.129c1.848,1.504,3.631,3.09,5.363,4.723c2.005,1.889,3.882,3.91,5.708,5.967
|
||||
c0.526,0.592,1.03,1.205,1.535,1.816c-0.56-0.633,1.884,2.521,2.317,3.143c2.89,4.16,5.33,8.615,7.48,13.195
|
||||
c0.291,0.676,0.74,1.705,0.876,2.063c0.505,1.314,0.946,2.648,1.389,3.984c1.042,3.143,1.837,6.361,2.532,9.598
|
||||
c0.15,0.705,0.286,1.412,0.412,2.125c0.052,0.361,0.367,2.367,0.421,2.918c0.3,2.928,0.395,5.869,0.417,8.809
|
||||
c0.078,10.111,8.377,18.551,18.552,18.551c10.049,0,18.629-8.438,18.549-18.551c-0.216-27.539-10.342-53.111-28.244-73.885
|
||||
c-17.648-20.477-43.058-32.521-69.515-36.076c-53.909-7.242-105.59,28.957-120.112,80.711c-7.499,26.719-3.768,55.244,8.372,79.932
|
||||
c11.776,23.947,33.097,41.969,57.422,52.148c12.114,5.068,25.13,7.492,38.231,8.008c5.926,0.232,11.797,0.229,17.71,0.82
|
||||
c0.35,0.035,1.361,0.168,2.116,0.268c1.007,0.16,2.011,0.33,3.015,0.504c3.3,0.578,6.568,1.326,9.817,2.143
|
||||
c5.503,1.381,10.894,3.188,16.182,5.234c0.286,0.113,0.521,0.203,0.712,0.275c0.018,0.008,0.03,0.014,0.052,0.021
|
||||
c1.285,0.559,2.554,1.158,3.822,1.756c2.947,1.393,5.827,2.932,8.67,4.527c4.852,2.725,9.496,5.811,13.985,9.094
|
||||
c0.146,0.107,0.271,0.199,0.387,0.283c0.078,0.064,0.16,0.129,0.255,0.203c1.086,0.861,2.143,1.758,3.204,2.65
|
||||
c2.471,2.086,4.834,4.295,7.153,6.545c3.979,3.861,7.662,8.014,11.154,12.316c0.038,0.049,0.072,0.088,0.106,0.135
|
||||
c0.107,0.145,0.229,0.309,0.377,0.506c0.834,1.113,1.629,2.25,2.427,3.387c1.864,2.658,3.595,5.406,5.268,8.188
|
||||
c2.868,4.771,5.375,9.75,7.647,14.826c0.081,0.211,0.189,0.482,0.333,0.84c0.523,1.311,1.006,2.639,1.489,3.967
|
||||
c1.132,3.109,2.103,6.277,3.008,9.459c1.434,5.039,2.493,10.176,3.33,15.342c0.107,0.762,0.279,1.971,0.323,2.363
|
||||
c0.161,1.459,0.277,2.92,0.393,4.383c0.272,3.447,0.361,6.906,0.381,10.365c0.027,5.238-0.325,10.467-0.896,15.67
|
||||
c-0.089,0.586-0.322,2.309-0.401,2.787c-0.234,1.422-0.513,2.838-0.792,4.252c-0.643,3.281-1.456,6.523-2.337,9.746
|
||||
c-0.748,2.738-1.622,5.441-2.54,8.127c-0.453,1.338-0.951,2.66-1.448,3.982c-0.139,0.371-0.62,1.559-0.892,2.238
|
||||
c-2.225,5.066-4.793,9.977-7.598,14.742c-1.412,2.4-2.929,4.734-4.48,7.045c-0.776,1.152-1.585,2.281-2.394,3.41
|
||||
c-0.205,0.287-0.846,1.135-1.287,1.719c-3.465,4.348-7.225,8.451-11.171,12.359c-1.968,1.949-4.022,3.813-6.104,5.639
|
||||
c-1.041,0.916-2.11,1.799-3.175,2.682c-0.243,0.201-0.927,0.734-1.481,1.17c-4.538,3.391-9.312,6.461-14.224,9.285
|
||||
c-2.424,1.391-4.909,2.67-7.411,3.914c-1.254,0.623-2.527,1.207-3.803,1.795c-0.249,0.113-0.887,0.385-1.479,0.637
|
||||
c-5.452,2.195-11.063,3.977-16.744,5.465c-2.775,0.729-5.585,1.326-8.399,1.879c-1.418,0.279-2.843,0.512-4.271,0.748
|
||||
c-0.243,0.037-0.438,0.074-0.619,0.104c-0.068,0.008-0.133,0.016-0.21,0.025c-5.381,0.654-10.821,0.934-16.239,0.934
|
||||
c-2.357,0-4.714,0-7.071,0c-13.321,0.002-26.643,0.002-39.964,0.002c-29.275,0-58.551,0.002-87.827,0.002
|
||||
c-3.814,0-7.617-0.014-11.431-0.195c-2.932-0.141-5.855-0.416-8.773-0.738c-0.011,0-0.021,0-0.031-0.002
|
||||
c-0.212-0.035-0.473-0.076-0.799-0.127c-1.427-0.219-2.847-0.484-4.269-0.75c-6.085-1.127-12.069-2.762-17.943-4.697
|
||||
c-2.222-0.73-4.411-1.557-6.591-2.41c-0.684-0.283-1.746-0.717-2.089-0.871c-1.279-0.572-2.541-1.184-3.803-1.795
|
||||
c-5.439-2.635-10.661-5.703-15.708-9.025c-1.839-1.207-3.627-2.492-5.401-3.795c-0.53-0.41-1.671-1.281-2.003-1.549
|
||||
c-1.076-0.873-2.125-1.777-3.176-2.684c-4.549-3.918-8.781-8.193-12.787-12.662c-1.424-1.588-2.784-3.232-4.126-4.893
|
||||
c-0.325-0.432-1.372-1.787-1.648-2.164c-0.82-1.119-1.605-2.266-2.392-3.41c-3.419-4.982-6.435-10.23-9.175-15.613
|
||||
c-0.963-1.887-1.848-3.816-2.714-5.752c-0.123-0.332-0.895-2.182-1.08-2.66c-0.511-1.316-0.979-2.65-1.45-3.982
|
||||
c-2.054-5.83-3.623-11.822-4.876-17.873c-0.293-1.412-0.541-2.832-0.789-4.254c-0.067-0.379-0.24-1.551-0.354-2.309
|
||||
c-0.282-2.41-0.499-4.828-0.664-7.25c-0.5-7.297-0.308-14.619,0.321-21.902c0.014-0.172,0.391-3.293,0.405-3.615
|
||||
c0.215-1.375,0.451-2.748,0.699-4.117c0.639-3.553,1.487-7.061,2.403-10.547c0.908-3.455,2.015-6.854,3.186-10.225
|
||||
c0.583-1.676,1.23-3.33,1.877-4.982c0.825-2.035,0.888-2.186,0.19-0.459c0.476-1.074,0.969-2.141,1.474-3.203
|
||||
c1.737-3.717,3.929-7.178,5.751-10.838c0.004-0.01,0.008-0.016,0.012-0.021c0.011-0.023,0.022-0.043,0.034-0.064
|
||||
c0.012-0.025,0.021-0.053,0.033-0.076c20.165-42.631,40.332-85.262,60.497-127.893c19.735-41.721,39.471-83.443,59.207-125.164
|
||||
c4.324-9.141,2.627-19.943-6.655-25.381c-8.146-4.771-21.058-2.484-25.381,6.656c-20.188,42.676-40.376,85.355-60.564,128.031
|
||||
c-19.735,41.723-39.471,83.443-59.207,125.166c0,0.002-0.002,0.004-0.004,0.008c-6.817,13.746-13.386,27.055-17.117,42.063
|
||||
c-3.754,15.104-5.163,31.035-4.263,46.564c1.508,26.045,9.461,51.531,23.135,73.754c27.444,44.605,76.035,72.219,128.087,74.688
|
||||
c24.162,1.143,48.58,0.121,72.758,0.119c24.029,0,48.058,0,72.087,0c52.29-0.002,100.414-26.482,130.23-68.998
|
||||
C479.108,388.619,485.04,331.045,465.61,283.771z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 15 KiB |
@@ -0,0 +1,150 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="800px" height="200px" viewBox="0 0 800 200" enable-background="new 0 0 800 200" xml:space="preserve">
|
||||
<g>
|
||||
<path fill="#6699FF" d="M99.66,104.632H59.104c-15.24,0-27.599,12.359-27.599,27.599c0,15.244,12.358,27.598,27.599,27.598H99.66
|
||||
c15.244,0,27.602-12.354,27.602-27.598C127.262,116.991,114.904,104.632,99.66,104.632z M98.367,151.541
|
||||
c-10.665,0-19.307-8.646-19.307-19.311s8.642-19.306,19.307-19.306c10.664,0,19.309,8.642,19.309,19.306
|
||||
S109.031,151.541,98.367,151.541z"/>
|
||||
<path fill="#0E8BE0" d="M154.818,111.814c-6.875-16.729-21.459-29.496-39.245-33.378c-4.642-1.012-9.246-1.102-13.951-1.36
|
||||
c-0.489-0.027-0.975-0.076-1.459-0.127c-0.081-0.015-0.192-0.033-0.342-0.059c-0.984-0.163-1.956-0.396-2.921-0.651
|
||||
c-0.954-0.251-1.89-0.568-2.814-0.908c-0.105-0.037-0.379-0.151-0.605-0.246c-0.476-0.218-0.945-0.448-1.41-0.687
|
||||
c-0.864-0.44-1.697-0.939-2.517-1.458c-0.409-0.257-0.806-0.533-1.202-0.809c-0.094-0.063-0.338-0.249-0.533-0.398
|
||||
c-1.52-1.232-2.908-2.621-4.185-4.102c-0.092-0.107-0.376-0.466-0.528-0.656c-0.17-0.237-0.339-0.476-0.504-0.714
|
||||
c-0.553-0.796-1.053-1.627-1.53-2.468c-0.363-0.639-0.694-1.296-1.007-1.962c-0.056-0.131-0.323-0.737-0.388-0.908
|
||||
c-0.235-0.613-0.437-1.238-0.634-1.864c-0.298-0.948-0.528-1.917-0.738-2.889c-0.053-0.245-0.099-0.493-0.145-0.741
|
||||
c-0.017-0.127-0.127-0.83-0.147-1.022c-0.224-2.196-0.176-4.414,0.046-6.608c0.016-0.08,0.034-0.188,0.06-0.334
|
||||
c0.081-0.496,0.187-0.984,0.292-1.476c0.209-0.969,0.483-1.923,0.78-2.869c0.148-0.47,0.317-0.931,0.486-1.393
|
||||
c0.041-0.113,0.169-0.419,0.268-0.655c0.412-0.899,0.877-1.775,1.368-2.637c0.478-0.841,1.013-1.65,1.563-2.443
|
||||
c0.074-0.106,0.311-0.416,0.464-0.619c0.2-0.241,0.404-0.481,0.61-0.72c0.627-0.729,1.305-1.416,1.996-2.087
|
||||
c0.345-0.336,0.706-0.655,1.066-0.976c0.146-0.129,0.793-0.648,1.016-0.833c1.412-1.031,2.919-1.932,4.476-2.728
|
||||
c0.214-0.108,0.43-0.213,0.646-0.313c-0.004,0.006,0.742-0.325,0.936-0.398c1.075-0.412,2.181-0.739,3.295-1.034
|
||||
c0.753-0.199,1.518-0.356,2.285-0.493c0.229-0.035,0.771-0.118,0.936-0.136c0.51-0.052,1.022-0.08,1.532-0.108
|
||||
c1.032-0.058,2.067-0.04,3.1,0c0.511,0.021,1.021,0.064,1.531,0.108c0.141,0.014,0.278,0.031,0.418,0.046
|
||||
c0.083,0.014,0.2,0.033,0.363,0.059c1.959,0.326,3.873,0.878,5.736,1.559c0.109,0.04,0.409,0.166,0.643,0.264
|
||||
c0.314,0.145,0.629,0.297,0.939,0.448c1.016,0.501,1.993,1.076,2.949,1.679c0.41,0.258,0.807,0.534,1.203,0.81
|
||||
c0.092,0.065,0.334,0.247,0.528,0.396c0.647,0.527,1.27,1.081,1.876,1.652c0.702,0.661,1.358,1.367,1.997,2.087
|
||||
c0.185,0.208,0.36,0.422,0.536,0.637c-0.195-0.223,0.66,0.88,0.812,1.1c1.011,1.454,1.864,3.013,2.618,4.615
|
||||
c0.102,0.236,0.26,0.597,0.306,0.723c0.177,0.46,0.331,0.926,0.487,1.393c0.364,1.1,0.642,2.228,0.886,3.358
|
||||
c0.053,0.247,0.1,0.495,0.144,0.743c0.019,0.128,0.128,0.829,0.147,1.022c0.105,1.023,0.138,2.054,0.146,3.082
|
||||
c0.027,3.537,2.931,6.489,6.491,6.489c3.517,0,6.518-2.952,6.489-6.489c-0.076-9.637-3.618-18.583-9.881-25.852
|
||||
c-6.175-7.164-15.065-11.378-24.322-12.622c-18.862-2.533-36.944,10.132-42.024,28.239c-2.624,9.349-1.319,19.328,2.929,27.966
|
||||
c4.12,8.378,11.581,14.684,20.09,18.246c4.238,1.773,8.793,2.621,13.378,2.802c2.072,0.082,4.127,0.08,6.195,0.287
|
||||
c0.123,0.012,0.477,0.059,0.741,0.095c0.352,0.055,0.702,0.113,1.055,0.176c1.154,0.202,2.298,0.464,3.435,0.749
|
||||
c1.926,0.484,3.811,1.115,5.662,1.832c0.101,0.038,0.182,0.07,0.248,0.096c0.007,0.003,0.012,0.005,0.018,0.008
|
||||
c0.45,0.195,0.894,0.404,1.338,0.614c1.031,0.487,2.04,1.026,3.034,1.583c1.697,0.954,3.323,2.033,4.894,3.184
|
||||
c0.051,0.037,0.094,0.068,0.135,0.099c0.027,0.021,0.057,0.044,0.089,0.069c0.38,0.303,0.75,0.615,1.121,0.93
|
||||
c0.864,0.729,1.692,1.5,2.503,2.289c1.392,1.351,2.681,2.803,3.902,4.309c0.013,0.017,0.024,0.031,0.037,0.048
|
||||
c0.038,0.049,0.08,0.107,0.133,0.178c0.291,0.389,0.57,0.786,0.848,1.184c0.652,0.931,1.258,1.891,1.844,2.865
|
||||
c1.004,1.669,1.881,3.411,2.677,5.187c0.028,0.074,0.065,0.169,0.115,0.295c0.184,0.457,0.353,0.923,0.521,1.387
|
||||
c0.396,1.088,0.736,2.196,1.054,3.311c0.501,1.762,0.871,3.559,1.165,5.367c0.037,0.266,0.098,0.69,0.112,0.827
|
||||
c0.057,0.51,0.097,1.022,0.137,1.533c0.096,1.206,0.127,2.417,0.134,3.626c0.01,1.833-0.113,3.664-0.313,5.482
|
||||
c-0.03,0.206-0.112,0.809-0.142,0.975c-0.081,0.5-0.178,0.994-0.275,1.489c-0.226,1.146-0.51,2.282-0.817,3.409
|
||||
c-0.263,0.958-0.569,1.904-0.889,2.844c-0.159,0.468-0.333,0.932-0.507,1.394c-0.049,0.13-0.217,0.546-0.313,0.782
|
||||
c-0.778,1.772-1.678,3.491-2.658,5.16c-0.494,0.838-1.023,1.655-1.567,2.463c-0.271,0.404-0.554,0.799-0.837,1.193
|
||||
c-0.072,0.1-0.297,0.397-0.451,0.601c-1.212,1.521-2.527,2.958-3.908,4.325c-0.688,0.683-1.407,1.334-2.136,1.973
|
||||
c-0.364,0.32-0.738,0.631-1.111,0.939c-0.084,0.069-0.323,0.257-0.519,0.408c-1.588,1.186-3.258,2.262-4.976,3.248
|
||||
c-0.849,0.488-1.717,0.936-2.593,1.371c-0.439,0.218-0.886,0.422-1.331,0.627c-0.088,0.039-0.311,0.136-0.518,0.223
|
||||
c-1.908,0.77-3.871,1.393-5.858,1.913c-0.971,0.255-1.954,0.464-2.938,0.657c-0.496,0.098-0.996,0.179-1.494,0.262
|
||||
c-0.085,0.014-0.154,0.025-0.217,0.036c-0.024,0.003-0.046,0.006-0.074,0.009c-1.882,0.229-3.785,0.327-5.682,0.327
|
||||
c-0.825,0-1.649,0-2.474,0c-4.66,0-9.321,0-13.982,0c-10.243,0-20.485,0-30.729,0c-1.335,0-2.665-0.004-4-0.067
|
||||
c-1.026-0.048-2.049-0.145-3.07-0.259c-0.002,0-0.007,0-0.011-0.001c-0.073-0.012-0.164-0.026-0.279-0.043
|
||||
c-0.499-0.078-0.995-0.17-1.493-0.262c-2.128-0.396-4.222-0.967-6.278-1.646c-0.777-0.255-1.543-0.544-2.306-0.843
|
||||
c-0.239-0.099-0.612-0.25-0.73-0.305c-0.447-0.2-0.89-0.414-1.331-0.628c-1.903-0.921-3.729-1.996-5.496-3.158
|
||||
c-0.644-0.421-1.27-0.872-1.89-1.327c-0.186-0.144-0.585-0.449-0.7-0.543c-0.377-0.306-0.745-0.622-1.111-0.938
|
||||
c-1.592-1.372-3.073-2.867-4.474-4.431c-0.499-0.557-0.975-1.132-1.444-1.713c-0.115-0.149-0.48-0.624-0.576-0.757
|
||||
c-0.287-0.392-0.563-0.792-0.837-1.193c-1.197-1.743-2.253-3.579-3.211-5.461c-0.336-0.662-0.646-1.336-0.949-2.013
|
||||
c-0.043-0.117-0.313-0.764-0.378-0.932c-0.18-0.46-0.344-0.927-0.507-1.394c-0.72-2.039-1.269-4.137-1.706-6.253
|
||||
c-0.104-0.495-0.189-0.992-0.277-1.489c-0.022-0.132-0.083-0.541-0.123-0.807c-0.1-0.844-0.175-1.689-0.232-2.537
|
||||
c-0.176-2.553-0.108-5.115,0.112-7.663c0.005-0.061,0.137-1.152,0.142-1.266c0.075-0.481,0.157-0.96,0.245-1.439
|
||||
c0.223-1.243,0.521-2.471,0.84-3.691c0.317-1.209,0.705-2.397,1.116-3.577c0.203-0.585,0.43-1.165,0.655-1.742
|
||||
c0.289-0.712,0.312-0.767,0.067-0.16c0.166-0.377,0.339-0.75,0.516-1.121c0.607-1.301,1.375-2.513,2.012-3.793
|
||||
c0.001-0.003,0.004-0.005,0.005-0.007c0.004-0.009,0.007-0.016,0.011-0.023c0.006-0.008,0.008-0.017,0.012-0.025
|
||||
c7.056-14.917,14.112-29.832,21.167-44.747c6.906-14.598,13.811-29.195,20.715-43.792c1.514-3.198,0.919-6.979-2.329-8.881
|
||||
c-2.85-1.669-7.366-0.869-8.879,2.329c-7.063,14.932-14.128,29.864-21.19,44.795c-6.905,14.599-13.811,29.195-20.715,43.793
|
||||
c0,0-0.001,0.002-0.002,0.002c-2.385,4.812-4.683,9.468-5.988,14.718c-1.314,5.285-1.807,10.859-1.491,16.292
|
||||
c0.527,9.112,3.31,18.029,8.094,25.806c9.602,15.606,26.603,25.268,44.814,26.13c8.455,0.401,16.997,0.043,25.458,0.043
|
||||
c8.406,0,16.813,0,25.221-0.001c18.295,0,35.133-9.267,45.565-24.14C159.541,148.498,161.616,128.354,154.818,111.814z"/>
|
||||
<g>
|
||||
<g>
|
||||
<path fill="#0E8BE0" d="M214.388,141.342c0,2.282,0.811,4.231,2.43,5.851c1.617,1.618,3.567,2.428,5.849,2.428h16.059
|
||||
c1.397,0,2.593,0.496,3.586,1.491c0.993,0.992,1.491,2.188,1.491,3.585v0.11c0,1.399-0.498,2.576-1.491,3.532
|
||||
c-0.993,0.993-2.188,1.489-3.586,1.489h-16.059c-5.114,0-9.473-1.801-13.078-5.408c-3.605-3.604-5.408-7.964-5.408-13.078V81.965
|
||||
c0-1.398,0.496-2.594,1.489-3.587c0.994-0.957,2.172-1.435,3.532-1.435h0.165c1.361,0,2.539,0.478,3.532,1.435
|
||||
c0.993,0.993,1.489,2.188,1.489,3.587V141.342z"/>
|
||||
<path fill="#0E8BE0" d="M301.303,108.398c5.887,5.886,8.83,12.986,8.83,21.3v25.108c0,1.399-0.497,2.576-1.49,3.532
|
||||
c-0.993,0.993-2.172,1.489-3.531,1.489h-0.167c-1.36,0-2.537-0.496-3.53-1.489c-0.993-0.956-1.489-2.133-1.489-3.532v-2.537
|
||||
c-5.704,5.039-12.344,7.559-19.922,7.559c-8.315,0-15.416-2.941-21.302-8.829c-5.887-5.885-8.829-12.985-8.829-21.301
|
||||
c0-8.313,2.942-15.414,8.829-21.3c5.886-5.887,12.986-8.83,21.302-8.83C288.316,99.568,295.417,102.512,301.303,108.398z
|
||||
M265.875,115.626c-3.863,3.9-5.794,8.591-5.794,14.072c0,5.518,1.931,10.229,5.794,14.128c3.898,3.862,8.609,5.794,14.128,5.794
|
||||
c5.518,0,10.209-1.932,14.072-5.794c3.897-3.899,5.85-8.61,5.85-14.128c0-5.481-1.952-10.172-5.85-14.072
|
||||
c-3.863-3.898-8.555-5.849-14.072-5.849C274.484,109.777,269.773,111.728,265.875,115.626z"/>
|
||||
<path fill="#0E8BE0" d="M326.356,76.943c1.361,0,2.539,0.478,3.532,1.435c0.993,0.993,1.49,2.188,1.49,3.587v25.164
|
||||
c5.665-5.041,12.306-7.561,19.921-7.561c8.314,0,15.415,2.943,21.302,8.83c5.886,5.886,8.829,12.986,8.829,21.3
|
||||
c0,8.315-2.943,15.416-8.829,21.301c-5.887,5.888-12.987,8.829-21.302,8.829c-8.313,0-15.396-2.924-21.245-8.773
|
||||
c-5.887-5.849-8.848-12.912-8.885-21.19V81.965c0-1.398,0.496-2.594,1.489-3.587c0.994-0.957,2.17-1.435,3.532-1.435H326.356z
|
||||
M351.3,109.888c-5.518,0-10.228,1.95-14.126,5.85c-3.864,3.899-5.795,8.608-5.795,14.127c0,5.482,1.931,10.173,5.795,14.071
|
||||
c3.898,3.9,8.608,5.85,14.126,5.85c5.519,0,10.209-1.949,14.072-5.85c3.898-3.898,5.85-8.589,5.85-14.071
|
||||
c0-5.519-1.951-10.228-5.85-14.127C361.509,111.838,356.818,109.888,351.3,109.888z"/>
|
||||
<path fill="#0E8BE0" d="M446.656,117.172c0.589,1.252,0.644,2.539,0.167,3.863c-0.479,1.288-1.362,2.226-2.649,2.814
|
||||
c-5.152,2.318-11.92,5.371-20.308,9.16c-10.412,4.709-17.163,7.763-20.252,9.16c3.973,5.077,9.196,7.615,15.673,7.615
|
||||
c4.304,0,8.202-1.27,11.698-3.808c3.384-2.465,5.757-5.665,7.118-9.602c0.809-2.28,2.428-3.422,4.856-3.422
|
||||
c1.729,0,3.107,0.718,4.139,2.152c0.993,1.398,1.195,2.924,0.607,4.58c-2.062,5.96-5.666,10.779-10.816,14.458
|
||||
c-5.261,3.79-11.129,5.684-17.603,5.684c-8.316,0-15.416-2.941-21.302-8.829c-5.888-5.885-8.829-12.985-8.829-21.301
|
||||
c0-8.313,2.941-15.414,8.829-21.3c5.886-5.887,12.985-8.83,21.302-8.83c5.995,0,11.478,1.638,16.444,4.911
|
||||
C440.624,107.68,444.265,111.912,446.656,117.172z M419.287,109.888c-5.519,0-10.229,1.95-14.128,5.85
|
||||
c-3.862,3.899-5.794,8.608-5.794,14.127c0,0.993,0.073,1.969,0.22,2.925l34.932-15.783
|
||||
C430.544,112.26,425.467,109.888,419.287,109.888z"/>
|
||||
<path fill="#0E8BE0" d="M465.365,76.943c1.36,0,2.538,0.478,3.53,1.435c0.994,0.993,1.49,2.188,1.49,3.587v72.842
|
||||
c0,1.399-0.496,2.576-1.49,3.532c-0.992,0.993-2.17,1.489-3.53,1.489h-0.166c-1.361,0-2.539-0.496-3.531-1.489
|
||||
c-0.993-0.956-1.49-2.133-1.49-3.532V81.965c0-1.398,0.497-2.594,1.49-3.587c0.992-0.957,2.17-1.435,3.531-1.435H465.365z"/>
|
||||
<path fill="#6699FF" d="M505.705,86.985c-3.606,0-6.678,1.271-9.216,3.808c-2.539,2.54-3.808,5.611-3.808,9.216
|
||||
c0,4.379,1.986,7.709,5.959,9.989c1.619,0.92,6.182,2.465,13.687,4.636c6.032,1.802,10.41,3.938,13.134,6.401
|
||||
c3.974,3.605,5.96,8.737,5.96,15.396c0,6.475-2.301,11.993-6.898,16.554c-4.562,4.563-10.063,6.843-16.5,6.843h-21.025
|
||||
c-1.36,0-2.538-0.496-3.531-1.489c-0.993-0.992-1.489-2.17-1.489-3.532v-0.33c0-1.361,0.496-2.54,1.489-3.532
|
||||
c0.993-0.993,2.171-1.489,3.531-1.489h21.578c3.566,0,6.64-1.271,9.215-3.809c2.539-2.539,3.809-5.609,3.809-9.215
|
||||
c0-4.305-1.987-7.651-5.961-10.045c-1.729-1.029-6.291-2.703-13.685-5.021c-6.071-1.986-10.449-4.193-13.135-6.622
|
||||
c-3.973-3.566-5.96-8.479-5.96-14.734c0-6.474,2.281-11.992,6.843-16.554c4.563-4.563,10.079-6.843,16.556-6.843h14.844
|
||||
c1.397,0,2.594,0.496,3.587,1.489c0.957,0.957,1.436,2.135,1.436,3.531v0.332c0,1.361-0.479,2.538-1.436,3.531
|
||||
c-0.993,0.993-2.189,1.489-3.587,1.489H505.705z"/>
|
||||
<path fill="#6699FF" d="M551.01,134.941c0,4.048,1.435,7.505,4.304,10.374s6.329,4.305,10.376,4.305
|
||||
c4.046,0,7.504-1.436,10.374-4.305c2.869-2.869,4.305-6.326,4.305-10.374v-30.297c0-1.397,0.496-2.593,1.489-3.586
|
||||
c0.994-0.994,2.188-1.49,3.587-1.49h0.11c1.398,0,2.576,0.496,3.532,1.49c0.993,0.993,1.49,2.188,1.49,3.586v30.297
|
||||
c0,4.048,1.434,7.505,4.305,10.374c2.869,2.869,6.327,4.305,10.374,4.305c4.084,0,7.561-1.436,10.43-4.305
|
||||
c2.87-2.869,4.305-6.326,4.305-10.374v-30.297c0-1.397,0.496-2.593,1.489-3.586c0.957-0.994,2.133-1.49,3.531-1.49h0.111
|
||||
c1.397,0,2.593,0.496,3.586,1.49c0.958,0.993,1.437,2.188,1.437,3.586v30.297c0,6.879-2.43,12.747-7.285,17.604
|
||||
c-4.856,4.856-10.725,7.283-17.604,7.283c-8.204,0-14.789-3.255-19.756-9.767c-5.003,6.512-11.607,9.767-19.811,9.767
|
||||
c-6.881,0-12.749-2.427-17.604-7.283c-4.856-4.856-7.284-10.725-7.284-17.604v-30.297c0-1.397,0.497-2.593,1.49-3.586
|
||||
c0.994-0.994,2.169-1.49,3.532-1.49h0.164c1.361,0,2.54,0.496,3.533,1.49c0.993,0.993,1.489,2.188,1.489,3.586V134.941z"/>
|
||||
<path fill="#6699FF" d="M648.354,89.084c-1.692,0-3.128-0.589-4.305-1.767c-1.177-1.177-1.765-2.611-1.765-4.305
|
||||
c0-1.655,0.588-3.071,1.765-4.249c1.177-1.177,2.612-1.766,4.305-1.766c1.655,0,3.072,0.589,4.249,1.766
|
||||
c1.216,1.178,1.822,2.594,1.822,4.249c0,1.693-0.606,3.128-1.822,4.305C651.427,88.495,650.01,89.084,648.354,89.084z
|
||||
M648.41,99.568c1.397,0,2.574,0.496,3.531,1.49c0.994,0.993,1.491,2.188,1.491,3.586v50.162c0,1.399-0.497,2.576-1.491,3.532
|
||||
c-0.957,0.993-2.134,1.489-3.531,1.489h-0.109c-1.399,0-2.595-0.496-3.588-1.489c-0.994-0.956-1.49-2.133-1.49-3.532v-50.162
|
||||
c0-1.397,0.496-2.593,1.49-3.586c0.993-0.994,2.188-1.49,3.588-1.49H648.41z"/>
|
||||
<path fill="#6699FF" d="M671.753,76.943c1.36,0,2.539,0.478,3.532,1.435c0.993,0.993,1.49,2.188,1.49,3.587v17.604h9.932
|
||||
c1.362,0,2.54,0.496,3.533,1.49c0.993,0.993,1.489,2.188,1.489,3.586v0.111c0,1.398-0.496,2.575-1.489,3.531
|
||||
c-0.993,0.993-2.171,1.49-3.533,1.49h-9.932v34.379c0,1.509,0.533,2.796,1.6,3.863c1.067,1.066,2.373,1.601,3.919,1.601h4.413
|
||||
c1.362,0,2.54,0.496,3.533,1.491c0.993,0.992,1.489,2.188,1.489,3.585v0.11c0,1.399-0.496,2.576-1.489,3.532
|
||||
c-0.993,0.993-2.171,1.489-3.533,1.489h-4.413c-4.342,0-8.059-1.525-11.147-4.58c-3.054-3.09-4.58-6.787-4.58-11.092V81.965
|
||||
c0-1.398,0.496-2.594,1.489-3.587c0.993-0.957,2.17-1.435,3.532-1.435H671.753z"/>
|
||||
<path fill="#6699FF" d="M737.036,101.004c2.353,0.734,3.53,2.336,3.53,4.801v0.274c0,1.693-0.68,3.036-2.041,4.029
|
||||
c-1.398,1.03-2.906,1.287-4.525,0.773c-1.949-0.664-3.973-0.994-6.069-0.994c-5.52,0-10.228,1.95-14.127,5.85
|
||||
c-3.864,3.899-5.796,8.608-5.796,14.127c0,5.482,1.932,10.173,5.796,14.071c3.899,3.9,8.607,5.85,14.127,5.85
|
||||
c2.097,0,4.12-0.312,6.069-0.938c1.619-0.516,3.127-0.276,4.525,0.717c1.361,0.994,2.041,2.355,2.041,4.084
|
||||
c0,2.428-1.178,4.029-3.53,4.801c-2.944,0.92-5.979,1.379-9.105,1.379c-8.316,0-15.417-2.941-21.302-8.829
|
||||
c-5.887-5.885-8.829-12.985-8.829-21.301c0-8.313,2.942-15.414,8.829-21.3c5.885-5.887,12.985-8.83,21.302-8.83
|
||||
C731.057,99.568,734.092,100.047,737.036,101.004z"/>
|
||||
<path fill="#6699FF" d="M755.136,76.943c1.359,0,2.538,0.478,3.531,1.435c0.993,0.993,1.489,2.188,1.489,3.587v22.515
|
||||
c4.378-3.273,9.326-4.911,14.845-4.911c6.88,0,12.767,2.446,17.658,7.339c4.894,4.893,7.341,10.798,7.341,17.714v30.186
|
||||
c0,1.399-0.497,2.576-1.489,3.532c-0.958,0.993-2.135,1.489-3.533,1.489h-0.109c-1.398,0-2.593-0.496-3.587-1.489
|
||||
c-0.993-0.956-1.491-2.133-1.491-3.532v-30.186c0-4.082-1.434-7.577-4.304-10.484c-2.906-2.905-6.401-4.359-10.485-4.359
|
||||
c-4.12,0-7.634,1.454-10.54,4.359c-2.869,2.907-4.305,6.402-4.305,10.484v30.186c0,1.399-0.496,2.576-1.489,3.532
|
||||
c-0.993,0.993-2.172,1.489-3.531,1.489h-0.166c-1.361,0-2.538-0.496-3.531-1.489c-0.993-0.956-1.489-2.133-1.489-3.532V81.965
|
||||
c0-1.398,0.496-2.594,1.489-3.587c0.993-0.957,2.17-1.435,3.531-1.435H755.136z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,150 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="400px" height="400px" viewBox="0 0 400 400" enable-background="new 0 0 400 400" xml:space="preserve">
|
||||
<g>
|
||||
<g>
|
||||
<path fill="#6699FF" d="M236.506,165.803h-73.01c-27.438,0-49.684,22.247-49.684,49.683c0,27.442,22.246,49.683,49.684,49.683
|
||||
h73.01c27.442,0,49.69-22.24,49.69-49.683C286.196,188.05,263.948,165.803,236.506,165.803z M234.179,250.247
|
||||
c-19.2,0-34.757-15.563-34.757-34.76c0-19.199,15.557-34.756,34.757-34.756c19.197,0,34.76,15.557,34.76,34.756
|
||||
C268.938,234.685,253.376,250.247,234.179,250.247z"/>
|
||||
<path fill="#0E8BE0" d="M335.803,178.733c-12.376-30.115-38.629-53.1-70.648-60.089c-8.356-1.82-16.646-1.983-25.117-2.45
|
||||
c-0.88-0.048-1.754-0.137-2.626-0.227c-0.146-0.026-0.345-0.062-0.614-0.104c-1.773-0.295-3.522-0.714-5.259-1.173
|
||||
c-1.717-0.453-3.401-1.025-5.066-1.634c-0.189-0.069-0.684-0.275-1.091-0.446c-0.854-0.391-1.7-0.808-2.538-1.236
|
||||
c-1.556-0.793-3.055-1.692-4.531-2.623c-0.735-0.462-1.45-0.961-2.163-1.456c-0.169-0.116-0.609-0.449-0.96-0.716
|
||||
c-2.736-2.22-5.234-4.72-7.533-7.385c-0.165-0.195-0.676-0.837-0.952-1.182c-0.305-0.427-0.608-0.854-0.906-1.286
|
||||
c-0.995-1.431-1.894-2.926-2.755-4.44c-0.654-1.152-1.25-2.336-1.813-3.532c-0.1-0.237-0.58-1.329-0.698-1.636
|
||||
c-0.423-1.104-0.786-2.229-1.14-3.357c-0.537-1.706-0.951-3.449-1.329-5.197c-0.094-0.441-0.178-0.89-0.261-1.337
|
||||
c-0.028-0.226-0.229-1.493-0.266-1.84c-0.402-3.955-0.315-7.944,0.083-11.895c0.027-0.146,0.062-0.338,0.108-0.604
|
||||
c0.145-0.891,0.335-1.771,0.524-2.652c0.375-1.748,0.871-3.463,1.405-5.166c0.267-0.846,0.57-1.678,0.874-2.509
|
||||
c0.073-0.203,0.305-0.755,0.482-1.178c0.743-1.621,1.579-3.2,2.463-4.748c0.86-1.515,1.824-2.971,2.815-4.397
|
||||
c0.132-0.193,0.558-0.751,0.834-1.115c0.36-0.436,0.729-0.869,1.098-1.295c1.131-1.314,2.35-2.55,3.594-3.758
|
||||
c0.621-0.605,1.272-1.182,1.921-1.758c0.262-0.231,1.428-1.164,1.828-1.498c2.543-1.859,5.255-3.479,8.058-4.91
|
||||
c0.386-0.194,0.773-0.386,1.164-0.567c-0.008,0.013,1.335-0.581,1.684-0.714c1.936-0.741,3.926-1.333,5.932-1.865
|
||||
c1.356-0.356,2.733-0.641,4.113-0.888c0.413-0.06,1.388-0.211,1.686-0.242c0.917-0.094,1.839-0.143,2.757-0.195
|
||||
c1.857-0.104,3.722-0.074,5.581,0c0.92,0.036,1.839,0.116,2.757,0.195c0.253,0.022,0.501,0.058,0.75,0.084
|
||||
c0.149,0.022,0.362,0.06,0.656,0.105c3.526,0.584,6.972,1.578,10.326,2.806c0.197,0.071,0.738,0.297,1.155,0.473
|
||||
c0.568,0.263,1.133,0.534,1.692,0.809c1.829,0.9,3.588,1.937,5.31,3.021c0.737,0.466,1.451,0.962,2.164,1.457
|
||||
c0.167,0.116,0.602,0.447,0.953,0.712c1.165,0.948,2.284,1.945,3.377,2.976c1.263,1.188,2.444,2.46,3.596,3.758
|
||||
c0.332,0.373,0.648,0.758,0.965,1.143c-0.353-0.398,1.187,1.588,1.461,1.98c1.82,2.621,3.355,5.425,4.715,8.312
|
||||
c0.181,0.426,0.465,1.072,0.549,1.299c0.318,0.826,0.595,1.669,0.877,2.509c0.654,1.98,1.155,4.006,1.593,6.045
|
||||
c0.096,0.446,0.181,0.89,0.261,1.338c0.031,0.23,0.229,1.493,0.265,1.838c0.19,1.843,0.247,3.697,0.263,5.549
|
||||
c0.049,6.369,5.274,11.685,11.684,11.685c6.332,0,11.734-5.315,11.684-11.685c-0.137-17.344-6.514-33.451-17.789-46.537
|
||||
c-11.115-12.896-27.12-20.482-43.784-22.721c-33.956-4.563-66.508,18.238-75.653,50.835c-4.725,16.831-2.374,34.797,5.273,50.344
|
||||
c7.416,15.086,20.848,26.437,36.165,32.847c7.63,3.193,15.828,4.72,24.084,5.044c3.729,0.148,7.43,0.145,11.151,0.518
|
||||
c0.223,0.021,0.859,0.106,1.335,0.17c0.633,0.1,1.265,0.206,1.897,0.318c2.078,0.364,4.138,0.833,6.185,1.349
|
||||
c3.466,0.87,6.86,2.007,10.192,3.296c0.182,0.07,0.328,0.128,0.446,0.175c0.012,0.004,0.021,0.008,0.033,0.012
|
||||
c0.81,0.353,1.607,0.729,2.407,1.107c1.856,0.876,3.672,1.847,5.462,2.851c3.058,1.717,5.982,3.659,8.81,5.728
|
||||
c0.092,0.068,0.169,0.127,0.242,0.179c0.05,0.039,0.104,0.081,0.16,0.127c0.685,0.544,1.35,1.104,2.021,1.67
|
||||
c1.553,1.313,3.045,2.702,4.505,4.123c2.504,2.431,4.826,5.047,7.025,7.757c0.022,0.031,0.042,0.055,0.065,0.087
|
||||
c0.069,0.087,0.145,0.193,0.239,0.318c0.523,0.701,1.026,1.415,1.526,2.132c1.175,1.675,2.265,3.404,3.319,5.156
|
||||
c1.808,3.004,3.387,6.141,4.817,9.337c0.052,0.134,0.118,0.304,0.209,0.531c0.33,0.824,0.633,1.661,0.937,2.495
|
||||
c0.713,1.961,1.325,3.957,1.897,5.962c0.901,3.173,1.566,6.408,2.097,9.663c0.066,0.479,0.176,1.241,0.203,1.487
|
||||
c0.102,0.918,0.174,1.84,0.246,2.762c0.171,2.167,0.227,4.349,0.241,6.528c0.017,3.297-0.205,6.593-0.564,9.87
|
||||
c-0.056,0.368-0.205,1.452-0.255,1.753c-0.146,0.896-0.32,1.788-0.496,2.68c-0.408,2.065-0.919,4.108-1.472,6.137
|
||||
c-0.473,1.726-1.024,3.428-1.602,5.122c-0.286,0.841-0.6,1.674-0.911,2.508c-0.088,0.232-0.392,0.981-0.563,1.41
|
||||
c-1.401,3.188-3.021,6.284-4.785,9.285c-0.89,1.509-1.844,2.98-2.822,4.437c-0.489,0.724-0.997,1.438-1.507,2.146
|
||||
c-0.13,0.181-0.534,0.717-0.812,1.084c-2.181,2.738-4.55,5.321-7.035,7.783c-1.24,1.229-2.534,2.4-3.846,3.554
|
||||
c-0.656,0.576-1.33,1.134-2,1.687c-0.152,0.129-0.584,0.463-0.934,0.738c-2.859,2.135-5.865,4.071-8.958,5.849
|
||||
c-1.526,0.878-3.092,1.683-4.667,2.466c-0.791,0.391-1.595,0.762-2.396,1.129c-0.158,0.072-0.561,0.244-0.933,0.401
|
||||
c-3.436,1.384-6.969,2.506-10.546,3.445c-1.749,0.456-3.519,0.831-5.29,1.181c-0.895,0.178-1.793,0.322-2.69,0.473
|
||||
c-0.153,0.025-0.277,0.046-0.391,0.066c-0.044,0.003-0.083,0.008-0.132,0.015c-3.389,0.408-6.816,0.587-10.229,0.587
|
||||
c-1.487,0-2.97,0-4.455,0c-8.389,0-16.779,0-25.17,0c-18.439,0.003-36.878,0.003-55.319,0.003c-2.402,0-4.797-0.01-7.2-0.123
|
||||
c-1.846-0.087-3.688-0.262-5.526-0.467c-0.004,0-0.012,0-0.02,0c-0.133-0.022-0.295-0.047-0.503-0.079
|
||||
c-0.898-0.139-1.791-0.305-2.688-0.471c-3.83-0.713-7.601-1.74-11.302-2.96c-1.399-0.461-2.777-0.981-4.15-1.519
|
||||
c-0.432-0.179-1.103-0.451-1.316-0.549c-0.805-0.362-1.6-0.745-2.395-1.133c-3.427-1.656-6.714-3.591-9.895-5.684
|
||||
c-1.158-0.759-2.285-1.568-3.402-2.39c-0.333-0.258-1.053-0.808-1.261-0.976c-0.679-0.551-1.341-1.12-2.001-1.69
|
||||
c-2.865-2.468-5.531-5.159-8.053-7.977c-0.898-1-1.754-2.037-2.6-3.083c-0.206-0.269-0.865-1.121-1.038-1.361
|
||||
c-0.517-0.704-1.012-1.426-1.507-2.146c-2.154-3.14-4.054-6.443-5.779-9.834c-0.605-1.189-1.163-2.404-1.71-3.621
|
||||
c-0.077-0.211-0.562-1.375-0.68-1.677c-0.322-0.829-0.618-1.669-0.912-2.508c-1.295-3.673-2.283-7.447-3.073-11.259
|
||||
c-0.186-0.889-0.34-1.786-0.497-2.68c-0.04-0.236-0.149-0.977-0.223-1.455c-0.179-1.516-0.314-3.041-0.416-4.564
|
||||
c-0.317-4.597-0.196-9.209,0.2-13.797c0.01-0.106,0.246-2.074,0.257-2.276c0.134-0.868,0.281-1.729,0.438-2.594
|
||||
c0.402-2.235,0.938-4.444,1.514-6.643c0.571-2.177,1.268-4.317,2.009-6.439c0.366-1.058,0.773-2.1,1.18-3.139
|
||||
c0.521-1.282,0.56-1.378,0.121-0.288c0.299-0.679,0.61-1.351,0.929-2.017c1.094-2.343,2.475-4.526,3.621-6.826
|
||||
c0.002-0.01,0.007-0.011,0.009-0.017c0.008-0.014,0.013-0.025,0.021-0.042c0.008-0.015,0.012-0.03,0.019-0.046
|
||||
c12.703-26.852,25.404-53.705,38.106-80.555c12.433-26.279,24.861-52.557,37.291-78.834c2.726-5.757,1.653-12.561-4.192-15.985
|
||||
c-5.131-3.007-13.262-1.567-15.985,4.189c-12.716,26.882-25.433,53.764-38.146,80.644c-12.433,26.277-24.861,52.557-37.292,78.834
|
||||
c0,0-0.002,0.004-0.004,0.004c-4.293,8.663-8.428,17.043-10.78,26.496c-2.366,9.514-3.251,19.549-2.685,29.33
|
||||
c0.95,16.404,5.959,32.457,14.57,46.454c17.286,28.096,47.893,45.485,80.676,47.041c15.222,0.721,30.6,0.077,45.831,0.076
|
||||
c15.133,0,30.267,0,45.402,0c32.935,0,63.247-16.681,82.028-43.458C344.303,244.772,348.042,208.509,335.803,178.733z"/>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path fill="#0E8BE0" d="M6.854,387.589c0,1.533,0.543,2.841,1.631,3.928c1.085,1.087,2.393,1.63,3.926,1.63h10.779
|
||||
c0.939,0,1.742,0.334,2.409,1c0.667,0.667,1,1.471,1,2.408v0.074c0,0.939-0.333,1.729-1,2.371c-0.667,0.666-1.47,1-2.409,1H12.41
|
||||
c-3.433,0-6.36-1.209-8.78-3.631c-2.422-2.42-3.63-5.346-3.63-8.78v-39.862c0-0.939,0.331-1.74,0.998-2.409
|
||||
c0.668-0.642,1.46-0.963,2.373-0.963H3.48c0.913,0,1.705,0.321,2.373,0.963c0.666,0.669,1,1.47,1,2.409V387.589z"/>
|
||||
<path fill="#0E8BE0" d="M65.202,365.472c3.952,3.951,5.929,8.72,5.929,14.3v16.857c0,0.939-0.333,1.729-1,2.371
|
||||
c-0.668,0.666-1.458,1-2.373,1h-0.111c-0.913,0-1.703-0.334-2.371-1c-0.666-0.642-1-1.432-1-2.371v-1.705
|
||||
C60.447,398.309,55.989,400,50.903,400c-5.583,0-10.351-1.976-14.302-5.927s-5.928-8.719-5.928-14.302
|
||||
c0-5.58,1.977-10.349,5.928-14.3s8.719-5.927,14.302-5.927C56.484,359.545,61.252,361.521,65.202,365.472z M41.417,370.326
|
||||
c-2.594,2.617-3.888,5.767-3.888,9.445c0,3.705,1.294,6.867,3.888,9.485c2.618,2.593,5.781,3.89,9.486,3.89
|
||||
c3.703,0,6.853-1.297,9.446-3.89c2.617-2.618,3.926-5.78,3.926-9.485c0-3.679-1.309-6.828-3.926-9.445
|
||||
c-2.594-2.617-5.743-3.928-9.446-3.928C47.198,366.398,44.035,367.709,41.417,370.326z"/>
|
||||
<path fill="#0E8BE0" d="M82.022,344.354c0.913,0,1.703,0.321,2.371,0.963c0.666,0.669,1,1.47,1,2.409v16.895
|
||||
c3.803-3.385,8.261-5.076,13.374-5.076c5.581,0,10.349,1.976,14.301,5.927c3.951,3.951,5.927,8.72,5.927,14.3
|
||||
c0,5.583-1.976,10.351-5.927,14.302c-3.952,3.951-8.72,5.927-14.301,5.927c-5.58,0-10.336-1.963-14.262-5.889
|
||||
c-3.953-3.93-5.939-8.671-5.966-14.227v-32.158c0-0.939,0.334-1.74,1-2.409c0.667-0.642,1.458-0.963,2.371-0.963H82.022z
|
||||
M98.768,366.472c-3.703,0-6.868,1.31-9.484,3.928c-2.593,2.618-3.89,5.779-3.89,9.485c0,3.68,1.297,6.828,3.89,9.446
|
||||
c2.616,2.618,5.781,3.927,9.484,3.927c3.704,0,6.854-1.309,9.448-3.927c2.616-2.618,3.926-5.767,3.926-9.446
|
||||
c0-3.706-1.31-6.867-3.926-9.485C105.621,367.781,102.472,366.472,98.768,366.472z"/>
|
||||
<path fill="#0E8BE0" d="M162.785,371.362c0.396,0.841,0.433,1.705,0.112,2.593c-0.321,0.865-0.916,1.496-1.78,1.891
|
||||
c-3.459,1.557-8.002,3.606-13.633,6.149c-6.989,3.162-11.521,5.212-13.597,6.15c2.667,3.408,6.174,5.112,10.523,5.112
|
||||
c2.889,0,5.507-0.853,7.854-2.557c2.272-1.654,3.864-3.803,4.777-6.445c0.544-1.532,1.632-2.297,3.262-2.297
|
||||
c1.16,0,2.086,0.48,2.778,1.444c0.667,0.938,0.803,1.964,0.407,3.074c-1.384,4.001-3.803,7.237-7.26,9.706
|
||||
c-3.534,2.545-7.474,3.816-11.818,3.816c-5.583,0-10.351-1.976-14.302-5.927c-3.953-3.951-5.929-8.719-5.929-14.302
|
||||
c0-5.58,1.976-10.349,5.929-14.3c3.951-3.951,8.719-5.927,14.302-5.927c4.024,0,7.704,1.099,11.039,3.296
|
||||
C158.734,364.989,161.18,367.831,162.785,371.362z M144.411,366.472c-3.706,0-6.868,1.31-9.484,3.928
|
||||
c-2.595,2.618-3.891,5.779-3.891,9.485c0,0.665,0.049,1.32,0.146,1.962l23.451-10.596
|
||||
C151.967,368.064,148.558,366.472,144.411,366.472z"/>
|
||||
<path fill="#0E8BE0" d="M175.344,344.354c0.915,0,1.705,0.321,2.371,0.963c0.668,0.669,1.001,1.47,1.001,2.409v48.902
|
||||
c0,0.939-0.333,1.729-1.001,2.371c-0.666,0.666-1.456,1-2.371,1h-0.111c-0.913,0-1.705-0.334-2.369-1
|
||||
c-0.667-0.642-1.002-1.432-1.002-2.371v-48.902c0-0.939,0.335-1.74,1.002-2.409c0.664-0.642,1.456-0.963,2.369-0.963H175.344z"/>
|
||||
<path fill="#6699FF" d="M202.426,351.098c-2.42,0-4.482,0.853-6.186,2.557c-1.705,1.704-2.558,3.766-2.558,6.188
|
||||
c0,2.938,1.334,5.174,4.001,6.705c1.088,0.617,4.15,1.655,9.189,3.111c4.051,1.211,6.989,2.643,8.817,4.297
|
||||
c2.667,2.421,4.001,5.867,4.001,10.337c0,4.348-1.545,8.052-4.631,11.114c-3.063,3.063-6.757,4.594-11.078,4.594h-14.115
|
||||
c-0.913,0-1.704-0.334-2.37-1s-1-1.457-1-2.371v-0.223c0-0.913,0.334-1.705,1-2.371c0.666-0.667,1.457-0.999,2.37-0.999h14.486
|
||||
c2.395,0,4.459-0.854,6.188-2.558c1.703-1.704,2.556-3.766,2.556-6.187c0-2.889-1.335-5.136-4.002-6.743
|
||||
c-1.162-0.689-4.223-1.814-9.188-3.37c-4.074-1.334-7.014-2.816-8.816-4.447c-2.668-2.394-4.001-5.691-4.001-9.89
|
||||
c0-4.348,1.53-8.053,4.593-11.115c3.063-3.062,6.766-4.594,11.115-4.594h9.964c0.938,0,1.742,0.334,2.408,1
|
||||
c0.644,0.643,0.964,1.433,0.964,2.372v0.222c0,0.914-0.32,1.705-0.964,2.37c-0.666,0.668-1.47,1.001-2.408,1.001H202.426z"/>
|
||||
<path fill="#6699FF" d="M232.842,383.293c0,2.715,0.964,5.037,2.89,6.964c1.926,1.926,4.249,2.89,6.966,2.89
|
||||
c2.716,0,5.037-0.964,6.965-2.89c1.926-1.927,2.89-4.249,2.89-6.964v-20.34c0-0.938,0.334-1.742,1.001-2.409
|
||||
c0.666-0.665,1.467-0.999,2.406-0.999h0.074c0.938,0,1.73,0.334,2.372,0.999c0.666,0.667,1,1.471,1,2.409v20.34
|
||||
c0,2.715,0.962,5.037,2.89,6.964c1.926,1.926,4.248,2.89,6.964,2.89c2.742,0,5.078-0.964,7.004-2.89
|
||||
c1.926-1.927,2.889-4.249,2.889-6.964v-20.34c0-0.938,0.334-1.742,1-2.409c0.643-0.665,1.432-0.999,2.372-0.999h0.074
|
||||
c0.937,0,1.739,0.334,2.406,0.999c0.644,0.667,0.963,1.471,0.963,2.409v20.34c0,4.617-1.63,8.557-4.89,11.818
|
||||
c-3.26,3.258-7.199,4.889-11.818,4.889c-5.506,0-9.928-2.186-13.262-6.558c-3.36,4.372-7.793,6.558-13.3,6.558
|
||||
c-4.619,0-8.559-1.631-11.819-4.889c-3.26-3.262-4.89-7.201-4.89-11.818v-20.34c0-0.938,0.334-1.742,1-2.409
|
||||
c0.666-0.665,1.457-0.999,2.372-0.999h0.11c0.913,0,1.705,0.334,2.372,0.999c0.667,0.667,0.999,1.471,0.999,2.409V383.293z"/>
|
||||
<path fill="#6699FF" d="M298.193,352.506c-1.137,0-2.101-0.395-2.888-1.186c-0.792-0.79-1.188-1.753-1.188-2.891
|
||||
c0-1.11,0.396-2.063,1.188-2.852c0.787-0.79,1.751-1.187,2.888-1.187c1.113,0,2.063,0.396,2.853,1.187
|
||||
c0.816,0.789,1.225,1.741,1.225,2.852c0,1.138-0.408,2.101-1.225,2.891C300.256,352.111,299.307,352.506,298.193,352.506z
|
||||
M298.231,359.545c0.939,0,1.729,0.334,2.37,0.999c0.667,0.667,1.002,1.471,1.002,2.409v33.676c0,0.939-0.335,1.729-1.002,2.371
|
||||
c-0.642,0.666-1.431,1-2.37,1h-0.074c-0.938,0-1.742-0.334-2.408-1c-0.666-0.642-1-1.432-1-2.371v-33.676
|
||||
c0-0.938,0.334-1.742,1-2.409c0.666-0.665,1.47-0.999,2.408-0.999H298.231z"/>
|
||||
<path fill="#6699FF" d="M313.901,344.354c0.913,0,1.705,0.321,2.373,0.963c0.666,0.669,1,1.47,1,2.409v11.818h6.668
|
||||
c0.913,0,1.705,0.334,2.371,0.999c0.668,0.667,1.001,1.471,1.001,2.409v0.073c0,0.939-0.333,1.73-1.001,2.373
|
||||
c-0.666,0.665-1.458,0.999-2.371,0.999h-6.668v23.08c0,1.013,0.358,1.877,1.074,2.595c0.716,0.715,1.593,1.073,2.632,1.073h2.962
|
||||
c0.913,0,1.705,0.334,2.371,1c0.668,0.667,1.001,1.471,1.001,2.408v0.074c0,0.939-0.333,1.729-1.001,2.371
|
||||
c-0.666,0.666-1.458,1-2.371,1h-2.962c-2.916,0-5.411-1.025-7.484-3.075c-2.051-2.074-3.075-4.557-3.075-7.446v-41.752
|
||||
c0-0.939,0.332-1.74,0.998-2.409c0.669-0.642,1.457-0.963,2.373-0.963H313.901z"/>
|
||||
<path fill="#6699FF" d="M357.729,360.508c1.58,0.494,2.369,1.568,2.369,3.223v0.187c0,1.135-0.455,2.036-1.368,2.703
|
||||
c-0.939,0.692-1.952,0.865-3.037,0.52c-1.311-0.444-2.67-0.668-4.076-0.668c-3.705,0-6.868,1.31-9.483,3.928
|
||||
c-2.595,2.618-3.891,5.779-3.891,9.485c0,3.68,1.296,6.828,3.891,9.446c2.615,2.618,5.778,3.927,9.483,3.927
|
||||
c1.406,0,2.766-0.209,4.076-0.629c1.085-0.347,2.098-0.186,3.037,0.481c0.913,0.667,1.368,1.58,1.368,2.741
|
||||
c0,1.629-0.789,2.703-2.369,3.223c-1.978,0.617-4.015,0.926-6.112,0.926c-5.582,0-10.351-1.976-14.301-5.927
|
||||
c-3.952-3.951-5.927-8.719-5.927-14.302c0-5.58,1.975-10.349,5.927-14.3c3.95-3.951,8.719-5.927,14.301-5.927
|
||||
C353.715,359.545,355.752,359.866,357.729,360.508z"/>
|
||||
<path fill="#6699FF" d="M369.881,344.354c0.913,0,1.705,0.321,2.372,0.963c0.666,0.669,0.999,1.47,0.999,2.409v15.114
|
||||
c2.938-2.197,6.262-3.296,9.966-3.296c4.619,0,8.57,1.643,11.855,4.927c3.284,3.286,4.927,7.249,4.927,11.892v20.266
|
||||
c0,0.939-0.334,1.729-1,2.371c-0.643,0.666-1.434,1-2.371,1h-0.073c-0.939,0-1.741-0.334-2.409-1c-0.666-0.642-1-1.432-1-2.371
|
||||
v-20.266c0-2.74-0.964-5.087-2.89-7.039c-1.952-1.951-4.299-2.926-7.039-2.926c-2.766,0-5.125,0.975-7.076,2.926
|
||||
c-1.926,1.952-2.89,4.299-2.89,7.039v20.266c0,0.939-0.333,1.729-0.999,2.371c-0.667,0.666-1.459,1-2.372,1h-0.111
|
||||
c-0.915,0-1.705-0.334-2.371-1c-0.667-0.642-1-1.432-1-2.371v-48.902c0-0.939,0.333-1.74,1-2.409
|
||||
c0.666-0.642,1.456-0.963,2.371-0.963H369.881z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 48 KiB |