Files
tint2/src/tint2conf/gradient_gui.h
2017-03-04 14:06:41 +01:00

48 lines
1.5 KiB
C

#ifndef GRADIENT_GUI_H
#define GRADIENT_GUI_H
#include "gui.h"
int gradient_index_safe(int index);
void create_gradient(GtkWidget *parent);
GtkWidget *create_gradient_combo();
void gradient_duplicate(GtkWidget *widget, gpointer data);
void gradient_delete(GtkWidget *widget, gpointer data);
void gradient_update_image(int index);
void gradient_update(GtkWidget *widget, gpointer data);
void gradient_force_update();
void current_gradient_changed(GtkWidget *widget, gpointer data);
void background_update_for_gradient(int gradient_id);
GtkWidget *create_gradient_stop_combo();
void gradient_stop_duplicate(GtkWidget *widget, gpointer data);
void gradient_stop_delete(GtkWidget *widget, gpointer data);
void gradient_stop_update(GtkWidget *widget, gpointer data);
void gradient_stop_update_image(int index);
void current_gradient_stop_changed(GtkWidget *widget, gpointer data);
typedef enum GradientConfigType {
GRADIENT_CONFIG_VERTICAL = 0,
GRADIENT_CONFIG_HORIZONTAL,
GRADIENT_CONFIG_RADIAL
} GradientConfigType;
typedef struct GradientConfigColorStop {
Color color;
// offset in 0-1
double offset;
} GradientConfigColorStop;
typedef struct GradientConfig {
GradientConfigType type;
GradientConfigColorStop start_color;
GradientConfigColorStop end_color;
// Each element is a GradientConfigColorStop
GList *extra_color_stops;
} GradientConfig;
void gradient_create_new(GradientConfigType t);
void gradient_draw(cairo_t *c, GradientConfig *g, int w, int h, gboolean preserve);
#endif