Commit Graph

324 Commits

Author SHA1 Message Date
Enrico Weigelt, metux IT consult a43e009f5d (!1654) Xnest: GC: replace XGetImage() by xcb_get_image()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:46 +01:00
Enrico Weigelt, metux IT consult a4313db46b (!1654) Xnest: replace XDestroyWindow() by xnest_destroy_window()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:46 +01:00
Enrico Weigelt, metux IT consult a1377e4b3c (!1654) Xnest: replace XCreatePixmapFromBitmapData() by xcb_put_image()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult c74a77f619 (!1654) Xnest: replace XCreateBitmapFromData() by xcb_put_image()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult 13de55b44a (!1654) Xnest: replace XDefineCursor() by xcb_change_window_attributes()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult b7857feca4 (!1654) Xnest: replace xnestRecolorCursor() by xcb_recolor_cursor()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult c8a1cc71db (!1654) Xnest: replace XFreeCursor() by xcb_free_cursor()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult c8f90647be (!1654) Xnest: replace XStoreColors() by xcb_store_colors()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult 7c2b54d9fd (!1654) Xnest: replace XQueryColors() by xcb_query_colors()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult 7108b36006 (!1654) Xnest: replace XSetWindowColormap() by xcb_change_window_attributes()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult 73c8b74b99 (!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-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult df20e9e2b4 (!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-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult 9781db08d2 (!1654) Xnest: GC: set stipple filling via xcb_change_gc
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult 9a4d45d29a (!1654) Xnest: replace XSetClipMask() by xcb_change_gc()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult fb03311900 (!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-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult b591ea4fe6 (!1654) Xnest: replace XSetDashes() by xnest_set_dashes()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult a9dc4124ee (!1654) Xnest: replace XChangeGC() by xcb_change_gc()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult 991f131014 (!1654) Xnest: replace XChangeKeyboardControl() by xcb_change_keyboard_control()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult e9773e6746 (!1654) Xnest: replace XChangePointerControl() by xcb_change_pointer_control
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult df324c6150 (!1654) Xnest: replace XChangeWindowAttributes() by xcb_aux_change_window_attributes()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult 0f20702684 (!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-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult e65b9a3618 (!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-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult db9c571da2 (!1654) Xnest: replace XFillRectangles() by xcb_poly_fill_rectangle()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult 9e657bf0fc (!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-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult e9e52dda3e (!1654) Xnest: replace XFillArcs() by xcb_poly_fill_arc()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult 144a1f01fd (!1654) Xnest: replace XFillPolygon() by xcb_fill_poly()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult eb3f6505e1 (!1654) Xnest: replace XCopyPlane() by xcb_copy_plane()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult 897020f338 (!1654) Xnest: replace XCopyArea() by xcb_copy_area()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult 5c4e17cf74 (!1654) Xnest: replace XDrawArcs() by xcb_poly_arc()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult 6c301f468b (!1654) Xnest: replace XDrawRectangles() by xcb_poly_rectangle()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult 50159397bd (!1654) Xnest: replace XDrawSegments() by xcb_poly_segment()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult 17686bf085 (!1654) Xnest: replace XDrawLines() by xcb_poly_line()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult 78f10a9a9c (!1654) Xnest: replace XDrawPoints() by xcb_poly_point()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult dd703f91cb (!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-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult 947f258415 (!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-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult 874bd3e8c3 (!1654) Xnest: use xcb_put_image() for PutImage requests
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult 9a9113b61d (!1654) Xnest: use xcb_put_image() for creating cursors
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult 11931842cf (!1654) Xnest: replace XCreatePixmapCursor() by xcb_create_cursor()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult a969ed51cf (!1654) Xnest: replace XConfigureWindow() calls by xcb_configure_window()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult 9637417df7 (!1654) Xnest: use xcb for creating / destroying pixmaps
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult d1dd76233f (!1654) Xnest: replace XBell() by xcb_bell()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult 2dfef51805 (!1654) Xnest: use xcb for (un)mapping windows
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult 19505cf492 (!1654) Xnest: replace XCreateWindow() by use xcb_create_window()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult e3d3b07232 (!1654) Xnest: fetch root visual ID from screen data
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult f3d4fdfc67 (!1654) Xnest: fetch keycode min/max from setup data
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult f4fa2a78e2 (!1654) Xnest: fetch image metrics from xcb connection setup data
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult ab5fdbb9b4 (!1654) Xnest: fetch default screen's root window from screen info
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult f10f055bf8 (!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-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult e4b1fab4c8 (!1654) Xnest: fetch default colormap from xcb screen info
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00
Enrico Weigelt, metux IT consult 45b1a0001d (!1654) Xnest: fetch root window depth from screen info
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:45 +01:00