YSTest: YSLib::Drawing 命名空间参考

YSTest PreAlpha_b700_20160611 The YSLib Test Project

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

- 命名空间列表
- 命名空间成员

命名空间 | 类 | 类型定义 | 枚举 | 函数 | 变量
YSLib::Drawing 命名空间参考

图形处理。 更多...

## 命名空间

| Shaders
| 着色器命名空间。

## 类

class | BadImageAlloc
| 图像资源分配失败异常：表示存储等资源不足导致无法创建图像。 更多...
class | BasicImage
| 使用 Graphics 定义的基本图像。 更多...
struct | BlitLineLoop
| 块传输扫描点循环操作。 更多...
struct | BlitScannerLoop
| 块传输扫描线循环操作。 更多...
class | CharBitmap
| 字符位图。 更多...
class | CompactPixmap
| 标准矩形像素图缓冲区。 更多...
struct | CopyLine
| 扫描线：按指定扫描顺序复制一行像素。 更多...
struct | CopyLine< false >
class | CustomTextRenderer
| 定制文本渲染器：使用自定义的渲染函数替代的 TextRenderer 。 更多...
class | EmptyTextRenderer
| 空文本渲染器。 更多...
class | Font
| 字体：字模，包含字型、样式和大小。 更多...
class | FontCache
| 字体缓存。 更多...
class | FontFamily
| 字型家族。 更多...
class | GBinaryGroup
| 屏幕二元组。 更多...
class | GGraphics
| 二维图形接口上下文模板。 更多...
class | GTextRendererBase
| 文本渲染器静态多态基类模板。 更多...
class | HBitmap
| 位图句柄：指向位图数据。 更多...
class | HImageMetadata
| 元数据句柄：表示打开的元数据和内容迭代状态。 更多...
class | HMultiBitmap
| 多页面位图句柄：指向多页面位图数据。 更多...
class | HS
| 按指定颜色或分量选取彩色或灰度色。 更多...
class | HSL
| HSL 颜色。 更多...
class | HSV
| HSV 颜色。 更多...
class | ImageBrush
| 图像画刷。 更多...
class | ImageCodec
class | ImageMemory
| 图像内存对象；保存图像内容的数据缓冲对象。 更多...
class | ImageMetadataFindData
| 图像元数据。 更多...
class | ImagePages
| 图像页面集。 更多...
class | MultiBitmapData
class | NativeFontSize
| 字体异常。 更多...
struct | Padding
| 空白样式。 更多...
class | PenStyle
| 笔样式：字体和笔颜色。 更多...
class | Rect
| 屏幕标准矩形：表示屏幕矩形区域。 更多...
class | Size
| 屏幕区域大小。 更多...
class | SolidBlendBrush
| 单色 Alpha 混合画刷。 更多...
class | SolidBrush
| 单色画刷。 更多...
class | SolidCompositeBrush
| 单色 Alpha 组合画刷。 更多...
class | TextRegion
| 文本区域。 更多...
class | TextRenderer
| 文本渲染器：简单实现。 更多...
class | TextState
| 文本状态。 更多...
class | Typeface
| 字型。 更多...
class | UnknownImageFormat
| 未知图像格式异常：表示请求的操作涉及的图像格式因为不明确而不受库的支持。 更多...
class | UnsupportedImageFormat
| 未被支持的图像格式异常：表示请求的操作涉及的图像格式不受库的支持。 更多...
struct | VerticalLineTransfomer
| 竖直线转换器。 更多...
class | ZoomedImageCache
| 缩放图像缓冲。 更多...

## 类型定义

using | FontSize = std::uint8_t
| 字体大小。 更多...
using | FontPath = string
| 字体文件路径。 更多...
using | FamilyName = string
| 字型家族名称。 更多...
using | StyleName = string
| 字型样式名称。 更多...
using | BitPerPixel = std::uint8_t
using | Point = GBinaryGroup< SPos >
| 屏幕二维点（直角坐标表示）。 更多...
using | Vec = GBinaryGroup< SPos >
| 屏幕二维向量（直角坐标表示）。 更多...
using | BitmapPtr = Pixel *
using | ConstBitmapPtr = const Pixel *
using | ConstGraphics = GGraphics< ConstBitmapPtr >
using | Graphics = GGraphics< BitmapPtr >
using | IteratorPair = ystdex::pair_iterator< ConstBitmapPtr, const AlphaType * >
| Alpha 光栅化源迭代器对。 更多...
template<typename... _types>
using | GBrushUpdater = GHEvent< void(const PaintContext &, _types...)>
| 画刷更新器类型。 更多...
template<class _tPixel >
using | MaskTrait = typename _tPixel::MaskTrait
template<class _tPixel , class _tMask >
using | EnableForMask = ystdex::enable_when< std::is_same< ystdex::detected_or_t< void, MaskTrait, _tPixel >, _tMask >::value >

## 枚举

enum | FontStyle : std::uint8_t { FontStyle::Regular = 0, FontStyle::Bold = 1, FontStyle::Italic = 2, FontStyle::Underline = 4, FontStyle::Strikeout = 8 }
| 字体样式。 更多...
enum | ImageFormat : int { ImageFormat::Unknown = -1, ImageFormat::BMP = 0, ImageFormat::ICO = 1, ImageFormat::JPEG = 2, ImageFormat::PNG = 13, ImageFormat::GIF = 25 }
| 图像格式。 更多...

enum

ImageDecoderFlags : int {
ImageDecoderFlags::Default = 0, ImageDecoderFlags::GIF_Load256 = 1, ImageDecoderFlags::GIF_Playback = 2, ImageDecoderFlags::ICO_MakeAlpha = 1,
ImageDecoderFlags::JPEG_Fast = 0x0001, ImageDecoderFlags::JPEG_Accurate = 0x0002, ImageDecoderFlags::JPEG_CMYK = 0x0004, ImageDecoderFlags::JPEG_EXIFRotate = 0x0008,
ImageDecoderFlags::JPEG_GreyScale = 0x0010, ImageDecoderFlags::JPEG_QualitySuperb = 0x80, ImageDecoderFlags::JPEG_QualityGood = 0x0100, ImageDecoderFlags::JPEG_QualityNormal = 0x0200,
ImageDecoderFlags::JPEG_QualityAverage = 0x0400, ImageDecoderFlags::JPEG_QualityBad = 0x0800, ImageDecoderFlags::JPEG_Progressive = 0x2000, ImageDecoderFlags::JPEG_Subsampling_411 = 0x1000,
ImageDecoderFlags::JPEG_Subsampling_420 = 0x4000, ImageDecoderFlags::JPEG_Subsampling_422 = 0x8000, ImageDecoderFlags::JPEG_Subsampling_444 = 0x10000, ImageDecoderFlags::JPEG_Optimize = 0x20000,
ImageDecoderFlags::JPEG_Baseline = 0x40000
}

| 图像解码器标识。 更多...

enum

ImageMetadataModel {
ImageMetadataModel::NoData = -1, ImageMetadataModel::Comments = 0, ImageMetadataModel::EXIF_Main = 1, ImageMetadataModel::EXIF_EXIF = 2,
ImageMetadataModel::EXIF_GPS = 3, ImageMetadataModel::EXIF_MakerNote = 4, ImageMetadataModel::EXIF_Interop = 5, ImageMetadataModel::IPTC = 6,
ImageMetadataModel::XMP = 7, ImageMetadataModel::GeoTIFF = 8, ImageMetadataModel::Animation = 9, ImageMetadataModel::Custom = 10,
ImageMetadataModel::EXIF_RAW = 11
}

| 图像元数据模型标识。 更多...
enum | Rotation : yimpl(size_t) { RDeg0 = 0, RDeg90 = 1, RDeg180 = 2, RDeg270 = 3 }
| 逆时针旋转角度指示输出指向。 更多...

## 函数

YF_API const Typeface & | FetchDefaultTypeface ()
| 取默认字型引用。 更多...
template<typename _type >
yconstfn GBinaryGroup< _type > | operator+ (GBinaryGroup< _type > val, const Size &s) ynothrow
| 加法：使用屏幕二元组和屏幕区域大小分量对应相加构造屏幕二元组。 更多...
template<typename _type >
yconstfn GBinaryGroup< _type > | operator- (GBinaryGroup< _type > val, const Size &s) ynothrow
| 减法：使用屏幕二元组和屏幕区域大小分量对应相加构造屏幕二元组。 更多...
yconstfn | PDefH (Size, Transpose, const Size &s) ynothrow ImplRet(
| 转置。 更多...
template<typename _tScalar = float>
yconstfn _tScalar | ScaleMin (const Size &x, const Size &y, _tScalar threshold=1.F)
| 计算两个大小和阈值限定的最小缩放值。 更多...
template<typename _tOut , typename _tIn >
void | CopyBitmapBuffer (_tOut p_dst, _tIn p_src, const Size &s)
template<typename _tOut , typename _tIn , typename _fBlitScanner >
void | BlitGlyphLines (_fBlitScanner scanner, _tOut dst, _tIn src, const Size &ss, const PaintContext &pc, bool neg_pitch)
| 字符按扫描线块传输。 更多...
template<typename _tOut , typename _tIn , typename _fPixelShader >
void | BlitGlyphPixels (_fPixelShader blit, _tOut dst, _tIn src, const Size &ss, const PaintContext &pc, bool neg_pitch)
| 字符按像素块传输。 更多...
YF_API void | RenderChar (PaintContext &&pc, Color, bool, CharBitmap::BufferType, CharBitmap::FormatType, const Size &)
| 渲染单个字符。 更多...
YF_API void | RenderCharAlpha (PaintContext &&pc, Color, bool, CharBitmap::BufferType, CharBitmap::FormatType, const Size &, AlphaType *)
| 渲染带 Alpha 缓冲的单个字符。 更多...
template<class _tRenderer >
SPos | GetEndOfLinePositionOf (const _tRenderer &rd)
| 取文本渲染器的行末位置（横坐标）。 更多...
template<class _tRenderer >
SPos | GetEndOfLineOffsetOf (const _tRenderer &rd)
| 取文本渲染器的行末位置剩余偏移。 更多...
template<class _tRenderer >
void | PrintChar (_tRenderer &rd, char32_t c)
| 打印单个可打印字符。 更多...
template<class _tRenderer , typename _tChar , typename... _tParams>
PutCharResult | PutChar (_tRenderer &rd, _tChar c, _tParams &&...args)
yconstexpr const Padding | DefaultMargin (2, 2, 2, 2)
| 默认边距。 更多...
YF_API SDst | FetchResizedBottomMargin (const TextState &, SDst)
| 取指定文本状态和文本区域高调整的底边距。 更多...
YF_API std::uint16_t | FetchResizedLineN (const TextState &ts, SDst)
| 取指定文本状态和文本区域高所能显示的最大文本行数。 更多...
YF_API SPos | FetchLastLineBasePosition (const TextState &, SDst)
| 取指定文本状态在指定高的区域中表示的最底行的基线位置（纵坐标）。 更多...
| PDefH (SDst, FetchResizedBottomMargin, const TextRegion &tr) ImplRet(FetchResizedBottomMargin(tr
| 取按字体高度和行距调整文本区域的底边距。 更多...
tr | GetHeight ())) inline PDefH(void
| 按字体高度和行距调整文本区域的底边距。 更多...
tr TextRegion &tr | ImplExpr (tr.Margin.Bottom=SPos(FetchResizedBottomMargin(tr))) YF_API SDst FetchCharWidth(const Font &
| 取指定的字符使用指定字体的显示宽度。 更多...
template<class _tString , yimpl(typename=ystdex::enable_for_string_class_t< _tString >) >
pair< size_t, SDst > | FetchStringOffsets (size_t max_width, const Font &fnt, const _tString &str)
| 取单行字符串在指定字体和宽度时的最多能显示的字符数和宽。 更多...
template<class _tString , yimpl(typename=ystdex::enable_for_string_class_t< _tString >) >
pair< size_t, SDst > | FetchStringOffsets (size_t max_width, const Font &fnt, const _tString &str, size_t n)
| 取单行字符串前不超过 n 个字符在指定字体和宽度时的 最多能显示的字符数和宽。 更多...
template<typename _tIter , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >
SDst | FetchStringWidth (const Font &fnt, _tIter s)
| 取迭代器指定的单行字符串在字体指定、无边界限制时的显示宽度。 更多...
template<class _tString , yimpl(typename=ystdex::enable_for_string_class_t< _tString >) >
SDst | FetchStringWidth (const Font &fnt, const _tString &str)
| 取单行字符串在字体指定、无边界限制时的显示宽度。 更多...
template<class _tString , yimpl(typename=ystdex::enable_for_string_class_t< _tString >) >
SDst | FetchStringWidth (const Font &fnt, const _tString &str, size_t n)
| 取单行字符串前不超过 n 个字符在字体指定、无边界限制时的显示宽度。 更多...
template<typename _tIter , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >
SDst | FetchStringWidth (TextState &ts, SDst h, _tIter s)
| 取迭代器指定的单行字符串在指定文本状态和高度限制时的显示宽度。 更多...
template<typename _tIter , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >
SDst | FetchStringWidth (TextState &ts, SDst h, _tIter s, _tIter g, char32_t c={})
| 取迭代器指定的单行字符串在指定文本状态和高度限制时的显示宽度。 更多...
template<class _tString , yimpl(typename=ystdex::enable_for_string_class_t< _tString >) >
SDst | FetchStringWidth (TextState &ts, SDst h, const _tString &str)
| 取单行字符串在指定文本状态和高度限制时的显示宽度。 更多...
template<typename _tIn , yimpl(typename=ystdex::enable_for_iterator_t< _tIn >) >
SDst | FetchMaxTextWidth (const Font &font, _tIn first, _tIn last)
| 取指定字体显示的迭代器范围中的文本的最大宽度。 更多...
template<typename... _tParams>
void | PutText (bool multi, _tParams &&...args)
| 打印文本。 更多...
YF_API void | DrawClippedText (const Graphics &g, const Rect &bounds, TextState &ts, const String &str, bool line_wrap)
| 绘制剪切区域的文本。 更多...
YF_API void | DrawClippedText (const Graphics &g, const Rect &bounds, const Rect &r, const String &str, const Padding &m, Color, bool line_wrap, const Font &fnt={})
YF_API bool | BlitBounds (const Point &, const Point &, const Size &, const Size &, const Size &, SDst &, SDst &, SDst &, SDst &)
| 块传输边界计算器。 更多...
template<bool _bDec>
yconstfn size_t | BlitScaleComponent (SPos d, SPos s, SDst delta)
| 块传输偏移分量计算器。 更多...
template<bool _bDec, typename _tScalar , typename _tDiff , typename _tOut , typename _tIn , typename _fBlitLoop >
void | BlitScan (_fBlitLoop loop, _tOut dst, _tIn src, _tScalar d_width, _tScalar s_width, _tDiff delta_x, _tDiff delta_y)
| 块传输扫描函数模板。 更多...
template<bool _bSwapLR, bool _bSwapUD, typename _tOut , typename _tIn , typename _fBlitLoop >
void | Blit (_fBlitLoop loop, _tOut dst, _tIn src, const Size &ds, const Size &ss, const Point &dp, const Point &sp, const Size &sc)
| 块传输函数模板。 更多...
template<bool _bSwapLR, bool _bSwapUD, typename _tOut , typename _tIn , typename _fBlitScanner >
void | BlitLines (_fBlitScanner scanner, _tOut dst, _tIn src, const Size &ds, const Size &ss, const Point &dp, const Point &sp, const Size &sc)
| 扫描线块传输函数模板。 更多...
template<bool _bSwapLR, bool _bSwapUD, typename _tOut , typename _tIn , typename _fPixelShader >
void | BlitPixels (_fPixelShader shader, _tOut dst, _tIn src, const Size &ds, const Size &ss, const Point &dp, const Point &sp, const Size &sc)
| 像素块传输函数模板。 更多...
template<typename _func , typename _tOut , typename _tIn >
void | BlitRect (_func f, _tOut dst, _tIn src, const Size &ds, const Rect &r)
template<typename _func , typename _tOut , typename _tIn >
void | BlitRect (_func f, _tOut dst, _tIn src, SDst dw, SDst dh, SPos x, SPos y, SDst w, SDst h)
template<typename _tPixel , typename _tOut , typename... _tParams>
void | FillRectRaw (_tOut dst, _tPixel c, _tParams &&...args)
| 使用指定像素填充指定的标准矩形区域。 更多...
template<class _fTransformPixel >
bool | TransformRect (const Graphics &g, const Point &pt, const Size &s, _fTransformPixel tp)
| 以像素为单位变换标准矩形。 更多...
template<class _fTransformPixel >
bool | TransformRect (const Graphics &g, const Rect &r, _fTransformPixel tp)
| 以像素为单位变换标准矩形。 更多...
YF_API void | CopyBuffer (const Graphics &, const ConstGraphics &)
| 以第一个参数作为目标，复制第二个参数的缓冲区内容。 更多...
YF_API void | ClearImage (const Graphics &)
| 清除图形接口上下文缓冲区。 更多...
YF_API void | Fill (const Graphics &, Color)
| 使用指定颜色填充图形接口上下文缓冲区。 更多...
template<typename _fPixelShader , bool _bSwapLR = false, bool _bSwapUD = false>
void | UpdatePixels (_fPixelShader shader, const PaintContext &pc, const Drawing::Image &img, const Point &dst_offset, const Point &src_offset)
| 更新：逐像素操作。 更多...
template<typename _fPixelShader , bool _bSwapLR = false, bool _bSwapUD = false>
void | UpdateTranposedPixels (_fPixelShader shader, const PaintContext &pc, const Drawing::Image &img, const Point &dst_offset, const Point &src_offset)
| 更新：转置的逐像素操作。 更多...
template<Rotation _vRot = RDeg0, typename _fPixelShader = Shaders::BlitAlphaPoint>
void | UpdatePixelsWithRotation (_fPixelShader shader, const PaintContext &pc, const Drawing::Image &img, const Point &dst_offset, const Point &src_offset)
| 更新：可能旋转源图像的像素操作。 更多...
template<Rotation _vRot = RDeg0, typename _fPixelShader = Shaders::BlitAlphaPoint>
void | UpdateRotatedBrush (const PaintContext &pc, const Drawing::Image &img, const Point &dst_offset, const Point &src_offset)
| 使用默认构造的画刷更新：可能旋转源图像的像素操作。 更多...
template<typename _fPixelShader = Shaders::BlitAlphaPoint, typename _tImage = Drawing::Image>
GBrushUpdater< const _tImage &, const Point &, const Point & > | DispatchRotatedBrush (Rotation rot)
| 按指定的源图像旋转方向构造画刷。 更多...
| PDefH (void, PutPixel, BitmapPtr dst, SDst w, SPos x, SPos y, Color c) ImplExpr(Nonnull(dst)[y *ptrdiff_t(w)+x]
| 修改指定位置的像素：(x, y) 。 更多...
| PDefH (void, DrawHLineSeg, const Graphics &g, const Rect &bounds, SPos y, SPos x1, SPos x2, Color c) ImplExpr(YAssert(bounds.IsUnstrictlyEmpty()||Rect(g.GetSize()).Contains(bounds)
| 描画水平线段。 更多...
The boundary is out of the | PlotHLineSeg (g.GetBufferPtr(), bounds, g.GetWidth(), y, x1, x2, c)) YF_API void PlotVLineSeg(BitmapPtr dst
| 绘制竖直线段：在宽 w 的缓冲区内的区域 bounds 绘制指定竖直水平坐标 x ， 竖直坐标 y1 - 1 、 y2 。 更多...
| PDefH (void, DrawVLineSeg, const Graphics &g, const Rect &bounds, SPos x, SPos y1, SPos y2, Color c) ImplExpr(YAssert(bounds.IsUnstrictlyEmpty()||Rect(g.GetSize()).Contains(bounds)
| 描画竖直线段。 更多...
The boundary is out of the | PlotVLineSeg (g.GetBufferPtr(), bounds, g.GetWidth(), x, y1, y2, c)) YF_API void PlotLineSeg(BitmapPtr dst
| 绘制线段：在宽 w 的缓冲区内的区域 bounds 绘制端点为 p1(x1, y1) 和 p2(x2, y2) 的线段。 更多...
template<typename _tIn >
void | DrawPolygon (Graphics &g, const Rect &bounds, _tIn first, _tIn last, Color c)
| 描画多边形。 更多...
YF_API void | DrawCross (const Graphics &, const Rect &, const Rect &, Color)
| 在指定图形接口上下文中使用指定颜色描画交叉直线段（“×”）。 更多...
| ImplDeDtor (FontException) namespace
| ImplDeDtor (BadImageAlloc) ImplDeDtor(UnsupportedImageFormat) ImplDeDtor(UnknownImageFormat) void ImageMemory
TimeSpan | GetFrameTimeOf (const HBitmap &bmp)
Size | GetLogicalSizeOf (const HBitmap &bmp)
string | to_string (const ImageTag &tag, ImageMetadataModel model)
string | to_string (const Size &s)
string | to_string (const Rect &r)
void | SetCurrentTextLineNOf (TextState &ts, std::uint16_t n)
void | MovePen (TextState &ts, char32_t c)
SDst | FetchCharWidth (const Font &fnt, char32_t c)
| ImplDeDtor (TextRegion) void TextRegion
void | PlotHLineSeg (BitmapPtr dst, const Rect &bounds, SDst w, SPos y, SPos x1, SPos x2, Color c)
void | PlotVLineSeg (BitmapPtr dst, const Rect &bounds, SDst w, SPos x, SPos y1, SPos y2, Color c)
void | PlotLineSeg (BitmapPtr dst, const Rect &bounds, SDst w, SPos x1, SPos y1, SPos x2, SPos y2, Color c)
void | DrawRect (const Graphics &g, const Rect &bounds, const Rect &r, Color c)
Rect | operator+ (const Rect &r, const Padding &m)
Padding | FetchMargin (const Rect &r, const Size &s)
Point | ClipBounds (Rect &clip, const Rect &bounds)
Point | ClipMargin (PaintContext &pc, const Padding &m, const Size &ss)
| ImplDeDtor (BasicImage) CompactPixmap
bool | CopyTo (BitmapPtr dst, const ConstGraphics &g, const Size &ds, const Point &dp, const Point &sp, const Size &sc, Rotation rot)
bool | CopyTo (BitmapPtr dst, const CompactPixmapEx &buf, const Size &ds, const Point &dp, const Point &sp, const Size &sc, Rotation rot)
bool | BlitTo (BitmapPtr dst, const CompactPixmapEx &buf, const Size &ds, const Point &dp, const Point &sp, const Size &sc, Rotation rot)
template<typename _tIter , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >
pair< size_t, SDst > | FetchStringOffsets (size_t max_width, const Font &fnt, _tIter s)
| 取迭代器指定的单行字符串在指定字体和宽度时的最多能显示的字符数和宽。 更多...
template<typename _tIter , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >
pair< size_t, SDst > | FetchStringOffsets (size_t max_width, const Font &fnt, _tIter s, size_t n, char32_t c={})
| 取迭代器指定的单行字符串在指定字体和宽度时的最多能显示的字符数和宽。 更多...
template<typename _tIter , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >
pair< size_t, SDst > | FetchStringOffsets (size_t max_width, const Font &fnt, _tIter s, _tIter g, char32_t c={})
| 取迭代器指定的单行字符串在指定字体和宽度时的最多能显示的字符数和宽。 更多...
template<typename _tIter , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >
SDst | FetchStringWidth (const Font &fnt, _tIter s, size_t n, char32_t c={})
| 取迭代器指定的单行字符串在字体指定、无边界限制时的显示宽度。 更多...
template<typename _tIter , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >
SDst | FetchStringWidth (const Font &fnt, _tIter s, _tIter g, char32_t c={})
| 取迭代器指定的单行字符串在字体指定、无边界限制时的显示宽度。 更多...
template<typename _tIter , class _tRenderer , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >
_tIter | PrintLine (_tRenderer &rd, _tIter s)
| 打印迭代器指定的起始字符的字符串，直至行尾或字符迭代终止。 更多...
template<typename _tIter , class _tRenderer , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >
_tIter | PrintLine (_tRenderer &rd, _tIter s, _tIter g, char32_t c={})
| 打印迭代器指定的起始字符的字符串，直至行尾或字符迭代终止。 更多...
template<class _tRenderer , class _tString , yimpl(typename=ystdex::enable_for_string_class_t< _tString >) >
String::size_type | PrintLine (_tRenderer &rd, const _tString &str)
| 打印字符串，直至行尾或字符串结束。 更多...
template<typename _tIter , class _tRenderer , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >
_tIter | PrintString (_tRenderer &rd, _tIter s)
| 打印迭代器指定的起始字符的字符串，直至区域末尾或字符迭代终止。 更多...
template<typename _tIter , class _tRenderer , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >
_tIter | PrintString (_tRenderer &rd, _tIter s, _tIter g, char32_t c={})
| 打印迭代器指定的起始字符的字符串，直至区域末尾或字符迭代终止。 更多...
template<class _tRenderer , class _tString , yimpl(typename=ystdex::enable_for_string_class_t< _tString >) >
String::size_type | PrintString (_tRenderer &rd, const _tString &str)
| 打印字符串，直至区域末尾或字符串结束。 更多...
template<typename _tIter , class _tRenderer , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >
_tIter | PutLine (_tRenderer &rd, _tIter s)
| 打印迭代器指定的起始字符的字符串，直至行尾或字符迭代终止。 更多...
template<typename _tIter , class _tRenderer , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >
_tIter | PutLine (_tRenderer &rd, _tIter s, _tIter g, char32_t c={})
| 打印迭代器指定的起始字符的字符串，直至行尾或字符迭代终止。 更多...
template<class _tRenderer , class _tString , yimpl(typename=ystdex::enable_for_string_class_t< _tString >) >
String::size_type | PutLine (_tRenderer &rd, const _tString &str)
| 打印字符串，直至行尾或字符串结束。 更多...
template<typename _tIter , class _tRenderer , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >
_tIter | PutString (_tRenderer &rd, _tIter s)
| 打印迭代器指定的起始字符的字符串，直至区域末尾或字符迭代终止。 更多...
template<typename _tIter , class _tRenderer , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >
_tIter | PutString (_tRenderer &rd, _tIter s, _tIter g, char32_t c={})
| 打印迭代器指定的起始字符的字符串，直至区域末尾或字符迭代终止。 更多...
template<class _tRenderer , class _tString , yimpl(typename=ystdex::enable_for_string_class_t< _tString >) >
String::size_type | PutString (_tRenderer &rd, const _tString &str)
| 打印字符串，直至区域末尾或字符串结束。 更多...
YF_API void | DrawText (const Graphics &g, TextState &ts, const String &str, bool line_wrap)
| 绘制文本。 更多...
YF_API void | DrawText (const Graphics &g, const Rect &bounds, const String &str, const Padding &m, Color, bool line_wrap, const Font &fnt={})
YF_API void | DrawText (TextRegion &r, const Graphics &g, const Point &pt, const Size &s, const String &str, bool line_wrap)
template<typename _tPixel , typename _tOut , typename... _tParams>
void | BlendRectRaw (_tOut dst, _tPixel c, _tParams &&...args)
| 使用指定像素 Alpha 混合指定的标准矩形区域。 更多...
YF_API void | BlendRect (const Graphics &, const Rect &, Color)
template<typename _tPixel , typename _tOut , typename... _tParams>
void | CompositeRectRaw (_tOut dst, _tPixel c, _tParams &&...args)
| 使用指定像素 Alpha 组合指定的标准矩形区域。 更多...
YF_API void | CompositeRect (const Graphics &, const Rect &, Color)
template<typename _func , typename _tOut , typename _tIn >
void | BlitRect (_func f, _tOut dst, _tIn src, const Size &ds, const Size &ss, const Point &dp, const Point &sp, const Size &sc)
| 矩形块传输函数模板。 更多...
template<typename _func , typename _tOut , typename _tIn >
void | BlitRect (_func f, _tOut dst, _tIn src, const Size &ds, const Point &sp, const Size &sc)
template<typename _tOut , typename _tIn , typename _fBlitScanner , typename... _tParams>
void | BlitRectLines (_fBlitScanner scanner, _tOut dst, _tIn src, _tParams &&...args)
| 根据指定批量操作（块传输扫描器或像素着色器）函数对象对矩形像素块进行批量操作。 更多...
template<typename _tOut , typename _tIn , typename _fPixelShader , typename... _tParams>
void | BlitRectPixels (_fPixelShader shader, _tOut dst, _tIn src, _tParams &&...args)
template<typename _func >
void | DispatchTranspose (std::false_type, _func updater, const ConstGraphics &src)
| 分派用于着色器更新的可能转置的图像。 更多...
template<typename _func >
void | DispatchTranspose (std::true_type, _func updater, const ConstGraphics &src)
template<typename _tOut >
_tOut | ClearPixels (_tOut dst, size_t n) ynothrowv
| 清除指定位置的 n 个连续像素。 更多...
template<typename _tPixel , typename _tOut >
void | FillPixels (_tOut dst_iter, size_t n, _tPixel c)
| 使用 n 个指定像素连续填充指定位置。 更多...
template<typename _tPixel , typename _tOut >
void | FillVerticalLine (_tOut dst, size_t n, SDst dw, _tPixel c)
| 使用 n 个指定像素竖直填充指定位置。 更多...
c YF_API void | FillRect (const Graphics &g, const Rect &r, Color c)
| 填充标准矩形。 更多...
| PDefH (void, FillRect, const Graphics &g, const Rect &bounds, const Rect &r, Color c) ImplExpr(FillRect(g
bounds c YF_API void | DrawCircle (const Graphics &g, const Rect &bounds, const Point &, SDst, Color)
| 描画圆形。 更多...
YF_API void | FillCircle (const Graphics &g, const Rect &bounds, const Point &, SDst, Color)
| 填充圆形。 更多...
YF_API void | DrawRectRoundCorner (const PaintContext &pc, const Size &s, Color)
| 绘制部件边框用空心标准矩形。 更多...
YF_API void | RectDrawArrow (const PaintContext &, SDst, Rotation=RDeg0, Color=ColorSpace::Black)
| 在指定上下文的矩形中描画底边和坐标轴共线的等腰直角三角形箭头。 更多...
YF_API void | RectDrawArrowOutline (const PaintContext &, SDst, Rotation=RDeg0, Color=ColorSpace::Black)
| 在指定上下文的矩形中描画底边和坐标轴共线的等腰直角三角形箭头轮廓。 更多...
YF_API void | RectDrawCornerArrow (const PaintContext &, SDst, Rotation=RDeg0, Color=ColorSpace::Black)
| 在指定上下文的矩形中描画腰和坐标轴共线的等腰直角三角形箭头。 更多...
YF_API void | RectDrawCornerArrowOutline (const PaintContext &, SDst, Rotation=RDeg0, Color=ColorSpace::Black)
| 在指定上下文的矩形中描画腰和坐标轴共线的等腰直角三角形箭头轮廓。 更多...
YF_API void | DrawArrow (const Graphics &, const Rect &, const Rect &, SDst=4, Rotation=RDeg0, Color=ColorSpace::Black, bool={})
| 在指定图形接口上下文上描画底边和坐标轴共线的等腰直角三角形箭头。 更多...
YF_API void | DrawCornerArrow (const Graphics &, const Rect &, const Point &, SDst=4, Rotation=RDeg0, Color=ColorSpace::Black, bool={})
| 在指定图形接口上下文上描画腰和坐标轴共线的等腰直角三角形箭头。 更多...
YF_API void | DrawTick (const Graphics &, const Rect &, const Rect &, Color, Color)
| PDefH (void, DrawTick, const Graphics &g, const Rect &bounds, const Rect &r, Color c) ImplExpr(DrawTick(g
c yconstfn | PDefH (Color, MakeGray, MonoType g) ImplRet(Color(g
| 按指定分量取灰度色。 更多...

## 变量

| FetchName
tr | AdjustBottomMarginOf
tr TextRegion &tr | char32_t
The boundary is out of the const Rect SDst | w
The boundary is out of the const Rect SDst SPos | x
The boundary is out of the const Rect SDst SPos SPos | y1
The boundary is out of the const Rect SDst SPos SPos SPos | y2
The boundary is out of the const Rect SDst SPos SPos SPos | Color
The boundary is out of the const Rect SDst SPos | x1
The boundary is out of the const Rect SDst SPos SPos SPos | x2
enum | PutCharResult { PutCharResult::NeedNewline, PutCharResult::PutNewline, PutCharResult::NotPrintable, PutCharResult::Normal }
| 输出字符结果。 更多...
YF_API PutCharResult | PutCharBase (TextState &, SDst, char32_t)
| 使用指定的文本状态和行末位置按需打印换行并判断是否需要渲染单个字符。 更多...
template<class _tRenderer >
PutCharResult | PutChar (_tRenderer &rd, char32_t c, SDst eol)
| 打印单个字符。 更多...
template<class _tRenderer >
PutCharResult | PutChar (_tRenderer &rd, char32_t c)
using | ImageScale = ystdex::fixed_point< yimpl(std::uint32_t, 12U)>
| 图像缩放类型。 更多...
YF_API CompactPixmap | Zoom (const HBitmap &, ImageScale)
| 缩放位图。 更多...
The boundary is out of the | buffer
The boundary is out of the const Rect & | bounds
The boundary is out of the | DrawLineSeg
The boundary is out of the const Graphics & | g
The boundary is out of the const Graphics const Rect const Point & | p1
The boundary is out of the const Graphics const Rect const Point const Point & | p2
The boundary is out of the const Graphics const Rect const Point const Point Color c const Rect const Rect & | r
The boundary is out of the const Graphics const Rect const Point const Point Color c const Rect const Rect Color | c
| PDefH (void, DrawLineSeg, const Graphics &g, const Rect &bounds, SPos x1, SPos y1, SPos x2, SPos y2, Color c) ImplExpr(YAssert(bounds.IsUnstrictlyEmpty()||Rect(g.GetSize()).Contains(bounds)
The boundary is out of the | PlotLineSeg (g.GetBufferPtr(), bounds, g.GetWidth(), x1, y1, x2, y2, c)) inline PDefH(void
The boundary is out of the const Graphics const Rect const Point const Point Color c | ImplExpr (DrawLineSeg(g, bounds, p1.X, p1.Y, p2.X, p2.Y, c)) YF_API void DrawRect(const Graphics &g
| 描画标准矩形。 更多...
| PDefH (void, DrawRect, const Graphics &g, const Rect &bounds, const Point &pt, const Size &s, Color c) ImplExpr(DrawRect(g

## 详细描述

图形处理。

自从
  build 456

## 类型定义说明

using YSLib::Drawing::BitmapPtr = typedef Pixel*

自从
  早于 build 132

在文件 YGraphics.h 第 42 行定义.

using YSLib::Drawing::BitPerPixel = typedef std::uint8_t

自从
  build 402

在文件 Image.h 第 57 行定义.

using YSLib::Drawing::ConstBitmapPtr = typedef const Pixel*

自从
  早于 build 132

在文件 YGraphics.h 第 44 行定义.

using YSLib::Drawing::ConstGraphics = typedef GGraphics<ConstBitmapPtr>

自从
  build 559

在文件 YGraphics.h 第 160 行定义.

using YSLib::Drawing::FamilyName = typedef string

字型家族名称。

自从
  build 277

在文件 Font.h 第 83 行定义.

using YSLib::Drawing::FontPath = typedef string

字体文件路径。

自从
  build 277

在文件 Font.h 第 78 行定义.

using YSLib::Drawing::FontSize = typedef std::uint8_t

字体大小。

自从
  build 277

在文件 Font.h 第 73 行定义.

template<typename... _types>

using YSLib::Drawing::GBrushUpdater = typedef GHEvent<void(const PaintContext&, _types...)>

画刷更新器类型。

自从
  build 525

按目标绘制上下文、源和附加偏移更新目标图像的回调接口。

在文件 YBrush.h 第 119 行定义.

using YSLib::Drawing::Graphics = typedef GGraphics<BitmapPtr>

自从
  build 559

在文件 YGraphics.h 第 163 行定义.

using YSLib::Drawing::ImageScale = typedef ystdex::fixed_point<yimpl(std::uint32_t, 12U)>

图像缩放类型。

自从
  build 555

在文件 ImageProcessing.h 第 49 行定义.

using YSLib::Drawing::IteratorPair = typedef ystdex::pair_iterator<ConstBitmapPtr, const AlphaType*>

Alpha 光栅化源迭代器对。

自从
  build 417

在文件 YBlit.h 第 562 行定义.

using YSLib::Drawing::Point = typedef GBinaryGroup<SPos>

屏幕二维点（直角坐标表示）。

自从
  build 242

在文件 YGDIBase.h 第 278 行定义.

using YSLib::Drawing::StyleName = typedef string

字型样式名称。

自从
  build 277

在文件 Font.h 第 88 行定义.

using YSLib::Drawing::Vec = typedef GBinaryGroup<SPos>

屏幕二维向量（直角坐标表示）。

自从
  build 242

在文件 YGDIBase.h 第 285 行定义.

## 枚举类型说明

enum YSLib::Drawing::FontStyle : std::uint8_t

strong

字体样式。

自从
  build 197

枚举值
Regular | 常规字体。
Bold | 粗体。
Italic | 斜体。
Underline | 下划线。
Strikeout | 删除线。

在文件 Font.h 第 95 行定义.

enum YSLib::Drawing::ImageDecoderFlags : int

strong

图像解码器标识。

注解
  数值对应 FreeImage 实现。

自从
  build 457

枚举值
Default |
GIF_Load256 |
GIF_Playback |
ICO_MakeAlpha |
JPEG_Fast |
JPEG_Accurate |
JPEG_CMYK |
JPEG_EXIFRotate |
JPEG_GreyScale |
JPEG_QualitySuperb |
JPEG_QualityGood |
JPEG_QualityNormal |
JPEG_QualityAverage |
JPEG_QualityBad |
JPEG_Progressive |
JPEG_Subsampling_411 |
JPEG_Subsampling_420 |
JPEG_Subsampling_422 |
JPEG_Subsampling_444 |
JPEG_Optimize |
JPEG_Baseline |

在文件 Image.h 第 83 行定义.

enum YSLib::Drawing::ImageFormat : int

strong

图像格式。

注解
  数值对应 FreeImage 实现的 `::FREE_IMAGE_FORMAT` 。

参见
  FreeImage 宏 FI_ENUM 。

自从
  build 457

枚举值
Unknown |
BMP |
ICO |
JPEG |

PNG

自从
  build 470

GIF |

在文件 Image.h 第 66 行定义.

enum YSLib::Drawing::ImageMetadataModel

strong

图像元数据模型标识。

注解
  数值对应 FreeImage 实现的 `::FREE_IMAGE_MDMODEL` 。

自从
  build 557

枚举值
NoData |
Comments |
EXIF_Main |
EXIF_EXIF |
EXIF_GPS |
EXIF_MakerNote |
EXIF_Interop |
IPTC |
XMP |
GeoTIFF |
Animation |
Custom |
EXIF_RAW |

在文件 Image.h 第 137 行定义.

enum YSLib::Drawing::PutCharResult

strong

输出字符结果。

自从
  build 587

枚举值
NeedNewline | 行内无法容纳而换行。
PutNewline | 输出换行符。
NotPrintable | 遇到不可打印字符。
Normal | 可继续在同一行输出可打印字符。

在文件 CharRenderer.h 第 169 行定义.

enum YSLib::Drawing::Rotation : yimpl(size_t)

related

逆时针旋转角度指示输出指向。

注解
  保证底层为无符号整数类型。

自从
  build 416

枚举值
RDeg0 |
RDeg90 |
RDeg180 |
RDeg270 |

在文件 YGDIBase.h 第 895 行定义.

## 函数说明

void YSLib::Drawing::BlendRect | ( | const Graphics & | g,
|  | const Rect & | r,
|  | Color | c
| ) |  |

在文件 YBlend.cpp 第 40 行定义.

参考 BlendRectRaw(), r , 以及 YAssert.

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

函数调用图:

这是这个函数的调用关系图:
template<typename _tPixel , typename _tOut , typename... _tParams>

void YSLib::Drawing::BlendRectRaw | ( | _tOut | dst,
|  | _tPixel | c,
|  | _tParams &&... | args
| ) |  |

inline

使用指定像素 Alpha 混合指定的标准矩形区域。

自从
  build 584

在文件 YBlend.h 第 121 行定义.

参考 CHRLib::args, BlitRectPixels() , 以及 yforward.

参考自 BlendRect().

函数调用图:

这是这个函数的调用关系图:
template<bool _bSwapLR, bool _bSwapUD, typename _tOut , typename _tIn , typename _fBlitLoop >

void YSLib::Drawing::Blit | ( | _fBlitLoop | loop,
|  | _tOut | dst,
|  | _tIn | src,
|  | const Size & | ds,
|  | const Size & | ss,
|  | const Point & | dp,
|  | const Point & | sp,
|  | const Size & | sc
| ) |  |

块传输函数模板。

模板参数

  _bSwapLR | 水平翻转镜像（关于水平中轴对称）。
  _bSwapUD | 竖直翻转镜像（关于竖直中轴对称）。
  _tOut | 输出迭代器类型（需要支持 + 操作，一般应是随机迭代器）。
  _tIn | 输入迭代器类型（需要支持 + 操作，一般应是随机迭代器）。
  _fBlitLoop | 循环操作类型。

参数

  loop | 循环操作。
  dst | 目标迭代器。
  src | 源迭代器。
  ds | 目标迭代器所在缓冲区大小。
  ss | 源迭代器所在缓冲区大小。
  dp | 目标迭代器起始点所在缓冲区偏移。
  sp | 源迭代器起始点所在缓冲区偏移。
  sc | 源迭代器需要复制的区域大小。

注解
  允许坐标分量越界。越上界时由 BlitBounds 过滤，越下界时修正为 0 。

参见
  BlitBounds
  BlitScaleComponent
  Drawing::BlitScan

自从
  build 437

对一块矩形区域逐像素顺序批量操作。

在文件 YBlit.h 第 168 行定义.

参考 BlitBounds(), BlitScaleComponent(), YSLib::Drawing::Size::Height, YSLib::Drawing::Size::Width, YSLib::Drawing::GBinaryGroup< _type >::X , 以及 YSLib::Drawing::GBinaryGroup< _type >::Y.

函数调用图:

bool YSLib::Drawing::BlitBounds | ( | const Point & | dp,
|  | const Point & | sp,
|  | const Size & | ds,
|  | const Size & | ss,
|  | const Size & | sc,
|  | SDst & | min_x,
|  | SDst & | min_y,
|  | SDst & | delta_x,
|  | SDst & | delta_y
| ) |  |

块传输边界计算器。

返回
  是否存在合适边界。

自从
  build 438

按指定的目标区域位置、源区域位置、目标边界大小、源边界大小和块传输区域大小计算和最 终边界相关的值。前两个 SDst 参数总是赋值为源坐标系的边界左上最小值。当无合适边 界时后两个 SDst 参数不被修改，否则赋值为最终块传输区域的宽和高。

在文件 YBlit.cpp 第 59 行定义.

参考 YSLib::Drawing::Size::Height, YSLib::Drawing::Size::Width, YSLib::Drawing::GBinaryGroup< _type >::X, YSLib::Drawing::GBinaryGroup< _type >::Y , 以及 yunseq.

参考自 Blit().

这是这个函数的调用关系图:
template<typename _tOut , typename _tIn , typename _fBlitScanner >

void YSLib::Drawing::BlitGlyphLines | ( | _fBlitScanner | scanner,
|  | _tOut | dst,
|  | _tIn | src,
|  | const Size & | ss,
|  | const PaintContext & | pc,
|  | bool | neg_pitch
| ) |  |

字符按扫描线块传输。

模板参数

  _tOut | 输出迭代器类型。
  _tIn | 输入迭代器类型。
  _fBlitScanner | 扫描线操作类型。

参数

  scanner | 扫描线操作。
  src | 源迭代器。
  ss | 源迭代器所在缓冲区大小。
  pc | 指定字符所在区域和渲染目标的绘制上下文， 其中 Location 为相对源的坐标。
  neg_pitch | 指定交换行渲染顺序。

参见
  Drawing::Blit
  Drawing::BlitLines

自从
  build 438

在文件 CharRenderer.h 第 59 行定义.

参考 bounds , 以及 NPL::dst.

template<typename _tOut , typename _tIn , typename _fPixelShader >

void YSLib::Drawing::BlitGlyphPixels | ( | _fPixelShader | blit,
|  | _tOut | dst,
|  | _tIn | src,
|  | const Size & | ss,
|  | const PaintContext & | pc,
|  | bool | neg_pitch
| ) |  |

字符按像素块传输。

模板参数

  _tOut | 输出迭代器类型。
  _tIn | 输入迭代器类型。
  _fPixelShader | 像素着色器类型。

参数

  blit | 像素操作。
  src | 源迭代器。
  ss | 源迭代器所在缓冲区大小。
  pc | 指定字符所在区域和渲染目标的绘制上下文， 其中 Location 为相对源的坐标。
  neg_pitch | 指定交换行渲染顺序。

参见
  Drawing::Blit
  Drawing::BlitPixels

自从
  build 440

在文件 CharRenderer.h 第 91 行定义.

参考 bounds , 以及 NPL::dst.

参考自 RenderChar() , 以及 RenderCharAlpha().

这是这个函数的调用关系图:
template<bool _bSwapLR, bool _bSwapUD, typename _tOut , typename _tIn , typename _fBlitScanner >

void YSLib::Drawing::BlitLines | ( | _fBlitScanner | scanner,
|  | _tOut | dst,
|  | _tIn | src,
|  | const Size & | ds,
|  | const Size & | ss,
|  | const Point & | dp,
|  | const Point & | sp,
|  | const Size & | sc
| ) |  |

inline

扫描线块传输函数模板。

模板参数

  _bSwapLR | 水平翻转镜像（关于水平中轴对称）。
  _bSwapUD | 竖直翻转镜像（关于竖直中轴对称）。
  _tOut | 输出迭代器类型（需要支持 + 操作，一般应是随机迭代器）。
  _tIn | 输入迭代器类型（需要支持 + 操作，一般应是随机迭代器）。
  _fBlitScanner | 扫描线操作类型。

参数

  scanner | 扫描线操作。
  dst | 目标迭代器。
  src | 源迭代器。
  ds | 目标迭代器所在缓冲区大小。
  ss | 源迭代器所在缓冲区大小。
  dp | 目标迭代器起始点所在缓冲区偏移。
  sp | 源迭代器起始点所在缓冲区偏移。
  sc | 源迭代器需要复制的区域大小。

参见
  Drawing::Blit
  BlitScannerLoop

自从
  build 437

对一块矩形区域逐（水平）扫描线批量操作。

在文件 YBlit.h 第 236 行定义.

参考 NPL::dst.

参考自 BlitRectLines().

这是这个函数的调用关系图:
template<bool _bSwapLR, bool _bSwapUD, typename _tOut , typename _tIn , typename _fPixelShader >

void YSLib::Drawing::BlitPixels | ( | _fPixelShader | shader,
|  | _tOut | dst,
|  | _tIn | src,
|  | const Size & | ds,
|  | const Size & | ss,
|  | const Point & | dp,
|  | const Point & | sp,
|  | const Size & | sc
| ) |  |

inline

像素块传输函数模板。

模板参数

  _bSwapLR | 水平翻转镜像（关于水平中轴对称）。
  _bSwapUD | 竖直翻转镜像（关于竖直中轴对称）。
  _tOut | 输出迭代器类型（需要支持 + 操作，一般应是随机迭代器）。
  _tIn | 输入迭代器类型（需要支持 + 操作，一般应是随机迭代器）。
  _fPixelShader | 像素着色器类型。

参数

  shader | 像素着色器。
  dst | 目标迭代器。
  src | 源迭代器。
  ds | 目标迭代器所在缓冲区大小。
  ss | 源迭代器所在缓冲区大小。
  dp | 目标迭代器起始点所在缓冲区偏移。
  sp | 源迭代器起始点所在缓冲区偏移。
  sc | 源迭代器需要复制的区域大小。

参见
  Drawing::Blit
  BlitScannerLoop
  BlitLineLoop

自从
  build 440

对一块矩形区域逐（水平）扫描线批量操作。

在文件 YBlit.h 第 296 行定义.

参考 NPL::dst.

参考自 BlitRectPixels() , 以及 UpdatePixelsWithRotation().

这是这个函数的调用关系图:
template<typename _func , typename _tOut , typename _tIn >

void YSLib::Drawing::BlitRect | ( | _func | f,
|  | _tOut | dst,
|  | _tIn | src,
|  | const Size & | ds,
|  | const Size & | ss,
|  | const Point & | dp,
|  | const Point & | sp,
|  | const Size & | sc
| ) |  |

inline

矩形块传输函数模板。

模板参数

  _tOut | 输出迭代器类型（需要支持 + 操作，一般应是随机迭代器）。
  _tIn | 输入迭代器类型（需要支持 + 操作，一般应是随机迭代器）。

自从
  build 584

模板参数

  _func | 处理函数对象类型。

参数

  f | 处理函数。
  dst | 目标迭代器。
  src | 源迭代器。

对一块矩形区域按指定处理函数对象进行操作。

参数

  ds | 目标迭代器所在缓冲区大小。
  dp | 目标迭代器起始点所在缓冲区偏移。
  sc | 源迭代器需要复制的区域大小。
  ss | 源迭代器所在缓冲区大小。
  sp | 源迭代器起始点所在缓冲区偏移。

在文件 YBlit.h 第 335 行定义.

参考 YSLib::IO::f.

参考自 BlitRect(), BlitRectLines() , 以及 BlitRectPixels().

这是这个函数的调用关系图:
template<typename _func , typename _tOut , typename _tIn >

void YSLib::Drawing::BlitRect | ( | _func | f,
|  | _tOut | dst,
|  | _tIn | src,
|  | const Size & | ds,
|  | const Point & | sp,
|  | const Size & | sc
| ) |  |

inline

在文件 YBlit.h 第 342 行定义.

参考 BlitRect().

函数调用图:
template<typename _func , typename _tOut , typename _tIn >

void YSLib::Drawing::BlitRect | ( | _func | f,
|  | _tOut | dst,
|  | _tIn | src,
|  | const Size & | ds,
|  | const Rect & | r
| ) |  |

inline

参数

  r | 源迭代器所在缓冲区边界。

在文件 YBlit.h 第 351 行定义.

参考 BlitRect().

函数调用图:
template<typename _func , typename _tOut , typename _tIn >

void YSLib::Drawing::BlitRect | ( | _func | f,
|  | _tOut | dst,
|  | _tIn | src,
|  | SDst | dw,
|  | SDst | dh,
|  | SPos | x,
|  | SPos | y,
|  | SDst | w,
|  | SDst | h
| ) |  |

inline

参数

  dw | 目标迭代器所在缓冲区的宽。
  dh | 目标迭代器所在缓冲区的高。
  x | 源迭代器起始点所在缓冲区水平偏移。
  y | 源迭代器起始点所在缓冲区竖直偏移。
  w | 源迭代器需要复制的区域的宽。
  h | 源迭代器需要复制的区域的高。

在文件 YBlit.h 第 366 行定义.

参考 BlitRect(), w , 以及 x.

函数调用图:
template<typename _tOut , typename _tIn , typename _fBlitScanner , typename... _tParams>

void YSLib::Drawing::BlitRectLines | ( | _fBlitScanner | scanner,
|  | _tOut | dst,
|  | _tIn | src,
|  | _tParams &&... | args
| ) |  |

inline

根据指定批量操作（块传输扫描器或像素着色器）函数对象对矩形像素块进行批量操作。

注解
  使用 ADL 调用 BlitRect 进行操作。

参见
  BlitRect
  Drawing::BlitLines

在文件 YBlit.h 第 384 行定义.

参考 CHRLib::args, BlitLines(), BlitRect() , 以及 yforward.

参考自 FillRectRaw().

函数调用图:

这是这个函数的调用关系图:
template<typename _tOut , typename _tIn , typename _fPixelShader , typename... _tParams>

void YSLib::Drawing::BlitRectPixels | ( | _fPixelShader | shader,
|  | _tOut | dst,
|  | _tIn | src,
|  | _tParams &&... | args
| ) |  |

inline

参见
  Drawing::BlitPixels

在文件 YBlit.h 第 397 行定义.

参考 CHRLib::args, BlitPixels(), BlitRect() , 以及 yforward.

参考自 BlendRectRaw() , 以及 CompositeRectRaw().

函数调用图:

这是这个函数的调用关系图:
template<bool _bDec>

yconstfn size_t YSLib::Drawing::BlitScaleComponent | ( | SPos | d,
|  | SPos | s,
|  | SDst | delta
| ) |  |

块传输偏移分量计算器。

自从
  build 577

在文件 YBlit.h 第 93 行定义.

参考 YSLib::size_t.

参考自 Blit().

这是这个函数的调用关系图:
template<bool _bDec, typename _tScalar , typename _tDiff , typename _tOut , typename _tIn , typename _fBlitLoop >

void YSLib::Drawing::BlitScan | ( | _fBlitLoop | loop,
|  | _tOut | dst,
|  | _tIn | src,
|  | _tScalar | d_width,
|  | _tScalar | s_width,
|  | _tDiff | delta_x,
|  | _tDiff | delta_y
| ) |  |

块传输扫描函数模板。

模板参数

  _bDec | 指定是否翻转水平和竖直方向之一。
  _tScalar | 度量大小的纯量类型。
  _tDiff | 度量偏移量的差值类型。
  _tOut | 输出迭代器类型。
  _tIn | 输入迭代器类型。
  _fBlitLoop | 循环操作类型。

参数

  loop | 循环操作。
  d_width | 目标缓冲区的宽。
  s_width | 源缓冲区的宽。
  delta_x | 实际操作的宽。
  delta_y | 实际操作的高。
  dst | 目标迭代器。
  src | 源迭代器。

警告
  loop 接受的最后两个参数应保证不是无符号整数类型。

自从
  build 437

对一块矩形区域调用指定的逐像素扫描操作。

在文件 YBlit.h 第 123 行定义.

bool YSLib::Drawing::BlitTo | ( | BitmapPtr | dst,
|  | const CompactPixmapEx & | buf,
|  | const Size & | ds,
|  | const Point & | dp,
|  | const Point & | sp,
|  | const Size & | sc,
|  | Rotation | rot
| ) |  |

related

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

参考 NPL::dst , 以及 RDeg0.

参考自 DrawText() , 以及 YSLib::UI::BufferedTextArea::Refresh().

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

void YSLib::Drawing::ClearImage | ( | const Graphics & | g | ) |

清除图形接口上下文缓冲区。

自从
  早于 build 132

在文件 YBlit.cpp 第 88 行定义.

参考 ClearPixels() , 以及 platform::size_t.

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

函数调用图:

这是这个函数的调用关系图:
template<typename _tOut >

_tOut YSLib::Drawing::ClearPixels | ( | _tOut | dst,
|  | size_t | n
| ) |  |

inline

清除指定位置的 n 个连续像素。

模板参数

  _tOut | 输出迭代器类型。

参见
  YSLib::ClearSequence

在文件 YBlit.h 第 517 行定义.

参考 YSLib::ClearSequence(), NPL::dst , 以及 platform::n.

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

函数调用图:

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

Point YSLib::Drawing::ClipBounds | ( | Rect & | clip,
|  | const Rect & | bounds
| ) |  |

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

Point YSLib::Drawing::ClipMargin | ( | PaintContext & | pc,
|  | const Padding & | m,
|  | const Size & | ss
| ) |  |

related

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

参考 YSLib::Drawing::Padding::Bottom, YSLib::Drawing::Size::Height, YSLib::Drawing::Padding::Left, YSLib::Drawing::Padding::Right, YSLib::Drawing::Padding::Top, YSLib::Drawing::Size::Width, YSLib::Drawing::GBinaryGroup< _type >::X , 以及 YSLib::Drawing::GBinaryGroup< _type >::Y.

void YSLib::Drawing::CompositeRect | ( | const Graphics & | g,
|  | const Rect & | r,
|  | Color | c
| ) |  |

在文件 YBlend.cpp 第 48 行定义.

参考 CompositeRectRaw(), r , 以及 YAssert.

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

函数调用图:

这是这个函数的调用关系图:
template<typename _tPixel , typename _tOut , typename... _tParams>

void YSLib::Drawing::CompositeRectRaw | ( | _tOut | dst,
|  | _tPixel | c,
|  | _tParams &&... | args
| ) |  |

inline

使用指定像素 Alpha 组合指定的标准矩形区域。

在文件 YBlend.h 第 139 行定义.

参考 CHRLib::args, BlitRectPixels() , 以及 yforward.

参考自 CompositeRect().

函数调用图:

这是这个函数的调用关系图:
template<typename _tOut , typename _tIn >

void YSLib::Drawing::CopyBitmapBuffer | ( | _tOut | p_dst,
|  | _tIn | p_src,
|  | const Size & | s
| ) |  |

自从
  build 594

在文件 YGraphics.h 第 50 行定义.

参考 platform::Nonnull().

参考自 YSLib::Drawing::CompactPixmap::CompactPixmap(), CopyBuffer() , 以及 ImplDeDtor().

函数调用图:

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

void YSLib::Drawing::CopyBuffer | ( | const Graphics & | dst,
|  | const ConstGraphics & | src
| ) |  |

以第一个参数作为目标，复制第二个参数的缓冲区内容。

前置条件
  断言：大小相等。
  间接断言：指针非空。

注解
  缓冲区指针相等时忽略。

自从
  build 559

在文件 YBlit.cpp 第 78 行定义.

参考 CopyBitmapBuffer(), platform::Nonnull(), YAssert , 以及 YB_LIKELY.

函数调用图:

bool YSLib::Drawing::CopyTo | ( | BitmapPtr | dst,
|  | const ConstGraphics & | g,
|  | const Size & | ds,
|  | const Point & | dp,
|  | const Point & | sp,
|  | const Size & | sc,
|  | Rotation | rot
| ) |  |

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

参考 RDeg0.

参考自 YSLib::UI::BufferedRenderer::UpdateTo() , 以及 YSLib::UI::BufferedRenderer::Validate().

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

bool YSLib::Drawing::CopyTo | ( | BitmapPtr | dst,
|  | const CompactPixmapEx & | buf,
|  | const Size & | ds,
|  | const Point & | dp,
|  | const Point & | sp,
|  | const Size & | sc,
|  | Rotation | rot
| ) |  |

related

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

参考 NPL::dst , 以及 RDeg0.

yconstexpr const Padding YSLib::Drawing::DefaultMargin | ( | 2 | ,
|  | 2 | ,
|  | 2 | ,
|  | 2 |
| ) |  |

默认边距。

自从
  build 286

参考自 YReader::ShlExplorer::OnPaint().

这是这个函数的调用关系图:
template<typename _fPixelShader = Shaders::BlitAlphaPoint, typename _tImage = Drawing::Image>

GBrushUpdater<const _tImage&, const Point&, const Point&> YSLib::Drawing::DispatchRotatedBrush | ( | Rotation | rot | ) |

按指定的源图像旋转方向构造画刷。

参见
  UpdateRotatedBrush

自从
  build 580

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

参考 RDeg0, RDeg180, RDeg270, RDeg90 , 以及 YSLib::YAssert().

函数调用图:
template<typename _func >

void YSLib::Drawing::DispatchTranspose | ( | std::false_type | ,
|  | _func | updater,
|  | const ConstGraphics & | src
| ) |  |

inline

分派用于着色器更新的可能转置的图像。

自从
  build 579

第一个参数指定是否需要转置（原始图像旋转一个直角）。 第二个参数指定更新器，接受可能转置的原迭代器、可能转置的源图像大小和转置偏移位置。 未转置时，转置偏移位置为原点；否则使用 RotateCenter 指定。

在文件 YBlit.h 第 420 行定义.

参考自 UpdatePixelsWithRotation().

这是这个函数的调用关系图:
template<typename _func >

void YSLib::Drawing::DispatchTranspose | ( | std::true_type | ,
|  | _func | updater,
|  | const ConstGraphics & | src
| ) |  |

inline

在文件 YBlit.h 第 426 行定义.

void YSLib::Drawing::DrawArrow | ( | const Graphics & | g,
|  | const Rect & | bounds,
|  | const Rect & | r,
|  | SDst | half_size = `4`,
|  | Rotation | rot = `RDeg0`,
|  | Color | c = `ColorSpace::Black`,
|  | bool | outline = `{}`
| ) |  |

在指定图形接口上下文上描画底边和坐标轴共线的等腰直角三角形箭头。

注解
  第二参数指定边界；第三参数指定矩形外框，图形位于正中。
  图形大小以第四参数指定的高度量； RDeg0 指向右侧。
  最后的参数决定是否仅描画轮廓。

自从
  build 530

在文件 YStyle.cpp 第 202 行定义.

参考 CHRLib::c, g, YSLib::Drawing::Size::Height, RDeg0, RDeg180, RDeg270, RDeg90, RectDrawArrow(), RectDrawArrowOutline(), YSLib::Drawing::Size::Width, YSLib::Drawing::GBinaryGroup< _type >::X, x, YSLib::UI::y , 以及 YSLib::Drawing::GBinaryGroup< _type >::Y.

参考自 YSLib::UI::Menu::Menu(), YSLib::UI::DropDownList::Refresh() , 以及 YSLib::UI::TreeList::TreeList().

函数调用图:

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

void YSLib::Drawing::DrawCircle | ( | const Graphics & | g,
|  | const Rect & | bounds,
|  | const Point & | pt,
|  | SDst | r,
|  | Color | c_
| ) |  |

描画圆形。

前置条件
  断言： bounds 在 g 指定的边界内。
  间接断言：图形接口缓冲区有效。

在文件 YDraw.cpp 第 180 行定义.

参考 c, ystdex::cref(), r, x , 以及 YSLib::UI::y.

参考自 YSLib::UI::ImplDeDtor() , 以及 main().

函数调用图:

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

void YSLib::Drawing::DrawCornerArrow | ( | const Graphics & | g,
|  | const Rect & | bounds,
|  | const Point & | pt,
|  | SDst | size = `4`,
|  | Rotation | rot = `RDeg0`,
|  | Color | c = `ColorSpace::Black`,
|  | bool | outline = `{}`
| ) |  |

在指定图形接口上下文上描画腰和坐标轴共线的等腰直角三角形箭头。

注解
  第二参数指定边界；第三参数指定图形左上角。
  图形大小以第四参数指定的斜边度量； RDeg0 指向右下角。
  最后的参数决定是否仅描画轮廓。

自从
  build 530

在文件 YStyle.cpp 第 230 行定义.

参考 CHRLib::c, g, RDeg0, RDeg180, RDeg270, RectDrawCornerArrow(), RectDrawCornerArrowOutline(), ystdex::size(), YSLib::Drawing::GBinaryGroup< _type >::X, x, YSLib::UI::y , 以及 YSLib::Drawing::GBinaryGroup< _type >::Y.

参考自 YSLib::UI::TreeList::TreeList().

函数调用图:

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

void YSLib::Drawing::DrawCross | ( | const Graphics & | g,
|  | const Rect & | bounds,
|  | const Rect & | r,
|  | Color | c
| ) |  |

在指定图形接口上下文中使用指定颜色描画交叉直线段（“×”）。

注解
  第二个参数指定边界；绘制的图形顶点为第三个参数指定的矩形的顶点或边的中点。
  若不满足长和宽都大于 8 则忽略。

自从
  build 480

在文件 YStyle.cpp 第 244 行定义.

参考 DrawLineSeg, YSLib::Drawing::Size::Height, YSLib::Drawing::Size::Width, YSLib::Drawing::GBinaryGroup< _type >::X, YSLib::Drawing::GBinaryGroup< _type >::Y , 以及 YB_LIKELY.

参考自 YSLib::UI::ImplDeDtor().

这是这个函数的调用关系图:
template<typename _tIn >

void YSLib::Drawing::DrawPolygon | ( | Graphics & | g,
|  | const Rect & | bounds,
|  | _tIn | first,
|  | _tIn | last,
|  | Color | c
| ) |  |

描画多边形。

在文件 YDraw.h 第 214 行定义.

参考 DrawLineSeg, ystdex::is_undereferenceable(), YSLib::YAssert(), YB_LIKELY , 以及 yunseq.

函数调用图:

void YSLib::Drawing::DrawRect | ( | const Graphics & | g,
|  | const Rect & | bounds,
|  | const Rect & | r,
|  | Color | c
| ) |  |

在文件 YDraw.cpp 第 136 行定义.

参考 YSLib::Drawing::GBinaryGroup< _type >::X, x1, x2, YSLib::Drawing::GBinaryGroup< _type >::Y, y1, y2 , 以及 YB_LIKELY.

参考自 YSLib::UI::TabBar::DefaultPaintTabBorder().

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

void YSLib::Drawing::DrawRectRoundCorner | ( | const PaintContext & | pc,
|  | const Size & | s,
|  | Color | c
| ) |  |

绘制部件边框用空心标准矩形。

前置条件
  间接断言：图形上下文接口有效。

注解
  右下角顶点坐标 (pc.Location.X + s.Width - 1, pc.Location.Y + s.Height - 1) 。

自从
  build 453

在文件 YStyle.cpp 第 42 行定义.

参考 bounds, g, YSLib::Drawing::Size::Height, YSLib::Drawing::Size::Width, x1, x2, y1, y2 , 以及 YB_LIKELY.

void YSLib::Drawing::DrawTick | ( | const Graphics & | g,
|  | const Rect & | bounds,
|  | const Rect & | r,
|  | Color | c1,
|  | Color | c2
| ) |  |

注解
  使用指定颜色以及底色。

在文件 YStyle.cpp 第 257 行定义.

参考 DrawLineSeg, YSLib::Drawing::Size::Height, p1, p2, YSLib::Drawing::Size::Width, YSLib::Drawing::GBinaryGroup< _type >::X, YSLib::Drawing::GBinaryGroup< _type >::Y , 以及 YB_LIKELY.

SDst YSLib::Drawing::FetchCharWidth | ( | const Font & | fnt,
|  | char32_t | c
| ) |  |

在文件 TextLayout.cpp 第 72 行定义.

参考自 FetchStringOffsets(), FetchStringWidth() , 以及 YSLib::UI::TextBox::GetCaretPosition().

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

const Typeface & YSLib::Drawing::FetchDefaultTypeface | ( |  | ) |

取默认字型引用。

异常

  LoggedEvent | 严重：异常事件。

自从
  build 425

在文件 Font.cpp 第 380 行定义.

参考 platform::Descriptions::Critical, YSLib::FetchDefaultFontCache() , 以及 platform::p.

参考自 main().

函数调用图:

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

SPos YSLib::Drawing::FetchLastLineBasePosition | ( | const TextState & | ts,
|  | SDst | h
| ) |  |

取指定文本状态在指定高的区域中表示的最底行的基线位置（纵坐标）。

注解
  若不足一行则最底行视为首行。

警告
  不检查边距正确性。若顶边距正确，则返回值应小于输入的高。

自从
  build 190

在文件 TextLayout.cpp 第 60 行定义.

参考 FetchResizedLineN() , 以及 platform::n.

参考自 PutString().

函数调用图:

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

Padding YSLib::Drawing::FetchMargin | ( | const Rect & | r,
|  | const Size & | s
| ) |  |

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

参考 YSLib::Drawing::Size::Height, YSLib::Drawing::Size::Width, YSLib::Drawing::GBinaryGroup< _type >::X , 以及 YSLib::Drawing::GBinaryGroup< _type >::Y.

参考自 DrawClippedText().

这是这个函数的调用关系图:
template<typename _tIn , yimpl(typename=ystdex::enable_for_iterator_t< _tIn >) >

SDst YSLib::Drawing::FetchMaxTextWidth | ( | const Font & | font,
|  | _tIn | first,
|  | _tIn | last
| ) |  |

取指定字体显示的迭代器范围中的文本的最大宽度。

自从
  build 483

在文件 TextLayout.h 第 330 行定义.

参考 FetchStringWidth(), ystdex::max() , 以及 YSLib::Text::str.

参考自 YSLib::UI::ImplDeDtor() , 以及 YSLib::UI::ResizeForContent().

函数调用图:

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

SDst YSLib::Drawing::FetchResizedBottomMargin | ( | const TextState & | ts,
|  | SDst | h
| ) |  |

取指定文本状态和文本区域高调整的底边距。

前置条件
  断言： `GetTextLineHeightExOf(ts) != 0` 。

后置条件
  `ts.Margin.Bottom` 不小于原值。

返回
  返回调整后的底边距值（由字体大小、行距和高决定）。

自从
  build 252

在文件 TextLayout.cpp 第 44 行定义.

参考 YSLib::Drawing::Padding::Bottom, YSLib::Drawing::TextState::LineGap, YSLib::Drawing::TextState::Margin , 以及 YAssert.

std::uint16_t YSLib::Drawing::FetchResizedLineN | ( | const TextState & | ts,
|  | SDst | h
| ) |  |

取指定文本状态和文本区域高所能显示的最大文本行数。

前置条件
  断言： `GetTextLineHeightExOf(ts) != 0` 。

返回
  最大能容纳的文本行数。

自从
  build 252

在文件 TextLayout.cpp 第 52 行定义.

参考 YSLib::Drawing::TextState::LineGap, YSLib::Drawing::TextState::Margin , 以及 YAssert.

参考自 FetchLastLineBasePosition().

这是这个函数的调用关系图:
template<typename _tIter , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >

pair<size_t, SDst> YSLib::Drawing::FetchStringOffsets | ( | size_t | max_width,
|  | const Font & | fnt,
|  | _tIter | s
| ) |  |

取迭代器指定的单行字符串在指定字体和宽度时的最多能显示的字符数和宽。

注解
  能被显示的（含不完整显示的）字符数和这些字符占用的。

自从
  build 484

注解
  迭代器 s 指向字符串首字符，迭代直至字符串结束符。

在文件 TextLayout.h 第 106 行定义.

参考 YSLib::char, FetchCharWidth(), ystdex::is_undereferenceable(), r, w, YSLib::YAssert() , 以及 yunseq.

参考自 FetchStringOffsets() , 以及 YSLib::UI::TextBox::GetCaretPosition().

函数调用图:

这是这个函数的调用关系图:
template<typename _tIter , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >

pair<size_t, SDst> YSLib::Drawing::FetchStringOffsets | ( | size_t | max_width,
|  | const Font & | fnt,
|  | _tIter | s,
|  | size_t | n,
|  | char32_t | c = `{}`
| ) |  |

取迭代器指定的单行字符串在指定字体和宽度时的最多能显示的字符数和宽。

自从
  build 641

注解
  迭代器 s 指向字符串首字符，迭代直至 n 次或指定字符 c 。

在文件 TextLayout.h 第 129 行定义.

template<typename _tIter , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >

pair<size_t, SDst> YSLib::Drawing::FetchStringOffsets | ( | size_t | max_width,
|  | const Font & | fnt,
|  | _tIter | s,
|  | _tIter | g,
|  | char32_t | c = `{}`
| ) |  |

取迭代器指定的单行字符串在指定字体和宽度时的最多能显示的字符数和宽。

注解
  迭代器 s 指向字符串首字符，迭代直至边界迭代器 g 或指定字符 c 。

在文件 TextLayout.h 第 151 行定义.

template<class _tString , yimpl(typename=ystdex::enable_for_string_class_t< _tString >) >

pair<size_t, SDst> YSLib::Drawing::FetchStringOffsets | ( | size_t | max_width,
|  | const Font & | fnt,
|  | const _tString & | str
| ) |  |

inline

取单行字符串在指定字体和宽度时的最多能显示的字符数和宽。

在文件 TextLayout.h 第 171 行定义.

参考 FetchStringOffsets().

函数调用图:
template<class _tString , yimpl(typename=ystdex::enable_for_string_class_t< _tString >) >

pair<size_t, SDst> YSLib::Drawing::FetchStringOffsets | ( | size_t | max_width,
|  | const Font & | fnt,
|  | const _tString & | str,
|  | size_t | n
| ) |  |

inline

取单行字符串前不超过 n 个字符在指定字体和宽度时的 最多能显示的字符数和宽。

在文件 TextLayout.h 第 182 行定义.

参考 FetchStringOffsets() , 以及 platform::n.

函数调用图:
template<typename _tIter , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >

SDst YSLib::Drawing::FetchStringWidth | ( | const Font & | fnt,
|  | _tIter | s
| ) |  |

取迭代器指定的单行字符串在字体指定、无边界限制时的显示宽度。

注解
  迭代器 s 指向字符串首字符，迭代直至字符串结束符。

自从
  build 483

在文件 TextLayout.h 第 197 行定义.

参考 YSLib::char, FetchCharWidth(), ystdex::is_undereferenceable(), CHRLib::s, w , 以及 YSLib::YAssert().

参考自 YSLib::UI::Label::CalculateBounds(), FetchMaxTextWidth(), FetchStringWidth() , 以及 YSLib::UI::MLabel::GetAlignedPenOffset().

函数调用图:

这是这个函数的调用关系图:
template<typename _tIter , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >

SDst YSLib::Drawing::FetchStringWidth | ( | const Font & | fnt,
|  | _tIter | s,
|  | size_t | n,
|  | char32_t | c = `{}`
| ) |  |

取迭代器指定的单行字符串在字体指定、无边界限制时的显示宽度。

自从
  build 641

注解
  迭代器 s 指向字符串首字符，迭代直至 n 次或指定字符 c 。

在文件 TextLayout.h 第 219 行定义.

template<typename _tIter , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >

SDst YSLib::Drawing::FetchStringWidth | ( | const Font & | fnt,
|  | _tIter | s,
|  | _tIter | g,
|  | char32_t | c = `{}`
| ) |  |

取迭代器指定的单行字符串在字体指定、无边界限制时的显示宽度。

注解
  迭代器 s 指向字符串首字符，迭代直至边界迭代器 g 或指定字符 c 。

在文件 TextLayout.h 第 239 行定义.

template<class _tString , yimpl(typename=ystdex::enable_for_string_class_t< _tString >) >

SDst YSLib::Drawing::FetchStringWidth | ( | const Font & | fnt,
|  | const _tString & | str
| ) |  |

inline

取单行字符串在字体指定、无边界限制时的显示宽度。

自从
  build 483

在文件 TextLayout.h 第 260 行定义.

参考 FetchStringWidth().

函数调用图:
template<class _tString , yimpl(typename=ystdex::enable_for_string_class_t< _tString >) >

SDst YSLib::Drawing::FetchStringWidth | ( | const Font & | fnt,
|  | const _tString & | str,
|  | size_t | n
| ) |  |

inline

取单行字符串前不超过 n 个字符在字体指定、无边界限制时的显示宽度。

自从
  build 484

在文件 TextLayout.h 第 271 行定义.

参考 FetchStringWidth() , 以及 platform::n.

函数调用图:
template<typename _tIter , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >

SDst YSLib::Drawing::FetchStringWidth | ( | TextState & | ts,
|  | SDst | h,
|  | _tIter | s
| ) |  |

取迭代器指定的单行字符串在指定文本状态和高度限制时的显示宽度。

注解
  迭代器 s 指向字符串首字符，迭代直至字符串结束符。
  字体由文本状态指定。

自从
  build 483

在文件 TextLayout.h 第 284 行定义.

参考 YSLib::Drawing::TextState::Pen, PrintString(), r, YSLib::Drawing::GBinaryGroup< _type >::X , 以及 x.

函数调用图:
template<typename _tIter , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >

SDst YSLib::Drawing::FetchStringWidth | ( | TextState & | ts,
|  | SDst | h,
|  | _tIter | s,
|  | _tIter | g,
|  | char32_t | c = `{}`
| ) |  |

取迭代器指定的单行字符串在指定文本状态和高度限制时的显示宽度。

注解
  迭代器 s 指向字符串首字符，迭代直至边界迭代器 g 或指定字符 c 。
  字体由文本状态指定。

自从
  build 641

在文件 TextLayout.h 第 301 行定义.

template<class _tString , yimpl(typename=ystdex::enable_for_string_class_t< _tString >) >

SDst YSLib::Drawing::FetchStringWidth | ( | TextState & | ts,
|  | SDst | h,
|  | const _tString & | str
| ) |  |

inline

取单行字符串在指定文本状态和高度限制时的显示宽度。

注解
  字体由文本状态指定。

自从
  build 483

在文件 TextLayout.h 第 317 行定义.

参考 FetchStringWidth().

函数调用图:

void YSLib::Drawing::Fill | ( | const Graphics & | g,
|  | Color | c
| ) |  |

使用指定颜色填充图形接口上下文缓冲区。

自从
  build 177

在文件 YBlit.cpp 第 94 行定义.

参考 CHRLib::c , 以及 platform::size_t.

void YSLib::Drawing::FillCircle | ( | const Graphics & | g,
|  | const Rect & | bounds,
|  | const Point & | pt,
|  | SDst | r,
|  | Color | c_
| ) |  |

填充圆形。

在文件 YDraw.cpp 第 202 行定义.

参考 c, ystdex::cref(), PlotHLineSeg(), r, x , 以及 YSLib::UI::y.

参考自 main().

函数调用图:

这是这个函数的调用关系图:
template<typename _tPixel , typename _tOut >

void YSLib::Drawing::FillPixels | ( | _tOut | dst_iter,
|  | size_t | n,
|  | _tPixel | c
| ) |  |

inline

使用 n 个指定像素连续填充指定位置。

在文件 YBlit.h 第 528 行定义.

void YSLib::Drawing::FillRect | ( | const Graphics & | g,
|  | const Rect & | r,
|  | Color | c
| ) |  |

填充标准矩形。

注解
  右下角顶点坐标 (r.X + r.Width - 1, r.Y + r.Height - 1) 。

前置条件
  断言：图形接口上下文有效。

注解
  无绘制边界检查。

在文件 YDraw.cpp 第 150 行定义.

参考 FillRectRaw(), r , 以及 YSLib::YAssert().

参考自 YSLib::UI::DrawTrackBackground(), YReader::ShlExplorer::OnPaint(), YSLib::Drawing::SolidBrush::operator()(), YSLib::UI::ProgressBar::Refresh(), YSLib::UI::TextList::TextList() , 以及 YSLib::UI::TextBox::UpdateTextBoxClippedText().

函数调用图:

这是这个函数的调用关系图:
template<typename _tPixel , typename _tOut , typename... _tParams>

void YSLib::Drawing::FillRectRaw | ( | _tOut | dst,
|  | _tPixel | c,
|  | _tParams &&... | args
| ) |  |

inline

使用指定像素填充指定的标准矩形区域。

自从
  build 584

在文件 YBlit.h 第 551 行定义.

参考 CHRLib::args, BlitRectLines() , 以及 yforward.

参考自 FillRect().

函数调用图:

这是这个函数的调用关系图:
template<typename _tPixel , typename _tOut >

void YSLib::Drawing::FillVerticalLine | ( | _tOut | dst,
|  | size_t | n,
|  | SDst | dw,
|  | _tPixel | c
| ) |  |

inline

使用 n 个指定像素竖直填充指定位置。

自从
  build 438

在文件 YBlit.h 第 539 行定义.

参考 c, NPL::dst , 以及 platform::n.

template<class _tRenderer >

SPos YSLib::Drawing::GetEndOfLineOffsetOf | ( | const _tRenderer & | rd | ) |

inline

取文本渲染器的行末位置剩余偏移。

注解
  使用 ADL `GetEndOfLinePositionOf` 取行末位置。

自从
  build 587

在文件 CharRenderer.h 第 148 行定义.

参考 GetEndOfLinePositionOf().

参考自 PutChar(), PutLine() , 以及 PutString().

函数调用图:

这是这个函数的调用关系图:
template<class _tRenderer >

SPos YSLib::Drawing::GetEndOfLinePositionOf | ( | const _tRenderer & | rd | ) |

inline

取文本渲染器的行末位置（横坐标）。

自从
  build 587

在文件 CharRenderer.h 第 136 行定义.

参考自 GetEndOfLineOffsetOf().

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

TimeSpan YSLib::Drawing::GetFrameTimeOf | ( | const HBitmap & | bmp | ) |

related

在文件 Image.cpp 第 437 行定义.

参考 Animation , 以及 platform::Descriptions::Warning.

tr YSLib::Drawing::GetHeight | ( |  | ) |

按字体高度和行距调整文本区域的底边距。

自从
  build 587

参考自 YSLib::UI::BufferedTextArea::BufferedTextArea(), YSLib::UI::TextList::end(), YSLib::UI::TextList::GetLastLabelIndex(), YSLib::UI::HorizontalTrack::HorizontalTrack(), YSLib::UI::ImplDeDtor(), YSLib::UI::TextList::InvalidateSelected(), YSLib::UI::ListBox::ListBox(), YSLib::UI::TextList::LocateViewPosition(), YSLib::UI::TabBar::PerformLayout(), YSLib::UI::HexViewArea::Refresh(), YSLib::UI::DropDownList::Refresh(), YSLib::UI::TextList::Refresh(), YSLib::UI::HexViewArea::Reset(), YSLib::Drawing::TextRegion::Scroll(), YSLib::UI::TextList::SelectFirst(), YSLib::UI::TextList::SelectLast() , 以及 YSLib::UI::TextList::TextList().

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

Size YSLib::Drawing::GetLogicalSizeOf | ( | const HBitmap & | bmp | ) |

related

在文件 Image.cpp 第 445 行定义.

参考 Animation , 以及 platform::Descriptions::Warning.

参考自 YSLib::Drawing::ImagePages::ImagePages().

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

YSLib::Drawing::ImplDeDtor | ( | FontException |  | ) |

自从
  build 562
  build 420

替代 ::FT_Set_Pixel_Sizes 。

自从
  build 421

参见
  ::FT_GlyphSlot_Oblique 实现。

在文件 Font.cpp 第 80 行定义.

参考 platform::KeyCodes::DS::L, CHRLib::s , 以及 ynothrow.

YSLib::Drawing::ImplDeDtor | ( | BasicImage |  | ) |

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

参考 CopyBitmapBuffer().

函数调用图:

YSLib::Drawing::ImplDeDtor | ( | TextRegion |  | ) |

在文件 TextRenderer.cpp 第 139 行定义.

参考 c.

YSLib::Drawing::ImplDeDtor | ( | BadImageAlloc |  | ) |

在文件 Image.cpp 第 224 行定义.

参考 platform::p.

tr TextRegion& tr YSLib::Drawing::ImplExpr | ( | tr.Margin. | Bottom = `SPos(FetchResizedBottomMargin(tr))` | ) | const

取指定的字符使用指定字体的显示宽度。

注解
  无边界限制。

自从
  build 641

The boundary is out of the const Graphics const Rect const Point const Point Color c YSLib::Drawing::ImplExpr | ( | DrawLineSeg(g, bounds, p1.X, p1.Y, p2.X, p2.Y, c) |  | ) | const

描画标准矩形。

前置条件
  间接断言：图形接口上下文有效。

注解
  右下角顶点坐标 (r.X + r.Width - 1, r.Y + r.Height - 1) 。

void YSLib::Drawing::MovePen | ( | TextState & | ts,
|  | char32_t | c
| ) |  |

在文件 TextBase.cpp 第 82 行定义.

参考 YSLib::Drawing::PenStyle::Font, YSLib::Drawing::TextState::Pen , 以及 YSLib::Drawing::GBinaryGroup< _type >::X.

Rect YSLib::Drawing::operator+ | ( | const Rect & | r,
|  | const Padding & | m
| ) |  |

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

参考 YSLib::Drawing::Padding::Bottom, YSLib::Drawing::Size::Height, YSLib::Drawing::Padding::Left, YSLib::Drawing::Padding::Right, YSLib::Drawing::Padding::Top, YSLib::Drawing::Size::Width, YSLib::Drawing::GBinaryGroup< _type >::X , 以及 YSLib::Drawing::GBinaryGroup< _type >::Y.

template<typename _type >

yconstfn GBinaryGroup<_type> YSLib::Drawing::operator+ | ( | GBinaryGroup< _type > | val,
|  | const Size & | s
| ) |  |

加法：使用屏幕二元组和屏幕区域大小分量对应相加构造屏幕二元组。

自从
  build 319

在文件 YGDIBase.h 第 493 行定义.

参考 YSLib::Drawing::GBinaryGroup< _type >::_type, CHRLib::s , 以及 YSLib::Drawing::GBinaryGroup< _type >::Y.

template<typename _type >

yconstfn GBinaryGroup<_type> YSLib::Drawing::operator- | ( | GBinaryGroup< _type > | val,
|  | const Size & | s
| ) |  |

减法：使用屏幕二元组和屏幕区域大小分量对应相加构造屏幕二元组。

自从
  build 577

在文件 YGDIBase.h 第 505 行定义.

参考 YSLib::Drawing::GBinaryGroup< _type >::_type, CHRLib::s , 以及 YSLib::Drawing::GBinaryGroup< _type >::Y.

YSLib::Drawing::PDefH | ( | SDst | ,
|  | FetchResizedBottomMargin | ,
|  | const TextRegion & | tr
| ) |  |

inline

取按字体高度和行距调整文本区域的底边距。

自从
  build 252

YSLib::Drawing::PDefH | ( | void | ,
|  | DrawHLineSeg | ,
|  | const Graphics & | g,
|  | const Rect & | bounds,
|  | SPos | y,
|  | SPos | x1,
|  | SPos | x2,
|  | Color | c
| ) |  |

inline

描画水平线段。

前置条件
  断言： bounds 在 g 指定的边界内。
  间接断言：图形接口缓冲区有效。

参见
  Drawing::PlotHLineSeg

YSLib::Drawing::PDefH | ( | void | ,
|  | DrawVLineSeg | ,
|  | const Graphics & | g,
|  | const Rect & | bounds,
|  | SPos | x,
|  | SPos | y1,
|  | SPos | y2,
|  | Color | c
| ) |  |

inline

描画竖直线段。

前置条件
  断言： bounds 在 g 指定的边界内。
  间接断言：图形接口缓冲区有效。

参见
  Drawing::PlotVLineSeg

YSLib::Drawing::PDefH | ( | void | ,
|  | DrawTick | ,
|  | const Graphics & | g,
|  | const Rect & | bounds,
|  | const Rect & | r,
|  | Color | c
| ) |  |

inline

注解
  使用单一颜色。

c yconstfn YSLib::Drawing::PDefH | ( | Color | ,
|  | MakeGray | ,
|  | MonoType | g
| ) |  |

按指定分量取灰度色。

自从
  build 464

YSLib::Drawing::PDefH | ( | void | ,
|  | DrawLineSeg | ,
|  | const Graphics & | g,
|  | const Rect & | bounds,
|  | SPos | x1,
|  | SPos | y1,
|  | SPos | x2,
|  | SPos | y2,
|  | Color | c
| ) |  |

inline

YSLib::Drawing::PDefH | ( | void | ,
|  | DrawRect | ,
|  | const Graphics & | g,
|  | const Rect & | bounds,
|  | const Point & | pt,
|  | const Size & | s,
|  | Color | c
| ) |  |

inline

注解
  右下角顶点坐标 (pt.X + s.Width - 1, pt.Y + s.Height - 1) 。

YSLib::Drawing::PDefH | ( | void | ,
|  | FillRect | ,
|  | const Graphics & | g,
|  | const Rect & | bounds,
|  | const Rect & | r,
|  | Color | c
| ) |  |

inline

yconstfn YSLib::Drawing::PDefH | ( | Size | ,
|  | Transpose | ,
|  | const Size & | s
| ) |  |

转置。

自从
  build 575

在文件 YGDIBase.h 第 516 行定义.

参考 CHRLib::s.

void YSLib::Drawing::PlotHLineSeg | ( | BitmapPtr | dst,
|  | const Rect & | bounds,
|  | SDst | w,
|  | SPos | y,
|  | SPos | x1,
|  | SPos | x2,
|  | Color | c
| ) |  |

在文件 YDraw.cpp 第 39 行定义.

参考 c, YSLib::Drawing::Size::Height, YSLib::IsInInterval(), platform::Nonnull(), YSLib::RestrictInInterval(), YSLib::RestrictLessEqual(), YSLib::Drawing::Size::Width, YSLib::Drawing::GBinaryGroup< _type >::X, x1, YSLib::Drawing::GBinaryGroup< _type >::Y , 以及 YSLib::YAssert().

函数调用图:

The boundary is out of the YSLib::Drawing::PlotHLineSeg | ( | g. | GetBufferPtr(),
|  | bounds | ,
|  | g. | GetWidth(),
|  | y | ,
|  | x1 | ,
|  | x2 | ,
|  | c |
| ) |  |

绘制竖直线段：在宽 w 的缓冲区内的区域 bounds 绘制指定竖直水平坐标 x ， 竖直坐标 y1 - 1 、 y2 。

前置条件
  断言： `dst` 。

参考自 FillCircle() , 以及 PlotLineSeg().

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

void YSLib::Drawing::PlotLineSeg | ( | BitmapPtr | dst,
|  | const Rect & | bounds,
|  | SDst | w,
|  | SPos | x1,
|  | SPos | y1,
|  | SPos | x2,
|  | SPos | y2,
|  | Color | c
| ) |  |

在文件 YDraw.cpp 第 87 行定义.

参考 CHRLib::e, YSLib::IO::f, YSLib::FetchSign(), PlotHLineSeg(), PlotVLineSeg() , 以及 ystdex::swap().

函数调用图:

The boundary is out of the YSLib::Drawing::PlotLineSeg | ( | g. | GetBufferPtr(),
|  | bounds | ,
|  | g. | GetWidth(),
|  | x1 | ,
|  | y1 | ,
|  | x2 | ,
|  | y2 | ,
|  | c |
| ) |  |

void YSLib::Drawing::PlotVLineSeg | ( | BitmapPtr | dst,
|  | const Rect & | bounds,
|  | SDst | w,
|  | SPos | x,
|  | SPos | y1,
|  | SPos | y2,
|  | Color | c
| ) |  |

在文件 YDraw.cpp 第 63 行定义.

参考 c, YSLib::IsInInterval(), platform::Nonnull(), YSLib::RestrictInInterval(), YSLib::RestrictLessEqual(), w, YSLib::Drawing::Size::Width, YSLib::Drawing::GBinaryGroup< _type >::X, x, YSLib::Drawing::GBinaryGroup< _type >::Y , 以及 YSLib::YAssert().

函数调用图:

The boundary is out of the YSLib::Drawing::PlotVLineSeg | ( | g. | GetBufferPtr(),
|  | bounds | ,
|  | g. | GetWidth(),
|  | x | ,
|  | y1 | ,
|  | y2 | ,
|  | c |
| ) |  |

绘制线段：在宽 w 的缓冲区内的区域 bounds 绘制端点为 p1(x1, y1) 和 p2(x2, y2) 的线段。

前置条件
  间接断言： `dst` 。

参考自 PlotLineSeg().

这是这个函数的调用关系图:
template<class _tRenderer >

void YSLib::Drawing::PrintChar | ( | _tRenderer & | rd,
|  | char32_t | c
| ) |  |

打印单个可打印字符。

自从
  build 641

待办事项:
  行的结尾位置计算和边距解除耦合。

在文件 CharRenderer.h 第 160 行定义.

参考 YB_LIKELY.

参考自 PrintLine() , 以及 PrintString().

这是这个函数的调用关系图:
template<typename _tIter , class _tRenderer , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >

_tIter YSLib::Drawing::PrintLine | ( | _tRenderer & | rd,
|  | _tIter | s
| ) |  |

打印迭代器指定的起始字符的字符串，直至行尾或字符迭代终止。

注解
  使用 ADL `GetEndOfLineOffsetOf` 判断行尾位置。

自从
  build 483

注解
  使用 ADL `PrintChar` 渲染字符。

参数

  rd | 使用的字符渲染器。
  s | 指向字符串起始字符的输入迭代器。

返回
  指向结束位置的迭代器。

注解
  迭代直至字符串结束符。

在文件 TextRenderer.h 第 58 行定义.

参考 PrintChar() , 以及 CHRLib::s.

参考自 PrintLine().

函数调用图:

这是这个函数的调用关系图:
template<typename _tIter , class _tRenderer , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >

_tIter YSLib::Drawing::PrintLine | ( | _tRenderer & | rd,
|  | _tIter | s,
|  | _tIter | g,
|  | char32_t | c = `{}`
| ) |  |

打印迭代器指定的起始字符的字符串，直至行尾或字符迭代终止。

参数

  rd | 使用的字符渲染器。
  s | 指向字符串起始字符的输入迭代器。
  g | 指示迭代终止位置的输入迭代器。
  c | 指向迭代终止的字符。

返回
  指向结束位置的迭代器。

自从
  build 641

注解
  迭代直至 g 指定的位置或指定位置的字符为 c 。

在文件 TextRenderer.h 第 80 行定义.

template<class _tRenderer , class _tString , yimpl(typename=ystdex::enable_for_string_class_t< _tString >) >

String::size_type YSLib::Drawing::PrintLine | ( | _tRenderer & | rd,
|  | const _tString & | str
| ) |  |

inline

打印字符串，直至行尾或字符串结束。

前置条件
  断言：字符串参数的数据指针非空。

参数

  rd | 使用的字符渲染器。
  str | 被输出的字符串。

返回
  打印字符数。

在文件 TextRenderer.h 第 99 行定义.

参考 PrintLine(), ystdex::string_begin() , 以及 ystdex::string_end().

函数调用图:
template<typename _tIter , class _tRenderer , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >

_tIter YSLib::Drawing::PrintString | ( | _tRenderer & | rd,
|  | _tIter | s
| ) |  |

打印迭代器指定的起始字符的字符串，直至区域末尾或字符迭代终止。

参数

  rd | 使用的字符渲染器。
  s | 指向字符串起始字符的输入迭代器。

返回
  指向结束位置的迭代器。

注解
  迭代直至字符串结束符。

在文件 TextRenderer.h 第 115 行定义.

参考 PrintChar() , 以及 CHRLib::s.

参考自 FetchStringWidth() , 以及 PrintString().

函数调用图:

这是这个函数的调用关系图:
template<typename _tIter , class _tRenderer , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >

_tIter YSLib::Drawing::PrintString | ( | _tRenderer & | rd,
|  | _tIter | s,
|  | _tIter | g,
|  | char32_t | c = `{}`
| ) |  |

打印迭代器指定的起始字符的字符串，直至区域末尾或字符迭代终止。

参数

  rd | 使用的字符渲染器。
  s | 指向字符串起始字符的输入迭代器。
  g | 指示迭代终止位置的输入迭代器。
  c | 指向迭代终止的字符。

返回
  指向结束位置的迭代器。

注解
  迭代直至 g 指定的位置或指定位置的字符为 c 。

自从
  build 641

在文件 TextRenderer.h 第 134 行定义.

template<class _tRenderer , class _tString , yimpl(typename=ystdex::enable_for_string_class_t< _tString >) >

String::size_type YSLib::Drawing::PrintString | ( | _tRenderer & | rd,
|  | const _tString & | str
| ) |  |

inline

打印字符串，直至区域末尾或字符串结束。

前置条件
  断言：字符串参数的数据指针非空。

参数

  rd | 使用的字符渲染器。
  str | 被输出的字符串。

返回
  打印字符数。

在文件 TextRenderer.h 第 150 行定义.

参考 PrintString(), ystdex::string_begin() , 以及 ystdex::string_end().

函数调用图:
template<class _tRenderer >

PutCharResult YSLib::Drawing::PutChar | ( | _tRenderer & | rd,
|  | char32_t | c,
|  | SDst | eol
| ) |  |

打印单个字符。

返回
  遇到行内无法容纳而换行时返回非零值，否则返回 0 。

注解
  处理换行符。
  当行内无法容纳完整字符时换行。

在文件 CharRenderer.h 第 197 行定义.

参考 c, Normal , 以及 PutCharBase().

参考自 PutChar(), PutLine() , 以及 PutString().

函数调用图:

这是这个函数的调用关系图:
template<class _tRenderer >

PutCharResult YSLib::Drawing::PutChar | ( | _tRenderer & | rd,
|  | char32_t | c
| ) |  |

在文件 CharRenderer.h 第 207 行定义.

参考 GetEndOfLineOffsetOf(), NeedNewline , 以及 PutChar().

函数调用图:
template<class _tRenderer , typename _tChar , typename... _tParams>

PutCharResult YSLib::Drawing::PutChar | ( | _tRenderer & | rd,
|  | _tChar | c,
|  | _tParams &&... | args
| ) |  |

inline

自从
  build 588

在文件 CharRenderer.h 第 220 行定义.

参考 CHRLib::args, char32_t, PutChar() , 以及 yforward.

函数调用图:

PutCharResult YSLib::Drawing::PutCharBase | ( | TextState & | ts,
|  | SDst | eol,
|  | char32_t | c
| ) |  |

使用指定的文本状态和行末位置按需打印换行并判断是否需要渲染单个字符。

自从
  build 641

在文件 CharRenderer.cpp 第 170 行定义.

参考 YSLib::Drawing::PenStyle::Font, platform_ex::Windows::Normal, YSLib::Drawing::TextState::Pen, YSLib::Drawing::GBinaryGroup< _type >::X , 以及 YB_UNLIKELY.

参考自 PutChar().

这是这个函数的调用关系图:
template<typename _tIter , class _tRenderer , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >

_tIter YSLib::Drawing::PutLine | ( | _tRenderer & | rd,
|  | _tIter | s
| ) |  |

打印迭代器指定的起始字符的字符串，直至行尾或字符迭代终止。

注解
  使用 ADL `PutChar` 渲染字符。

参数

  rd | 使用的字符渲染器。
  s | 指向字符串起始字符的输入迭代器。

返回
  指向结束位置的迭代器。

注解
  迭代直至字符串结束符。
  当行内无法容纳完整字符时换行。

在文件 TextRenderer.h 第 170 行定义.

参考 GetEndOfLineOffsetOf(), NeedNewline, PutChar() , 以及 CHRLib::s.

参考自 YSLib::DS::UI::DualScreenReader::Execute(), YSLib::DS::UI::DualScreenReader::PutLastLine(), PutLine(), PutText() , 以及 YSLib::UI::HexViewArea::Refresh().

函数调用图:

这是这个函数的调用关系图:
template<typename _tIter , class _tRenderer , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >

_tIter YSLib::Drawing::PutLine | ( | _tRenderer & | rd,
|  | _tIter | s,
|  | _tIter | g,
|  | char32_t | c = `{}`
| ) |  |

打印迭代器指定的起始字符的字符串，直至行尾或字符迭代终止。

参数

  rd | 使用的字符渲染器。
  s | 指向字符串起始字符的输入迭代器。
  g | 指示迭代终止位置的输入迭代器。
  c | 指向迭代终止的字符。

返回
  指向结束位置的迭代器。

注解
  迭代直至 g 指定的位置或指定位置的字符为 c 。
  当行内无法容纳完整字符时换行。

自从
  build 641

在文件 TextRenderer.h 第 199 行定义.

template<class _tRenderer , class _tString , yimpl(typename=ystdex::enable_for_string_class_t< _tString >) >

String::size_type YSLib::Drawing::PutLine | ( | _tRenderer & | rd,
|  | const _tString & | str
| ) |  |

inline

打印字符串，直至行尾或字符串结束。

前置条件
  断言：字符串参数的数据指针非空。

参数

  rd | 使用的字符渲染器。
  str | 被输出的字符串。

返回
  打印字符数。

注解
  当行内无法容纳完整字符时换行。

在文件 TextRenderer.h 第 225 行定义.

参考 PutLine(), ystdex::string_begin() , 以及 ystdex::string_end().

函数调用图:
template<typename _tIter , class _tRenderer , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >

_tIter YSLib::Drawing::PutString | ( | _tRenderer & | rd,
|  | _tIter | s
| ) |  |

打印迭代器指定的起始字符的字符串，直至区域末尾或字符迭代终止。

参数

  rd | 使用的字符渲染器。
  s | 指向字符串起始字符的输入迭代器。

返回
  指向结束位置的迭代器。

注解
  迭代直至字符串结束符。
  当行内无法容纳完整字符时换行。

在文件 TextRenderer.h 第 242 行定义.

参考 FetchLastLineBasePosition(), GetEndOfLineOffsetOf(), NeedNewline, PutChar() , 以及 CHRLib::s.

参考自 YSLib::DS::UI::DualScreenReader::LoadText(), PutString(), PutText() , 以及 YSLib::DS::UI::DualScreenReader::UpdateView().

函数调用图:

这是这个函数的调用关系图:
template<typename _tIter , class _tRenderer , yimpl(typename=ystdex::enable_for_iterator_t< _tIter >) >

_tIter YSLib::Drawing::PutString | ( | _tRenderer & | rd,
|  | _tIter | s,
|  | _tIter | g,
|  | char32_t | c = `{}`
| ) |  |

打印迭代器指定的起始字符的字符串，直至区域末尾或字符迭代终止。

参数

  rd | 使用的字符渲染器。
  s | 指向字符串起始字符的输入迭代器。
  g | 指示迭代终止位置的输入迭代器。
  c | 指向迭代终止的字符。

返回
  指向结束位置的迭代器。

注解
  迭代直至 g 指定的位置或指定位置的字符为 c 。
  当行内无法容纳完整字符时换行。

自从
  build 641

在文件 TextRenderer.h 第 271 行定义.

template<class _tRenderer , class _tString , yimpl(typename=ystdex::enable_for_string_class_t< _tString >) >

String::size_type YSLib::Drawing::PutString | ( | _tRenderer & | rd,
|  | const _tString & | str
| ) |  |

inline

打印字符串，直至区域末尾或字符串结束。

参数

  rd | 使用的字符渲染器。
  str | 被输出的字符串。

返回
  打印字符数。

注解
  当行内无法容纳完整字符时换行。

在文件 TextRenderer.h 第 296 行定义.

参考 PutString(), ystdex::string_begin() , 以及 ystdex::string_end().

函数调用图:
template<typename... _tParams>

void YSLib::Drawing::PutText | ( | bool | multi,
|  | _tParams &&... | args
| ) |  |

打印文本。

参数

  multi | 指定是否可输出多行。
  args | 传递给 PutString 或 PutLine 的参数。

自从
  build 485

在文件 TextRenderer.h 第 312 行定义.

参考 CHRLib::args, PutLine(), PutString() , 以及 yforward.

参考自 DrawClippedText(), DrawText() , 以及 YSLib::UI::TextBox::UpdateTextBoxClippedText().

函数调用图:

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

void YSLib::Drawing::RectDrawArrow | ( | const PaintContext & | pc,
|  | SDst | half_size,
|  | Rotation | rot = `RDeg0`,
|  | Color | c = `ColorSpace::Black`
| ) |  |

在指定上下文的矩形中描画底边和坐标轴共线的等腰直角三角形箭头。

前置条件
  断言：指向值有效。

注解
  位置指定顶点；大小以高度量； RDeg0 指向右侧。

自从
  build 453

在文件 YStyle.cpp 第 69 行定义.

参考 bounds, g, YSLib::i, RDeg0, RDeg180, RDeg270, RDeg90, x, YSLib::UI::y , 以及 YAssert.

参考自 DrawArrow().

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

void YSLib::Drawing::RectDrawArrowOutline | ( | const PaintContext & | pc,
|  | SDst | half_size,
|  | Rotation | rot = `RDeg0`,
|  | Color | c = `ColorSpace::Black`
| ) |  |

在指定上下文的矩形中描画底边和坐标轴共线的等腰直角三角形箭头轮廓。

前置条件
  断言：指向值有效。

自从
  build 522

注解
  位置指定顶点；大小以高度量； RDeg0 指向右侧。

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

参考 bounds, CHRLib::c, g, YSLib::i, RDeg0, RDeg180, RDeg270, RDeg90, x, YSLib::UI::y , 以及 YAssert.

参考自 DrawArrow().

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

void YSLib::Drawing::RectDrawCornerArrow | ( | const PaintContext & | pc,
|  | SDst | size,
|  | Rotation | rot = `RDeg0`,
|  | Color | c = `ColorSpace::Black`
| ) |  |

在指定上下文的矩形中描画腰和坐标轴共线的等腰直角三角形箭头。

注解
  位置指定顶点；大小以斜边度量； RDeg0 指向右下角。

在文件 YStyle.cpp 第 149 行定义.

参考 bounds, g, YSLib::i, RDeg0, RDeg180, RDeg270, RDeg90, ystdex::size(), x, YSLib::UI::y , 以及 YAssert.

参考自 DrawCornerArrow().

函数调用图:

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

void YSLib::Drawing::RectDrawCornerArrowOutline | ( | const PaintContext & | pc,
|  | SDst | size,
|  | Rotation | rot = `RDeg0`,
|  | Color | c = `ColorSpace::Black`
| ) |  |

在指定上下文的矩形中描画腰和坐标轴共线的等腰直角三角形箭头轮廓。

注解
  位置指定顶点；大小以斜边度量； RDeg0 指向右下角。

在文件 YStyle.cpp 第 186 行定义.

参考 bounds, DrawLineSeg, g, RDeg0, RDeg180, RDeg270, x , 以及 YSLib::UI::y.

参考自 DrawCornerArrow().

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

void YSLib::Drawing::RenderChar | ( | PaintContext && | pc,
|  | Color | c,
|  | bool | neg_pitch,
|  | CharBitmap::BufferType | cbuf,
|  | CharBitmap::FormatType | fmt,
|  | const Size & | ss
| ) |  |

渲染单个字符。

参数

  pc | 指定字符所在区域和渲染目标的绘制上下文， 其中 Location 为相对源的坐标。

前置条件
  断言：缓冲区非空。

注解
  忽略 Alpha 缓冲。

自从
  build 415

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

参考 BlitGlyphPixels(), NPL::dst, YSLib::Consoles::Gray , 以及 YAssert.

函数调用图:

void YSLib::Drawing::RenderCharAlpha | ( | PaintContext && | pc,
|  | Color | c,
|  | bool | neg_pitch,
|  | CharBitmap::BufferType | cbuf,
|  | CharBitmap::FormatType | fmt,
|  | const Size & | ss,
|  | AlphaType * | alpha
| ) |  |

渲染带 Alpha 缓冲的单个字符。

参数

  pc | 指定字符所在区域和渲染目标的绘制上下文， 其中 Location 为相对源的坐标。

前置条件
  断言：缓冲区非空。

自从
  build 417

在文件 CharRenderer.cpp 第 140 行定义.

参考 BlitGlyphPixels(), NPL::dst, YSLib::Consoles::Gray , 以及 YAssert.

函数调用图:
template<typename _tScalar = float>

yconstfn _tScalar YSLib::Drawing::ScaleMin | ( | const Size & | x,
|  | const Size & | y,
|  | _tScalar | threshold = `1.F`
| ) |  |

计算两个大小和阈值限定的最小缩放值。

自从
  build 555

在文件 YGDIBase.h 第 526 行定义.

参考 YSLib::Drawing::Size::Height, ystdex::min() , 以及 YSLib::Drawing::Size::Width.

函数调用图:

void YSLib::Drawing::SetCurrentTextLineNOf | ( | TextState & | ts,
|  | std::uint16_t | n
| ) |  |

在文件 TextBase.cpp 第 75 行定义.

参考 YSLib::Drawing::TextState::Pen , 以及 YSLib::Drawing::GBinaryGroup< _type >::Y.

参考自 YSLib::DS::UI::DualScreenReader::Execute() , 以及 YSLib::DS::UI::DualScreenReader::MoveUpForLastLine().

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

string YSLib::Drawing::to_string | ( | const Size & | s | ) |

在文件 YGDIBase.cpp 第 42 行定义.

参考 YSLib::Drawing::Size::Height, ystdex::quote(), to_string() , 以及 YSLib::Drawing::Size::Width.

函数调用图:

string YSLib::Drawing::to_string | ( | const Rect & | r | ) |

在文件 YGDIBase.cpp 第 141 行定义.

参考 YSLib::Drawing::Size::Height, ystdex::quote(), to_string(), YSLib::Drawing::Size::Width, YSLib::Drawing::GBinaryGroup< _type >::X , 以及 YSLib::Drawing::GBinaryGroup< _type >::Y.

参考自 to_string().

函数调用图:

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

string YSLib::Drawing::to_string | ( | const ImageTag & | tag,
|  | ImageMetadataModel | model
| ) |  |

在文件 Image.cpp 第 699 行定义.

参考 platform::Nonnull().

参考自 YSLib::Drawing::ImagePages::AdjustOffset(), YSLib::Drawing::ImagePages::Resize(), to_string(), Zoom() , 以及 YSLib::Drawing::ImagePages::ZoomTo().

函数调用图:

这是这个函数的调用关系图:
template<class _fTransformPixel >

bool YSLib::Drawing::TransformRect | ( | const Graphics & | g,
|  | const Point & | pt,
|  | const Size & | s,
|  | _fTransformPixel | tp
| ) |  |

以像素为单位变换标准矩形。

自从
  build 166

在文件 YBlit.h 第 571 行定义.

参考 CHRLib::s , 以及 YB_LIKELY.

template<class _fTransformPixel >

bool YSLib::Drawing::TransformRect | ( | const Graphics & | g,
|  | const Rect & | r,
|  | _fTransformPixel | tp
| ) |  |

inline

以像素为单位变换标准矩形。

自从
  build 166

在文件 YBlit.h 第 591 行定义.

参考 g.

template<typename _fPixelShader , bool _bSwapLR = false, bool _bSwapUD = false>

void YSLib::Drawing::UpdatePixels | ( | _fPixelShader | shader,
|  | const PaintContext & | pc,
|  | const Drawing::Image & | img,
|  | const Point & | dst_offset,
|  | const Point & | src_offset
| ) |  |

更新：逐像素操作。

参见
  Drawing::BlitPixels

自从
  build 448

在文件 YBrush.h 第 184 行定义.

参考 bounds , 以及 g.

template<Rotation _vRot = RDeg0, typename _fPixelShader = Shaders::BlitAlphaPoint>

void YSLib::Drawing::UpdatePixelsWithRotation | ( | _fPixelShader | shader,
|  | const PaintContext & | pc,
|  | const Drawing::Image & | img,
|  | const Point & | dst_offset,
|  | const Point & | src_offset
| ) |  |

更新：可能旋转源图像的像素操作。

参见
  Drawing::DispatchTranspose
  Drawing::UpdatePixels
  Drawing::UpdateTranposedPixels

自从
  build 579

在文件 YBrush.h 第 228 行定义.

参考 BlitPixels(), bounds, DispatchTranspose(), g, RDeg180, RDeg270 , 以及 RDeg90.

函数调用图:
template<Rotation _vRot = RDeg0, typename _fPixelShader = Shaders::BlitAlphaPoint>

void YSLib::Drawing::UpdateRotatedBrush | ( | const PaintContext & | pc,
|  | const Drawing::Image & | img,
|  | const Point & | dst_offset,
|  | const Point & | src_offset
| ) |  |

使用默认构造的画刷更新：可能旋转源图像的像素操作。

参见
  Drawing::UpdatePixelsWithRotation

自从
  build 579

在文件 YBrush.h 第 256 行定义.

template<typename _fPixelShader , bool _bSwapLR = false, bool _bSwapUD = false>

void YSLib::Drawing::UpdateTranposedPixels | ( | _fPixelShader | shader,
|  | const PaintContext & | pc,
|  | const Drawing::Image & | img,
|  | const Point & | dst_offset,
|  | const Point & | src_offset
| ) |  |

更新：转置的逐像素操作。

参见
  Drawing::BlitPixels

自从
  build 575

在文件 YBrush.h 第 203 行定义.

参考 bounds , 以及 g.

YF_API CompactPixmap YSLib::Drawing::Zoom | ( | const HBitmap & | bitmap,
|  | ImageScale | ratio
| ) |  |

缩放位图。

前置条件
  断言：位图有效且非空。

在文件 ImageProcessing.cpp 第 39 行定义.

参考 NPL::c_str(), platform::Descriptions::Informative, to_string(), YSLib::YAssert() , 以及 YTraceDe.

参考自 YSLib::Drawing::ZoomedImageCache::Lookup() , 以及 YSLib::Drawing::ImagePages::ZoomByRatio().

函数调用图:

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

## 变量说明

tr YSLib::Drawing::AdjustBottomMarginOf

在文件 TextLayout.h 第 81 行定义.

参考自 YSLib::DS::UI::DualScreenReader::AdjustMargins().

The boundary is out of the const Graphics const Rect const Point const Point Color c const Rect & YSLib::Drawing::bounds

在文件 YDraw.h 第 127 行定义.

参考自 BlitGlyphLines(), BlitGlyphPixels(), YSLib::Drawing::ImageBrush::DefaultUpdate(), YSLib::UI::WidgetLoader::DetectWidgetNode(), DrawRectRoundCorner(), YSLib::UI::DrawTrackBackground(), main(), RectDrawArrow(), RectDrawArrowOutline(), RectDrawCornerArrow(), RectDrawCornerArrowOutline(), YSLib::UI::ProgressBar::Refresh(), YSLib::UI::BufferedTextArea::Refresh(), YSLib::UI::TextList::Refresh(), UpdatePixels(), UpdatePixelsWithRotation(), YSLib::UI::BufferedRenderer::UpdateTo(), UpdateTranposedPixels() , 以及 YSLib::UI::BorderResizer::Wrap().

The boundary is out of the YSLib::Drawing::buffer

在文件 YDraw.h 第 118 行定义.

参考自 YSLib::Drawing::Typeface::SmallBitmapData::~SmallBitmapData().

YSLib::Drawing::c

在文件 YDraw.h 第 174 行定义.

参考自 DrawCircle(), DrawClippedText(), FillCircle(), FillVerticalLine(), ImplDeDtor(), PlotHLineSeg(), PlotVLineSeg() , 以及 PutChar().

tr TextRegion& tr YSLib::Drawing::char32_t

在文件 TextLayout.h 第 92 行定义.

参考自 CHRLib::GUCSMapper< CharSet::UTF_8 >::Assign1(), CHRLib::GUCSMapper< CharSet::UTF_8 >::Assign2(), CHRLib::GUCSMapper< CharSet::UTF_16BE >::Decode(), CHRLib::GUCSMapper< CharSet::UTF_16LE >::Decode(), CHRLib::GUCSMapper< CharSet::UTF_32BE >::Decode(), CHRLib::GUCSMapper< CharSet::UTF_32LE >::Decode(), YSLib::UI::TextBox::GetCaretPosition(), CHRLib::ImplRet(), PutChar(), YSLib::UI::TextBox::Refresh(), CHRLib::UCS2ToUCS4(), CHRLib::UCS4ToUCS2() , 以及 YSLib::UI::TextBox::UpdateTextBoxClippedText().

The boundary is out of the const Rect SDst SPos SPos SPos SPos YSLib::Drawing::Color

在文件 YDraw.h 第 127 行定义.

参考自 YSLib::Drawing::Shaders::GBlender< _tPixel, ystdex::when< _bCond > >::Blend(), YSLib::Drawing::Shaders::GBlender< _tPixel, ystdex::when< _bCond > >::BlendAlpha() , 以及 YSLib::Drawing::Shaders::GBlender< _tPixel, ystdex::when< _bCond > >::Composite().

The boundary is out of the YSLib::Drawing::DrawLineSeg

在文件 YDraw.h 第 161 行定义.

参考自 DrawCross(), DrawPolygon(), DrawTick(), main() , 以及 RectDrawCornerArrowOutline().

YSLib::Drawing::FetchName

在文件 Font.h 第 116 行定义.

参考自 YSLib::Drawing::FontFamily::GetTypefacePtr().

c yconstfn YSLib::Drawing::g

在文件 YDraw.h 第 161 行定义.

参考自 YSLib::Drawing::TextRegion::ClearLine(), ystdex::compose(), YSLib::Drawing::ImageBrush::DefaultUpdate(), DrawArrow(), DrawCornerArrow(), DrawRectRoundCorner(), YSLib::UI::DrawTrackBackground(), YSLib::Drawing::HSL::HSL(), YSLib::Drawing::HSV::HSV(), main(), YReader::ShlExplorer::OnPaint(), platform::Color::operator Pixel(), YSLib::UI::PaintEventArgs::PaintEventArgs(), RectDrawArrow(), RectDrawArrowOutline(), RectDrawCornerArrow(), RectDrawCornerArrowOutline(), YSLib::UI::ProgressBar::Refresh(), YSLib::UI::BufferedTextArea::Refresh(), TransformRect(), UpdatePixels(), UpdatePixelsWithRotation(), YSLib::UI::TextBox::UpdateTextBoxClippedText(), YSLib::UI::BufferedRenderer::UpdateTo(), UpdateTranposedPixels() , 以及 YSLib::UI::BufferedRenderer::Validate().

The boundary is out of the const Graphics const Rect const Point& YSLib::Drawing::p1

在文件 YDraw.h 第 161 行定义.

参考自 DrawTick(), ystdex::operator!=() , 以及 ystdex::operator==().

The boundary is out of the const Graphics const Rect const Point const Point& YSLib::Drawing::p2

在文件 YDraw.h 第 161 行定义.

参考自 DrawTick(), ystdex::operator!=(), ystdex::operator<(), ystdex::operator==() , 以及 ystdex::swap().

bounds & YSLib::Drawing::r

在文件 YDraw.h 第 174 行定义.

参考自 BlendRect(), YSLib::Drawing::GGraphics< unique_ptr< Pixel[]> >::bool(), YSLib::UI::Label::CalculateBounds(), CompositeRect(), ystdex::constfn_addressof(), YSLib::Drawing::Rect::Contains(), YSLib::Drawing::Rect::ContainsStrict(), DrawCircle(), CHRLib::FetchMaxCharWidth(), FetchStringOffsets(), FetchStringWidth(), CHRLib::FillByte(), FillCircle(), FillRect(), ystdex::get_mid(), YSLib::Drawing::HSL::HSL(), YSLib::Drawing::HSV::HSV(), YSLib::UI::Invalidate(), YSLib::UI::InvalidateChildren(), YSLib::UI::TextList::InvalidateSelected(), YSLib::UI::InvalidateVisible(), YSLib::UI::LocateMenu(), main(), CHRLib::MBCToUC(), YReader::ShlExplorer::OnPaint(), platform::Color::operator Pixel(), YSLib::Drawing::Rect::operator|=(), YSLib::UI::BufferedRenderer::Paint(), YSLib::FPSCounter::Refresh(), YSLib::UI::WidgetLoader::TransformUILayout() , 以及 platform::TryGetCurrentWorkingDirectory().

The boundary is out of the const Rect SDst YSLib::Drawing::w

在文件 YDraw.h 第 127 行定义.

参考自 YReader::AddButtonToTabBar(), BlitRect(), FetchStringOffsets(), FetchStringWidth(), YSLib::UI::TextBox::GetCaretPosition(), YSLib::ImplDeDtor(), YSLib::Devices::KeyInputDevice::KeyInputDevice(), ystdex::transposed_iterator< _tIter >::make_transposed(), CHRLib::Transcoding< _vFrom, CharSet::Null, _tDispatcher >::MakeTranscoded(), CHRLib::Transcoding< _vFrom, CharSet::Null, _tDispatcher >::MakeViewTranscoded(), YSLib::Drawing::CompactPixmap::PDefH(), PlotVLineSeg() , 以及 YSLib::DS::UI::DualScreenReader::Stretch().

The boundary is out of the const Rect SDst SPos YSLib::Drawing::x

related

在文件 YDraw.h 第 127 行定义.

参考自 ystdex::examiners::equal::are_equal(), YSLib::GHEvent< _tRet(_tParams...)>::GEquality< _tRet, _tParams >::AreEqual(), ystdex::standard_layout_storage< _type >::assign(), BlitRect(), ystdex::mapped_set< _type, _fComp, _tAlloc >::count(), ystdex::cube(), DrawArrow(), DrawCircle(), DrawCornerArrow(), ystdex::mapped_set< _type, _fComp, _tAlloc >::equal_range(), YReader::FetchImage(), FetchStringWidth(), FillCircle(), ystdex::mapped_set< _type, _fComp, _tAlloc >::find(), ystdex::any_ops::ref_handler< _type >::init(), ystdex::mapped_set< _type, _fComp, _tAlloc >::insert(), CHRLib::GUCSMapper< CharSet::UTF_8 >::IsInvalid(), platform::IsNodeShared(), ystdex::mapped_set< _type, _fComp, _tAlloc >::lower_bound(), main(), ystdex::path< _tSeqCon, _tTraits >::merge_parents(), ystdex::native_byte_order(), platform_ex::operator!=(), ystdex::id< _type >::operator()(), ystdex::id< void >::operator()(), ystdex::addressof_op< _type >::operator()(), ystdex::addressof_op< void >::operator()(), ystdex::mem_get< _type >::operator()(), ystdex::mem_get< void >::operator()(), ystdex::is_equal::operator()(), YSLib::Drawing::BlitLineLoop< _bDec >::operator()(), YSLib::Drawing::GBinaryGroup< _type >::operator+(), YSLib::Drawing::GBinaryGroup< _type >::operator-(), ystdex::standard_layout_storage< _type >::operator=(), ystdex::any::operator=(), YSLib::Text::operator==(), YSLib::Drawing::GBinaryGroup< _type >::operator==(), platform_ex::operator==(), ystdex::operator==(), ystdex::pack_uint(), PlotVLineSeg(), RectDrawArrow(), RectDrawArrowOutline(), RectDrawCornerArrow(), RectDrawCornerArrowOutline(), ystdex::set_value_move(), ystdex::square(), ystdex::standard_layout_storage< _type >::standard_layout_storage(), ystdex::swap(), ystdex::nptr< _type >::swap(), ystdex::single_thread::unique_lock< _tMutex >::swap(), ystdex::any::swap(), ystdex::swap_underlying(), ystdex::to_string(), ystdex::to_wstring(), ystdex::unref() , 以及 ystdex::mapped_set< _type, _fComp, _tAlloc >::upper_bound().

The boundary is out of the const Rect SDst SPos YSLib::Drawing::x1

在文件 YDraw.h 第 148 行定义.

参考自 DrawRect(), DrawRectRoundCorner(), PlotHLineSeg() , 以及 YSLib::UI::TextBox::UpdateTextBoxClippedText().

The boundary is out of the const Rect SDst SPos SPos SPos YSLib::Drawing::x2

在文件 YDraw.h 第 148 行定义.

参考自 DrawRect(), DrawRectRoundCorner(), YSLib::Drawing::HSL::HSL() , 以及 YSLib::UI::TextBox::UpdateTextBoxClippedText().

The boundary is out of the const Rect SDst SPos SPos YSLib::Drawing::y1

在文件 YDraw.h 第 127 行定义.

参考自 DrawRect() , 以及 DrawRectRoundCorner().

The boundary is out of the const Rect SDst SPos SPos SPos SPos YSLib::Drawing::y2

在文件 YDraw.h 第 127 行定义.

参考自 DrawRect() , 以及 DrawRectRoundCorner().