 	private var imgF = CGRectZero
 	/// layout type
 	public var layoutType = LayoutType.Normal {
+		didSet { self.setNeedsLayout() }
+	}
+	/// border line width
+	public var borderWidth = 0.0 {
 		didSet {
-			self.setNeedsLayout()
+			self.setNeedsDisplay()
 		}
+	}
+	/// border line color
+	public var borderColor = UIColor.blackColor() {
+		didSet { self.setNeedsDisplay() }
+	}
+	/// fill color
+	public var fillColor = UIColor.clearColor() {
+		didSet { self.setNeedsDisplay() }
 	}
 
 	// w = 88, h = 30

// MARK: -
extension NBButton {

}

			let newImgF = CGRectMake(imgX, imgY, imgW, imgH)
			self.titleLabel?.frame = newTtlF
			self.imageView?.frame = newImgF
//			print("\noverall frame = \(frame)\ntitle frame = \(ttlF)\nimage frame = \(imgF)\ndefault title margin H = \(hTtlMrgDef)\ndefault title margi V = \(vTtlMrgDef)\ntitle frame = \(newTtlF)")
			break
		// 3.2
		case .TopImageBottomTitle:
