Skip to main content

ObsSceneGroupRef

Struct ObsSceneGroupRef 

Source
pub struct ObsSceneGroupRef { /* private fields */ }
Expand description

A managed libobs group scene-item.

Groups behave like ordinary scene items for transforms/order, while their child items live in libobs’s dedicated group scene. Reparenting uses libobs’s native group operations rather than reconstructing transforms in Rust.

Implementations§

Source§

impl ObsSceneGroupRef

Source

pub fn name(&self) -> &ObsString

Source

pub fn add_item<T: SceneItemTrait + ?Sized>( &self, item: &T, ) -> Result<(), ObsError>

Moves an already-managed scene item into this group. libobs preserves its apparent canvas transform while changing parentage.

Source

pub fn remove_item<T: SceneItemTrait + ?Sized>( &self, item: &T, ) -> Result<(), ObsError>

Removes a child from this group and reparents it to the containing scene.

Source

pub fn items_in_order(&self) -> Result<Vec<Arc<dyn SceneItemTrait>>, ObsError>

Returns group children in libobs’s actual bottom-to-top native order.

Source

pub fn ungroup(&self) -> Result<Vec<ObsUngroupedItem>, ObsError>

Dissolves this group and returns replacement handles for every child.

libobs implements ungrouping by creating new parent-scene items and copying each child into them. Consequently, existing child handles cannot remain the identity of the visible item. This method marks those old handles removed, rebinds the scene registry, and returns a mapping from each previous object ID to its replacement managed handle.

Trait Implementations§

Source§

impl Clone for ObsSceneGroupRef

Source§

fn clone(&self) -> ObsSceneGroupRef

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ObsSceneGroupRef

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl SceneItemTrait for ObsSceneGroupRef

Source§

fn runtime(&self) -> ObsRuntime

Source§

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.
Source§

fn object_id(&self) -> NativeObjectId

Source§

fn is_removed(&self) -> bool

Whether this item has been explicitly removed from its scene.
Source§

fn get_transform_info(&self) -> Result<ObsTransformInfo, ObsError>

Gets the transform info of the given source in this scene.
Source§

fn get_source_position(&self) -> Result<Vec2, ObsError>

Gets the position of the given source in this scene.
Source§

fn get_source_scale(&self) -> Result<Vec2, ObsError>

Gets the scale of the given source in this scene.
Source§

fn set_source_position(&self, position: Vec2) -> Result<(), ObsError>

Sets the position of the given source in this scene.
Source§

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.
Source§

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. Read more
Source§

fn is_visible(&self) -> Result<bool, ObsError>

Returns whether the item is visible.
Source§

fn crop(&self) -> Result<ObsSceneItemCrop, ObsError>

Returns the explicit pixel crop applied to this scene item.
Source§

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.
Source§

fn set_visible(&self, visible: bool) -> Result<(), ObsError>

Shows or hides the item.
Source§

fn is_locked(&self) -> Result<bool, ObsError>

Returns whether the item transform is locked.
Source§

fn set_locked(&self, locked: bool) -> Result<(), ObsError>

Locks or unlocks the item transform.
Source§

fn rotation(&self) -> Result<f32, ObsError>

Returns the clockwise rotation in degrees.
Source§

fn set_rotation(&self, degrees: f32) -> Result<(), ObsError>

Sets the clockwise rotation in degrees.
Source§

fn order_position(&self) -> Result<i32, ObsError>

Returns the item’s zero-based order position within its scene.
Source§

fn set_order_position(&self, position: i32) -> Result<(), ObsError>

Moves the item to an absolute order position within its scene.
Source§

fn move_order(&self, movement: ObsOrderMovement) -> Result<(), ObsError>

Moves the item relative to the other items in its scene.
Source§

fn scale_filter(&self) -> Result<ObsScaleType, ObsError>

Returns the scaling filter used when this item is resized.
Source§

fn set_scale_filter(&self, filter: ObsScaleType) -> Result<(), ObsError>

Source§

fn blend_method(&self) -> Result<ObsBlendMethod, ObsError>

Source§

fn set_blend_method(&self, method: ObsBlendMethod) -> Result<(), ObsError>

Source§

fn blend_mode(&self) -> Result<ObsBlendMode, ObsError>

Source§

fn set_blend_mode(&self, mode: ObsBlendMode) -> Result<(), ObsError>

Source§

fn transform_snapshot(&self) -> Result<ObsSceneItemTransformSnapshot, ObsError>

Captures every transform-affecting scene-item property exposed by libobs.
Source§

fn apply_transform_snapshot( &self, snapshot: &ObsSceneItemTransformSnapshot, ) -> Result<(), ObsError>

Restores a transform snapshot through the same managed actor seam as individual setters.
Source§

fn state_snapshot(&self) -> Result<ObsSceneItemStateSnapshot, ObsError>

Source§

fn apply_state_snapshot( &self, snapshot: &ObsSceneItemStateSnapshot, ) -> Result<(), ObsError>

Source§

fn position(&self) -> Result<Vec2, ObsError>

Preferred shorthand for SceneItemTrait::get_source_position.
Source§

fn set_position(&self, position: Vec2) -> Result<(), ObsError>

Preferred shorthand for SceneItemTrait::set_source_position.
Source§

fn scale(&self) -> Result<Vec2, ObsError>

Preferred shorthand for SceneItemTrait::get_source_scale.
Source§

fn set_scale(&self, scale: Vec2) -> Result<(), ObsError>

Preferred shorthand for SceneItemTrait::set_source_scale.
Source§

fn set_source_scale(&self, scale: Vec2) -> Result<(), ObsError>

Sets the scale of the given source in this scene.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.