c语言 - "当前时间"在哪里定义?我如何获得它?



我正在尝试编写一个粗略的程序来旋转屏幕(使用libXandr(。除了xrandr的源代码和手册页之外,我找不到很多关于libXandr的信息。因此,我决定分析xrandr的源代码来了解libXandr。

在编写初始化例程时,我遇到了XRRSetScreenConfig,它需要一个Timestamp参数:

Status XRRSetScreenConfig (Display *dpy,
XRRScreenConfiguration *config,
Drawable draw,
int size_index,
Rotation rotation,
Time timestamp);

除了最后一个timestamp,我已经把所有的参数都想好了。我环顾xrandr.c,寻找函数的用法,为我指明应该传递给它的正确方向,我发现传递了一个名为CurrentTime的变量(?(来代替这个参数:

status = XRRSetScreenConfigAndRate (dpy, sc, root, (SizeID) size,
(Rotation) (rotation | reflection),
rate, CurrentTime);

(顺便说一句,XRRSetScreenConfigAndRate的参数与XRRSetScreenConfig的参数相同,只是有几个额外的参数(

我四处寻找这个变量的设置位置,但我确实找不到设置的任何位置,甚至找不到定义的。甚至在Xandr.h或其子包含中都没有。

所以,我想我的问题是,什么是CurrentTime?它真的只是Unix时间中的当前时间吗?我可以只将一个常规的time_t时间戳传递给XRRSetScreenConfig吗?如果没有,如何获得有效的CurrentTime

如有任何帮助,我们将不胜感激。

CurrentTime是在X11/X.h标头中定义的宏,随后由X11/Xlib.h包含。因此,您可以在程序中传递CurrentTime,而不必担心在哪里以及如何定义它。

最新更新