diff --git a/CocoaSplit/CSInputLayer.m b/CocoaSplit/CSInputLayer.m index 24c6ba1a..e4df77d9 100644 --- a/CocoaSplit/CSInputLayer.m +++ b/CocoaSplit/CSInputLayer.m @@ -470,7 +470,9 @@ toLayer.transform = _sourceLayer.transform; //toLayer.delegate = self; toLayer.actions = @{@"position": NSNull.null, @"bounds":NSNull.null, @"contentsRect":NSNull.null}; - + toLayer.minificationFilterBias = _sourceLayer.minificationFilterBias; + toLayer.magnificationFilter = _sourceLayer.magnificationFilter; + toLayer.minificationFilter = _sourceLayer.minificationFilter; } @@ -546,6 +548,9 @@ [self setNeedsLayout]; if (_sourceLayer) { + _sourceLayer.minificationFilterBias = self.minificationFilterBias; + _sourceLayer.magnificationFilter = self.magnificationFilter; + _sourceLayer.minificationFilter = self.minificationFilter; [_sourceLayer layoutIfNeeded]; } @@ -555,7 +560,35 @@ [CATransaction commit]; } +-(void)setMinificationFilter:(CALayerContentsFilter)minificationFilter +{ + if (_sourceLayer) + { + _sourceLayer.minificationFilter = minificationFilter; + } + + super.minificationFilter = minificationFilter; +} +-(void)setMagnificationFilter:(CALayerContentsFilter)magnificationFilter +{ + if (_sourceLayer) + { + _sourceLayer.magnificationFilter = magnificationFilter; + } + + super.magnificationFilter = magnificationFilter; +} + +-(void)setMinificationFilterBias:(float)minificationFilterBias +{ + if (_sourceLayer) + { + _sourceLayer.minificationFilterBias = minificationFilterBias; + } + + super.minificationFilterBias = minificationFilterBias; +} //If the layout isn't forced weird stuff happens, I dunno. diff --git a/CocoaSplit/InputSource.h b/CocoaSplit/InputSource.h index 2c11dd39..7e4e1186 100644 --- a/CocoaSplit/InputSource.h +++ b/CocoaSplit/InputSource.h @@ -60,6 +60,9 @@ typedef enum resize_style_t { @property (assign) bool isMaskLayer; @property (strong) NSString *compositingFilterName; +@property (assign) CALayerContentsFilter upscaleFilter; +@property (assign) CALayerContentsFilter downscaleFilter; +@property (assign) float downscaleFilterBias; @property (assign) bool skipSave; diff --git a/CocoaSplit/InputSource.m b/CocoaSplit/InputSource.m index a6492f26..3eb7c011 100644 --- a/CocoaSplit/InputSource.m +++ b/CocoaSplit/InputSource.m @@ -272,6 +272,9 @@ static NSArray *_sourceTypes = nil; [aCoder encodeBool:self.alwaysDisplay forKey:@"alwaysDisplay"]; [aCoder encodeBool:self.transitionEnabled forKey:@"transitionEnabled"]; + [aCoder encodeObject:self.downscaleFilter forKey:@"downscaleFilter"]; + [aCoder encodeObject:self.upscaleFilter forKey:@"upscaleFilter"]; + [aCoder encodeFloat:self.downscaleFilterBias forKey:@"downscaleFilterBias"]; } @@ -515,6 +518,21 @@ static NSArray *_sourceTypes = nil; [[self.parentInput mutableArrayValueForKey:@"attachedInputs"] addObject:self]; } + CALayerContentsFilter tmpFilter = nil; + tmpFilter = [aDecoder decodeObjectForKey:@"downscaleFilter"]; + if (tmpFilter) + { + self.downscaleFilter = tmpFilter; + } + + tmpFilter = [aDecoder decodeObjectForKey:@"upscaleFilter"]; + if (tmpFilter) + { + self.upscaleFilter = tmpFilter; + } + + self.downscaleFilterBias = [aDecoder decodeFloatForKey:@"downscaleFilterBias"]; + id constraintData = [aDecoder decodeObjectForKey:@"constraintMap"]; NSMutableDictionary *tmpConstraints; @@ -2432,6 +2450,38 @@ static NSArray *_sourceTypes = nil; } +-(void)setUpscaleFilter:(CALayerContentsFilter)upscaleFilter +{ + self.layer.sourceLayer.magnificationFilter = upscaleFilter; +} + +-(CALayerContentsFilter)upscaleFilter +{ + return self.layer.magnificationFilter; +} + +-(void)setDownscaleFilter:(CALayerContentsFilter)downscaleFilter +{ + + self.layer.minificationFilter = downscaleFilter; +} + +-(CALayerContentsFilter)downscaleFilter +{ + return self.layer.minificationFilter; +} + +-(float)downscaleFilterBias +{ + return self.layer.minificationFilterBias; +} + +-(void)setDownscaleFilterBias:(float)downscaleFilterBias +{ + self.layer.minificationFilterBias = downscaleFilterBias; +} + + -(void)setPersistent:(bool)persistent { super.persistent = persistent; diff --git a/CocoaSplit/InputSourceViews/InputPopupControllerViewController.xib b/CocoaSplit/InputSourceViews/InputPopupControllerViewController.xib index 17f309ee..4f70e1a4 100644 --- a/CocoaSplit/InputSourceViews/InputPopupControllerViewController.xib +++ b/CocoaSplit/InputSourceViews/InputPopupControllerViewController.xib @@ -27,11 +27,11 @@ - + - + @@ -47,7 +47,7 @@ - + @@ -65,7 +65,7 @@ - + @@ -73,7 +73,7 @@ - + @@ -95,7 +95,7 @@ - + @@ -113,10 +113,10 @@ - + - + - + @@ -164,7 +164,7 @@ - + @@ -172,7 +172,7 @@ - + @@ -186,7 +186,7 @@