XCreateGC()中的(值)掩码真的有必要吗?

时间:2014-05-30 06:00:16

标签: c x11

XCreateGC()的第三个参数是值掩码,但是它真的有必要吗?

GC XCreateGC (display, d, valuemask, values)

Display *display;
Drawable d;
unsigned long valuemask; // Specifies which components in the GC are to be set
                         // using the information in the specified values structure.
                         // This argument is the bitwise inclusive OR of zero or
                         // more of the valid GC component mask bits.
XGCValues *values;       //`Specifies any values as specified by the valuemask.

我们可以设置XGCValues structure中的每个元素,为什么我们必须使用掩码?

1 个答案:

答案 0 :(得分:1)

通过这种方式,您可以控制通过网络实际发送给服务器的值。 CreateGC请求的长度可变,长度可以是16到108个字节,具体取决于您valuemask中实际拥有的值。这可能不是什么大不了的事,但是X11协议是在30年前的1984年设计的,并且在正确使用时在吞吐量和延迟方面实际上非常有效