23 lines
625 B
C++
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;
|
|
};
|
|
}
|