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

#include <ddciicon.h>

Public 成员函数

 DDciIconImage ()=default
 
 DDciIconImage (const DDciIconImage &other)
 
DDciIconImageoperator= (const DDciIconImage &other) noexcept
 
 DDciIconImage (DDciIconImage &&other) noexcept
 
DDciIconImageoperator= (DDciIconImage &&other) noexcept
 
void swap (DDciIconImage &other) noexcept
 
bool operator== (const DDciIconImage &other) const
 
bool operator!= (const DDciIconImage &other) const
 
bool isNull () const
 
void reset ()
 
QImage toImage (const DDciIconPalette &palette=DDciIconPalette()) const
 
void paint (QPainter *painter, const QRectF &rect, Qt::Alignment alignment=Qt::AlignCenter, const DDciIconPalette &palette=DDciIconPalette()) const
 
bool hasPalette () const
 
bool supportsAnimation () const
 
bool atBegin () const
 
bool atEnd () const
 
bool jumpToNextImage ()
 
int loopCount () const
 
int maxImageCount () const
 
int currentImageDuration () const
 
int currentImageNumber () const
 

Protected 成员函数

 DDciIconImage (const QSharedPointer< DDciIconImagePrivate > &dd)
 

Protected 属性

QSharedPointer< DDciIconImagePrivated
 

友元

class DDciIcon
 

详细描述

用于获取 dci 图标某种状态的图片资源(位图数据),同时支持静态图和动态图,接口的设计类似于 QImageReader,一般通过调用 DDciIcon::image 构造此对象。与 DDciIcon 配合使用,其所支持的图片格式与 DDciIcon::pixmap 接口一致,都取决于 Qt 图片插件系统(即 QImageReader)所提供的能力。

参见
DDciIcon::image

构造及析构函数说明

◆ DDciIconImage() [1/2]

Dtk::Gui::DDciIconImage::DDciIconImage ( )
default

构造一个空的对象。

◆ DDciIconImage() [2/2]

Dtk::Gui::DDciIconImage::DDciIconImage ( const DDciIconImage other)

根据 other 对象构造一个新的 DDciIconImage 对象,这个新的对象将与 other 共享 DDciIconImagePrivate 对象。

成员函数说明

◆ atBegin()

Dtk::Gui::DDciIconImage::atBegin ( ) const

如果此图片支持动画且动画处于第一帧,则返回 true,否则返回 false。

◆ atEnd()

Dtk::Gui::DDciIconImage::atEnd ( ) const

如果此图片支持动画且动画处于最后一帧,则返回 true,否则返回 false。

◆ currentImageDuration()

Dtk::Gui::DDciIconImage::currentImageDuration ( ) const

返回当前动画帧的持续时间,单位为毫秒。如果此图片不支持动画,则返回值无效。

◆ currentImageNumber()

Dtk::Gui::DDciIconImage::currentImageNumber ( ) const

返回动画已经播放到的帧的序号,此值一定小于 DDciIconImage::maxImageCount - 1。如果此图片不支持动画,则返回值无效。

◆ hasPalette()

Dtk::Gui::DDciIconImage::hasPalette ( ) const

如果此图片支持指定调色板,则返回 true,否则返回 false。

◆ isNull()

Dtk::Gui::DDciIconImage::isNull ( ) const
inline

如果此对象为空,则返回 true,否则返回 false。当对象为空时,调用其它成员函数将获得一个无效的结果。

◆ jumpToNextImage()

Dtk::Gui::DDciIconImage::jumpToNextImage ( )

将动画跳转到下一帧,如果此图片支持动画且当前不是最后一帧,则返回 true,否则返回 false。

◆ loopCount()

Dtk::Gui::DDciIconImage::loopCount ( ) const

返回动画的轮播次数,如果此图片不支持动画,则返回值无效。如果返回值为 -1,则表明此动画需要无限循环播放。

◆ maxImageCount()

Dtk::Gui::DDciIconImage::maxImageCount ( ) const

返回动画的最大帧数,如果当前图片有多层且每一层都支持动画,则是所有动画帧数的累加,因此多个动画的播放时间会可能会有重叠的帧,所以无法确保播放此图片时一定能显示这么多帧,动画是否结束需要以 DDciIconImage::atEnd 的返回结果为准。如果此图片不支持动画,则返回值无效。

◆ operator!=()

Dtk::Gui::DDciIconImage::operator!= ( const DDciIconImage other) const
inline

如果两个对象引用了不同的 DDciIconImagePrivate 数据对象,则返回 true,否则返回 false。

◆ operator=() [1/2]

Dtk::Gui::DDciIconImage::operator= ( const DDciIconImage other)
noexcept

对当前对象进行赋值,这将导致此对象与 other 共享 DDciIconImagePrivate 对象。

◆ operator=() [2/2]

Dtk::Gui::DDciIconImage::operator= ( DDciIconImage &&  other)
noexcept

对当前对象进行赋值,这将导致此对象与 other 两者的 DDciIconImagePrivate 对象被交换。

参见
DDciIconImage::swap

◆ operator==()

Dtk::Gui::DDciIconImage::operator== ( const DDciIconImage other) const
inline

如果两个对象引用了相同的 DDciIconImagePrivate 数据对象,则返回 true,否则返回 false。

◆ paint()

Dtk::Gui::DDciIconImage::paint ( QPainter *  painter,
const QRectF &  rect,
Qt::Alignment  alignment = Qt::AlignCenter,
const DDciIconPalette palette = DDciIconPalette() 
) const

将图片的位图数据通过传入的画笔进行绘制。

参数
[in]painter指定画笔对象。
[in]rect指定绘制区域,此区域相对于画笔所对应的 QPainter::paintDevice(),如果此区域的宽度比图片的宽度小,则会在绘制时将图片缩小到此区域的大小,反之则保持图片自身大小,而不会知道图片被放大。
[in]alignment指定绘制时图片相对于 rect 所指定区域的位置,即当图片宽度小于 rect 所指定的宽度时,将根据此参数决定图片的显示位置。
[in]palette如果此图片支持指定调色板,则将根据传入的 DDciIconPalette 中指定的颜色对图片进行加工。详情请参见 DSG 标准中的 DCI 图片格式设计。
参见
DDciIconImage::toImage

◆ reset()

Dtk::Gui::DDciIconImage::reset ( )

重置数据的状态,将清理所有的内部缓存数据,并且重置所有的状态记录,与重新调用 DDciIcon::image 获取一个新的对象后的状态相同。对于动画图片而言,这会导致 DDciIconImage::atBegin 变成 true,即动画将从第一帧重新开始。

◆ supportsAnimation()

Dtk::Gui::DDciIconImage::supportsAnimation ( ) const

如果此图片支持动画,则返回 true,否则返回 false。

◆ swap()

Dtk::Gui::DDciIconImage::swap ( DDciIconImage other)
inlinenoexcept

交换两个对象的数据,这将导致两者的 DDciIconImagePrivate 对象被交换。

◆ toImage()

Dtk::Gui::DDciIconImage::toImage ( const DDciIconPalette palette = DDciIconPalette()) const

对于静态图片,将读取图片数据,并加载为 QImage 对象返回。对于动态图片,将返回当前帧的位图数据,且多次调用时不会重新加载,将返回缓存的 QImage 对象,另外需要注意的时,与 QImageReader::read 的不同,在调用此函数读取当前帧后,并不会自动跳转到下一帧,即在未调用 DDciIconImage::jumpToNextImage 时,多次调用此函数将返回同一帧。

参数
[in]palette如果此图片支持指定调色板,则将根据传入的 DDciIconPalette 中指定的颜色对图片进行加工。详情请参见 DSG 标准中的 DCI 图片格式设计。
参见
DDciIconImage::hasPalette DDciIconImage::paint

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