mirror of
https://github.com/zoriya/react-native-svg.git
synced 2026-05-25 12:03:27 +00:00
2a58016ec1
# Summary Fixes #2520 When an element uses `currentColor`, it should look for color in its caller, not in its parent. Example: ```svg <Svg width="100" height="100" viewBox="0 0 100 100" color="red"> <Defs color="blue"> <G color="green"> <Rect id="a" x="0" y="0" width="50" height="50" fill="currentColor"/> </G> </Defs> <G color="pink"> <Use href="#a"/> <!-- #1 --> </G> <Use href="#a" transform="translate(25 25)"/> <!-- #2 --> <G color="green"> <Use href="#a" transform="translate(50 50)"/> <!-- #3 --> </G> </Svg> ``` * `#1` should be **pink** * `#2` should be **red** * `#3` should be **green**  ## Test Plan Example app -> test -> Test2520 ## Compatibility | OS | Implemented | | ------- | :---------: | | iOS | ✅ | | MacOS | ✅ | | Android | ✅ |
44 lines
1.3 KiB
Plaintext
44 lines
1.3 KiB
Plaintext
/**
|
|
* Copyright (c) 2015-present, Horcrux.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under the MIT-style license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
#import "RNSVGRenderableManager.h"
|
|
#import <React/RCTBridge.h>
|
|
#import <React/RCTUIManager.h>
|
|
#import <React/RCTUIManagerUtils.h>
|
|
#import "RNSVGPathMeasure.h"
|
|
|
|
#import "RCTConvert+RNSVG.h"
|
|
#import "RNSVGCGFCRule.h"
|
|
|
|
@implementation RNSVGRenderableManager
|
|
|
|
RCT_EXPORT_MODULE()
|
|
|
|
- (RNSVGRenderable *)node
|
|
{
|
|
return [RNSVGRenderable new];
|
|
}
|
|
|
|
RCT_EXPORT_VIEW_PROPERTY(color, UIColor)
|
|
RCT_EXPORT_VIEW_PROPERTY(fill, RNSVGBrush)
|
|
RCT_EXPORT_VIEW_PROPERTY(fillOpacity, CGFloat)
|
|
RCT_EXPORT_VIEW_PROPERTY(fillRule, RNSVGCGFCRule)
|
|
RCT_EXPORT_VIEW_PROPERTY(stroke, RNSVGBrush)
|
|
RCT_EXPORT_VIEW_PROPERTY(strokeOpacity, CGFloat)
|
|
RCT_EXPORT_VIEW_PROPERTY(strokeWidth, RNSVGLength *)
|
|
RCT_EXPORT_VIEW_PROPERTY(strokeLinecap, CGLineCap)
|
|
RCT_EXPORT_VIEW_PROPERTY(strokeLinejoin, CGLineJoin)
|
|
RCT_EXPORT_VIEW_PROPERTY(strokeDasharray, NSArray<RNSVGLength *>)
|
|
RCT_EXPORT_VIEW_PROPERTY(strokeDashoffset, CGFloat)
|
|
RCT_EXPORT_VIEW_PROPERTY(strokeMiterlimit, CGFloat)
|
|
RCT_EXPORT_VIEW_PROPERTY(vectorEffect, int)
|
|
RCT_EXPORT_VIEW_PROPERTY(propList, NSArray<NSString *>)
|
|
RCT_EXPORT_VIEW_PROPERTY(filter, NSString)
|
|
|
|
@end
|