|
- /*
- * DISTRHO Plugin Toolkit (DPT)
- * Copyright (C) 2012-2013 Filipe Coelho <falktx@falktx.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * For a full copy of the license see the LGPL.txt file
- */
-
- #ifndef __DGL_WINDOW_HPP__
- #define __DGL_WINDOW_HPP__
-
- #include "Base.hpp"
-
- START_NAMESPACE_DGL
-
- // -------------------------------------------------
-
- class App;
- class Widget;
-
- class Window
- {
- public:
- Window(App* app, Window* parent = nullptr);
- Window(App* app, intptr_t parentId);
- virtual ~Window();
-
- void exec();
- void focus();
- void idle();
- void repaint();
-
- bool isVisible();
- void setVisible(bool yesNo);
- void setResizable(bool yesNo);
- void setSize(unsigned int width, unsigned int height);
- void setWindowTitle(const char* title);
-
- App* getApp() const;
- int getModifiers();
- intptr_t getWindowId();
-
- void addWidget(Widget* widget);
- void removeWidget(Widget* widget);
-
- void show()
- {
- setVisible(true);
- }
-
- void hide()
- {
- setVisible(false);
- }
-
- private:
- class Private;
- Private* const kPrivate;
- };
-
- // -------------------------------------------------
-
- END_NAMESPACE_DGL
-
- #endif // __DGL_WINDOW_HPP__
|