ladybird/Userland/Libraries/LibWeb/CSS/ColumnCount.h

43 lines
717 B
C++

/*
* Copyright (c) 2023, Aliaksandr Kalenik <kalenik.aliaksandr@gmail.com>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
namespace Web::CSS {
class ColumnCount {
public:
enum class Type {
Auto,
Integer
};
static ColumnCount make_auto()
{
return ColumnCount();
}
static ColumnCount make_integer(int value)
{
return ColumnCount(value);
}
bool is_auto() const { return m_type == Type::Auto; }
int value() const { return *m_value; }
private:
ColumnCount(int value)
: m_type(Type::Integer)
, m_value(value)
{
}
ColumnCount() {};
Type m_type { Type::Auto };
Optional<int> m_value;
};
}