YSTest: YSLib::Drawing::CompactPixmap类 参考

YSTest PreAlpha_b500_20140530 The YSLib Test Project

- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件

- 类列表
- 类索引
- 类继承关系
- 类成员

全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
Public 成员函数 | Public 属性 | 相关函数 | 所有成员列表
YSLib::Drawing::CompactPixmap类 参考

标准矩形像素图缓冲区。 更多...

`#include <ygdi.h>`

类 YSLib::Drawing::CompactPixmap 继承关系图:
[图例]
YSLib::Drawing::CompactPixmap 的协作图:
[图例]

## Public 成员函数

| DefDeCtor (CompactPixmap) CompactPixmap(ConstBitmapPtr
| 无参数构造：默认实现。 更多...
| CompactPixmap (unique_ptr< PixelType[]>, const Size &) ynothrow
| 构造：使用指定位图指针和大小。 更多...
| CompactPixmap (const CompactPixmap &)
| CompactPixmap (CompactPixmap &&) ynothrow
| 转移构造：转移资源。 更多...
| ~CompactPixmap () override
| 析构：释放资源。 更多...
| PDefHOp (CompactPixmap &,=, CompactPixmap msg) ynothrow ImplRet(msg.swap(*this)
*this void | SetContent (ConstBitmapPtr, SDst, SDst)
| 设置内容。 更多...
| PDefH (void, SetSize, SDst w, SDst h) ImplExpr(SetSize(Size(w
h void | SetSize (const Size &) override
| 重新设置缓冲区大小。 更多...
void | SetSizeSwap ()
| 交换宽和高；同时清除缓冲区。 更多...
virtual void | ClearImage () const
| 清除缓冲区。 更多...
virtual | DefClone (const, CompactPixmap) PDefH(void
Public 成员函数 继承自 YSLib::Drawing::BasicImage
| DefDeCtor (BasicImage) BasicImage(const Graphics &g)
| ImplI (IImage) DefGetter(const ynothrow override
const Graphics *this | ImplI (IImage) DefClone(const override
const Graphics *this BasicImage | ImplI (IImage) DefSetter(const Size &

## Public 属性

| SDst
virtual | swap
Public 属性 继承自 YSLib::Drawing::BasicImage
const Graphics | Context
const Graphics *this BasicImage | Size

## 相关函数

(请注意: 这些不是成员函数.)
| CompactPixmapEx ()
| 使用 8 位 Alpha 扩展的标准矩形像素图缓冲区。 更多...

## 额外继承的成员函数

Protected 成员函数 继承自 YSLib::Drawing::Graphics
| Graphics () ynothrow
| 默认构造：使用空指针和大小。 更多...
yconstfn | Graphics (BitmapPtr b, const Size &s={}) ynothrow
| 构造：使用指定位图指针和大小。 更多...
yconstfn | Graphics (const Graphics &g) ynothrow
| 复制构造：浅复制。 更多...
| DefDeDtor (Graphics) PDefHOp(bool
| 析构：默认实现。 更多...
const ynothrow | ImplRet (!bool(*this)) BitmapPtr operator[](size_t) const ynothrow
| 取指定行首元素指针。 更多...
| DefCvt (const ynothrow, bool, pBuffer &&sGraphics.Width!=0 &&sGraphics.Height!=0) DefGetter(const ynothrow
| 判断有效性。 更多...
pBuffer | DefGetter (const ynothrow, const Size &, Size, sGraphics) DefGetter(const ynothrow
pBuffer sGraphics Width | DefGetter (const ynothrow, SDst, Height, sGraphics.Height) DefGetter(const ynothrow
pBuffer sGraphics Width | sizeof (PixelType)*GetAreaOf(sGraphics)) BitmapPtr at(size_t) const ythrow(GeneralEvent
| < 取缓冲区占用空间。 更多...
Protected 属性 继承自 YSLib::Drawing::Graphics
BitmapPtr | pBuffer
| 显示缓冲区指针。 更多...
Size | sGraphics
| BitmapPtr
| BufferPtr
pBuffer | SDst
pBuffer | Width
pBuffer sGraphics Width | size_t
pBuffer sGraphics Width | SizeOfBuffer
静态 Protected 属性 继承自 YSLib::Drawing::Graphics
static const Graphics | Invalid
| 无效图形接口上下文。 更多...

## 详细描述

标准矩形像素图缓冲区。

注解
  满足 `std::is_nothrow_move_constructible<T>::value && std::is_nothrow_move_assignable<T>::value` 。
  保证像素数据连续。

自从
  build 418

在文件 ygdi.h 第 201 行定义.

## 构造及析构函数说明

YSLib::Drawing::CompactPixmap::CompactPixmap | ( | unique_ptr< PixelType[]> | p,
|  | const Size & | s
| ) |  |

构造：使用指定位图指针和大小。

注解
  取得所有权。

在文件 ygdi.cpp 第 99 行定义.

YSLib::Drawing::CompactPixmap::CompactPixmap | ( | const CompactPixmap & | buf | ) |

在文件 ygdi.cpp 第 102 行定义.

参考 YSLib::Drawing::GetAreaOf(), YSLib::Drawing::Graphics::pBuffer , 以及 SetSize().

函数调用图:

YSLib::Drawing::CompactPixmap::CompactPixmap | ( | CompactPixmap && | buf | ) |

转移构造：转移资源。

在文件 ygdi.cpp 第 109 行定义.

参考 YSLib::Drawing::Graphics::pBuffer.

YSLib::Drawing::CompactPixmap::~CompactPixmap | ( |  | ) |

inlineoverride

析构：释放资源。

在文件 ygdi.h 第 226 行定义.

## 成员函数说明

void YSLib::Drawing::CompactPixmap::ClearImage | ( |  | ) | const

virtual

清除缓冲区。

在文件 ygdi.cpp 第 151 行定义.

参考 YSLib::Drawing::ClearImage().

参考自 SetSize() , 以及 SetSizeSwap().

函数调用图:

这是这个函数的调用关系图:

virtual YSLib::Drawing::CompactPixmap::DefClone | ( | const | ,
|  | CompactPixmap |
| ) |  |

virtual

YSLib::Drawing::CompactPixmap::DefDeCtor | ( | CompactPixmap |  | ) |

无参数构造：默认实现。

注解
  零初始化。

构造：使用指定位图指针和大小。

YSLib::Drawing::CompactPixmap::PDefH | ( | void | ,
|  | SetSize | ,
|  | SDst | w,
|  | SDst | h
| ) |  |

YSLib::Drawing::CompactPixmap::PDefHOp | ( | CompactPixmap & | ,
|  | CompactPixmap | msg
| ) |  |

void YSLib::Drawing::CompactPixmap::SetContent | ( | ConstBitmapPtr | s,
|  | SDst | w,
|  | SDst | h
| ) |  |

设置内容。

注解
  预先设置缓冲区大小。

自从
  build 319

在文件 ygdi.cpp 第 116 行定义.

参考 YSLib::Drawing::GetAreaOf(), YSLib::Drawing::Graphics::pBuffer, SetSize() , 以及 YB_LIKELY.

函数调用图:

void YSLib::Drawing::CompactPixmap::SetSize | ( | const Size & | s | ) |

override

重新设置缓冲区大小。

注解
  若有一边为零则删除缓冲区；若大于缓冲区空间则重新分配； 设置后清除缓冲区。

自从
  build 405

在文件 ygdi.cpp 第 123 行定义.

参考 platform::Descriptions::Alert, ClearImage(), YSLib::Drawing::GetAreaOf(), YSLib::Drawing::Graphics::pBuffer, platform_ex::Windows::s, YSLib::Drawing::Graphics::sGraphics, YAssert , 以及 YB_LIKELY.

参考自 CompactPixmap() , 以及 SetContent().

函数调用图:

这是这个函数的调用关系图:

void YSLib::Drawing::CompactPixmap::SetSizeSwap | ( |  | ) |

交换宽和高；同时清除缓冲区。

在文件 ygdi.cpp 第 144 行定义.

参考 ClearImage(), YSLib::Drawing::Size::Height, YSLib::Drawing::Graphics::sGraphics, ystdex::swap() , 以及 YSLib::Drawing::Size::Width.

函数调用图:

## 友元及相关函数文档

CompactPixmapEx | ( |  | ) |

related

使用 8 位 Alpha 扩展的标准矩形像素图缓冲区。

自从
  build 418

注解
  满足 `std::is_nothrow_move_constructible<T>::value && std::is_nothrow_move_assignable<T>::value` 。
  保证像素数据和 Alpha 数据分别连续。

Alpha 缓冲区指针。

自从
  build 417

无参数构造。

注解
  零初始化。

在文件 ygdi.h 第 303 行定义.

## 类成员变量说明

YSLib::Drawing::CompactPixmap::SDst

在文件 ygdi.h 第 212 行定义.

virtual YSLib::Drawing::CompactPixmap::swap

在文件 ygdi.h 第 272 行定义.

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

- ygdi.h
- ygdi.cpp