CBLCameraProperty
Objective-C
@protocol CBLCameraProperty <NSObject>
Swift
protocol CameraProperty : NSObjectProtocol
An object representing the values for a property on the camera.
-
The property’s category.
Declaration
Objective-C
@property (nonatomic, readonly) CBLPropertyCategory category;
Swift
var category: PropertyCategory { get }
-
The property’s identifier.
Declaration
Objective-C
@property (nonatomic, readonly) CBLPropertyIdentifier identifier;
Swift
var identifier: PropertyIdentifier { get }
-
The property’s display name.
Declaration
Objective-C
@property (nonatomic, copy, readonly, nullable) NSString *localizedDisplayName;
Swift
var localizedDisplayName: String? { get }
-
Returns the property’s set type. Observable with key-value observing.
Declaration
Objective-C
@property (nonatomic, readonly) CBLPropertyValueSetType valueSetType;
Swift
var valueSetType: PropertyValueSetType { get }
-
The current value of the property. Observable with key-value observing.
Declaration
Objective-C
@property (nonatomic, readonly, nullable) id<CBLPropertyValue> currentValue;
Swift
var currentValue: (any PropertyValue)? { get }
-
Add an observer to the property.
The observer callback will be called on the main thread when either the
currentValue
orvalidSettableValues
properties change. If possible, these changes will be consolidated into one callback rather than two.The returned observation object is not retained by the receiver, and the observation will be invalidated when the object is deallocated. Make sure you store this token somewhere to keep the observation active.
Declaration
Objective-C
- (id<CBLCameraPropertyObservation> _Nonnull)addObserver: (CBLCameraPropertyObservationCallback _Nonnull)observerCallback;
Swift
func addObserver(_ observerCallback: @escaping CameraPropertyObservationCallback) -> any CameraPropertyObservation
Parameters
observerCallback
The observer block to be triggered, on the main thread, when changes occur.
Return Value
Returns an object to manage the lifecycle of the observation.
-
Remove a previously-registered observer from this property. Equivalent to calling
-invalidate
on the observer object.Declaration
Objective-C
- (void)removeObserver:(id<CBLCameraPropertyObservation> _Nonnull)observer;
Swift
func removeObserver(_ observer: any CameraPropertyObservation)
Parameters
observer
The observer to remove.
-
Returns the value currently in the process of being set, if any. Observable with key-value observing. Only valid if the property’s
valueSetType
isCBLPropertyValueSetTypeEnumeration
.Declaration
Objective-C
@property (nonatomic, readonly, nullable) id<CBLPropertyValue> pendingValue;
Swift
var pendingValue: (any PropertyValue)? { get }
-
The values that are considered valid for this property. Observable with key-value observing. Only valid if the property’s
valueSetType
isCBLPropertyValueSetTypeEnumeration
.Declaration
Objective-C
@property (nonatomic, copy, readonly, nullable) NSArray<id<CBLPropertyValue>> *validSettableValues;
Swift
var validSettableValues: [any PropertyValue]? { get }
-
Attempt to find a valid settable value for the given common value.
Declaration
Objective-C
- (id<CBLPropertyValue> _Nullable)validValueMatchingCommonValue: (CBLPropertyCommonValue)commonValue;
Swift
func validValue(matchingCommonValue commonValue: PropertyCommonValue) -> (any PropertyValue)?
Parameters
commonValue
The common value to find a value for. The intent must match the property identifier.
Return Value
Returns a valid settable value for the given intent, or
nil
if no value matches. -
Attempt to set a new value for the property. The value must be in the
validSettableValues
property. As such, this method is only useable if the property’svalueSetType
containsCBLPropertyValueSetTypeEnumeration
.Declaration
Objective-C
- (void)setValue:(id<CBLPropertyValue> _Nonnull)newValue completionQueue:(dispatch_queue_t _Nonnull)queue completionHandler:(CBLErrorableOperationCallback _Nonnull)completionHandler;
Swift
func setValue(_ newValue: any PropertyValue, completionQueue queue: dispatch_queue_t, completionHandler: Any!)
Parameters
newValue
The value to set.
queue
The queue on which to call the completion handler.
completionHandler
The completion handler to call when the operation succeeds or fails.
-
Attempt to set a new value for the property. The value must be in the
validSettableValues
property. As such, this method is only useable if the property’svalueSetType
containsCBLPropertyValueSetTypeEnumeration
.Declaration
Objective-C
- (void)setValue:(id<CBLPropertyValue> _Nonnull)newValue completionHandler:(CBLErrorableOperationCallback _Nonnull)completionHandler;
Swift
func setValue(_ newValue: any PropertyValue, completionHandler: Any!)
Parameters
newValue
The value to set.
completionHandler
The completion handler to call on the main queue when the operation succeeds or fails.
-
Increment the property’s value by one step. Only useable if the property’s
valueSetType
containsCBLPropertyValueSetTypeStepping
.Note
If you’re constructing a UI in a left-to-right locale (such as English) like this, this method should be called when the user taps on the right arrow:
[<] f/2.8 [>]
, or the down arrow:[↑] f/2.8 [↓]
. In other words, this method is moving the value towards the end of a list of values.Declaration
Objective-C
- (void)incrementValue: (CBLErrorableOperationCallback _Nonnull)completionHandler;
Swift
func incrementValue(completionHandler: Any!)
Parameters
completionHandler
The completion handler to call on the main queue when the operation succeeds or fails.
-
Increment the property’s value by one step. Only useable if the property’s
valueSetType
containsCBLPropertyValueSetTypeStepping
.Note
If you’re constructing a UI in a left-to-right locale (such as English) like this, this method should be called when the user taps on the right arrow:
[<] f/2.8 [>]
, or the down arrow:[↑] f/2.8 [↓]
. In other words, this method is moving the value towards the end of a list of values.Declaration
Objective-C
- (void) incrementValueWithCompletionQueue:(dispatch_queue_t _Nonnull)completionQueue completionHandler:(CBLErrorableOperationCallback _Nonnull) completionHandler;
Swift
func incrementValue(completionQueue: dispatch_queue_t, completionHandler: Any!)
Parameters
completionQueue
The queue on which to call the completion handler.
completionHandler
The completion handler to call when the operation succeeds or fails.
-
Decrement the property’s value by one step. Only useable if the property’s
valueSetType
containsCBLPropertyValueSetTypeStepping
.Note
If you’re constructing a UI in a left-to-right locale (such as English) like this, this method should be called when the user taps on the left arrow:
[<] f/2.8 [>]
, or the up arrow:[↑] f/2.8 [↓]
. In other words, this method is moving the value towards the beginning of a list of values.Declaration
Objective-C
- (void)decrementValue: (CBLErrorableOperationCallback _Nonnull)completionHandler;
Swift
func decrementValue(completionHandler: Any!)
Parameters
completionHandler
The completion handler to call on the main queue when the operation succeeds or fails.
-
Decrement the property’s value by one step. Only useable if the property’s
valueSetType
containsCBLPropertyValueSetTypeStepping
.Note
If you’re constructing a UI in a left-to-right locale (such as English) like this, this method should be called when the user taps on the left arrow:
[<] f/2.8 [>]
, or the up arrow:[↑] f/2.8 [↓]
. In other words, this method is moving the value towards the beginning of a list of values.Declaration
Objective-C
- (void) decrementValueWithCompletionQueue:(dispatch_queue_t _Nonnull)completionQueue completionHandler:(CBLErrorableOperationCallback _Nonnull) completionHandler;
Swift
func decrementValue(completionQueue: dispatch_queue_t, completionHandler: Any!)
Parameters
completionQueue
The queue on which to call the completion handler.
completionHandler
The completion handler to call when the operation succeeds or fails.