#ifndef LS_GTK_H
#define LS_GTK_H 1

#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
#include <gtk/gtk.h>
#include "adl_api.h"


#define START_GPU 500
#define START_MEM 800
#define MIN_GPU 275
#define MIN_MEM 400
#define MAX_GPU 740
#define MAX_MEM 1100

#ifndef TRUE
#define TRUE 0
#endif
#ifndef FALSE
#define FALSE 1
#endif

struct GTK_Widgets{
	GtkWidget *main_win;
	GtkWidget *main_vbox;
	GtkWidget *main_menubar;
	GtkWidget *main_filemenu;
	GtkWidget *main_file;
	GtkWidget *main_results;
	GtkWidget *main_quit;
	GtkWidget *scrolled_win;
	GtkWidget *table;
	GtkWidget *table_labels[2];
	GtkWidget *events;
	GtkWidget *apply_button;
	GtkAdjustment *gpu_adj;
	GtkAdjustment *mem_adj;
	GtkWidget *mem_button;
	GtkWidget *gpu_button;
};

extern const char *ADL_Func_Names[LSADL_FUNCS];
extern char ADL_Func_Enabled[LSADL_FUNCS];
extern char ADL_Func_Notes[LSADL_FUNCS];

void GTK_Func(void);
//callbacks
gboolean apply_cb(GtkWidget *widget, gpointer data);
gboolean exit_cb(GtkWidget *widget, gpointer data);
gboolean API_Funcs_Found_Popup_cb(GtkWidget *widget, gpointer data);

#endif