Smolgui
Immediate gui library based on SFML
Loading...
Searching...
No Matches
ClippingLayers.h
Go to the documentation of this file.
1#pragma once
2
3#include <vector>
4#include <cstdint>
5#include <SFML/Graphics/Rect.hpp>
6#include <SFML/Graphics/View.hpp>
7
8namespace sgui
9{
10
15{
16public:
20 uint32_t initialize ();
25 uint32_t setCurrentLayer (const sf::FloatRect& mask);
30 uint32_t activeLayer () const;
34 void moveToLayer (const uint32_t layerId);
38 void disable ();
43 bool isClipped (const sf::Vector2f& position) const;
47 const sf::View& at (const uint32_t layerId) const;
48public:
49 sf::View baseView = {};
50private:
51 // clipping layer
52 uint32_t mActiveLayer = 0;
53 std::vector <sf::View> mLayers;
54};
55
56} // namespace sgui
Handle clipping layers to only draw things in a given box.
Definition ClippingLayers.h:15
bool isClipped(const sf::Vector2f &position) const
To tell if a position is visible or not (clipped).
Definition ClippingLayers.cpp:71
uint32_t initialize()
Initialize clipping layers with a base view.
Definition ClippingLayers.cpp:8
void disable()
Go back to base layer with no clipping.
Definition ClippingLayers.cpp:65
void moveToLayer(const uint32_t layerId)
To reuse a previously set clipping layer.
Definition ClippingLayers.cpp:55
uint32_t setCurrentLayer(const sf::FloatRect &mask)
Set current clipping layer used.
Definition ClippingLayers.cpp:17
uint32_t activeLayer() const
Get current active clipping layer index.
Definition ClippingLayers.cpp:49
sf::View baseView
Base view of the clipping layers.
Definition ClippingLayers.h:49
const sf::View & at(const uint32_t layerId) const
Return stored clipping layers.
Definition ClippingLayers.cpp:82
Definition Interpolation.h:16