1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-27 23:55:09 +00:00
serenity/SharedGraphics/Size.h
Andreas Kling 1f355f2a79 LibGUI: Start working on a GScrollBar.
This widget is far from finished, but it's off to a good start.
Also added a GResizeEvent and GWidget::resize_event() so that widgets
can react to being resized.
2019-02-09 11:19:38 +01:00

38 lines
767 B
C++

#pragma once
struct GUI_Size;
class Size {
public:
Size() { }
Size(int w, int h) : m_width(w), m_height(h) { }
Size(const GUI_Size&);
bool is_empty() const { return !m_width || !m_height; }
int width() const { return m_width; }
int height() const { return m_height; }
int area() const { return width() * height(); }
void set_width(int w) { m_width = w; }
void set_height(int h) { m_height = h; }
bool operator==(const Size& other) const
{
return m_width == other.m_width &&
m_height == other.m_height;
}
bool operator!=(const Size& other) const
{
return !(*this == other);
}
operator GUI_Size() const;
private:
int m_width { 0 };
int m_height { 0 };
};