Map<String, dynamic> toMap() { return <String, dynamic>{ 'name': name, 'scale': scale.toMap(), 'precision': precision.name, 'addToUndo': addToUndo }; }