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