gpredict/win32/README
Bastian Germann 2a57f14693 Port GooCanvas to native GTK3/Cairo drawing
Replace all GooCanvas-based canvas widgets with GtkDrawingArea and
Cairo for rendering satellite tracking visualizations:

- gtk-polar-view: Polar plot for real-time satellite tracking
- gtk-polar-plot: Polar plot for pass visualization
- gtk-azel-plot: Azimuth/Elevation time plot
- gtk-sat-map: World map with satellite positions and ground tracks
- gtk-sky-glance: Timeline view of upcoming passes

Key changes:
- Replace GooCanvasItemModel objects with coordinate fields in structs
- Implement on_draw() callbacks using Cairo API for all rendering
- Add manual hit testing for mouse interactions
- Store render state (points, colors, positions) in widget structures
- Use gtk_widget_queue_draw() to trigger redraws

Build system updates:
- Remove goocanvas-2.0/3.0 pkg-config checks from configure.ac
- Add explicit gtk+-3.0 dependency check
- Update CI workflows and snap

This eliminates the external GooCanvas library dependency, reducing
build complexity and improving portability. The application now only
requires GTK+ 3.0 and standard system libraries.

Fixes: #369
2026-02-02 15:52:03 +01:00

27 lines
876 B
Text

### Win32 build notes ###
# Phil Ashby, Dec 2017 - Jan 2018
At present, MSYS2 on a Windows system is required to gather dependencies
before building a Win32 version of gpredict using this build system.
Install MSYS2, open a shell and install the Gtk3 packages,
following the instructions from GTK team:
https://www.gtk.org/download/windows.php
Once your MSYS2 output folder (/mingw32 or similar) is accessible from
this system, adjust the MINGW_ROOT parameter in config.mk to suit.
You should now be able to cross-compile the Win32 version of GPredict
using the 'make' command.
Experimental Win32 build testing is being tracked in this ticket:
https://github.com/csete/gpredict/issues/110
To build a deployable ZIP archive, use 'make dist', which packages all
binary DLLs from dependent packages along with gpredict[-con].exe into
a versioned ZIP.
Good luck!
Phlash.