Commit graph

2 commits

Author SHA1 Message Date
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
Sayafdine Said
e66e784059 ci: add github actions workflow 2025-09-19 23:29:47 +02:00