pub trait AssetTransformer:
Send
+ Sync
+ 'static {
type AssetInput: Asset;
type AssetOutput: Asset;
type Settings: Settings + Default + Serialize + for<'a> Deserialize<'a>;
type Error: Into<Box<dyn Error + Sync + Send>>;
// Required method
fn transform<'a>(
&'a self,
asset: TransformedAsset<Self::AssetInput>,
settings: &'a Self::Settings,
) -> impl ConditionalSendFuture;
}Expand description
Transforms an Asset of a given AssetTransformer::AssetInput type to an Asset of AssetTransformer::AssetOutput type.
This trait is commonly used in association with LoadTransformAndSave to accomplish common asset pipeline workflows.
Required Associated Types§
Sourcetype AssetInput: Asset
type AssetInput: Asset
The Asset type which this AssetTransformer takes as and input.
Sourcetype AssetOutput: Asset
type AssetOutput: Asset
The Asset type which this AssetTransformer outputs.
Sourcetype Settings: Settings + Default + Serialize + for<'a> Deserialize<'a>
type Settings: Settings + Default + Serialize + for<'a> Deserialize<'a>
The settings type used by this AssetTransformer.
Required Methods§
Sourcefn transform<'a>(
&'a self,
asset: TransformedAsset<Self::AssetInput>,
settings: &'a Self::Settings,
) -> impl ConditionalSendFuture
fn transform<'a>( &'a self, asset: TransformedAsset<Self::AssetInput>, settings: &'a Self::Settings, ) -> impl ConditionalSendFuture
Transforms the given TransformedAsset to AssetTransformer::AssetOutput.
The TransformedAsset’s labeled_assets can be altered to add new Labeled Sub-Assets
The passed in settings can influence how the asset is transformed
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.