Commit Graph

322 Commits

Author SHA1 Message Date
Enrico Weigelt, metux IT consult 1e1d938ac1 (!1654) Xnest: replace XCreateBitmapFromData() by xcb_put_image()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:51 +01:00
Enrico Weigelt, metux IT consult df36d9bde6 (!1654) Xnest: replace XDefineCursor() by xcb_change_window_attributes()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:51 +01:00
Enrico Weigelt, metux IT consult 4d7c91cca7 (!1654) Xnest: replace xnestRecolorCursor() by xcb_recolor_cursor()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:51 +01:00
Enrico Weigelt, metux IT consult 9366aab959 (!1654) Xnest: replace XFreeCursor() by xcb_free_cursor()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:51 +01:00
Enrico Weigelt, metux IT consult 07dffdebd1 (!1654) Xnest: replace XStoreColors() by xcb_store_colors()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:51 +01:00
Enrico Weigelt, metux IT consult 84b461b973 (!1654) Xnest: replace XQueryColors() by xcb_query_colors()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:51 +01:00
Enrico Weigelt, metux IT consult 233634ad89 (!1654) Xnest: replace XSetWindowColormap() by xcb_change_window_attributes()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:51 +01:00
Enrico Weigelt, metux IT consult 84dda8d847 (!1654) Xnest: replace XSetWMColormapWindows() by xcb_icccm_set_wm_colormap_windows_checked()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:51 +01:00
Enrico Weigelt, metux IT consult be5653293d (!1654) Xnest: use XIDs directly, instead of Xlib's GC
Now that no Xlib drawing functions used anymore, we can finally switch over
to using GC XID's directly, instead of Xlib's GC struct.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:51 +01:00
Enrico Weigelt, metux IT consult f138835d49 (!1654) Xnest: GC: set stipple filling via xcb_change_gc
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult 97c45180c9 (!1654) Xnest: replace XSetClipMask() by xcb_change_gc()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult d8ed981351 (!1654) Xnest: replace XSetClipRectangles() by xnset_set_clip_rectangles()
Use XCB for setting clip rectangles.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult fb02e72812 (!1654) Xnest: replace XSetDashes() by xnest_set_dashes()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult c353e3e0da (!1654) Xnest: replace XChangeGC() by xcb_change_gc()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult db7c1e1191 (!1654) Xnest: replace XChangeKeyboardControl() by xcb_change_keyboard_control()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult da3bc1af60 (!1654) Xnest: replace XChangePointerControl() by xcb_change_pointer_control
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult 26b254d3b5 (!1654) Xnest: replace XChangeWindowAttributes() by xcb_aux_change_window_attributes()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult da3b7dd61b (!1654) Xnest: replace XDrawImageString() by xcb_image_text_8()
Replace XDrawImageString() by xcb_image_text_8(), as well as their 16-bit
counterparts.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult 8aeb552d13 (!1654) Xnest: replace XDrawString[8|16]() by xcb_poly_text_[8|16]()
Replace XDrawString8() by xcb_poly_text_8(), as well as XDrawString16()
by xcb_poly_text_16(). Some care needs to be taken to prepend the xTextElt
header before sending the request out.

GC operation handlers don't need to care about poly-strings or length
above 254, as this is already handled by their caller, doPolyText().

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult 4fbadec19a (!1654) Xnest: replace XFillRectangles() by xcb_poly_fill_rectangle()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult 45a48472dd (!1654) Xnest: directly pass ClearArea request to upstream server
Instead of going through mi machinery, just pass the ClearArea
request to the upstream window.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult 9ea0aa0f35 (!1654) Xnest: replace XFillArcs() by xcb_poly_fill_arc()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult 2d8d3455f4 (!1654) Xnest: replace XFillPolygon() by xcb_fill_poly()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult 0066d1526c (!1654) Xnest: replace XCopyPlane() by xcb_copy_plane()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult d30493ca3b (!1654) Xnest: replace XCopyArea() by xcb_copy_area()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult dd3cf85681 (!1654) Xnest: replace XDrawArcs() by xcb_poly_arc()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult 0771647f01 (!1654) Xnest: replace XDrawRectangles() by xcb_poly_rectangle()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult 4e542746ac (!1654) Xnest: replace XDrawSegments() by xcb_poly_segment()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult 3ef1010d94 (!1654) Xnest: replace XDrawLines() by xcb_poly_line()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult 463eb316b5 (!1654) Xnest: replace XDrawPoints() by xcb_poly_point()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult 903dd1c540 (!1654) Xnest: replace XCreateColormap() / XFreeColormap() by xcb
Use xcb_create_colormap() and XFreeColormap() instead of XCreateColormap()
and XFreeColormap().

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult 6722eb48b2 (!1654) Xnest: use xcb instead of XShapeCombineRegion() and XShapeCombineMask()
Using xcb_shape_rectangles() and xcb_shape_mask() instead of Xlib's
XShapeCombineRegion() and XShapeCombineMask().

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult 0619b70248 (!1654) Xnest: use xcb_put_image() for PutImage requests
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult d870fcceef (!1654) Xnest: use xcb_put_image() for creating cursors
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult 83bb0b67b4 (!1654) Xnest: replace XCreatePixmapCursor() by xcb_create_cursor()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult 48a4be09ba (!1654) Xnest: replace XConfigureWindow() calls by xcb_configure_window()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult ade933b137 (!1654) Xnest: use xcb for creating / destroying pixmaps
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult d74b061385 (!1654) Xnest: replace XBell() by xcb_bell()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult 0e120dcdf3 (!1654) Xnest: use xcb for (un)mapping windows
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult 958d3e44bf (!1654) Xnest: replace XCreateWindow() by use xcb_create_window()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult dc2c4e012a (!1654) Xnest: fetch root visual ID from screen data
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult 7e0bf9129e (!1654) Xnest: fetch keycode min/max from setup data
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult b82f730535 (!1654) Xnest: fetch image metrics from xcb connection setup data
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult 756dc0698a (!1654) Xnest: fetch default screen's root window from screen info
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult 0f17563942 (!1654) Xnest: add helper for retrieving GC XID on upstream connection
Upcoming patches will need to retieve GC's XIDs on the upstream connection.
Moving this out into separate .c file, in order to not creating more
dependencies on Xlib headers, which we wanna get rid of.

For now, looking at the Xlib GC structure, attached to our DDX GCs.
When all users of the Xlib GC have gone (ie. moved all consumers to xcb),
we'll create the GC via xcb directly, thus replacing the Xlib GC struct
by XID - the interface of this helper will remain the same.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult 9dd1d6b791 (!1654) Xnest: fetch default colormap from xcb screen info
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult c0c9c37476 (!1654) Xnest: fetch root window depth from screen info
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult cb28a29e91 (!1654) Xnest: fetch display size from xcb setup data
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult dda17a6e71 (!1654) Xnest: fetch BlackPixel and WhitePixel from xcb setup data
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00
Enrico Weigelt, metux IT consult ed86216e94 (!1654) Xnest: fetch xcb setup data
Fetching the setup data from xcb instead of Xlib, storing in our own struct,
holding all information needed for one particular upstream connection.
For now, there's only one, but future multi-upstream implementation will
change this to an array (and storing pointers to particular upstream in
various places).

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-19 16:44:50 +01:00