18 void bind(DrawingRuntime& runtime);
20 DrawingResult
imageChunk(std::uint64_t producer, std::uint32_t nowMillis, std::int32_t frameId,
21 std::uint8_t width, std::uint8_t height, std::uint8_t chunkIndex,
22 const std::uint8_t* bytes, std::size_t size,
23 DrawingHandle* ready =
nullptr);
24 DrawingResult
imageCommit(std::uint64_t producer, std::uint32_t nowMillis, std::int32_t frameId,
25 DrawingHandle* ready =
nullptr);
31 void reject(
const char* reason);
32 DrawingResult present(DrawingHandle* ready);
33 DrawingRuntime* runtime_ =
nullptr;
34 DrawingRuntime::Lifetime lifetime_;
35 std::array<char, 17> generation_{};
36 DrawingRuntime::ImageLease lease_{};
37 bool assembling_ =
false;
39 bool poisoned_ =
false;
40 bool committed_ =
false;
41 std::uint64_t producer_ = 0;
42 std::uint32_t started_ = 0;
43 std::uint8_t mask_ = 0;
44 std::uint32_t dropped_ = 0;
DrawingResult imageChunk(std::uint64_t producer, std::uint32_t nowMillis, std::int32_t frameId, std::uint8_t width, std::uint8_t height, std::uint8_t chunkIndex, const std::uint8_t *bytes, std::size_t size, DrawingHandle *ready=nullptr)