raven/src/BoxLayout.hpp
2022-07-26 01:05:21 +03:00

38 lines
614 B
C++

#pragma once
#include "Layout.hpp"
#include "Widget.hpp"
#include "Box.hpp"
#include <memory>
#include <vector>
namespace Raven {
class BoxLayout : public Layout {
public:
enum class SlotType {
No,
Percent,
Pixel,
Auto
};
struct Slot {
double percent, pixel;
SlotType type;
};
public:
BoxLayout(Direction direction)
: Layout()
, m_direction(direction) {}
~BoxLayout() {}
void run();
void slot_percent(double percent);
void slot_pixel(double pixel);
private:
std::vector<Slot> m_slots;
Direction m_direction { Direction::Horizontal };
};
}