У меня есть функция-оболочка для реализации XDrawRectangle() в X11/Xlib.h в Linux. Но он не отображает нижний правый пиксель. Что-то не так с этой функцией?
Вот что появляется в X11/Xlib.h, установленном совсем недавно:
extern int XDrawRectangle(
Display* /* display */,
Drawable /* d */,
GC /* gc */,
int /* x */,
int /* y */,
unsigned int /* width */,
unsigned int /* height */
);
/* Draw a rectangle at (x,y) with width (w) and height (h) */
void gfx_rect( int x, int y, unsigned int w, unsigned int h ) {
XDrawRectangle(gfx_display,gfx_window,gfx_gc,x,y,w,h);
}
У меня есть функция-оболочка для реализации XDrawRectangle() в X11/Xlib.h в Linux. Но он не отображает нижний правый пиксель. Что-то не так с этой функцией? Вот что появляется в X11/Xlib.h, установленном совсем недавно: [code]extern int XDrawRectangle( Display* /* display */, Drawable /* d */, GC /* gc */, int /* x */, int /* y */, unsigned int /* width */, unsigned int /* height */ ); [/code] Мой файл заголовка: [code]/* Draw a rectangle at (x,y) with width (w) and height (h) */ void gfx_rect( int x, int y, unsigned int w, unsigned int h ); [/code] Мой файл кода: [code]/* Draw a rectangle at (x,y) with width (w) and height (h) */ void gfx_rect( int x, int y, unsigned int w, unsigned int h ) { XDrawRectangle(gfx_display,gfx_window,gfx_gc,x,y,w,h); } [/code] Мой простой призыв: [code]const int offset = 10; int x = 0; int y = 0;
gfx_rect(x+offset, y+offset, 20, 20); [/code] Что нарисовано: [img]https://i.sstatic.net/AvJQLj8J.png[/img]
Обратите внимание, что нижний правый пиксель отсутствует.