Ensamblador - Estructura interna de 'Window' en X11

 
Vista:
sin imagen de perfil

Estructura interna de 'Window' en X11

Publicado por Xajorkith (2 intervenciones) el 26/07/2021 16:28:44
Buenos días.

Estoy retomando la programación en ASM. Para coger el ritmo, quiero crear una ventana y mostrar información a la vez que voy cogiendo soltura con las instrucciones otra vez, recordando modos de direccionamiento, optimizando...

He creado una ventana con Ubuntu y X11, y quería mostrar la información de las dos estructuras principales que usa ese sistema gráfico. "Display" o "_XDisplay" y "Window".

La primera es un puntero de 64 bits que nos devuelve la función XOpenDisplay cuando se inicializa el sistema correctamente, y la segunda es otro puntero de 64 bits a otra estructura cuando se crea una ventana ocrrectamente usando XCreateSimpleWindow.

He ojeado la librería y he consultado en Codeblocks las definiciones y solo aparece (o al menos yo solo he encontrado):

#ifndef XLIB_ILLEGAL_ACCESS
typedef struct _XDisplay Display;
#endif (en Xlib.h)
y
typedef XID Window; (en X.h)

En las librerías indica que estas estructuras son dependientes de la plataforma, y por tanto deberían ser 'opacas', accediendo a sus valores a traves de las macros implementadas. Como yo solo voy a trabajar en Linux, me vendría mejor saltarme esa restricción.

¿Alguien sabe donde se pueden consultar esas estructuras para Linux?

Hay macros para acceder a valores de las ventanas, width, height, y algunos más, pero no le veo mucho sentido, además sin saber cuales son todos los campos no sabría si estoy mostrando toda la información, creo que sería mas sencillo poder acceder a los valores de la estructura directamente.

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder