Image providers

Some graphical resources are generated using QQuickImageProvider.

While this provide some flexibility regarding how image are generated there are some limitation. The parameters of the image can only be defined by its URL, this means that all parameters needs to be serialized in the URL, This is not suitable for animations where parameters may often change and rapidly over time.

VLC access

Accessing artworks on disk or from the network should be made using specialized access that will leverage VLC plugins, this ensures that files discovered by the medialibrary can be opened by the interface as Qt default image provider may not support the same protocols or may not have the right credentials.

Serializing the url should be done using VLCAccessImage.uri helper

Image {
    source: VLCAccessImage.uri("scheme://url/of/the/resource")
}

Shadows and effects

Some effects are generated as static image, this allows using shadows in delegates that used list or grid without having a shader per item. Using these effects should usually be done through specialized class that will expose and handle the serialization of the different parameters such as DefaultShadow or DrowShadowImage

Generating shadows is costly (CPU bound), you should not animate them.

Colored SVG

SVGColorImage allow changing colors in an SVG artwork to match the theme of the application.

This is working like a filter that substitute strings in the file, you should avoid animating the colors, as this will be considered as a new media, will re-read the file from disk and will generate a new image

It is usually preferred to use the font icon for monochrome artworks that need to match the theme.

There are some predefined colors that can be used in artwork

color

template functions

#FF8800

accent

#FF00FF

color1

#00FFFF

color2