Open KJ7LNW opened 1 year ago
I was thinking about doing some work to convert to GTK4. Has anyone considered doing this? KF7RCC
Generally speaking, we want to support deployment on any system that is still supported under long-term support by the distribution vendor. For example Oracle Linux 8 is supported until 2029, and it runs GTK 3. That means we cannot cut over to GTK 4 without backwards compatibility support.
If there are GTK4 features that would be nice to add, then that would be great, however they need to be detected by Autoconf in configure.ac
and appropriate #ifdef
checks need to be placed in the code so that it will still compile on older distributions.
HELP WANTED
Would you like to volunteer to help with OpenGL support to xnec2c? Read on:
This first-pass implementation partially renders antenna patterns in OpenGL. Hurray! While the OpenGL work has been started, it needs some polish (ahem, quite a bit of polish)...plus, this is a feature that the original xnec2c author, Neoklis 5B4AZ, has always wanted.
-Eric, KJ7LNW
GOALS!
Getting Started
Once it loads:
Development Considerations
There is a work-in-progress branch for OpenGL support using CGLM which you can see in this commit comparison: https://github.com/KJ7LNW/xnec2c/compare/master...opengl . The branch is here: https://github.com/KJ7LNW/xnec2c/tree/opengl
If you would prefer to start fresh then I'm okay with that, the opengl branch is here as a reference in case it is useful. Ultimately your new branch would replace this current
opengl
branch and ultimately get merged intomaster
.rad_pattern
, see howrdpat_points
orpoint_3d
is created for colorization in Draw_Radiation_Pattern, but do it in a more "opengl-friendly way").src/draw_radiation.c:Draw_Radiation_Pattern()
.Draw_Radiation_Pattern()
but that was just a convenient place to put it while testing. See the commits to understand what changed.configure.ac
file should detect OpenGL libraries and link them as necessary. Some of this has been done already.resources/xnec2c.glade
. However, it might be easier to open-code as a first pass with gtk API calls and refactor into XML later.References