From 936a10ddb8a6e0e66b73f80607a4113af4db0913 Mon Sep 17 00:00:00 2001 From: Horcrux Date: Thu, 21 Apr 2016 23:06:08 +0800 Subject: [PATCH] remove useless double stops --- Example/examples/Gradients.js | 37 ++++++++++++++++++- README.md | 35 +++++------------- .../com/horcrux/svg/RNSVGPathShadowNode.java | 8 +--- elements/LinearGradient.js | 2 +- elements/RadialGradient.js | 4 +- ios/RNSVGNode.m | 4 +- lib/insertProcessor.js | 26 ++++--------- package.json | 6 +-- 8 files changed, 60 insertions(+), 62 deletions(-) diff --git a/Example/examples/Gradients.js b/Example/examples/Gradients.js index 34913927..edceb235 100644 --- a/Example/examples/Gradients.js +++ b/Example/examples/Gradients.js @@ -9,7 +9,8 @@ import Svg, { Stop, Ellipse, Circle, - Text + Text, + Rect } from 'react-native-art-svg'; class LinearGradientHorizontal extends Component{ @@ -87,6 +88,11 @@ class RadialGradientExample extends Component{ stopColor="#000" stopOpacity="1" /> + + + + + + + + + ; + } +} + const icon = ({key, value})), 'key'); - if (reverse) { - sorted.reverse(); - } sorted.forEach(({value:stop}) => { insertColorIntoArray(stop, targetArray, atIndex + i * 4); @@ -31,25 +28,25 @@ function insertColorsIntoArray(stops, targetArray, atIndex, reverse) { return atIndex + i * 4; } -function insertColorStopsIntoArray(stops, targetArray, atIndex) { +function insertColorStopsIntoArray(stops, targetArray, atIndex, multi = 1) { let lastIndex = insertColorsIntoArray(stops, targetArray, atIndex, false); - insertOffsetsIntoArray(stops, targetArray, lastIndex, 1, false); + insertOffsetsIntoArray(stops, targetArray, lastIndex, multi, false); } -function insertOffsetsIntoArray(stops, targetArray, atIndex, multi, reverse) { +function insertOffsetsIntoArray(stops, targetArray, atIndex, multi) { let offsetNumber; let i = 0; let arr = []; if ('length' in stops) { while (i < stops.length) { offsetNumber = i / (stops.length - 1) * multi; - targetArray[atIndex + i] = reverse ? 1 - offsetNumber : offsetNumber; + targetArray[atIndex + i] = offsetNumber; i++; } } else { _.forEach(stops, (stop, offsetString) => { offsetNumber = (+offsetString) * multi; - arr.push(reverse ? 1 - offsetNumber : offsetNumber); + arr.push(offsetNumber); i++; }); arr.sort(); @@ -58,14 +55,5 @@ function insertOffsetsIntoArray(stops, targetArray, atIndex, multi, reverse) { return atIndex + i; } -function insertDoubleColorStopsIntoArray(stops, targetArray, atIndex) { - let lastIndex = insertColorsIntoArray(stops, targetArray, atIndex, false); - lastIndex = insertColorsIntoArray(stops, targetArray, lastIndex, true); - lastIndex = insertOffsetsIntoArray(stops, targetArray, lastIndex, 0.5, false); - insertOffsetsIntoArray(stops, targetArray, lastIndex, 0.5, true); -} -export { - insertDoubleColorStopsIntoArray, - insertColorStopsIntoArray -} +export default insertColorStopsIntoArray; diff --git a/package.json b/package.json index 5545dd70..e21e5474 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "version": "1.1.1", - "name": "react-native-art-svg", - "description": "react native svg library based on `ART`", + "version": "1.0.0", + "name": "react-native-svg", + "description": "react native svg library", "repository": { "type": "git", "url": "https://github.com/magicismight/react-native-art-svg"