DtkGui
DTK Gui module
|
#include <ddciiconplayer.h>
Public 类型 | |
enum | State { Idle , Busy } |
工作状态 更多... | |
信号 | |
void | stateChanged () |
void | updated () |
void | modeChanged (DDciIcon::Mode oldMode, DDciIcon::Mode newMode) |
Public 成员函数 | |
DDciIconPlayer (QObject *parent=nullptr) | |
State | state () const |
void | setIcon (const DDciIcon &icon) |
DDciIcon | icon () const |
void | setTheme (DDciIcon::Theme theme) |
DDciIcon::Theme | theme () const |
void | setMode (DDciIcon::Mode mode) |
DDciIcon::Mode | mode () const |
void | setIconSize (int size) |
int | iconSize () const |
void | setDevicePixelRatio (qreal devicePixelRatio) |
qreal | devicePixelRatio () const |
void | setPalette (const DDciIconPalette &palette) |
QImage | currentImage () const |
void | play (DDciIcon::Mode mode) |
void | stop () |
void | abort () |
实现根据 DDciIcon::Mode 的变化,自动化计算要显示的图标内容,支持动态图标,在 DDciIcon::Mode 被设置时通过 updated 信号通知控件绘制新的内容。对于动态图标的动画播放先后顺序、播放速度等规则遵守 DSG 规范中所提出的 DCI 图标文件标准。有几条特性:
|
explicit |
构造此对象。
[in] | parent | 指定此 QObject 对象的父对象 |
Dtk::Gui::DDciIconPlayer::abort | ( | ) |
如果当前正在播放动画,则停止当前动画的播放,并取消队列中所有计划播放的动画。可能会导致 DDciIconPlayer::state 发生变化。
Dtk::Gui::DDciIconPlayer::currentImage | ( | ) | const |
返回当前图标在当前时刻应该显示的位图数据。当此数据变化时会发送 updated 信号。
Dtk::Gui::DDciIconPlayer::devicePixelRatio | ( | ) | const |
返回已设置的图标缩放比例。
Dtk::Gui::DDciIconPlayer::icon | ( | ) | const |
返回已设置的图标对象。
Dtk::Gui::DDciIconPlayer::iconSize | ( | ) | const |
返回已设置的图标大小。
Dtk::Gui::DDciIconPlayer::mode | ( | ) | const |
返回已设置的图标模式。
|
signal |
通知图标的模式发生变化。
[in] | oldMode | 变化之前的 mode |
[in] | newMode | 变化之后的 mode |
Dtk::Gui::DDciIconPlayer::play | ( | DDciIcon::Mode | mode | ) |
为指定的图标模式计算要显示的内容,这可能会导致 currentImage 发生变化。这是个一次性行为,不会影响下一次调用 setMode 后的结果。
[in] | mode | 指定要播放的图标模式,如果此模式支持动画,会触发此模式自身的动画播放(与 setMode 导致的动画不同的是,此动画不涉及两种模式变化时的过渡规则),否则将修改 currentImage 为此模式对应的静态图片资源。 |
Dtk::Gui::DDciIconPlayer::setDevicePixelRatio | ( | qreal | devicePixelRatio | ) |
为图标指定渲染时的缩放比例,如果值发生变化,会导致当前动画停止播放,并且释放图标相关的所有资源。会触发 updated 信号。
Dtk::Gui::DDciIconPlayer::setIcon | ( | const DDciIcon & | icon | ) |
设置要处理的图标对象,这会导致当前动画停止播放,并且释放上一个 icon 相关的所有资源。会触发 updated 信号。
Dtk::Gui::DDciIconPlayer::setIconSize | ( | int | size | ) |
为图标指定要渲染的大小,如果值发生变化,会导致当前动画停止播放,并且释放图标相关的所有资源。会触发 updated 信号。
Dtk::Gui::DDciIconPlayer::setMode | ( | DDciIcon::Mode | mode | ) |
指定图标当前要使用的模式,如果值发生变化,会根据新旧模式的过渡规则计算接下来是否需要播放动画,以及当动画不存在或动画停止后所停留的内容。动画播放规则遵守 DSG 中 DCI 图标格式规范中的定义。
Dtk::Gui::DDciIconPlayer::setPalette | ( | const DDciIconPalette & | palette | ) |
为图标指定渲染时所使用的调色板,如果值发生变化,并且当前模式所对应的图片支持指定调色板,在 Busy 状态下,会导致接下来新的动画帧的颜色发生变化,在 Idle 状态下,则会重新为当前模式计算应该显示的内容,这可能会触发 updated 信号。
Dtk::Gui::DDciIconPlayer::setTheme | ( | DDciIcon::Theme | theme | ) |
为图标指定要使用的主题,如果值发生变化,会导致当前动画停止播放,并且释放图标相关的所有资源。会触发 updated 信号。
Dtk::Gui::DDciIconPlayer::state | ( | ) | const |
返回当前的状态。
|
signal |
通知状态发生变化。
Dtk::Gui::DDciIconPlayer::stop | ( | ) |
如果当前正在播放动画,则停止当前动画的播放,但不会影响队列中下一个动画的播放。可能会导致 DDciIconPlayer::state 发生变化。
Dtk::Gui::DDciIconPlayer::theme | ( | ) | const |
返回已设置的图标主题。
|
signal |