diff options
| author | Paul Buetow <paul@buetow.org> | 2026-07-13 21:05:24 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-07-13 21:05:24 +0300 |
| commit | 25ee19ce91dcb204d93e6d8cceb7cd64d5f057f9 (patch) | |
| tree | 2e01bf17f2a6e1e9e9051b115cdd764060f740fb /src/window.h | |
| parent | 0795d3cf926d0d937f25fcc699f5f674bf618c72 (diff) | |
fullscreen: info/EXIF, fullscreen, slideshow, Esc back (ot0)
M4 (task ot0): fullscreen + slideshow + info overlay.
- src/info.{c,h}: plain-C EXIF gather via libexif (camera, lens, focal,
aperture, shutter, ISO, datetime, orientation) + file info (dims, format,
size). info_format() produces the overlay text. Unit-tested.
- src/window.c: fullscreen toggle (f), slideshow (S, 3s auto-advance), info
overlay (i, GtkLabel in GtkOverlay, auto-hide 5s), Esc contextual back
(fullscreen→unfullscreen→large→grid→quit). Stack wrapped in GtkOverlay.
ggaze_window_get_stack() accessor for tests.
- src/shortcuts.c: f, S, i, Escape bindings.
- meson.build: libexif dep added.
- tests: unit test_info (EXIF extraction + orientation tag). 14/14 green,
ASan clean.
Diffstat (limited to 'src/window.h')
| -rw-r--r-- | src/window.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/window.h b/src/window.h index 10612db..43572d0 100644 --- a/src/window.h +++ b/src/window.h @@ -32,6 +32,10 @@ GgazeWindow *ggaze_window_new(GgazeApp *p_app); * current image into the viewer and switches the stack to "large". */ void ggaze_window_open(GgazeWindow *p_win, GFile *p_arg); +/* The GtkStack (grid/large) — the tests use this instead of + * gtk_window_get_child (which now returns the wrapping GtkOverlay). */ +GtkStack *ggaze_window_get_stack(GgazeWindow *p_win); + /* Navigation over the current folder (bound to h/l/Left/Right/g/G via * shortcuts.c). No-ops if nothing is open. */ void ggaze_window_prev(GgazeWindow *p_win); |
