X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FMenu.h;h=bf99bdcf9b4cddb077e5e08541197deaf8dc1154;hb=3455f3a84eef6a73f39a4267da445c7998c3515e;hp=069b03d2c995b4a4e6c9889dcdfa635e7ab492d0;hpb=cd043e3f9e26c2b3406b40a354c2840941e9db7f;p=lugaru.git diff --git a/Source/Menu.h b/Source/Menu.h index 069b03d..bf99bdc 100644 --- a/Source/Menu.h +++ b/Source/Menu.h @@ -1,5 +1,6 @@ /* Copyright (C) 2003, 2010 - Wolfire Games +Copyright (C) 2010-2016 - Lugaru contributors (see AUTHORS file) This file is part of Lugaru. @@ -22,20 +23,50 @@ along with Lugaru. If not, see . #include "Game.h" -namespace Menu +struct MenuItem { + enum MenuItemType {NONE, LABEL, BUTTON, IMAGE, IMAGEBUTTON, MAPMARKER, MAPLINE, MAPLABEL} type; + int id; + string text; + Texture texture; + int x, y, w, h; + float r, g, b; + float effectfade; + + float linestartsize; + float lineendsize; + + MenuItem(MenuItemType _type, int _id, const string& _text, Texture _texture, + int _x, int _y, int _w, int _h, float _r, float _g, float _b, + float _linestartsize = 1, float _lineendsize = 1); +}; + +class Menu { -void clearMenu(); -void addLabel(int id, const string& text, int x, int y, float r = 1, float g = 0, float b = 0); -void addButton(int id, const string& text, int x, int y, float r = 1, float g = 0, float b = 0); -void addImage(int id, Texture texture, int x, int y, int w, int h, float r = 1, float g = 1, float b = 1); -void addButtonImage(int id, Texture texture, int x, int y, int w, int h, float r = 1, float g = 1, float b = 1); -void addMapLine(int x, int y, int w, int h, float startsize, float endsize, float r, float g, float b); -void addMapMarker(int id, Texture texture, int x, int y, int w, int h, float r, float g, float b); -void addMapLabel(int id, const string& text, int x, int y, float r = 1, float g = 0, float b = 0); -void setText(int id, const string& text); -void setText(int id, const string& text, int x, int y, int w, int h); -int getSelected(int mousex, int mousey); -void drawItems(); -} +public: + static void clearMenu(); + static void addLabel(int id, const string& text, int x, int y, float r = 1, float g = 0, float b = 0); + static void addButton(int id, const string& text, int x, int y, float r = 1, float g = 0, float b = 0); + static void addImage(int id, Texture texture, int x, int y, int w, int h, float r = 1, float g = 1, float b = 1); + static void addButtonImage(int id, Texture texture, int x, int y, int w, int h, float r = 1, float g = 1, float b = 1); + static void addMapLine(int x, int y, int w, int h, float startsize, float endsize, float r, float g, float b); + static void addMapMarker(int id, Texture texture, int x, int y, int w, int h, float r, float g, float b); + static void addMapLabel(int id, const string& text, int x, int y, float r = 1, float g = 0, float b = 0); + static void setText(int id, const string& text); + static void setText(int id, const string& text, int x, int y, int w, int h); + static int getSelected(int mousex, int mousey); + static void drawItems(); + + static void Load(); + static void Tick(); + static void updateSettingsMenu(); + static void updateStereoConfigMenu(); + static void updateControlsMenu(); + static void setKeySelected(); + +private: + static void handleFadeEffect(); + + static std::vector items; +}; #endif