struct axl::gui::Rect

#include <axl_gui_Def.h>

struct Rect
{
    // fields

    union
    {
        struct
        {
            int m_left;
            int m_top;
            int m_right;
            int m_bottom;
        };

        struct
        {
            uint_t m_left_u;
            uint_t m_top_u;
            uint_t m_right_u;
            uint_t m_bottom_u;
        };
    };

    // construction

    Rect();

    Rect(
        int left,
        int top,
        int right,
        int bottom
        );

    Rect(
        int left,
        int top
        );

    Rect(
        const Point& leftTop,
        const Point& rightBottom
        );

    Rect(const Point& leftTop);

    Rect(
        const Point& leftTop,
        const Size& size
        );

    // methods

    bool
    isEmpty() const;

    int
    getWidth() const;

    int
    getHeight() const;

    Size
    getSize() const;

    void
    setup(
        int left,
        int top,
        int right,
        int bottom
        );

    void
    clipNegative();
};