Ylva And Malin
imgui-SFML.h
Go to the documentation of this file.
1 
2 #ifndef IMGUI_SFML_H
3 #define IMGUI_SFML_H
4 
5 #include <SFML/System/Vector2.hpp>
6 #include <SFML/Graphics/Rect.hpp>
7 #include <SFML/Graphics/Color.hpp>
8 #include <SFML/System/Time.hpp>
9 #include <SFML/Window/Joystick.hpp>
10 
11 namespace sf
12 {
13  class Event;
14  class RenderTarget;
15  class RenderWindow;
16  class Sprite;
17  class Texture;
18  class Window;
19 }
20 
21 namespace ImGui
22 {
23 namespace SFML
24 {
25  void Init(sf::RenderWindow& window, bool loadDefaultFont = true);
26  void Init(sf::Window& window, sf::RenderTarget& target, bool loadDefaultFont = true);
27 
28  void ProcessEvent(const sf::Event& event);
29 
30  void Update(sf::RenderWindow& window, sf::Time dt);
31  void Update(sf::Window& window, sf::RenderTarget& target, sf::Time dt);
32  void Update(const sf::Vector2i& mousePos, const sf::Vector2f& displaySize, sf::Time dt);
33 
34  void Render(sf::RenderTarget& target);
35 
36  void Shutdown();
37 
38  void UpdateFontTexture();
39  sf::Texture& GetFontTexture();
40 
41  // joystick functions
42  void SetActiveJoystickId(unsigned int joystickId);
43  void SetJoytickDPadThreshold(float threshold);
44  void SetJoytickLStickThreshold(float threshold);
45 
46  void SetJoystickMapping(int action, unsigned int joystickButton);
47  void SetDPadXAxis(sf::Joystick::Axis dPadXAxis, bool inverted = false);
48  void SetDPadYAxis(sf::Joystick::Axis dPadYAxis, bool inverted = false);
49  void SetLStickXAxis(sf::Joystick::Axis lStickXAxis, bool inverted = false);
50  void SetLStickYAxis(sf::Joystick::Axis lStickYAxis, bool inverted = false);
51 }
52 
53 // custom ImGui widgets for SFML stuff
54 
55 // Image overloads
56  void Image(const sf::Texture& texture,
57  const sf::Color& tintColor = sf::Color::White,
58  const sf::Color& borderColor = sf::Color::Transparent);
59  void Image(const sf::Texture& texture, const sf::Vector2f& size,
60  const sf::Color& tintColor = sf::Color::White,
61  const sf::Color& borderColor = sf::Color::Transparent);
62  void Image(const sf::Texture& texture, const sf::FloatRect& textureRect,
63  const sf::Color& tintColor = sf::Color::White,
64  const sf::Color& borderColor = sf::Color::Transparent);
65  void Image(const sf::Texture& texture, const sf::Vector2f& size, const sf::FloatRect& textureRect,
66  const sf::Color& tintColor = sf::Color::White,
67  const sf::Color& borderColor = sf::Color::Transparent);
68 
69  void Image(const sf::Sprite& sprite,
70  const sf::Color& tintColor = sf::Color::White,
71  const sf::Color& borderColor = sf::Color::Transparent);
72  void Image(const sf::Sprite& sprite, const sf::Vector2f& size,
73  const sf::Color& tintColor = sf::Color::White,
74  const sf::Color& borderColor = sf::Color::Transparent);
75 
76 // ImageButton overloads
77  bool ImageButton(const sf::Texture& texture, const int framePadding = -1,
78  const sf::Color& bgColor = sf::Color::Transparent,
79  const sf::Color& tintColor = sf::Color::White);
80  bool ImageButton(const sf::Texture& texture, const sf::Vector2f& size, const int framePadding = -1,
81  const sf::Color& bgColor = sf::Color::Transparent, const sf::Color& tintColor = sf::Color::White);
82 
83  bool ImageButton(const sf::Sprite& sprite, const int framePadding = -1,
84  const sf::Color& bgColor = sf::Color::Transparent,
85  const sf::Color& tintColor = sf::Color::White);
86  bool ImageButton(const sf::Sprite& sprite, const sf::Vector2f& size, const int framePadding = -1,
87  const sf::Color& bgColor = sf::Color::Transparent,
88  const sf::Color& tintColor = sf::Color::White);
89 
90 // Draw_list overloads. All positions are in relative coordinates (relative to top-left of the current window)
91  void DrawLine(const sf::Vector2f& a, const sf::Vector2f& b, const sf::Color& col, float thickness = 1.0f);
92  void DrawRect(const sf::FloatRect& rect, const sf::Color& color, float rounding = 0.0f, int rounding_corners = 0x0F, float thickness = 1.0f);
93  void DrawRectFilled(const sf::FloatRect& rect, const sf::Color& color, float rounding = 0.0f, int rounding_corners = 0x0F);
94 }
95 
96 #endif //# IMGUI_SFML_H
void Update(sf::RenderWindow &window, sf::Time dt)
Definition: imgui-SFML.cpp:308
void Shutdown()
Definition: imgui-SFML.cpp:390
void DrawRectFilled(const sf::FloatRect &rect, const sf::Color &color, float rounding, int rounding_corners)
Definition: imgui-SFML.cpp:572
void Render(sf::RenderTarget &target)
Definition: imgui-SFML.cpp:383
void UpdateFontTexture()
Definition: imgui-SFML.cpp:402
GLint color
Definition: ym_gfx_sprite.c:19
void SetLStickYAxis(sf::Joystick::Axis lStickYAxis, bool inverted)
Definition: imgui-SFML.cpp:466
void DrawRect(const sf::FloatRect &rect, const sf::Color &color, float rounding, int rounding_corners, float thickness)
Definition: imgui-SFML.cpp:562
Definition: main.cpp:81
int GLenum UINT size
Definition: wglext.h:321
void Init(sf::RenderWindow &window, bool loadDefaultFont)
Definition: imgui-SFML.cpp:171
void SetDPadXAxis(sf::Joystick::Axis dPadXAxis, bool inverted)
Definition: imgui-SFML.cpp:448
sf::Texture & GetFontTexture()
Definition: imgui-SFML.cpp:417
void SetJoystickMapping(int action, unsigned int joystickButton)
Definition: imgui-SFML.cpp:440
void ProcessEvent(const sf::Event &event)
Definition: imgui-SFML.cpp:236
Definition: main.cpp:76
void Image(const sf::Texture &texture, const sf::Color &tintColor, const sf::Color &borderColor)
Definition: imgui-SFML.cpp:477
Definition: imgui-SFML.cpp:166
Definition: imgui-SFML.h:11
void DrawLine(const sf::Vector2f &a, const sf::Vector2f &b, const sf::Color &color, float thickness)
Definition: imgui-SFML.cpp:554
void SetLStickXAxis(sf::Joystick::Axis lStickXAxis, bool inverted)
Definition: imgui-SFML.cpp:460
void SetActiveJoystickId(unsigned int joystickId)
Definition: imgui-SFML.cpp:422
void SetJoytickDPadThreshold(float threshold)
Definition: imgui-SFML.cpp:428
void SetDPadYAxis(sf::Joystick::Axis dPadYAxis, bool inverted)
Definition: imgui-SFML.cpp:454
void SetJoytickLStickThreshold(float threshold)
Definition: imgui-SFML.cpp:434
bool ImageButton(const sf::Texture &texture, const int framePadding, const sf::Color &bgColor, const sf::Color &tintColor)
Definition: imgui-SFML.cpp:524