这只是一个伪确认问题,但我真的想确保从调用函数XQueryPointer
收到的值在X和Y屏幕坐标的像素中。
extern Bool XQueryPointer(
Display* /* display */,
Window /* w */,
Window* /* root_return */,
Window* /* child_return */,
int* /* root_x_return */,
int* /* root_y_return */,
int* /* win_x_return */,
int* /* win_y_return */,
unsigned int* /* mask_return */
);
这是因为一旦我使用以下函数获得屏幕的整个分辨率,我就需要执行一些操作,即我将从整个屏幕中过滤掉一些像素,但需要知道XQueryPointer
返回的值也是像素。
xVal = DisplayWidth(display, screen_number);
yVal = DisplayHeight(display, screen_number);
我假设root_x_return
和root_y_return
是以像素为单位的。我说得对吗?
是。来自Xlib文档:
每个窗口和像素图都有自己的坐标系。坐标系的X轴水平,Y轴垂直,原点[0,0]位于左上角。坐标是以像素为单位的积分,并且与像素中心重合。对于窗口,原点位于左上角内侧的边界内。