Trait streamduck_core::thread::rendering::custom::CustomRenderer
source · [−]pub trait CustomRenderer: Send + Sync {
fn name(&self) -> String;
fn refresh(&self, core_handle: &CoreHandle) { ... }
fn render(
&self,
key: u8,
button: &UniqueButton,
core_handle: &CoreHandle,
streamdeck: &mut DeviceReference<'_>
) { ... }
fn representation(
&self,
key: u8,
button: &UniqueButton,
core_handle: &CoreHandle
) -> Option<DynamicImage> { ... }
fn component_values(
&self,
button: &Button,
component: &RendererComponent,
core_handle: &CoreHandle
) -> Vec<UIValue> { ... }
fn set_component_value(
&self,
button: &mut Button,
component: &mut RendererComponent,
core_handle: &CoreHandle,
value: Vec<UIValue>
) { ... }
}Expand description
Custom renderer trait
Required Methods
Provided Methods
fn refresh(&self, core_handle: &CoreHandle)
fn refresh(&self, core_handle: &CoreHandle)
Called whenever current screen changes, should be used for any things that shouldn’t be called every tick
fn render(
&self,
key: u8,
button: &UniqueButton,
core_handle: &CoreHandle,
streamdeck: &mut DeviceReference<'_>
)
fn render(
&self,
key: u8,
button: &UniqueButton,
core_handle: &CoreHandle,
streamdeck: &mut DeviceReference<'_>
)
Called on every tick with device reference provided
fn representation(
&self,
key: u8,
button: &UniqueButton,
core_handle: &CoreHandle
) -> Option<DynamicImage>
fn representation(
&self,
key: u8,
button: &UniqueButton,
core_handle: &CoreHandle
) -> Option<DynamicImage>
Called on get_button_images method, the returned image is what will be shown on GUI
fn component_values(
&self,
button: &Button,
component: &RendererComponent,
core_handle: &CoreHandle
) -> Vec<UIValue>
fn component_values(
&self,
button: &Button,
component: &RendererComponent,
core_handle: &CoreHandle
) -> Vec<UIValue>
Called when renderer component has custom renderer selected, can be used to give custom fields to renderer component
fn set_component_value(
&self,
button: &mut Button,
component: &mut RendererComponent,
core_handle: &CoreHandle,
value: Vec<UIValue>
)
fn set_component_value(
&self,
button: &mut Button,
component: &mut RendererComponent,
core_handle: &CoreHandle,
value: Vec<UIValue>
)
Called when renderer component has custom renderer selected, used to set custom fields to whatever structure plugin wishes