Commit Graph

19457 Commits

Author SHA1 Message Date
Enrico Weigelt, metux IT consult
afb56e7e33 Xnest: replace XCreatePixmapFromBitmapData() by xcb_put_image()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
f055159a47 Xnest: replace XCreateBitmapFromData() by xcb_put_image()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
6fdb080b58 Xnest: replace XDefineCursor() by xcb_change_window_attributes()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
45b33250e1 Xnest: replace xnestRecolorCursor() by xcb_recolor_cursor()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
d06fc96f9e Xnest: replace XFreeCursor() by xcb_free_cursor()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
fa201e9e94 Xnest: replace XStoreColors() by xcb_store_colors()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
e0bf989ffe Xnest: replace XQueryColors() by xcb_query_colors()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
3c50719fab Xnest: replace XSetWindowColormap() by xcb_change_window_attributes()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
c0ae198917 Xnest: replace XSetWMColormapWindows()
replacing XSetWMColormapWindows by xcb_icccm_set_wm_colormap_windows_checked

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
d200b25006 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-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
ef66925e1c Xnest: GC: set stipple filling via xcb_change_gc
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
0ef986058c Xnest: replace XSetClipMask() by xcb_change_gc()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
91ffcfa526 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-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
06617af13c Xnest: replace XSetDashes() by xnest_set_dashes()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
835273ed8f Xnest: replace XChangeGC() by xcb_change_gc()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
d696573c6b Xnest: replace XChangeKeyboardControl() by xcb_change_keyboard_control()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
b3b50602ba Xnest: replace XChangePointerControl() by xcb_change_pointer_control
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
960a1d2997 Xnest: replace XChangeWindowAttributes() by xcb_aux_change_window_attributes()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
8c322bdc0e 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-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
7acac29a3b 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-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
9e13001358 Xnest: replace XFillRectangles() by xcb_poly_fill_rectangle()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
a933874ece 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-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
7352fdcef4 Xnest: replace XFillArcs() by xcb_poly_fill_arc()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
eeaae093b3 Xnest: replace XFillPolygon() by xcb_fill_poly()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
292f532495 Xnest: replace XCopyPlane() by xcb_copy_plane()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
69623b5201 Xnest: replace XCopyArea() by xcb_copy_area()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
c9a5867c44 Xnest: replace XDrawArcs() by xcb_poly_arc()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
2cf5b7a7c4 Xnest: replace XDrawRectangles() by xcb_poly_rectangle()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
eca602ea74 Xnest: replace XDrawSegments() by xcb_poly_segment()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
9a62a30ac2 Xnest: replace XDrawLines() by xcb_poly_line()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
f9760786c3 Xnest: replace XDrawPoints() by xcb_poly_point()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
d42b05345e 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-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
b44911437c 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-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
a0d6c9faea Xnest: use xcb_put_image() for PutImage requests
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
b72e75cb47 Xnest: use xcb_put_image() for creating cursors
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
d374b585f9 Xnest: replace XCreatePixmapCursor() by xcb_create_cursor()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
90e0eb5dfe Xnest: replace XConfigureWindow() calls by xcb_configure_window()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
578fbe50a1 Xnest: use xcb for creating / destroying pixmaps
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
c0ad499fa7 Xnest: replace XBell() by xcb_bell()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
68d13337d3 Xnest: use xcb for (un)mapping windows
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
b00f49f6b8 Xnest: replace XCreateWindow() by use xcb_create_window()
Need to add xcb-aux dependency for that.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
5fc7d95831 Xnest: fetch root visual ID from screen data
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
f4606dc8ab Xnest: fetch keycode min/max from setup data
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
d856ccb066 Xnest: fetch image metrics from xcb connection setup data
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
10b63d1c03 Xnest: fetch default screen's root window from screen info
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
b160dc0f31 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-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
4629933e5f Xnest: fetch default colormap from xcb screen info
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
9b4e251a60 Xnest: fetch root window depth from screen info
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
edd7788897 Xnest: fetch display size from xcb setup data
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00
Enrico Weigelt, metux IT consult
1b3d6525ed Xnest: fetch BlackPixel and WhitePixel from xcb setup data
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-28 19:56:12 +01:00