CALayer+CNLiveExtensions.swift 3.8 KB
//
//  CALayer+CNLiveExtensions.swift
//  metaCode
//
//  Created by daojian on 2023/7/4.
//

import Foundation

extension CALayer{
    
    public var left:CGFloat{
        
        set{
            
            var frame = self.frame
            
            frame.origin.x = newValue
            
            self.frame = frame
            
        }
        
        get{
            
            return self.frame.origin.x
            
        }
        
    }
    
    public var top:CGFloat{
        
        set{
            
            var frame = self.frame
            
            frame.origin.y = newValue
            
            self.frame = frame
            
        }
        
        get{
            
            return self.frame.origin.y
            
        }
        
    }
    
    public var right:CGFloat{
        
        set{
            
            var frame = self.frame
            
            frame.origin.x = newValue - frame.size.width
            
            self.frame = frame
            
        }
        
        get{
            
            return self.frame.origin.x + self.frame.size.width
            
        }
        
    }
    
    public var bottom:CGFloat{
        
        set{
            
            var frame = self.frame
            
            frame.origin.y = newValue - frame.size.height
            
            self.frame = frame
            
        }
        
        get{
            
            return self.frame.origin.y + self.frame.size.height
            
        }
        
    }
    public var center:CGPoint{
        set{
            var frame = self.frame;
            frame.origin.x = newValue.x - frame.size.width * 0.5;
            frame.origin.y = newValue.y - frame.size.height * 0.5;
            self.frame = frame;
        }
        
        get{
            
            return CGPointMake(self.frame.origin.x + self.frame.size.width * 0.5,
                               self.frame.origin.y + self.frame.size.height * 0.5);
        }
    }
    public var centerX:CGFloat{
        
        set{
            
            var  frame = self.frame;
            frame.origin.x = newValue - frame.size.width * 0.5;
            self.frame = frame;
            
        }
        
        get{
            
            return self.frame.origin.x + self.frame.size.width * 0.5;
            
        }
        
    }
    
    public var centerY:CGFloat{
        
        set{
            
            var frame = self.frame;
            frame.origin.y = newValue - frame.size.height * 0.5;
            self.frame = frame;
        }
        
        get{
            
            return self.frame.origin.y + self.frame.size.height * 0.5;

        }
        
    }
    
    public var width:CGFloat{
        
        set{
            
            var frame = self.frame
            
            frame.size.width = newValue
            
            self.frame = frame
            
        }
        
        get{
            
            return self.frame.size.width
            
        }
        
    }
    
   public var height:CGFloat{
        
        set{
            
            var frame = self.frame
            
            frame.size.height = newValue
            
            self.frame = frame
            
        }
        
        get{
            
            return self.frame.size.height
            
        }
        
    }
    

    public var origin:CGPoint{
        set{
            var frame = self.frame
            frame.origin = newValue
            self.frame = frame
        }
        
        get{
            return self.frame.origin
        }
    }
    
    public var size:CGSize {
        set{
            var frame = self.frame;
            frame.size = newValue;
            self.frame = frame;
        }
        
        get{
            return self.frame.size
        }
    }
}