1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-30 08:35:12 +00:00
serenity/LibHTML/Layout/LayoutStyle.h
Andreas Kling 33ac0de988 LibHTML: Add Length and LengthBox classes.
We need a way to represent values that are "auto", so adding a Length class
seems like the easiest way to achieve that.
2019-07-01 17:17:32 +02:00

47 lines
1.1 KiB
C++

#pragma once
#include <LibHTML/CSS/LengthBox.h>
#include <SharedGraphics/Color.h>
#include <SharedGraphics/Size.h>
enum FontStyle {
Normal,
Bold,
};
class LayoutStyle {
public:
LayoutStyle();
~LayoutStyle();
Color text_color() const { return m_text_color; }
Color background_color() const { return m_background_color; }
LengthBox& offset() { return m_offset; }
LengthBox& margin() { return m_margin; }
LengthBox& padding() { return m_padding; }
LengthBox& border() { return m_border; }
const LengthBox& offset() const { return m_offset; }
const LengthBox& margin() const { return m_margin; }
const LengthBox& padding() const { return m_padding; }
const LengthBox& border() const { return m_border; }
FontStyle font_style() const { return m_font_style; }
const Size& size() const { return m_size; }
Size& size() { return m_size; }
private:
Color m_text_color;
Color m_background_color;
LengthBox m_offset;
LengthBox m_margin;
LengthBox m_padding;
LengthBox m_border;
Size m_size;
FontStyle m_font_style { FontStyle::Normal };
};