Files
Aethera/render_2D/render_2D/base/Frame_2D.hpp
T
2026-08-22 00:57:37 +08:00

23 lines
625 B
C++

#pragma once
#include "../render/Blend2D_Cache.hpp"
#include <frame.hpp>
#include <memory>
namespace aethera::render_2d {
class Frame_2D;
namespace detail {
struct Frame_2D_Access {
[[nodiscard]] static Blend2D_Cache& render_target(Frame_2D* frame);
};
}
class Frame_2D final : public Render_Frame {
public:
explicit Frame_2D(Frame_Identity identity);
~Frame_2D() override;
[[nodiscard]] Image_View image() const;
private:
struct Private;
std::unique_ptr<Private> d; /* 本帧最终二维颜色结果的唯一所有权。 */
friend struct detail::Frame_2D_Access;
};
}