//
//  PaddedView.swift
//  Habitica
//
//  Created by Phillip Thelen on 27/02/2017.
//  Copyright © 2017 HabitRPG Inc. All rights reserved.
//

import UIKit

class PaddedLabel: UILabel {
    
    @objc public var horizontalPadding: CGFloat = 8.0
    @objc public var verticalPadding: CGFloat = 4.0
    
    override var intrinsicContentSize: CGSize {
        let size = super.intrinsicContentSize
        return CGSize(width: size.width+horizontalPadding*2, height: size.height+verticalPadding*2)
    }
    
    override func sizeThatFits(_ size: CGSize) -> CGSize {
        let fittingSize = super.sizeThatFits(size)
        return CGSize(width: fittingSize.width+horizontalPadding*2, height: fittingSize.height+verticalPadding*2)
    }
    
    override func sizeToFit() {
        super.sizeToFit()
        let paddedSize = CGSize(width: frame.size.width+horizontalPadding*2, height: frame.size.height+verticalPadding*2)
        frame = CGRect(x: 0, y: 0, width: paddedSize.width, height: paddedSize.height)
    }
}