COutputViewport.h 704 B

123456789101112131415161718192021222324252627282930
  1. #pragma once
  2. #include <string>
  3. #include <glm/vec4.hpp>
  4. namespace WallpaperEngine::Render::Drivers::Output
  5. {
  6. class COutputViewport
  7. {
  8. public:
  9. COutputViewport (glm::ivec4 viewport, std::string name, bool single = false);
  10. virtual ~COutputViewport ();
  11. glm::ivec4 viewport;
  12. std::string name;
  13. /** Whether this viewport is single in the framebuffer or shares space with more viewports */
  14. bool single;
  15. /**
  16. * Activates output's context for drawing
  17. */
  18. virtual void makeCurrent () = 0;
  19. /**
  20. * Swaps buffers to present data on the viewport
  21. */
  22. virtual void swapOutput () = 0;
  23. };
  24. }