From a4460f6d9453bbd7e584937686449cef3e19f052 Mon Sep 17 00:00:00 2001 From: Leo Tenenbaum Date: Mon, 20 Aug 2018 20:34:57 -0400 Subject: Initial commit --- src/gui/menu.cpp | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 src/gui/menu.cpp (limited to 'src/gui/menu.cpp') diff --git a/src/gui/menu.cpp b/src/gui/menu.cpp new file mode 100644 index 0000000..18bacb2 --- /dev/null +++ b/src/gui/menu.cpp @@ -0,0 +1,74 @@ +//////////////////////////////////////////////////////////////////////////////// +// Copyright (C) 2018 Leo Tenenbaum +// This file is part of GraphColoring. +// +// GraphColoring is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// GraphColoring is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with GraphColoring. If not, see . +//////////////////////////////////////////////////////////////////////////////// + +#include "menu.hpp" + +#include + +namespace gui { + +Menu::Menu(Window* window, + const std::vector>& buttons_, + Position position_, Size size_) + : window(window), buttons(buttons_), position(position_), size(size_) +{ + int total_button_height = 0; + for (std::shared_ptr