XenevaOS
Loading...
Searching...
No Matches
glimpse_viewer.h
Go to the documentation of this file.
1#ifndef __GLIMPSE_VIEWER_H__
2#define __GLIMPSE_VIEWER_H__
3
4#include <chitralekha.h>
5#include <widgets/base.h>
6#include <widgets/window.h>
7#include "glimpse_image.h"
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13typedef void (*GlimpseBackCallback)(void* user_data);
14
15typedef struct {
17
18 char current_path[256];
19 char current_filename[64];
25
26 // Zoom & Pan state
30 int pan_x;
31 int pan_y;
32
33 // Dragging state
37
38 // Back button geometry (relative to window)
39 int btn_x;
40 int btn_y;
41 int btn_w;
42 int btn_h;
45
46 // Zoom Out button [-]
53
54 // Zoom In button [+]
61
62 // Fit / Reset button [Fit]
69
71
73 void* user_data;
75
76GlimpseViewer* GlimpseViewerCreate(int x, int y, int w, int h, GlimpseBackCallback on_back, void* user_data);
77
78bool GlimpseViewerLoad(GlimpseViewer* viewer, const char* path);
79
81
83
85
87
89
90void GlimpseViewerMouse(ChWidget* wid, ChWindow* win, int x, int y, int button);
91
92#ifdef __cplusplus
93}
94#endif
95
96#endif // __GLIMPSE_VIEWER_H__
void GlimpseViewerPaint(ChWidget *wid, ChWindow *win)
Definition glimpse_viewer.cpp:209
void(* GlimpseBackCallback)(void *user_data)
Definition glimpse_viewer.h:13
void GlimpseViewerMouse(ChWidget *wid, ChWindow *win, int x, int y, int button)
Definition glimpse_viewer.cpp:315
void GlimpseViewerZoomOut(GlimpseViewer *viewer)
Definition glimpse_viewer.cpp:143
bool GlimpseViewerLoad(GlimpseViewer *viewer, const char *path)
Definition glimpse_viewer.cpp:157
void GlimpseViewerZoomIn(GlimpseViewer *viewer)
Definition glimpse_viewer.cpp:129
GlimpseViewer * GlimpseViewerCreate(int x, int y, int w, int h, GlimpseBackCallback on_back, void *user_data)
Definition glimpse_viewer.cpp:8
void GlimpseViewerResetFit(GlimpseViewer *viewer)
Definition glimpse_viewer.cpp:122
void GlimpseViewerUnload(GlimpseViewer *viewer)
Definition glimpse_viewer.cpp:70
int h
Definition layout.c:118
ChWindow * win
Definition namdapha.cpp:60
Definition glimpse_image.h:11
Definition glimpse_viewer.h:15
int btn_fit_y
Definition glimpse_viewer.h:64
int drag_last_y
Definition glimpse_viewer.h:36
bool btn_fit_clicked
Definition glimpse_viewer.h:68
bool has_image
Definition glimpse_viewer.h:24
bool btn_zoom_in_hover
Definition glimpse_viewer.h:59
int btn_zoom_out_h
Definition glimpse_viewer.h:50
int btn_zoom_in_w
Definition glimpse_viewer.h:57
ChWidget wid
Definition glimpse_viewer.h:16
int btn_h
Definition glimpse_viewer.h:42
int base_fit_w
Definition glimpse_viewer.h:27
int btn_w
Definition glimpse_viewer.h:41
GlimpseRawImage scaled_img
Definition glimpse_viewer.h:21
bool btn_zoom_out_clicked
Definition glimpse_viewer.h:52
bool btn_zoom_out_hover
Definition glimpse_viewer.h:51
int btn_zoom_in_y
Definition glimpse_viewer.h:56
int btn_zoom_out_w
Definition glimpse_viewer.h:49
bool btn_zoom_in_clicked
Definition glimpse_viewer.h:60
int lbl_zoom_x
Definition glimpse_viewer.h:70
int pan_y
Definition glimpse_viewer.h:31
bool btn_fit_hover
Definition glimpse_viewer.h:67
int btn_zoom_out_x
Definition glimpse_viewer.h:47
void * user_data
Definition glimpse_viewer.h:73
int drag_last_x
Definition glimpse_viewer.h:35
int btn_zoom_in_x
Definition glimpse_viewer.h:55
GlimpseRawImage current_img
Definition glimpse_viewer.h:20
int pan_x
Definition glimpse_viewer.h:30
int btn_zoom_out_y
Definition glimpse_viewer.h:48
int zoom_percent
Definition glimpse_viewer.h:29
int btn_x
Definition glimpse_viewer.h:39
int btn_fit_x
Definition glimpse_viewer.h:63
int btn_y
Definition glimpse_viewer.h:40
bool btn_clicked
Definition glimpse_viewer.h:44
int btn_zoom_in_h
Definition glimpse_viewer.h:58
int btn_fit_w
Definition glimpse_viewer.h:65
int scaled_y
Definition glimpse_viewer.h:23
int btn_fit_h
Definition glimpse_viewer.h:66
int base_fit_h
Definition glimpse_viewer.h:28
int scaled_x
Definition glimpse_viewer.h:22
GlimpseBackCallback on_back
Definition glimpse_viewer.h:72
bool btn_hover
Definition glimpse_viewer.h:43
bool is_dragging
Definition glimpse_viewer.h:34
Definition window.h:130
Definition window.h:106
Definition path.h:8