light/modules/renderer/private/frontend/context/surface.hpp
light7734 61473c2758
Some checks failed
continuous-integration/drone/push Build is failing
test(renderer): overhaul tests & fix many bugs
2025-10-07 16:09:50 +03:30

34 lines
686 B
C++

#pragma once
#include <ecs/entity.hpp>
#include <math/vec2.hpp>
#include <memory/scope.hpp>
#include <renderer/api.hpp>
namespace lt::renderer {
class ISurface
{
public:
[[nodiscard]] static auto create(
Api target_api,
class IInstance *instance,
const ecs::Entity &surface_entity
) -> memory::Scope<ISurface>;
ISurface() = default;
virtual ~ISurface() = default;
ISurface(ISurface &&) = default;
ISurface(const ISurface &) = delete;
auto operator=(ISurface &&) -> ISurface & = default;
auto operator=(const ISurface &) -> ISurface & = delete;
[[nodiscard]] virtual auto get_framebuffer_size() const -> math::uvec2 = 0;
};
} // namespace lt::renderer