/* * mandelbrot-zoom.c * * Created on: 13.01.2018 * Author: Superleo1810 */ #include "mandelbrot-zoom.h" int main(int argc, char **argv) { GtkBuilder *builder; gtk_init(&argc, &argv); builder = gtk_builder_new(); gtk_builder_add_from_file (builder, "C:/Users/Superleo1810/eclipse-workspace/mandelbrot-zoom/glade/settings.glade", NULL); // gtk = zu behindert für relative pfade ui.settings = GTK_WINDOW(gtk_builder_get_object(builder, "settings")); //gtk_builder_connect_signals(builder, NULL); ui.iterationsSp = GTK_SPIN_BUTTON(gtk_builder_get_object(builder, "iterationsSp")); ui.colorFromBtn = GTK_BUTTON(gtk_builder_get_object(builder, "colorFromBtn")); ui.colorToBtn = GTK_BUTTON(gtk_builder_get_object(builder, "colorToBtn")); ui.exportCb = GTK_CHECK_BUTTON(gtk_builder_get_object(builder, "exportCb")); ui.gifRd = GTK_RADIO_BUTTON(gtk_builder_get_object(builder, "gifRd")); ui.widthSp = GTK_SPIN_BUTTON(gtk_builder_get_object(builder, "widthSp")); ui.heightSp = GTK_SPIN_BUTTON(gtk_builder_get_object(builder, "heightSp")); ui.fpsRenderSp = GTK_SPIN_BUTTON(gtk_builder_get_object(builder, "fpsRenderSp")); ui.fpsVideoSp = GTK_SPIN_BUTTON(gtk_builder_get_object(builder, "fpsVideoSp")); ui.bitrateSp = GTK_SPIN_BUTTON(gtk_builder_get_object(builder, "bitrateSp")); ui.exportTf = GTK_ENTRY(gtk_builder_get_object(builder, "exportTf")); ui.startBtn = GTK_BUTTON(gtk_builder_get_object(builder, "startBtn")); ui.exitBtn = GTK_BUTTON(gtk_builder_get_object(builder, "exitBtn")); ui.colorDialog = GTK_COLOR_SELECTION_DIALOG(gtk_builder_get_object(builder, "colorDialog")); gtk_spin_button_set_increments(ui.iterationsSp, 1, 2); gtk_spin_button_set_increments(ui.widthSp, 1, 2); gtk_spin_button_set_increments(ui.heightSp, 1, 2); gtk_spin_button_set_increments(ui.fpsRenderSp, 1, 2); gtk_spin_button_set_increments(ui.fpsVideoSp, 1, 2); gtk_spin_button_set_increments(ui.bitrateSp, 1, 2); gtk_spin_button_set_value(ui.iterationsSp, 1000); gtk_spin_button_set_value(ui.widthSp, 1920); gtk_spin_button_set_value(ui.heightSp, 1080); gtk_spin_button_set_value(ui.fpsRenderSp, 30); gtk_spin_button_set_value(ui.fpsVideoSp, 30); gtk_spin_button_set_value(ui.bitrateSp, 1000); gtk_spin_button_set_range(ui.iterationsSp, 1, 16777215); // 3 bytes á 8 bit = 24 bit gtk_spin_button_set_range(ui.widthSp, 1, 1920); gtk_spin_button_set_range(ui.heightSp, 1, 1080); gtk_spin_button_set_range(ui.fpsRenderSp, 1, 60); gtk_spin_button_set_range(ui.fpsVideoSp, 1, 60); gtk_spin_button_set_range(ui.bitrateSp, 1, 65535); g_signal_connect(ui.iterationsSp, "value-changed", G_CALLBACK(on_iterationsSp_valueChanged), NULL); g_signal_connect(ui.colorFromBtn, "clicked", G_CALLBACK(on_colorFromBtn_clicked), NULL); g_signal_connect(ui.colorToBtn, "clicked", G_CALLBACK(on_colorToBtn_clicked), NULL); g_signal_connect(ui.exportCb, "toggled", G_CALLBACK(on_exportCb_toggled), NULL); g_signal_connect(ui.widthSp, "value-changed", G_CALLBACK(on_widthSp_valueChanged), NULL); g_signal_connect(ui.heightSp, "value-changed", G_CALLBACK(on_heightSp_valueChanged), NULL); g_signal_connect(ui.fpsRenderSp, "value-changed", G_CALLBACK(on_fpsRenderSp_valueChanged), NULL); g_signal_connect(ui.fpsVideoSp, "value-changed", G_CALLBACK(on_fpsVideoSp_valueChanged), NULL); g_signal_connect(ui.bitrateSp, "value-changed", G_CALLBACK(on_bitrateSp_valueChanged), NULL); g_signal_connect(ui.exportTf, "changed", G_CALLBACK(on_exportTf_changed), NULL); g_signal_connect(ui.startBtn, "clicked", G_CALLBACK(on_startBtn_clicked), NULL); g_signal_connect(ui.exitBtn, "clicked", G_CALLBACK(on_exitBtn_clicked), NULL); g_object_unref(builder); gtk_widget_show(GTK_WIDGET(ui.settings)); gtk_main(); return 0; } void on_iterationsSp_valueChanged() { config.iterations = gtk_spin_button_get_value(ui.widthSp); } void on_colorFromBtn_clicked() { currentColor = COLOR_FROM; gtk_dialog_run(ui.colorDialog); } void on_colorToBtn_clicked() { currentColor = COLOR_TO; gtk_dialog_run(ui.colorDialog); } void on_exportCb_toggled() { config.video = gtk_toggle_button_get_active(ui.exportCb); } void on_exportTf_changed() { config.path = CHAR_PTR(gtk_entry_get_text(ui.exportTf)); } void on_widthSp_valueChanged() { config.width = gtk_spin_button_get_value(ui.widthSp); } void on_heightSp_valueChanged() { config.height = gtk_spin_button_get_value(ui.heightSp); } void on_fpsRenderSp_valueChanged() { config.renderFPS = gtk_spin_button_get_value(ui.fpsRenderSp); } void on_fpsVideoSp_valueChanged() { config.videoFPS = gtk_spin_button_get_value(ui.fpsVideoSp); } void on_bitrateSp_valueChanged() { config.bitrate = gtk_spin_button_get_value(ui.bitrateSp); } void on_startBtn_clicked() { printf("config {\n\t.video = %u\n\t.filetype = %u\n\t.width = %u\n\t.height = %u\n\t.renderFPS = %u\n\t.videoFPS = %u\n\t.bitrate = %u\n\t.path = %s\n}\n", config.video, 0, config.width, config.height, config.renderFPS, config.videoFPS, config.bitrate, config.path); } void on_exitBtn_clicked() { gtk_main_quit(); }