kopia lustrzana https://gitlab.com/sane-project/frontends
80 wiersze
2.2 KiB
C
80 wiersze
2.2 KiB
C
#include <gtk/gtk.h>
|
|
#include <gtk4curve.h>
|
|
#include <gtk4gamma.h>
|
|
|
|
#define WINDOW_WIDTH 400
|
|
#define WINDOW_HEIGHT 400
|
|
|
|
|
|
static void
|
|
activate (GtkApplication *app, gpointer user_data)
|
|
{
|
|
GtkWidget *window;
|
|
GtkWidget *da;
|
|
GtkWidget *gamma;
|
|
GtkWidget *grid;
|
|
|
|
|
|
window = gtk_application_window_new (app);
|
|
gtk_window_set_title (GTK_WINDOW (window), "Window");
|
|
// gtk_container_set_border_width (GTK_CONTAINER (window), 10);
|
|
grid = gtk_grid_new();
|
|
|
|
{
|
|
/*
|
|
da = gtk4_curve_new ();
|
|
gtk_widget_set_name (da, "curve1");
|
|
gamma = da;
|
|
*/
|
|
if (strstr((const char*)user_data, "gtk4curve-sample"))
|
|
{
|
|
da = gtk4_curve_new ();
|
|
gtk_widget_set_name (da, "curve1");
|
|
gamma = da;
|
|
}
|
|
else
|
|
{
|
|
gamma = gtk4_gamma_new ();
|
|
da = gtk4_gamma_get_curve (gamma);
|
|
// gtk_widget_show (da);
|
|
gtk_widget_set_name (gamma, "GammaCurve");
|
|
// gtk_widget_set_size_request (da, WINDOW_WIDTH - 18, WINDOW_HEIGHT - 18);
|
|
}
|
|
gtk4_curve_set_color_background_rgba (da, 0.8, 0.8, 0.8, 0.5);
|
|
gtk4_curve_set_color_grid_rgba (da, 0.0, 0.0, 0.0, 0.5);
|
|
gtk4_curve_set_color_curve_rgba (da, 1.0, 1.0, 1.0, 1.0);
|
|
gtk4_curve_set_color_cpoint_rgba (da, 0.8, 0.3, 0.3, 1.0);
|
|
|
|
gtk4_curve_set_use_theme_background(da, FALSE);
|
|
gtk_widget_set_size_request (da, WINDOW_WIDTH, WINDOW_HEIGHT);
|
|
|
|
gtk4_curve_set_grid_size (da, GTK4_CURVE_GRID_SMALL);
|
|
gtk4_curve_set_range (da, 0, WINDOW_WIDTH, 0, WINDOW_HEIGHT);
|
|
}
|
|
gtk_widget_set_size_request (gamma, WINDOW_WIDTH, WINDOW_HEIGHT);
|
|
gtk_grid_attach(GTK_GRID(grid), gamma, 1, 1, 1, 1);
|
|
gtk_widget_set_halign (grid, GTK_ALIGN_CENTER);
|
|
gtk_widget_set_valign (grid, GTK_ALIGN_CENTER);
|
|
gtk_widget_set_hexpand (grid, TRUE);
|
|
gtk_window_set_child (GTK_WINDOW (window), grid);
|
|
// gtk_window_set_child (GTK_WINDOW (window), gamma);
|
|
|
|
gtk_widget_show (gamma);
|
|
gtk_widget_show (grid);
|
|
gtk_widget_show (window);
|
|
}
|
|
|
|
int
|
|
main (int argc, char **argv)
|
|
{
|
|
GtkApplication *app;
|
|
int status;
|
|
|
|
app = gtk_application_new ("org.gtk.sample", G_APPLICATION_FLAGS_NONE);
|
|
g_signal_connect (app, "activate", G_CALLBACK (activate), argv[0]);
|
|
status = g_application_run (G_APPLICATION (app), argc, argv);
|
|
g_object_unref (app);
|
|
|
|
return status;
|
|
}
|