You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.2KB

  1. /*
  2. * DISTRHO Ildaeil Plugin
  3. * Copyright (C) 2021 Filipe Coelho <falktx@falktx.com>
  4. *
  5. * This program is free software; you can redistribute it and/or
  6. * modify it under the terms of the GNU General Public License as
  7. * published by the Free Software Foundation; either version 2 of
  8. * the License, or any later version.
  9. *
  10. * This program is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. *
  15. * For a full copy of the GNU General Public License see the LICENSE file.
  16. */
  17. #pragma once
  18. #include "Window.hpp"
  19. START_NAMESPACE_DGL
  20. class PluginHostWindow
  21. {
  22. struct PrivateData;
  23. PrivateData* const pData;
  24. public:
  25. struct Callbacks {
  26. virtual ~Callbacks() {}
  27. virtual void pluginWindowResized(uint width, uint height) = 0;
  28. };
  29. explicit PluginHostWindow(Window& parentWindow, Callbacks* cbs);
  30. ~PluginHostWindow();
  31. void* attachAndGetWindowHandle();
  32. bool hide();
  33. void idle();
  34. void setOffset(uint x, uint y);
  35. void setSize(uint width, uint height);
  36. };
  37. END_NAMESPACE_DGL