Fixes URL parsing and scaling for gradients
This commit is contained in:
BIN
Binary file not shown.
+5
-1
@@ -339,7 +339,7 @@
|
||||
- (void)_setupBasicsFromAnyInitializer
|
||||
{
|
||||
self.clipToViewport = YES;
|
||||
self.renderQuality = IJSVGRenderQualityOptimized;
|
||||
self.renderQuality = IJSVGRenderQualityFullResolution;
|
||||
|
||||
// setup low level backing scale
|
||||
_lastProposedBackingScale = 0.f;
|
||||
@@ -719,6 +719,10 @@
|
||||
scale = 1.f;
|
||||
}
|
||||
|
||||
// make sure we multiple the scale by the scale of the rendered clip
|
||||
// or it will be blurry for gradients and other bitmap drawing
|
||||
scale = (_scale * scale);
|
||||
|
||||
// dont do anything, nothing has changed, no point of iterating over
|
||||
// every layer for no reason!
|
||||
if(scale == _lastProposedBackingScale && renderQuality == _lastProposedRenderQuality) {
|
||||
|
||||
@@ -65,11 +65,11 @@
|
||||
{
|
||||
switch (self.renderQuality) {
|
||||
case IJSVGRenderQualityOptimized: {
|
||||
backingScaleFactor = .35f;
|
||||
backingScaleFactor = (backingScaleFactor * .35f);
|
||||
break;
|
||||
}
|
||||
case IJSVGRenderQualityLow: {
|
||||
backingScaleFactor = .05f;
|
||||
backingScaleFactor = (backingScaleFactor * .05f);
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
|
||||
+16
-4
@@ -235,10 +235,18 @@ CGFloat degrees_to_radians( CGFloat degrees )
|
||||
|
||||
+ (NSString *)defURL:(NSString *)string
|
||||
{
|
||||
// insta check for URL
|
||||
NSCharacterSet * set = NSCharacterSet.whitespaceCharacterSet;
|
||||
string = [string stringByTrimmingCharactersInSet:set];
|
||||
NSString * check = [string substringToIndex:3].lowercaseString;
|
||||
if([check isEqualToString:@"url"] == NO) {
|
||||
return nil;
|
||||
}
|
||||
|
||||
static NSRegularExpression * _reg = nil;
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^{
|
||||
_reg = [[NSRegularExpression alloc] initWithPattern:@"url\\s?\\(\\s?#(.*?)\\)\\;?"
|
||||
_reg = [[NSRegularExpression alloc] initWithPattern:@"url\\(['\"]?([^)]+?)['\"]?\\)"
|
||||
options:0
|
||||
error:nil];
|
||||
});
|
||||
@@ -246,11 +254,15 @@ CGFloat degrees_to_radians( CGFloat degrees )
|
||||
[_reg enumerateMatchesInString:string
|
||||
options:0
|
||||
range:NSMakeRange( 0, string.length )
|
||||
usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop)
|
||||
{
|
||||
if( ( foundID = [string substringWithRange:[result rangeAtIndex:1]] ) != nil )
|
||||
usingBlock:^(NSTextCheckingResult *result,
|
||||
NSMatchingFlags flags, BOOL *stop) {
|
||||
if((foundID = [string substringWithRange:[result rangeAtIndex:1]]) != nil) {
|
||||
*stop = YES;
|
||||
}
|
||||
}];
|
||||
if([foundID hasPrefix:@"#"] == YES) {
|
||||
foundID = [foundID substringFromIndex:1];
|
||||
}
|
||||
return foundID;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user