YSTest: YSLib::Drawing::BitmapBufferEx类 参考

YSTest PreAlpha_b400_20130424 The YSLib Test Project

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

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

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

扩展的标准矩形位图缓冲区。 更多...

`#include <ygdi.h>`

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

## Public 成员函数

| BitmapBufferEx ()
| 无参数构造。
| BitmapBufferEx (ConstBitmapPtr, SDst, SDst)
| 构造：使用指定位图指针和大小。
| BitmapBufferEx (const BitmapBufferEx &)
| BitmapBufferEx (BitmapBufferEx &&) ynothrow
| 转移构造：转移资源。
| ~BitmapBufferEx () override
| 析构：释放资源。
BitmapBufferEx & | operator= (const BitmapBufferEx &buf)
BitmapBufferEx & | operator= (BitmapBufferEx &&buf) ynothrow
u8 * | GetBufferAlphaPtr () const ynothrow
| 取 Alpha 缓冲区的指针。
size_t | GetSizeOfBufferAlpha () const ynothrow
| 取 Alpha 缓冲区占用空间。
void | SetSize (SDst, SDst) override
| 重新设置缓冲区大小。
void | ClearImage () const override
| 清除缓冲区。
BitmapBufferEx * | Clone () const override
void | Swap (BitmapBufferEx &buf) ynothrow
Public 成员函数 继承自 YSLib::Drawing::BitmapBuffer
| BitmapBuffer ()=default
| 无参数构造：默认实现。
| BitmapBuffer (ConstBitmapPtr, SDst, SDst)
| 构造：使用指定位图指针和大小。
| BitmapBuffer (const BitmapBuffer &)
| BitmapBuffer (BitmapBuffer &&) ynothrow
| 转移构造：转移资源。
virtual | ~BitmapBuffer ()
| 析构：释放资源。
BitmapBuffer & | operator= (const BitmapBuffer &buf)
BitmapBuffer & | operator= (BitmapBuffer &&buf) ynothrow
void | SetContent (ConstBitmapPtr, SDst, SDst)
| 设置内容。
void | SetSizeSwap ()
| 交换宽和高；同时清除缓冲区。
void | Swap (BitmapBuffer &buf) ynothrow
const Graphics & | GetContext () const ynothrow

## Protected 属性

u8 * | pBufferAlpha
| Alpha 缓冲区指针。

## 额外继承的成员函数

Protected 成员函数 继承自 YSLib::Drawing::Graphics
yconstfn | Graphics (BitmapPtr b={}, const Size &s={}) ynothrow
| 构造：使用指定位图指针和大小。
yconstfn | Graphics (const Graphics &g) ynothrow
| 复制构造：浅复制。
| ~Graphics ()
| 析构：空实现。
bool | operator! () const ynothrow
| 判断无效性。
BitmapPtr | operator[] (size_t) const ynothrow
| 取指定行首元素指针。
| operator bool () const ynothrow
| 判断有效性。
BitmapPtr | GetBufferPtr () const ynothrow
const Size & | GetSize () const ynothrow
SDst | GetWidth () const ynothrow
SDst | GetHeight () const ynothrow
size_t | GetSizeOfBuffer () const ynothrow
| 取缓冲区占用空间。
BitmapPtr | at (size_t) const ythrow(GeneralEvent
| 取指定行首元素指针。
静态 Protected 属性 继承自 YSLib::Drawing::Graphics
static const Graphics | Invalid
| 无效图形接口上下文。

## 详细描述

扩展的标准矩形位图缓冲区。

注解
  满足 `std::is_nothrow_move_constructible<T>::value && std::is_nothrow_move_assignable<T>::value` 。

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

## 构造及析构函数说明

YSLib::Drawing::BitmapBufferEx::BitmapBufferEx | ( |  | ) |

inline

无参数构造。

注解
  零初始化。

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

YSLib::Drawing::BitmapBufferEx::BitmapBufferEx | ( | ConstBitmapPtr | ,
|  | SDst | ,
|  | SDst |
| ) |  |

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

YSLib::Drawing::BitmapBufferEx::BitmapBufferEx | ( | const BitmapBufferEx & |  | ) |

YSLib::Drawing::BitmapBufferEx::BitmapBufferEx | ( | BitmapBufferEx && |  | ) |

转移构造：转移资源。

自从
  build 296

YSLib::Drawing::BitmapBufferEx::~BitmapBufferEx | ( |  | ) |

inlineoverride

析构：释放资源。

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

参考 ydelete_array.

## 成员函数说明

void BitmapBufferEx::ClearImage | ( |  | ) | const

overridevirtual

清除缓冲区。

重载 YSLib::Drawing::BitmapBuffer .

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

参考 YSLib::Drawing::ClearPixel(),YSLib::Drawing::GetAreaOf(),YSLib::Drawing::Graphics::pBuffer,pBufferAlpha , 以及 YSLib::Drawing::Graphics::size.

参考自 DualScreenReader::Reset() , 以及 SetSize().

函数调用图:

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

BitmapBufferEx* YSLib::Drawing::BitmapBufferEx::Clone | ( |  | ) | const

inlineoverridevirtual

重载 YSLib::Drawing::BitmapBuffer .

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

u8* YSLib::Drawing::BitmapBufferEx::GetBufferAlphaPtr | ( |  | ) | const

inline

取 Alpha 缓冲区的指针。

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

参考自 YSLib::Drawing::TextRegion::operator()().

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

size_t YSLib::Drawing::BitmapBufferEx::GetSizeOfBufferAlpha | ( |  | ) | const

inline

取 Alpha 缓冲区占用空间。

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

BitmapBufferEx& YSLib::Drawing::BitmapBufferEx::operator= | ( | const BitmapBufferEx & | buf | ) |

inline

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

参考 Swap().

函数调用图:

BitmapBufferEx& YSLib::Drawing::BitmapBufferEx::operator= | ( | BitmapBufferEx && | buf | ) |

inline

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

参考 YSLib::Drawing::BitmapBuffer::Swap().

函数调用图:

void BitmapBufferEx::SetSize | ( | SDst | w,
|  | SDst | h
| ) |  |

overridevirtual

重新设置缓冲区大小。

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

重载 YSLib::Drawing::BitmapBuffer .

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

参考 ClearImage(),YSLib::Drawing::GetAreaOf(),YSLib::Drawing::Graphics::GetSize(),h,YSLib::Drawing::Size::Height,YSLib::Drawing::Graphics::pBuffer,pBufferAlpha,YSLib::Drawing::Graphics::size,std::swap(),w,YSLib::Drawing::Size::Width,YAssert,YB_UNLIKELY,ydelete_array , 以及 ynew.

参考自 DualScreenReader::Stretch().

函数调用图:

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

void YSLib::Drawing::BitmapBufferEx::Swap | ( | BitmapBufferEx & | buf | ) |

inline

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

参考 std::swap().

参考自 operator=().

函数调用图:

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

## 类成员变量说明

u8* YSLib::Drawing::BitmapBufferEx::pBufferAlpha

protected

Alpha 缓冲区指针。

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

参考自 ClearImage(),YSLib::Drawing::TextRegion::ClearLine(),YSLib::Drawing::TextRegion::Scroll() , 以及 SetSize().

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

- ygdi.h
- ygdi.cpp