Revision: 14468
http://sourceforge.net/p/skim-app/code/14468
Author: hofman
Date: 2024-09-22 16:45:21 +0000 (Sun, 22 Sep 2024)
Log Message:
-----------
don't pass transitioninfo object to transition filter method
Modified Paths:
--------------
trunk/SKTransitionController.m
Modified: trunk/SKTransitionController.m
===================================================================
--- trunk/SKTransitionController.m 2024-09-22 16:06:04 UTC (rev 14467)
+++ trunk/SKTransitionController.m 2024-09-22 16:45:21 UTC (rev 14468)
@@ -279,9 +279,8 @@
}
// rect and bounds are in pixels
-- (CIFilter *)transitionFilterForTransition:(SKTransitionInfo *)info
rect:(CGRect)rect bounds:(CGRect)bounds scale:(CGFloat)scale
forward:(BOOL)forward initialImage:(CIImage *)initialImage finalImage:(CIImage
*)finalImage {
- NSString *filterName = [[self class] nameForStyle:[info transitionStyle]];
- CIFilter *transitionFilter = [CIFilter filterWithName:filterName];
+- (CIFilter *)transitionFilterWithName:(NSString *)name rect:(CGRect)rect
extent:(CGRect)extent scale:(CGFloat)scale forward:(BOOL)forward
initialImage:(CIImage *)initialImage finalImage:(CIImage *)finalImage {
+ CIFilter *transitionFilter = [CIFilter filterWithName:name];
[transitionFilter setDefaults];
@@ -289,11 +288,10 @@
id value = nil;
NSString *type = [[[transitionFilter attributes] objectForKey:key]
objectForKey:kCIAttributeType];
if ([key isEqualToString:kCIInputExtentKey]) {
- CGRect extent = [info shouldRestrict] ? rect : bounds;
value = [CIVector vectorWithCGRect:extent];
} else if ([key isEqualToString:kCIInputAngleKey]) {
CGFloat angle = forward ? 0.0 : M_PI;
- if ([filterName hasPrefix:@"CIPageCurl"])
+ if ([name hasPrefix:@"CIPageCurl"])
angle = forward ? -M_PI_4 : -3.0 * M_PI_4;
value = [NSNumber numberWithDouble:angle];
} else if ([key isEqualToString:kCIInputCenterKey]) {
@@ -330,15 +328,15 @@
static CIImage *inputMaskImage = nil;
if (inputMaskImage == nil)
inputMaskImage = [[CIImage alloc]
initWithContentsOfURL:[[NSBundle mainBundle] URLForResource:@"TransitionMask"
withExtension:@"jpg"]];
- CGRect extent = [inputMaskImage extent];
+ CGRect maskExtent = [inputMaskImage extent];
CGAffineTransform transform;
- if ((CGRectGetWidth(extent) < CGRectGetHeight(extent)) !=
(CGRectGetWidth(rect) < CGRectGetHeight(rect))) {
+ if ((CGRectGetWidth(maskExtent) < CGRectGetHeight(maskExtent)) !=
(CGRectGetWidth(rect) < CGRectGetHeight(rect))) {
transform = CGAffineTransformMake(0.0, 1.0, 1.0, 0.0, 0.0,
0.0);
- transform = CGAffineTransformTranslate(transform,
CGRectGetMinY(rect) - CGRectGetMinY(bounds), CGRectGetMinX(rect) -
CGRectGetMinX(bounds));
- transform = CGAffineTransformScale(transform,
CGRectGetHeight(rect) / CGRectGetWidth(extent), CGRectGetWidth(rect) /
CGRectGetHeight(extent));
+ transform = CGAffineTransformTranslate(transform,
CGRectGetMinY(rect), CGRectGetMinX(rect));
+ transform = CGAffineTransformScale(transform,
CGRectGetHeight(rect) / CGRectGetWidth(maskExtent), CGRectGetWidth(rect) /
CGRectGetHeight(maskExtent));
} else {
- transform =
CGAffineTransformMakeTranslation(CGRectGetMinX(rect) - CGRectGetMinX(bounds),
CGRectGetMinY(rect) - CGRectGetMinY(bounds));
- transform = CGAffineTransformScale(transform,
CGRectGetWidth(rect) / CGRectGetWidth(extent), CGRectGetHeight(rect) /
CGRectGetHeight(extent));
+ transform =
CGAffineTransformMakeTranslation(CGRectGetMinX(rect), CGRectGetMinY(rect));
+ transform = CGAffineTransformScale(transform,
CGRectGetWidth(rect) / CGRectGetWidth(maskExtent), CGRectGetHeight(rect) /
CGRectGetHeight(maskExtent));
}
value = [inputMaskImage imageByApplyingTransform:transform];
} else continue;
@@ -444,13 +442,15 @@
CIImage *finalImage = [self currentImageForRect:toRect
scale:&imageScale];
CGRect cgRect =
CGRectIntegral(scaleRect(NSIntersectionRect(NSUnionRect(rect, toRect), bounds),
imageScale));
CGRect cgBounds = scaleRect(bounds, imageScale);
- CIFilter *transitionFilter = [self
transitionFilterForTransition:currentTransition
- rect:cgRect
-
bounds:cgBounds
-
scale:imageScale
-
forward:toIndex >= fromIndex
-
initialImage:initialImage
-
finalImage:finalImage];
+ CGRect extent = [currentTransition shouldRestrict] ? cgRect : cgBounds;
+ NSString *filterName = [[self class] nameForStyle:[currentTransition
transitionStyle]];
+ CIFilter *transitionFilter = [self transitionFilterWithName:filterName
+ rect:cgRect
+ extent:extent
+ scale:imageScale
+ forward:toIndex >=
fromIndex
+
initialImage:initialImage
+
finalImage:finalImage];
[self showTransitionViewForRect:bounds image:initialImage
extent:cgBounds];
// Update the view and its window, so it shows the correct state when
it is shown.
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit