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

YSTest PreAlpha_b700_20160611 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< Pixel[]>, const Size &) ynothrow
| 构造：使用指定位图指针和大小。 更多...
| CompactPixmap (const CompactPixmap &)
| DefDeMoveCtor (CompactPixmap) PDefHOp(CompactPixmap &
| 合一赋值：使用值参数和交换函数进行复制或转移赋值。 更多...
| DefGetter (const ynothrow ImplI(IImage), Graphics, Context, Graphics(GetBufferPtr(), GetSize())) void SetContent(ConstBitmapPtr
| 设置内容。 更多...
| PDefH (void, SetSize, SDst w, SDst h) ImplExpr(SetSize(
void | SetSize (const Size &) override
| 重新设置缓冲区大小。 更多...
void | SetSizeSwap ()
| 交换宽和高；同时清除缓冲区。 更多...
virtual void | ClearImage () const
| 清除缓冲区。 更多...
| DefClone (const ImplI(IImage), CompactPixmap) PDefH(void
| 交换。 更多...

## Public 属性

| SDst
| swap

## Private 类型

using | BaseType = GGraphics< unique_ptr< Pixel[]>>
Private 类型 继承自 YSLib::Drawing::GGraphics< unique_ptr< Pixel[]> >
using | PointerType = unique_ptr< Pixel[]>
using | SizeType = Size
using | PixelType = ystdex::decay_t< decltype(PointerType()[0])>

## 额外继承的成员函数

Private 成员函数 继承自 YSLib::Drawing::GGraphics< unique_ptr< Pixel[]> >
| DefDeCtor (GGraphics) explicit yconstfn GGraphics(PointerType p_buf
| 默认构造：使用空指针和大小。 更多...
const SizeType class _tSize2 explicit yconstfn | GGraphics (_tPointer2 p_buf, const _tSize2 &s={}) ynothrow
yconstfn | GGraphics (const GGraphics< _tPointer2, _tSize2 > &g) ynothrow
| 构造：使用其它类型的指定位图指针和大小类型的二维图形接口上下文。 更多...
| DefDeCopyCtor (GGraphics) DefDeMoveCtor(GGraphics) DefDeCopyAssignment(GGraphics) DefDeMoveAssignment(GGraphics) DefBoolNeg(explicit
| 复制构造：浅复制。 更多...
| bool (pBuffer)&&sGraphics.Width!=0 &&sGraphics.Height!=0) PointerType operator[](size_t r) const ynothrow
| 取指定行首元素指针。 更多...
| DefGetter (const ynothrow, const PointerType &, BufferPtr, pBuffer) DefGetter(const ynothrow
const SizeType sGraphics | DefGetter (const ynothrow, SDst, Width, sGraphics.Width) DefGetter(const ynothrow
const SizeType sGraphics sGraphics Height | DefGetter (const ynothrow, size_t, SizeOfBuffer, sizeof(PixelType)*size_t(GetAreaOf(sGraphics))) PointerType at(size_t r) const
| 取指定行首元素指针。 更多...
Private 属性 继承自 YSLib::Drawing::GGraphics< unique_ptr< Pixel[]> >
const SizeType & | s
const SizeType | Size
const SizeType sGraphics | SDst
const SizeType sGraphics | Height
PointerType | pBuffer
| 显示缓冲区指针。 更多...
SizeType | sGraphics
| 图形区域大小。 更多...

## 详细描述

标准矩形像素图缓冲区。

后置条件
  满足 `ystdex::is_nothrow_moveable<CompactPixmap>()` 。

注解
  保证像素数据连续。

自从
  build 418

在文件 YGDI.h 第 243 行定义.

## 成员类型定义说明

using YSLib::Drawing::CompactPixmap::BaseType = GGraphics<unique_ptr<Pixel[]>>

private

自从
  build 566

在文件 YGDI.h 第 249 行定义.

## 构造及析构函数说明

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

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

注解
  取得所有权。

在文件 YGDI.cpp 第 106 行定义.

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

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

参考 YSLib::Drawing::CopyBitmapBuffer(), platform::p , 以及 SetSize().

函数调用图:

## 成员函数说明

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

virtual

清除缓冲区。

在文件 YGDI.cpp 第 145 行定义.

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

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

函数调用图:

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

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

交换。

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

无参数构造：默认实现。

注解
  零初始化。

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

YSLib::Drawing::CompactPixmap::DefDeMoveCtor | ( | CompactPixmap |  | ) |

合一赋值：使用值参数和交换函数进行复制或转移赋值。

自从
  build 476

YSLib::Drawing::CompactPixmap::DefGetter | ( | const ynothrow | ImplIIImage,
|  | Graphics | ,
|  | Context | ,
|  | Graphics(GetBufferPtr(), GetSize()) |
| ) |  |

设置内容。

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

自从
  build 319

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

inline

在文件 YGDI.h 第 304 行定义.

参考 YSLib::Drawing::w.

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

override

重新设置缓冲区大小。

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

自从
  build 405

在文件 YGDI.cpp 第 126 行定义.

参考 platform::Descriptions::Alert, CatchThrow, ClearImage(), YSLib::Drawing::GGraphics< unique_ptr< Pixel[]> >::pBuffer, YSLib::Drawing::GGraphics< unique_ptr< Pixel[]> >::s, YSLib::Drawing::GGraphics< unique_ptr< Pixel[]> >::sGraphics, TryExpr, YSLib::YAssert() , 以及 YB_LIKELY.

参考自 CompactPixmap().

函数调用图:

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

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

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

在文件 YGDI.cpp 第 138 行定义.

参考 ClearImage(), YSLib::Drawing::Size::Height, YSLib::Drawing::GGraphics< unique_ptr< Pixel[]> >::sGraphics, ystdex::swap() , 以及 YSLib::Drawing::Size::Width.

函数调用图:

## 类成员变量说明

YSLib::Drawing::CompactPixmap::SDst

在文件 YGDI.h 第 265 行定义.

YSLib::Drawing::CompactPixmap::swap

在文件 YGDI.h 第 329 行定义.

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

- YGDI.h
- YGDI.cpp