#pragma once

#include "Window.h"

namespace Framework
{
    class UIDialog : public Window
    {
    protected:
        DLLEXPORT void adjustSize();

    public:
        DLLEXPORT UIDialog(Font* font);
        DLLEXPORT virtual ~UIDialog();
        //! Adds a drawing to the window
        //! \param obj The drawing
        DLLEXPORT virtual void addMember(Drawable* obj) override;
        //! Removes a drawing from the window
        //! \param zObj The drawing (without increased reference counter)
        DLLEXPORT virtual void removeMember(Drawable* zObj) override;
        //! Removes all drawings from the window
        DLLEXPORT virtual void removeAll() override;
    };

    class UIMessageDialog : public UIDialog
    {
    public:
        DLLEXPORT UIMessageDialog(
            const char* title, const char* message, Font* font);
        DLLEXPORT virtual ~UIMessageDialog();
    };

} // namespace Framework