From 7fea2267e78de935af6010d5ac7300e51f471601 Mon Sep 17 00:00:00 2001 From: scratko Date: Mon, 18 Nov 2024 02:45:54 +0300 Subject: Uploading custom images --- menu_callbacks.cpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'menu_callbacks.cpp') diff --git a/menu_callbacks.cpp b/menu_callbacks.cpp index d43d848..a48b899 100644 --- a/menu_callbacks.cpp +++ b/menu_callbacks.cpp @@ -5,9 +5,12 @@ #include "menu_callbacks.hpp" #include "solution_algorithm.hpp" +#include "gameplay.hpp" +#include "img_handler.hpp" void load_file_callback(Fl_Widget *sender, void*) { + const char *path = nullptr; auto dialog = Fl_Native_File_Chooser{}; dialog.type(Fl_Native_File_Chooser::BROWSE_FILE); dialog.filter("JPEG Files (*.jpg)\tPNG Files (*.png)"); @@ -19,7 +22,11 @@ void load_file_callback(Fl_Widget *sender, void*) dialog.options(Fl_Native_File_Chooser::SAVEAS_CONFIRM | Fl_Native_File_Chooser::NEW_FOLDER); if (dialog.show() == 0) - printf("%s\n", dialog.filename()); + path = dialog.filename(); + ImageHandler ih(path); + ih.load_img(); + ih.resize_img(); + ih.save_img(); } void exit_callback(Fl_Widget *w, void*) @@ -29,10 +36,16 @@ void exit_callback(Fl_Widget *w, void*) void solve_problem_callback(Fl_Widget *w, void *gp) { - std::unique_ptr algorithm = - ASearch::Start(reinterpret_cast(gp)); + GameParams *game = reinterpret_cast(gp); + std::unique_ptr algorithm = ASearch::Start(game); Node *goal = algorithm->FindSolution(); algorithm->ShowSolution(goal); + int answer = fl_choice("Play again?", "No", "Yes", nullptr); + if(answer) + PuzzleGame::StartGame(game); + else + game->win->hide(); + } void about_callback(Fl_Widget *w, void*) -- cgit v1.2.3