PangoRenderer

自:1.8 起

描述 [src]

abstract class Pango.Renderer : GObject.Object
{
  PangoMatrix* matrix
}

PangoRenderer 是可呈现作为 PangoGlyphStringPangoLayout 文本的对象的基本类。

通过对 PangoRenderer 进行子类化并覆盖 draw_glyphsdraw_rectangle 等操作,可创建特定字体后端和目标的渲染器。

自以下版本提供:1.8

祖先

实例方法

pango_renderer_activate

renderer 上进行渲染操作之前进行初始设置。

自:1.8 起

pango_renderer_deactivate

清理 renderer 上的渲染操作。

自:1.8 起

pango_renderer_draw_error_underline

绘制一条波浪线,其大致覆盖指定的矩形,风格为下划线,用于表示拼写错误。

自:1.8 起

pango_renderer_draw_glyph

绘制具有设备空间坐标的单个字形。

自:1.8 起

pango_renderer_draw_glyph_item

使用指定的 PangoRenderer 绘制 glyph_item 中的字形,如果输出格式支持,则在输出中嵌入与字形关联的文本。

自:1.22 起

pango_renderer_draw_glyphs

使用指定的 PangoRenderer 绘制 glyphs 中的字形。

自:1.8 起

pango_renderer_draw_layout

使用指定的 PangoRenderer 绘制 layout

自:1.8 起

pango_renderer_draw_layout_line

使用指定的 PangoRenderer 绘制 line

自:1.8 起

pango_renderer_draw_rectangle

使用指定的 PangoRenderer 在用户空间坐标中绘制一个轴对齐的矩形。

自:1.8 起

pango_renderer_draw_trapezoid

使用给定的 PangoRenderer 绘制平行边与 X 轴对齐的梯形;坐标在设备空间中。

自:1.8 起

pango_renderer_get_alpha

获取指定部件的当前 Alpha。

自:1.38 起

pango_renderer_get_color

获取指定部件的当前渲染颜色。

自:1.8 起

pango_renderer_get_layout

使用 renderer 获取当前正在渲染的布局。

自:1.20 起

pango_renderer_get_layout_line

使用 renderer 获取当前正在渲染的布局行。

自:1.20 起

pango_renderer_get_matrix

获取渲染时所应用的变换矩阵。

自:1.8 起

pango_renderer_part_changed

告知 Pango,part 的渲染方式已更改。

自:1.8 起

pango_renderer_set_alpha

设置渲染部分的 alpha。

自:1.38 起

pango_renderer_set_color

设置渲染部分的颜色。

自:1.8 起

pango_renderer_set_matrix

设置渲染时所应用的变换矩阵。

自:1.8 起

GObject(43)继承的方法

有关所有方法的完整列表,请参阅 GObject

信号

GObject(1)继承的信号
GObject::notify

当某个属性通过 g_object_set_property()、g_object_set() 等设置其值时,将在对象上发出 notify 信号。

类结构

struct PangoRendererClass {
  void (* draw_glyphs) (
    PangoRenderer* renderer,
    PangoFont* font,
    PangoGlyphString* glyphs,
    int x,
    int y
  );
  void (* draw_rectangle) (
    PangoRenderer* renderer,
    PangoRenderPart part,
    int x,
    int y,
    int width,
    int height
  );
  void (* draw_error_underline) (
    PangoRenderer* renderer,
    int x,
    int y,
    int width,
    int height
  );
  void (* draw_shape) (
    PangoRenderer* renderer,
    PangoAttrShape* attr,
    int x,
    int y
  );
  void (* draw_trapezoid) (
    PangoRenderer* renderer,
    PangoRenderPart part,
    double y1_,
    double x11,
    double x21,
    double y2,
    double x12,
    double x22
  );
  void (* draw_glyph) (
    PangoRenderer* renderer,
    PangoFont* font,
    PangoGlyph glyph,
    double x,
    double y
  );
  void (* part_changed) (
    PangoRenderer* renderer,
    PangoRenderPart part
  );
  void (* begin) (
    PangoRenderer* renderer
  );
  void (* end) (
    PangoRenderer* renderer
  );
  void (* prepare_run) (
    PangoRenderer* renderer,
    PangoLayoutRun* run
  );
  void (* draw_glyph_item) (
    PangoRenderer* renderer,
    const char* text,
    PangoGlyphItem* glyph_item,
    int x,
    int y
  );
  void (* _pango_reserved2) (
void
  );
  void (* _pango_reserved3) (
void
  );
  void (* _pango_reserved4) (
void
  );
  
}

PangoRenderer 的类结构。

以下 vfunc 使用 Pango 单位中的用户空间坐标,并具有默认实现: - draw_glyphs - draw_rectangle - draw_error_underline - draw_shape - draw_glyph_item

默认 draw_shape 实现不绘制任何内容。

以下 vfunc 使用浮点数参数作为设备空间坐标,且必须实现: - draw_trapezoid - draw_glyph。

成员
draw_glyphs: void (* draw_glyphs) ( PangoRenderer* renderer, PangoFont* font, PangoGlyphString* glyphs, int x, int y )

绘制 PangoGlyphString

draw_rectangle: void (* draw_rectangle) ( PangoRenderer* renderer, PangoRenderPart part, int x, int y, int width, int height )

绘制一块矩形。

draw_error_underline: void (* draw_error_underline) ( PangoRenderer* renderer, int x, int y, int width, int height )

绘制一条曲线,用以大致覆盖给定矩形,其样式类似于用于指示拼写错误的下划线。

draw_shape: void (* draw_shape) ( PangoRenderer* renderer, PangoAttrShape* attr, int x, int y )

绘制使用 PangoAttrShape 成形的字形内容 xy 是基线左边缘的坐标,以用户坐标表示。

draw_trapezoid: void (* draw_trapezoid) ( PangoRenderer* renderer, PangoRenderPart part, double y1_, double x11, double x21, double y2, double x12, double x22 )

绘制梯形的填充区域。

draw_glyph: void (* draw_glyph) ( PangoRenderer* renderer, PangoFont* font, PangoGlyph glyph, double x, double y )

绘制单个字形。

part_changed: void (* part_changed) ( PangoRenderer* renderer, PangoRenderPart part )

在渲染属性更改时执行渲染器特定处理。

begin: void (* begin) ( PangoRenderer* renderer )

在绘制之前执行渲染器特定的初始化。

end: void (* end) ( PangoRenderer* renderer )

在绘制之后执行渲染器特定的清理。

prepare_run: void (* prepare_run) ( PangoRenderer* renderer, PangoLayoutRun* run )

针对新 run 更新渲染器。

draw_glyph_item: void (* draw_glyph_item) ( PangoRenderer* renderer, const char* text, PangoGlyphItem* glyph_item, int x, int y )

绘制 PangoGlyphItem

_pango_reserved2: void (* _pango_reserved2) ( void )

无可用说明。

_pango_reserved3: void (* _pango_reserved3) ( void )

无可用说明。

_pango_reserved4: void (* _pango_reserved4) ( void )

无可用说明。

虚拟方法

Pango.RendererClass.begin

在绘制之前执行渲染器特定的初始化。

Pango.RendererClass.draw_error_underline

绘制一条波浪线,其大致覆盖指定的矩形,风格为下划线,用于表示拼写错误。

自:1.8 起

Pango.RendererClass.draw_glyph

绘制具有设备空间坐标的单个字形。

自:1.8 起

Pango.RendererClass.draw_glyph_item

使用指定的 PangoRenderer 绘制 glyph_item 中的字形,如果输出格式支持,则在输出中嵌入与字形关联的文本。

自:1.22 起

Pango.RendererClass.draw_glyphs

使用指定的 PangoRenderer 绘制 glyphs 中的字形。

自:1.8 起

Pango.RendererClass.draw_rectangle

使用指定的 PangoRenderer 在用户空间坐标中绘制一个轴对齐的矩形。

自:1.8 起

Pango.RendererClass.draw_shape

绘制使用 PangoAttrShape 成形的字形内容 xy 是基线左边缘的坐标,以用户坐标表示。

Pango.RendererClass.draw_trapezoid

使用给定的 PangoRenderer 绘制平行边与 X 轴对齐的梯形;坐标在设备空间中。

自:1.8 起

Pango.RendererClass.end

在绘制之后执行渲染器特定的清理。

Pango.RendererClass.part_changed

告知 Pango,part 的渲染方式已更改。

自:1.8 起

Pango.RendererClass.prepare_run

针对新 run 更新渲染器。