Boutons normaux et implémentation du bouton éditeur musique
This commit is contained in:
		
							parent
							
								
									3c3bbe5e96
								
							
						
					
					
						commit
						8c91ba7a54
					
				|  | @ -5,7 +5,6 @@ | |||
| #include <SFML/Graphics.hpp> | ||||
| #include "../objects/object.hpp" | ||||
| #include "../states/level.hpp" | ||||
| #include "object_button.hpp" | ||||
| 
 | ||||
| /**
 | ||||
|  * Barre d'outils pour les actions en jeu | ||||
|  | @ -27,6 +26,11 @@ public: | |||
|         std::function<void()> callback = std::function<void()>() | ||||
|     ); | ||||
| 
 | ||||
|     /**
 | ||||
|      * Ajoute un nouvel espaceur | ||||
|      */ | ||||
|     void addSpacer(float width, bool expand, bool fill); | ||||
| 
 | ||||
|     /**
 | ||||
|      * Récupère la fenêtre de la barre d'outils | ||||
|      */ | ||||
|  |  | |||
|  | @ -36,7 +36,7 @@ private: | |||
|     boost::filesystem::path current_music_path; | ||||
|     bool is_playing; | ||||
|     sf::Music current_music; | ||||
|     float music_volume; | ||||
|     bool is_muted; | ||||
| 
 | ||||
|     /**
 | ||||
|      * Construit le gestionnaire de ressources. Comme on ne | ||||
|  | @ -110,14 +110,14 @@ public: | |||
|     void stopMusic(); | ||||
| 
 | ||||
|     /**
 | ||||
|      * Récupère le volume de la musique de fond | ||||
|      * Récupère si le volume est muet ou non | ||||
|      */ | ||||
|     float getMusicVolume() const; | ||||
|     bool isMuted() const; | ||||
| 
 | ||||
|     /**
 | ||||
|      * Modifie le volume de la musique de fond | ||||
|      * Modifie le drapeau pour le muet | ||||
|      */ | ||||
|     void setMusicVolume(float set_music_volume); | ||||
|     void setMuted(bool set_muted); | ||||
| }; | ||||
| 
 | ||||
| #endif | ||||
|  |  | |||
|  | @ -14,9 +14,6 @@ | |||
| Window { | ||||
|     BackgroundColor: #FFFFFFff; | ||||
|     BorderWidth: 0; | ||||
| 
 | ||||
|     ShadowDistance: 3; | ||||
|     ShadowAlpha: 0; | ||||
| } | ||||
| 
 | ||||
| ScrolledWindow { | ||||
|  | @ -49,6 +46,10 @@ ComboBox { | |||
|     HighlightedColor: #B4B4B4ff; | ||||
| } | ||||
| 
 | ||||
| Button.notext { | ||||
|     BackgroundColor: #00000000; | ||||
| } | ||||
| 
 | ||||
| ObjectButton { | ||||
|     BorderColor: #B4B4B4ff; | ||||
|     BackgroundColor: #D2D2D2ff; | ||||
|  |  | |||
|  | @ -5,11 +5,7 @@ ActionToolbar::ActionToolbar() { | |||
|     toolbar_box = sfg::Box::Create(sfg::Box::Orientation::HORIZONTAL, 5.f); | ||||
| 
 | ||||
|     // création de la fenêtre
 | ||||
|     toolbar_window = sfg::Window::Create( | ||||
|         sfg::Window::Style::BACKGROUND | | ||||
|         sfg::Window::Style::SHADOW | ||||
|     ); | ||||
|      | ||||
|     toolbar_window = sfg::Window::Create(sfg::Window::Style::BACKGROUND); | ||||
|     toolbar_window->Add(toolbar_box); | ||||
| 
 | ||||
|     // pour les styles
 | ||||
|  | @ -18,7 +14,9 @@ ActionToolbar::ActionToolbar() { | |||
| 
 | ||||
| void ActionToolbar::addButton(sf::Image image, std::function<void()> callback) { | ||||
|     // création d'un bouton avec pour image l'image passée
 | ||||
|     ObjectButton::Ptr button = ObjectButton::Create(sfg::Image::Create(image)); | ||||
|     sfg::Button::Ptr button = sfg::Button::Create(""); | ||||
|     button->SetImage(sfg::Image::Create(image)); | ||||
|     button->SetClass("notext"); | ||||
| 
 | ||||
|     // liaison du bouton avec la callback, s'il y en a une
 | ||||
|     if (callback) { | ||||
|  | @ -29,6 +27,14 @@ void ActionToolbar::addButton(sf::Image image, std::function<void()> callback) { | |||
|     toolbar_box->PackEnd(button, false, false); | ||||
| } | ||||
| 
 | ||||
| void ActionToolbar::addSpacer(float width, bool expand, bool fill) { | ||||
|     sfg::Alignment::Ptr spacer = sfg::Alignment::Create(); | ||||
|     spacer->SetRequisition(sf::Vector2f(width, 1.f)); | ||||
| 
 | ||||
|     // ajout de l'espaceur à la barre
 | ||||
|     toolbar_box->PackEnd(spacer, expand, fill); | ||||
| } | ||||
| 
 | ||||
| sfg::Window::Ptr ActionToolbar::getWindow() { | ||||
|     return toolbar_window; | ||||
| } | ||||
|  |  | |||
|  | @ -10,7 +10,7 @@ ResourceManager& ResourceManager::get() { | |||
|     return manager; | ||||
| } | ||||
| 
 | ||||
| ResourceManager::ResourceManager() : is_playing(false), music_volume(20) { | ||||
| ResourceManager::ResourceManager() : is_playing(false), is_muted(false) { | ||||
|     // mise en mémoire des chemins vers les dossiers de ressources
 | ||||
|     fs::path res_path = fs::current_path() / "res"; | ||||
| 
 | ||||
|  | @ -21,7 +21,7 @@ ResourceManager::ResourceManager() : is_playing(false), music_volume(20) { | |||
| 
 | ||||
|     // initialisation de la musique en bouclage et au volume par défaut
 | ||||
|     current_music.setLoop(true); | ||||
|     current_music.setVolume(music_volume); | ||||
|     current_music.setVolume(100); | ||||
| } | ||||
| 
 | ||||
| std::vector<fs::path> ResourceManager::getFiles(fs::path path) const { | ||||
|  | @ -179,11 +179,16 @@ void ResourceManager::stopMusic() { | |||
|     current_music.stop(); | ||||
| } | ||||
| 
 | ||||
| float ResourceManager::getMusicVolume() const { | ||||
|     return music_volume; | ||||
| bool ResourceManager::isMuted() const { | ||||
|     return is_muted; | ||||
| } | ||||
| 
 | ||||
| void ResourceManager::setMusicVolume(float set_music_volume) { | ||||
|     music_volume = set_music_volume; | ||||
|     current_music.setVolume(music_volume); | ||||
| void ResourceManager::setMuted(bool set_muted) { | ||||
|     is_muted = set_muted; | ||||
| 
 | ||||
|     if (is_muted) { | ||||
|         current_music.setVolume(0); | ||||
|     } else { | ||||
|         current_music.setVolume(100); | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -42,13 +42,23 @@ Editor::Editor(Manager& manager) : Level(manager), | |||
|     ); | ||||
| 
 | ||||
|     action_toolbar.addButton( | ||||
|         *ResourceManager::get().getImage("toolbar/icon_music.tga") | ||||
|         *ResourceManager::get().getImage("toolbar/icon_music.tga"), | ||||
|         []() { | ||||
|             // on inverse le drapeau de muet
 | ||||
|             ResourceManager::get().setMuted( | ||||
|                 !ResourceManager::get().isMuted() | ||||
|             ); | ||||
|         } | ||||
|     ); | ||||
| 
 | ||||
|     action_toolbar.addSpacer(20, true, false); | ||||
| 
 | ||||
|     action_toolbar.addButton( | ||||
|         *ResourceManager::get().getImage("toolbar/icon_no_music.tga") | ||||
|     ); | ||||
| 
 | ||||
|     action_toolbar.addSpacer(20, true, false); | ||||
| 
 | ||||
|     action_toolbar.addButton( | ||||
|         *ResourceManager::get().getImage("toolbar/icon_save.tga"), | ||||
|         std::bind(&Editor::save, this) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue