DtkGui
DTK Gui module
载入中...
搜索中...
未找到
Dtk::Gui::DDciIconPlayer类 参考

#include <ddciiconplayer.h>

类 Dtk::Gui::DDciIconPlayer 继承关系图:
Dtk::Gui::DDciIconPlayer 的协作图:

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 图标文件标准。有几条特性:

  1. 支持动画的倒序播放,如从 Hover 状态变为 Normal 时,可以倒序播放 Hover 状态所对应的 DDciIconImage。此功能依赖于 DDciIconImagePlayer 的实现。
  2. 支持动画无缝衔接播放,如从 Normal 状态变化为 Hover 时,在播放 Hover 动画的途中又变为 Pressed 状态,则不会立即将 Hover 的动画打断,将把 Pressed 动画在当前动画播放接受后自动播放。
  3. 支持动画记忆播放,如从 Normal 状态变化为 Hover 时,在播放 Hover 动画的途中变回了 Normal 状态,则会从当前已经播放到的这一帧开始倒序播放 Hover 动画。

成员枚举类型说明

◆ State

工作状态

枚举值
Idle 

处于空闲状态,一般表示此时未播放动画

Busy 

处于忙碌状态,此时可能正在播放动画

构造及析构函数说明

◆ DDciIconPlayer()

Dtk::Gui::DDciIconPlayer::DDciIconPlayer ( QObject *  parent = nullptr)
explicit

构造此对象。

参数
[in]parent指定此 QObject 对象的父对象

成员函数说明

◆ abort()

Dtk::Gui::DDciIconPlayer::abort ( )

如果当前正在播放动画,则停止当前动画的播放,并取消队列中所有计划播放的动画。可能会导致 DDciIconPlayer::state 发生变化。

参见
DDciIconPlayer::stop

◆ currentImage()

Dtk::Gui::DDciIconPlayer::currentImage ( ) const

返回当前图标在当前时刻应该显示的位图数据。当此数据变化时会发送 updated 信号。

参见
DDciIconPlayer::setIcon DDciIconPlayer::updated

◆ devicePixelRatio()

Dtk::Gui::DDciIconPlayer::devicePixelRatio ( ) const

返回已设置的图标缩放比例。

◆ icon()

Dtk::Gui::DDciIconPlayer::icon ( ) const

返回已设置的图标对象。

◆ iconSize()

Dtk::Gui::DDciIconPlayer::iconSize ( ) const

返回已设置的图标大小。

◆ mode()

Dtk::Gui::DDciIconPlayer::mode ( ) const

返回已设置的图标模式。

◆ modeChanged

Dtk::Gui::DDciIconPlayer::modeChanged ( DDciIcon::Mode  oldMode,
DDciIcon::Mode  newMode 
)
signal

通知图标的模式发生变化。

参数
[in]oldMode变化之前的 mode
[in]newMode变化之后的 mode
参见
DDciIconPlayer::setMode DDciIconPlayer::setMode

◆ play()

Dtk::Gui::DDciIconPlayer::play ( DDciIcon::Mode  mode)

为指定的图标模式计算要显示的内容,这可能会导致 currentImage 发生变化。这是个一次性行为,不会影响下一次调用 setMode 后的结果。

参数
[in]mode指定要播放的图标模式,如果此模式支持动画,会触发此模式自身的动画播放(与 setMode 导致的动画不同的是,此动画不涉及两种模式变化时的过渡规则),否则将修改 currentImage 为此模式对应的静态图片资源。

◆ setDevicePixelRatio()

Dtk::Gui::DDciIconPlayer::setDevicePixelRatio ( qreal  devicePixelRatio)

为图标指定渲染时的缩放比例,如果值发生变化,会导致当前动画停止播放,并且释放图标相关的所有资源。会触发 updated 信号。

◆ setIcon()

Dtk::Gui::DDciIconPlayer::setIcon ( const DDciIcon icon)

设置要处理的图标对象,这会导致当前动画停止播放,并且释放上一个 icon 相关的所有资源。会触发 updated 信号。

◆ setIconSize()

Dtk::Gui::DDciIconPlayer::setIconSize ( int  size)

为图标指定要渲染的大小,如果值发生变化,会导致当前动画停止播放,并且释放图标相关的所有资源。会触发 updated 信号。

◆ setMode()

Dtk::Gui::DDciIconPlayer::setMode ( DDciIcon::Mode  mode)

指定图标当前要使用的模式,如果值发生变化,会根据新旧模式的过渡规则计算接下来是否需要播放动画,以及当动画不存在或动画停止后所停留的内容。动画播放规则遵守 DSG 中 DCI 图标格式规范中的定义。

参见
DDciIconPlayer::modeChanged DDciIconPlayer::updated

◆ setPalette()

Dtk::Gui::DDciIconPlayer::setPalette ( const DDciIconPalette palette)

为图标指定渲染时所使用的调色板,如果值发生变化,并且当前模式所对应的图片支持指定调色板,在 Busy 状态下,会导致接下来新的动画帧的颜色发生变化,在 Idle 状态下,则会重新为当前模式计算应该显示的内容,这可能会触发 updated 信号。

参见
DDciIconImage::hasPalette DDciIconImage::toImage DDciIconImage::paint

◆ setTheme()

Dtk::Gui::DDciIconPlayer::setTheme ( DDciIcon::Theme  theme)

为图标指定要使用的主题,如果值发生变化,会导致当前动画停止播放,并且释放图标相关的所有资源。会触发 updated 信号。

◆ state()

Dtk::Gui::DDciIconPlayer::state ( ) const

返回当前的状态。

参见
DDciIconPlayer::State

◆ stateChanged

Dtk::Gui::DDciIconPlayer::stateChanged ( )
signal

通知状态发生变化。

参见
DDciIconPlayer::state

◆ stop()

Dtk::Gui::DDciIconPlayer::stop ( )

如果当前正在播放动画,则停止当前动画的播放,但不会影响队列中下一个动画的播放。可能会导致 DDciIconPlayer::state 发生变化。

参见
DDciIconPlayer::abort

◆ theme()

Dtk::Gui::DDciIconPlayer::theme ( ) const

返回已设置的图标主题。

◆ updated

Dtk::Gui::DDciIconPlayer::updated ( )
signal

该类的文档由以下文件生成: