diff options
| author | Aleksa Vuckovic <aleksa@vuckovic.cc> | 2023-11-18 22:12:55 +0100 |
|---|---|---|
| committer | Aleksa Vuckovic <aleksa@vuckovic.cc> | 2023-11-18 22:18:21 +0100 |
| commit | fba043f4234453f68284cb31d8c215ff5af6a66f (patch) | |
| tree | 0b35c94ceefc55bb7beb76af6d065bf335e9baa5 /lib/ui.hpp | |
| parent | 45d8de6c22a51efe7e76e71424693c18b93e83e3 (diff) | |
Diffstat (limited to 'lib/ui.hpp')
| -rw-r--r-- | lib/ui.hpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/lib/ui.hpp b/lib/ui.hpp new file mode 100644 index 0000000..c656058 --- /dev/null +++ b/lib/ui.hpp @@ -0,0 +1,36 @@ +#ifndef UI_HPP +#define UI_HPP + +#include <gtk/gtk.h> +#include <cairo/cairo.h> +#include "audio.hpp" +#include <bits/stdc++.h> + +using namespace std; + +class GTKUI { + public: + GTKUI(int argc, char* argv[]); + static void draw(cairo_t* cr, GtkWidget* drawing_area, gpointer user_data); + static void draw_cb(GtkDrawingArea* drawing_area, cairo_t* cr, int width, int height, gpointer user_data); + static void select_device(GtkWidget* widget, gpointer user_data); + static void refresh(GtkWidget* widget, gpointer user_data); + static void close_window(GtkWidget* widget, gpointer user_data); + static gboolean drawCallback(GtkWidget* widget, GdkFrameClock* frame_clock, gpointer user_data); + static void activate(GtkApplication* app, gpointer user_data); + + private: + GtkApplication* app; + + GtkWidget* window; + GtkWidget* grid; + GtkWidget* refresh_button; + GtkWidget* quit_button; + vector<GtkWidget*> buttons; + GtkWidget* drawing_area; + + int status; + AudioData* audiodata; +}; + +#endif |
