Info on OpenJFX architecture

Keerthivasan Raghavan mail2akash97 at gmail.com
Tue Dec 26 17:45:28 UTC 2023


Hi All,

I am a newbie to the desktop/embedded linux graphics and widget toolkit.

The following is a list of questions about how OpenJFX is
architected/designed/implemented:

* How does openjfx manage the lifecycle of
windows/surfaces/graphics-context(EGL/OpenGL) to draw into?
What is the (design and implementation)/architecture of the window system
abstraction used by OpenJFX?
  Any links to code snippets inside OpenJFX showing the creation/management
of an X11-Window/Wayland-Surface would help.
References:
* GTK uses GDK(https://docs.gtk.org/gtk4/drawing-model.html) for managing
windowing abstraction.
* GLFW, a cross platform (window + graphics context + input) management:
https://www.glfw.org/
* Microsoft Windows win32 API:
https://learn.microsoft.com/en-us/windows/win32/learnwin32/creating-a-window,

https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-createwindowexa

* How are frames created using drawing operations?
What is the abstraction used to express the content of the frame?
Any code/design links please.
References:
* GTK uses GSK(https://docs.gtk.org/gsk4/) for building the scene graph
that can be rendered as a frame.
* Windows reference:
https://learn.microsoft.com/en-us/windows/win32/learnwin32/your-first-direct2d-program


* How is event management done in OpenGFX ?
Any code/design links please.
Reference:
* GTK uses an main eventloop https://docs.gtk.org/glib/main-loop.html .

* How are widgets drawn ? How are events dispatched to widgets and how do
widgets react to events ?
How is the application widget UI state stored and what is the corresponding
memory management for storing the UI/widget state ?
Does the UI state get modeled as a scene graph ?
Any code/design links please.
Reference:
*
https://learn.microsoft.com/en-us/windows/win32/learnwin32/retained-mode-versus-immediate-mode

Please feel free to reply with code links, design docs, wikis or articles
of the web.

Thank you,
Keerthivasan Raghavan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20231226/61ae65b6/attachment.htm>


More information about the openjfx-dev mailing list