<div dir="ltr"><div style="color:rgb(212,212,212);background-color:rgb(30,30,30);font-family:"Droid Sans Mono","monospace",monospace;font-weight:normal;font-size:14px;line-height:19px;white-space:pre"><div><span style="color:rgb(212,212,212)">Hi All,</span></div><br><div><span style="color:rgb(212,212,212)">I am a newbie to the desktop/embedded linux graphics and widget toolkit.</span></div><br><div><span style="color:rgb(212,212,212)">The following is a list of questions about how OpenJFX is architected/designed/implemented:</span></div><br><div><span style="color:rgb(103,150,230)">*</span><span style="color:rgb(212,212,212)"> How does openjfx manage the lifecycle of windows/surfaces/graphics-context(EGL/OpenGL) to draw into?</span></div><div><span style="color:rgb(212,212,212)">  What is the (design and implementation)/architecture of the window system abstraction used by OpenJFX?</span></div><div><span style="color:rgb(212,212,212)">  Any links to code snippets inside OpenJFX showing the creation/management of an X11-Window/Wayland-Surface would help.</span></div><div><span style="color:rgb(212,212,212)">  References:</span></div><div><span style="color:rgb(212,212,212)">  </span><span style="color:rgb(103,150,230)">*</span><span style="color:rgb(212,212,212)"> GTK uses GDK(<a href="https://docs.gtk.org/gtk4/drawing-model.html">https://docs.gtk.org/gtk4/drawing-model.html</a>) for managing windowing abstraction.</span></div><div><span style="color:rgb(212,212,212)">  </span><span style="color:rgb(103,150,230)">*</span><span style="color:rgb(212,212,212)"> GLFW, a cross platform (window + graphics context + input) management: <a href="https://www.glfw.org/">https://www.glfw.org/</a></span></div><div><span style="color:rgb(212,212,212)">  </span><span style="color:rgb(103,150,230)">*</span><span style="color:rgb(212,212,212)"> Microsoft Windows win32 API: <a href="https://learn.microsoft.com/en-us/windows/win32/learnwin32/creating-a-window">https://learn.microsoft.com/en-us/windows/win32/learnwin32/creating-a-window</a>, </span></div><div><span style="color:rgb(212,212,212)">                                 <a href="https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-createwindowexa">https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-createwindowexa</a></span></div><br><div><span style="color:rgb(103,150,230)">*</span><span style="color:rgb(212,212,212)"> How are frames created using drawing operations?</span></div><div><span style="color:rgb(212,212,212)">  What is the abstraction used to express the content of the frame?</span></div><div><span style="color:rgb(212,212,212)">  Any code/design links please.</span></div><div><span style="color:rgb(212,212,212)">  References:</span></div><div><span style="color:rgb(212,212,212)">  </span><span style="color:rgb(103,150,230)">*</span><span style="color:rgb(212,212,212)"> GTK uses GSK(<a href="https://docs.gtk.org/gsk4/">https://docs.gtk.org/gsk4/</a>) for building the scene graph that can be rendered as a frame.</span></div><div><span style="color:rgb(212,212,212)">  </span><span style="color:rgb(103,150,230)">*</span><span style="color:rgb(212,212,212)"> Windows reference: <a href="https://learn.microsoft.com/en-us/windows/win32/learnwin32/your-first-direct2d-program">https://learn.microsoft.com/en-us/windows/win32/learnwin32/your-first-direct2d-program</a></span></div><br><br><div><span style="color:rgb(103,150,230)">*</span><span style="color:rgb(212,212,212)"> How is event management done in OpenGFX ?</span></div><div><span style="color:rgb(212,212,212)">  Any code/design links please.</span></div><div><span style="color:rgb(212,212,212)">  Reference: </span></div><div><span style="color:rgb(212,212,212)">  </span><span style="color:rgb(103,150,230)">*</span><span style="color:rgb(212,212,212)"> GTK uses an main eventloop <a href="https://docs.gtk.org/glib/main-loop.html">https://docs.gtk.org/glib/main-loop.html</a> .</span></div><br><div><span style="color:rgb(103,150,230)">*</span><span style="color:rgb(212,212,212)"> How are widgets drawn ? How are events dispatched to widgets and how do widgets react to events ?</span></div><div><span style="color:rgb(212,212,212)">  How is the application widget UI state stored and what is the corresponding memory management for storing the UI/widget state ?</span></div><div><span style="color:rgb(212,212,212)">  Does the UI state get modeled as a scene graph ?</span></div><div><span style="color:rgb(212,212,212)">  Any code/design links please.</span></div><div><span style="color:rgb(212,212,212)">  Reference: </span></div><div><span style="color:rgb(212,212,212)">  </span><span style="color:rgb(103,150,230)">*</span><span style="color:rgb(212,212,212)"> <a href="https://learn.microsoft.com/en-us/windows/win32/learnwin32/retained-mode-versus-immediate-mode">https://learn.microsoft.com/en-us/windows/win32/learnwin32/retained-mode-versus-immediate-mode</a></span></div></div><div style="color:rgb(212,212,212);background-color:rgb(30,30,30);font-family:"Droid Sans Mono","monospace",monospace;font-weight:normal;font-size:14px;line-height:19px;white-space:pre"><br></div><div style="color:rgb(212,212,212);background-color:rgb(30,30,30);font-family:"Droid Sans Mono","monospace",monospace;font-weight:normal;font-size:14px;line-height:19px;white-space:pre">Please feel free to reply with code links, design docs, wikis or articles of the web.<br></div><div style="color:rgb(212,212,212);background-color:rgb(30,30,30);font-family:"Droid Sans Mono","monospace",monospace;font-weight:normal;font-size:14px;line-height:19px;white-space:pre"><br><div><span style="color:rgb(212,212,212)">Thank you,</span></div><div><span style="color:rgb(212,212,212)">Keerthivasan Raghavan</span></div></div></div>