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

Name of the renderer

Provided Methods

Called whenever current screen changes, should be used for any things that shouldn’t be called every tick

Called on every tick with device reference provided

Called on get_button_images method, the returned image is what will be shown on GUI

Called when renderer component has custom renderer selected, can be used to give custom fields to renderer component

Called when renderer component has custom renderer selected, used to set custom fields to whatever structure plugin wishes

Implementors