aioxlib 0.8.0__tar.gz → 0.10.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {aioxlib-0.8.0 → aioxlib-0.10.0}/PKG-INFO +3 -3
- {aioxlib-0.8.0 → aioxlib-0.10.0}/README.md +2 -2
- {aioxlib-0.8.0 → aioxlib-0.10.0}/aioxlib/__init__.py +1 -1
- {aioxlib-0.8.0 → aioxlib-0.10.0}/aioxlib/api.py +21 -1
- aioxlib-0.10.0/aioxlib/constants.py +2768 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/aioxlib/display.py +138 -25
- aioxlib-0.10.0/aioxlib/protocol.py +1739 -0
- aioxlib-0.10.0/aioxlib/stream.py +145 -0
- aioxlib-0.10.0/aioxlib/widgets.py +439 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/aioxlib.egg-info/PKG-INFO +3 -3
- {aioxlib-0.8.0 → aioxlib-0.10.0}/aioxlib.egg-info/SOURCES.txt +2 -2
- {aioxlib-0.8.0 → aioxlib-0.10.0}/pyproject.toml +2 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/tests/test_api.py +2 -2
- {aioxlib-0.8.0 → aioxlib-0.10.0}/tests/test_display.py +21 -21
- aioxlib-0.8.0/aioxlib/constants.py +0 -1192
- aioxlib-0.8.0/aioxlib/protocol.py +0 -1886
- aioxlib-0.8.0/aioxlib/widgets.py +0 -211
- aioxlib-0.8.0/tests/test_widgets.py +0 -208
- {aioxlib-0.8.0 → aioxlib-0.10.0}/LICENSE +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/aioxlib/_extensions.py +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/aioxlib/authority.py +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/aioxlib/bigreq.py +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/aioxlib/connection.py +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/aioxlib/dbe.py +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/aioxlib/dri3.py +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/aioxlib/glx.py +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/aioxlib/present.py +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/aioxlib/randr.py +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/aioxlib/render.py +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/aioxlib/shm.py +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/aioxlib.egg-info/dependency_links.txt +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/aioxlib.egg-info/top_level.txt +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/setup.cfg +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/tests/test_authority.py +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/tests/test_bigreq.py +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/tests/test_connection.py +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/tests/test_constants.py +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/tests/test_dbe.py +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/tests/test_dri3.py +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/tests/test_examples.py +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/tests/test_extensions.py +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/tests/test_glx.py +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/tests/test_present.py +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/tests/test_protocol.py +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/tests/test_randr.py +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/tests/test_render.py +0 -0
- {aioxlib-0.8.0 → aioxlib-0.10.0}/tests/test_shm.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aioxlib
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.10.0
|
|
4
4
|
Summary: Human friendly interface to XLib subsystems using asyncio python
|
|
5
5
|
Author-email: Jose Tiago Macara Coutinho <coutinhotiago@gmail.com>
|
|
6
6
|
License-Expression: GPL-3.0-or-later
|
|
@@ -38,9 +38,9 @@ Open displays, create windows, draw with GCs and the RENDER extension, and strea
|
|
|
38
38
|
events — without blocking the event loop and without linking to libX11 or xcb.
|
|
39
39
|
|
|
40
40
|
<p align="center">
|
|
41
|
-
<img src="docs/images/game_of_life.gif" style="height: 300px;" alt="Conway's Game of Life on X11 via aioxlib"/>
|
|
41
|
+
<img src="docs/images/game_of_life.gif" style="height: 300px;" height="300" alt="Conway's Game of Life on X11 via aioxlib"/>
|
|
42
42
|
|
|
43
|
-
<img src="docs/images/3d_cube.gif" style="height: 300px;" alt="Rotating 3D wireframe via aioxlib"/>
|
|
43
|
+
<img src="docs/images/3d_cube.gif" style="height: 300px;" height="300" alt="Rotating 3D wireframe via aioxlib"/>
|
|
44
44
|
</p>
|
|
45
45
|
|
|
46
46
|
<p align="center"><em>Examples shipped with the library: Game of Life · 3D wireframe</em></p>
|
|
@@ -12,9 +12,9 @@ Open displays, create windows, draw with GCs and the RENDER extension, and strea
|
|
|
12
12
|
events — without blocking the event loop and without linking to libX11 or xcb.
|
|
13
13
|
|
|
14
14
|
<p align="center">
|
|
15
|
-
<img src="docs/images/game_of_life.gif" style="height: 300px;" alt="Conway's Game of Life on X11 via aioxlib"/>
|
|
15
|
+
<img src="docs/images/game_of_life.gif" style="height: 300px;" height="300" alt="Conway's Game of Life on X11 via aioxlib"/>
|
|
16
16
|
|
|
17
|
-
<img src="docs/images/3d_cube.gif" style="height: 300px;" alt="Rotating 3D wireframe via aioxlib"/>
|
|
17
|
+
<img src="docs/images/3d_cube.gif" style="height: 300px;" height="300" alt="Rotating 3D wireframe via aioxlib"/>
|
|
18
18
|
</p>
|
|
19
19
|
|
|
20
20
|
<p align="center"><em>Examples shipped with the library: Game of Life · 3D wireframe</em></p>
|
|
@@ -9,6 +9,7 @@ from __future__ import annotations
|
|
|
9
9
|
from .constants import (
|
|
10
10
|
Allocate,
|
|
11
11
|
AnyPropertyType,
|
|
12
|
+
CoordinateMode,
|
|
12
13
|
PropMode,
|
|
13
14
|
)
|
|
14
15
|
from .display import Display
|
|
@@ -307,6 +308,17 @@ async def open_font(name=None, display: Display | None = None, **kwargs):
|
|
|
307
308
|
return await d.open_font(name=name, **kwargs)
|
|
308
309
|
|
|
309
310
|
|
|
311
|
+
async def query_text_extents(font, string, display: Display | None = None):
|
|
312
|
+
"""QueryTextExtents — bounding box of *string* in *font* (or GC).
|
|
313
|
+
|
|
314
|
+
Returns a dict with draw_direction, font_ascent, font_descent,
|
|
315
|
+
overall_ascent, overall_descent, overall_width, overall_left,
|
|
316
|
+
overall_right.
|
|
317
|
+
"""
|
|
318
|
+
d = await _resolve_display(display)
|
|
319
|
+
return await d.query_text_extents(font, string)
|
|
320
|
+
|
|
321
|
+
|
|
310
322
|
async def tree(wnd, display: Display | None = None):
|
|
311
323
|
"""Query the window tree for *wnd*."""
|
|
312
324
|
d = await _resolve_display(display)
|
|
@@ -331,12 +343,18 @@ async def poly_segments(drawable, gc, segments, display: Display | None = None):
|
|
|
331
343
|
return await d.poly_segments(drawable, gc, segments)
|
|
332
344
|
|
|
333
345
|
|
|
334
|
-
async def poly_points(drawable, gc, points, mode, display: Display | None = None):
|
|
346
|
+
async def poly_points(drawable, gc, points, mode=CoordinateMode.Origin, display: Display | None = None):
|
|
335
347
|
"""PolyPoint on *drawable*."""
|
|
336
348
|
d = await _resolve_display(display)
|
|
337
349
|
return await d.poly_points(drawable, gc, points, mode)
|
|
338
350
|
|
|
339
351
|
|
|
352
|
+
async def poly_lines(drawable, gc, points, mode=CoordinateMode.Origin, display: Display | None = None):
|
|
353
|
+
"""PolyLine on *drawable*."""
|
|
354
|
+
d = await _resolve_display(display)
|
|
355
|
+
return await d.poly_lines(drawable, gc, points, mode)
|
|
356
|
+
|
|
357
|
+
|
|
340
358
|
async def clear_area(wnd, x, y, w, h, exposure=False, display: Display | None = None):
|
|
341
359
|
"""ClearArea on *wnd*."""
|
|
342
360
|
d = await _resolve_display(display)
|
|
@@ -421,11 +439,13 @@ __all__ = [
|
|
|
421
439
|
"delete_property",
|
|
422
440
|
"open_font_name",
|
|
423
441
|
"open_font",
|
|
442
|
+
"query_text_extents",
|
|
424
443
|
"tree",
|
|
425
444
|
"poly_fill_rectangles",
|
|
426
445
|
"poly_fill_arcs",
|
|
427
446
|
"poly_segments",
|
|
428
447
|
"poly_points",
|
|
448
|
+
"poly_lines",
|
|
429
449
|
"clear_area",
|
|
430
450
|
"set_input_focus",
|
|
431
451
|
"get_geometry",
|