方法

GdkSurfaceset_opaque_region

已过时:4.16 

声明 [源代码]

void
gdk_surface_set_opaque_region (
  GdkSurface* surface,
  cairo_region_t* region
)

描述 [源代码]

将GdkSurface的某个区域标记为不透明。

出于优化的目的,合成窗口管理器可能希望不绘制表面被遮挡的区域,或者在这些区域关闭混合。对于没有透明度的RGB窗口,这仅仅是窗口的形状,但对于ARGB32窗口,合成器不知道窗口的哪些区域是透明的或不是的。

此函数仅适用于最顶层的表面。

GTK会自动更新此属性,如果表面背景是不透明的,因为我们知道不透明区域在哪。如果您的表面背景不是不透明的,请在您的GtkWidgetClass.css_changed 处理程序中更新此属性。

自4.16版本起已过时

GDK可以通过检查绘制的内部内容来自行找出窗口的不透明部分。

参数

region

类型: cairo_region_t

一个区域,或NULL以使整个表面不透明。

该参数可以是NULL
数据归方法调用者所有。