GtkGraphicsOffload

自:4.14

描述 [src]

final class Gtk.GraphicsOffload : Gtk.Widget
  implements Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
  /* No available fields */
}

它允许将其子内容直接传递给合成器,从而绕过其子内容的 gsk 渲染的窗口小部件。

图形卸载是一种优化,可以减少开销和电池使用,这对视频内容最有帮助。它仅适用于某些平台和某些情况。GTK如果不能自动恢复正常渲染。

如果没有绘制在视频内容之上的控件,则图形卸载的效率最高。

如果你的主窗口小部件显示经常变化的内容(例如视频或 VM 显示),并且你以 dmabuf 纹理(见 GdkDmabufTextureBuilder)的形式提供内容,则应考虑为其使用图形卸载,特别是它可能是全屏。

许多因素可能会阻止图形卸载

  • 不受支持的平台。目前,图形卸载仅适用于使用 Wayland 的 Linux。

  • 裁剪,例如导致视频内容不是矩形的圆角

  • 不受支持的 dmabuf 格式(参见 gdk_display_get_dmabuf_formats())

  • 半透明视频内容(即使未使用,也有 alpha 通道的 内容)

  • 复杂度高于平移和缩放的变换

  • 过滤器,例如不透明度、灰度或类似内容

要调查与图形卸载相关的问题,GTK 提供调试标志以打印有关图形卸载和 dmabuf 使用的信息

GDK_DEBUG=offload
GDK_DEBUG=dmabuf

GTK检查器为图形卸载提供了可视化调试工具。

自 4.14 起可用

层次结构

hierarchy this GtkGraphicsOffload implements_0 GtkAccessible this--implements_0 implements_1 GtkBuildable this--implements_1 implements_2 GtkConstraintTarget this--implements_2 ancestor_0 GtkWidget ancestor_0--this ancestor_1 GInitiallyUnowned ancestor_1--ancestor_0 ancestor_2 GObject ancestor_2--ancestor_1

构造函数

gtk_graphics_offload_new

创建一个新的 GtkGraphicsOffload 窗口小部件。

自:4.14

实例方法

gtk_graphics_offload_get_black_background

返回窗口小部件是否绘制黑色背景。

自:4.16

gtk_graphics_offload_get_child

获得 self 的子节点。

自:4.14

gtk_graphics_offload_get_enabled

返回是否为 self 启用卸载。

自:4.14

gtk_graphics_offload_set_black_background

设置此 GtkGraphicsOffload 窗口小部件是否将绘制黑色背景。

自:4.16

gtk_graphics_offload_set_child

设置 self 的子节点。

自:4.14

gtk_graphics_offload_set_enabled

设置此 GtkGraphicsOffload 窗口小部件是否将尝试卸载其子窗口小部件的内容。

自:4.14

GtkWidget (162) 继承的方法

有关方法的完整列表,请参见 GtkWidget

GObject (43) 继承的方法

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

GtkAccessible (19) 继承的方法
gtk_accessible_announce

请求用户屏幕阅读器播报给定的信息。

自:4.14

gtk_accessible_get_accessible_parent

检索嵌入了辅助功能对象的父辅助功能。

since: 4.10

gtk_accessible_get_accessible_role

检索嵌入了辅助功能对象的辅助功能角色。

gtk_accessible_get_at_context

检索给定嵌入了辅助功能对象的实现。

since: 4.10

gtk_accessible_get_bounds

查询此嵌入了辅助功能对象的坐标和尺寸。

since: 4.10

gtk_accessible_get_first_accessible_child

检索嵌入了辅助功能对象的第一个子辅助功能。

since: 4.10

gtk_accessible_get_next_accessible_sibling

检索嵌入了辅助功能对象的下一个兄弟辅助功能。

since: 4.10

gtk_accessible_get_platform_state

查询平台状态,比如焦点。

since: 4.10

gtk_accessible_reset_property

将辅助功能属性重置为其默认值。

gtk_accessible_reset_relation

将辅助功能关系重置为其默认值。

gtk_accessible_reset_state

将辅助功能状态重置为其默认值。

gtk_accessible_set_accessible_parent

设置嵌入了辅助功能对象的父级和兄弟对象。

since: 4.10

gtk_accessible_update_next_accessible_sibling

更新下一个辅助功能兄弟。

since: 4.10

gtk_accessible_update_property

更新辅助功能属性列表。

gtk_accessible_update_property_value

更新辅助功能属性数组。

gtk_accessible_update_relation

更新辅助功能关系列表。

gtk_accessible_update_relation_value

更新辅助功能关系数组。

gtk_accessible_update_state

更新辅助功能状态列表。

gtk_accessible_update_state_value

更新辅助功能状态数组。

GtkBuildable 继承的方法 (1)
gtk_buildable_get_buildable_id

获取 buildable 对象的 ID

属性

Gtk.GraphicsOffload:black-background

是否绘制黑色背景。

自:4.16

Gtk.GraphicsOffload:child

子小部件。

自:4.14

Gtk.GraphicsOffload:enabled

是否启用图形卸载。

自:4.14

GtkWidget 继承的属性 (34)
Gtk.Widget:can-focus

小部件或其任何子级能否接受输入焦点。

Gtk.Widget:can-target

小部件能否接收指针事件。

Gtk.Widget:css-classes

应用于此小部件的 CSS 类列表。

Gtk.Widget:css-name

此小部件在 CSS 树中的名称。

Gtk.Widget:cursor

widget 使用的游标。

Gtk.Widget:focus-on-click

用鼠标单击小部件时,小部件是否应该获取焦点。

Gtk.Widget:focusable

此小部件本身能否接受输入 焦点。

Gtk.Widget:halign

如果小部件得到额外空间,如何分配水平空间。

Gtk.Widget:has-default

小部件是否是默认小部件。

Gtk.Widget:has-focus

小部件是否具有输入焦点。

Gtk.Widget:has-tooltip

启用或禁用 GtkWidget::query-tooltip 信号在 widget 上的发出。

Gtk.Widget:height-request

覆盖小部件的高度请求。

Gtk.Widget:hexpand

是否横向展开。

Gtk.Widget:hexpand-set

是否使用 hexpand 属性。

Gtk.Widget:layout-manager

要用于计算小部件的理想大小并分配其子级空间的 GtkLayoutManager 实例。

Gtk.Widget:margin-bottom

小部件底部的边距。

Gtk.Widget:margin-end

小部件水平方向上的末尾边距。

Gtk.Widget:margin-start

小部件水平方向上的起始边距。

Gtk.Widget:margin-top

小部件顶部的边距。

Gtk.Widget:名称

小组件的名称。

Gtk.Widget:不透明度

小组件请求的不透明度。

Gtk.Widget:溢出

如何处理小组件内容区域外部的内容。

Gtk.Widget:父级

此小组件的父级小组件。

Gtk.Widget:接收默认

当小组件被聚焦时,它是否会接收默认操作。

Gtk.Widget:根

包含此小组件的小组件树的 GtkRoot 小组件。

Gtk.Widget:比例系数

小组件的比例系数。

Gtk.Widget:敏感

小组件是否对此输入作出响应。

Gtk.Widget:工具提示标记

设置工具提示文本为指定的字符串,该字符串以 Pango 标记标记。

Gtk.Widget:工具提示文本

设置工具提示文本为指定的字符串。

Gtk.Widget:垂直对齐方式

如果小组件获得额外空间,如何分配垂直空间。

Gtk.Widget:垂直展开

是否垂直展开。

Gtk.Widget:设置垂直展开

是否使用 vexpand 属性。

Gtk.Widget:可见

小组件是否可见。

Gtk.Widget:请求宽度

对于小组件的宽度请求进行替换。

GtkAccessible (1) 继承的属性
GtkAccessible:辅助角色

给定的 GtkAccessible 实现的辅助角色。

信号

GtkWidget (13) 继承的信号
GtkWidget::destroy

信号表示小组件所有保持者的引用应释放其所保持的引用。

GtkWidget::direction-changed

当小组件的文本方向更改时发出。

GtkWidget::hide

widget 隐藏时发出。

GtkWidget::keynav-failed

如果键盘导航失败,则发出此信号。

GtkWidget::map

widget 即将映射时发出。

GtkWidget::mnemonic-activate

通过助记符激活小组件时发出。

GtkWidget::move-focus

当焦点移至此处时发出。

GtkWidget::query-tooltip

当小组件的工具提示即将显示时发出。

GtkWidget::realize

widgetGdkSurface 关联时发出。

GtkWidget::show

widget 显示时发出。

GtkWidget::state-flags-changed

当小组件状态更改时发出。

GtkWidget::unmap

widget 即将取消映射时发出。

GtkWidget::unrealize

widget 关联的 GdkSurface 被销毁时发出。

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

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

类结构

struct GtkGraphicsOffloadClass {
  GtkWidgetClass parent_class;
  
}

没有可用说明。

类成员
parent_class: GtkWidgetClass

没有可用说明。