pub trait SceneItemTrait:
SceneItemTraitSealed
+ Send
+ Sync {
Show 36 methods
// Required method
fn runtime(&self) -> ObsRuntime;
// Provided methods
fn object_id(&self) -> NativeObjectId { ... }
fn remove_from_scene(&self) -> Result<(), ObsError> { ... }
fn is_removed(&self) -> bool { ... }
fn get_transform_info(&self) -> Result<ObsTransformInfo, ObsError> { ... }
fn get_source_position(&self) -> Result<Vec2, ObsError> { ... }
fn get_source_scale(&self) -> Result<Vec2, ObsError> { ... }
fn set_source_position(&self, position: Vec2) -> Result<(), ObsError> { ... }
fn set_transform_info(
&self,
info: &ObsTransformInfo,
) -> Result<(), ObsError> { ... }
fn fit_source_to_screen(&self) -> Result<bool, ObsError> { ... }
fn is_visible(&self) -> Result<bool, ObsError> { ... }
fn crop(&self) -> Result<ObsSceneItemCrop, ObsError> { ... }
fn set_crop(&self, crop: ObsSceneItemCrop) -> Result<(), ObsError> { ... }
fn set_visible(&self, visible: bool) -> Result<(), ObsError> { ... }
fn is_locked(&self) -> Result<bool, ObsError> { ... }
fn set_locked(&self, locked: bool) -> Result<(), ObsError> { ... }
fn rotation(&self) -> Result<f32, ObsError> { ... }
fn set_rotation(&self, degrees: f32) -> Result<(), ObsError> { ... }
fn order_position(&self) -> Result<i32, ObsError> { ... }
fn set_order_position(&self, position: i32) -> Result<(), ObsError> { ... }
fn move_order(&self, movement: ObsOrderMovement) -> Result<(), ObsError> { ... }
fn scale_filter(&self) -> Result<ObsScaleType, ObsError> { ... }
fn set_scale_filter(&self, filter: ObsScaleType) -> Result<(), ObsError> { ... }
fn blend_method(&self) -> Result<ObsBlendMethod, ObsError> { ... }
fn set_blend_method(&self, method: ObsBlendMethod) -> Result<(), ObsError> { ... }
fn blend_mode(&self) -> Result<ObsBlendMode, ObsError> { ... }
fn set_blend_mode(&self, mode: ObsBlendMode) -> Result<(), ObsError> { ... }
fn transform_snapshot(
&self,
) -> Result<ObsSceneItemTransformSnapshot, ObsError> { ... }
fn apply_transform_snapshot(
&self,
snapshot: &ObsSceneItemTransformSnapshot,
) -> Result<(), ObsError> { ... }
fn state_snapshot(&self) -> Result<ObsSceneItemStateSnapshot, ObsError> { ... }
fn apply_state_snapshot(
&self,
snapshot: &ObsSceneItemStateSnapshot,
) -> Result<(), ObsError> { ... }
fn position(&self) -> Result<Vec2, ObsError> { ... }
fn set_position(&self, position: Vec2) -> Result<(), ObsError> { ... }
fn scale(&self) -> Result<Vec2, ObsError> { ... }
fn set_scale(&self, scale: Vec2) -> Result<(), ObsError> { ... }
fn set_source_scale(&self, scale: Vec2) -> Result<(), ObsError> { ... }
}Required Methods§
fn runtime(&self) -> ObsRuntime
Provided Methods§
fn object_id(&self) -> NativeObjectId
Sourcefn remove_from_scene(&self) -> Result<(), ObsError>
fn remove_from_scene(&self) -> Result<(), ObsError>
Removes this item from its scene immediately while keeping the typed handle valid until its final Rust reference is dropped. Repeated calls are harmless.
Sourcefn is_removed(&self) -> bool
fn is_removed(&self) -> bool
Whether this item has been explicitly removed from its scene.
Sourcefn get_transform_info(&self) -> Result<ObsTransformInfo, ObsError>
fn get_transform_info(&self) -> Result<ObsTransformInfo, ObsError>
Gets the transform info of the given source in this scene.
Sourcefn get_source_position(&self) -> Result<Vec2, ObsError>
fn get_source_position(&self) -> Result<Vec2, ObsError>
Gets the position of the given source in this scene.
Sourcefn get_source_scale(&self) -> Result<Vec2, ObsError>
fn get_source_scale(&self) -> Result<Vec2, ObsError>
Gets the scale of the given source in this scene.
Sourcefn set_source_position(&self, position: Vec2) -> Result<(), ObsError>
fn set_source_position(&self, position: Vec2) -> Result<(), ObsError>
Sets the position of the given source in this scene.
Sourcefn set_transform_info(&self, info: &ObsTransformInfo) -> Result<(), ObsError>
fn set_transform_info(&self, info: &ObsTransformInfo) -> Result<(), ObsError>
Sets the transform info of the given source in this scene.
The ObsTransformInfo can be built by using the ObsTransformInfoBuilder.
Sourcefn fit_source_to_screen(&self) -> Result<bool, ObsError>
fn fit_source_to_screen(&self) -> Result<bool, ObsError>
Fits the given source to the screen size. If the source is locked, no action is taken.
Returns Ok(true) if the source was resized, Ok(false) if the source was locked and not resized.
Sourcefn is_visible(&self) -> Result<bool, ObsError>
fn is_visible(&self) -> Result<bool, ObsError>
Returns whether the item is visible.
Sourcefn crop(&self) -> Result<ObsSceneItemCrop, ObsError>
fn crop(&self) -> Result<ObsSceneItemCrop, ObsError>
Returns the explicit pixel crop applied to this scene item.
Sourcefn set_crop(&self, crop: ObsSceneItemCrop) -> Result<(), ObsError>
fn set_crop(&self, crop: ObsSceneItemCrop) -> Result<(), ObsError>
Replaces the explicit left/top/right/bottom pixel crop for this scene item. Negative edge values are clamped to zero by libobs.
Sourcefn set_locked(&self, locked: bool) -> Result<(), ObsError>
fn set_locked(&self, locked: bool) -> Result<(), ObsError>
Locks or unlocks the item transform.
Sourcefn set_rotation(&self, degrees: f32) -> Result<(), ObsError>
fn set_rotation(&self, degrees: f32) -> Result<(), ObsError>
Sets the clockwise rotation in degrees.
Sourcefn order_position(&self) -> Result<i32, ObsError>
fn order_position(&self) -> Result<i32, ObsError>
Returns the item’s zero-based order position within its scene.
Sourcefn set_order_position(&self, position: i32) -> Result<(), ObsError>
fn set_order_position(&self, position: i32) -> Result<(), ObsError>
Moves the item to an absolute order position within its scene.
Sourcefn move_order(&self, movement: ObsOrderMovement) -> Result<(), ObsError>
fn move_order(&self, movement: ObsOrderMovement) -> Result<(), ObsError>
Moves the item relative to the other items in its scene.
Sourcefn scale_filter(&self) -> Result<ObsScaleType, ObsError>
fn scale_filter(&self) -> Result<ObsScaleType, ObsError>
Returns the scaling filter used when this item is resized.
fn set_scale_filter(&self, filter: ObsScaleType) -> Result<(), ObsError>
fn blend_method(&self) -> Result<ObsBlendMethod, ObsError>
fn set_blend_method(&self, method: ObsBlendMethod) -> Result<(), ObsError>
fn blend_mode(&self) -> Result<ObsBlendMode, ObsError>
fn set_blend_mode(&self, mode: ObsBlendMode) -> Result<(), ObsError>
Sourcefn transform_snapshot(&self) -> Result<ObsSceneItemTransformSnapshot, ObsError>
fn transform_snapshot(&self) -> Result<ObsSceneItemTransformSnapshot, ObsError>
Captures every transform-affecting scene-item property exposed by libobs.
Sourcefn apply_transform_snapshot(
&self,
snapshot: &ObsSceneItemTransformSnapshot,
) -> Result<(), ObsError>
fn apply_transform_snapshot( &self, snapshot: &ObsSceneItemTransformSnapshot, ) -> Result<(), ObsError>
Restores a transform snapshot through the same managed actor seam as individual setters.
fn state_snapshot(&self) -> Result<ObsSceneItemStateSnapshot, ObsError>
fn apply_state_snapshot( &self, snapshot: &ObsSceneItemStateSnapshot, ) -> Result<(), ObsError>
Sourcefn position(&self) -> Result<Vec2, ObsError>
fn position(&self) -> Result<Vec2, ObsError>
Preferred shorthand for SceneItemTrait::get_source_position.
Sourcefn set_position(&self, position: Vec2) -> Result<(), ObsError>
fn set_position(&self, position: Vec2) -> Result<(), ObsError>
Preferred shorthand for SceneItemTrait::set_source_position.
Sourcefn scale(&self) -> Result<Vec2, ObsError>
fn scale(&self) -> Result<Vec2, ObsError>
Preferred shorthand for SceneItemTrait::get_source_scale.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".