Monopoly — Portage moderne 0.1.0
Portage moderne C/C++23 du Monopoly de 1999
Loading...
Searching...
No Matches
SequenceBitmapRenderData.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "LegacyBitmap.hpp"
4#include "ResourceRuntime.hpp"
5#include "SequenceRuntime.hpp"
6
7#include <expected>
8#include <memory>
9#include <string>
10#include <vector>
11
12namespace monopoly::data
13{
14 class RuntimeBitmapStore;
15 struct BitmapRuntimeAsset;
16}
17
18namespace monopoly::sequence
19{
28
37 {
39 std::uint32_t width{};
40 std::uint32_t height{};
41 std::int32_t originX{};
42 std::int32_t originY{};
43 std::uint16_t bitsPerPixel{};
44 };
45
47 {
50 std::uint16_t priority{};
51 std::int32_t clock{};
55 std::shared_ptr<const data::BitmapRuntimeAsset> runtimeAsset;
56 // Explicit CNK rectangle overrides the intrinsic bitmap size and offset.
57 std::optional<data::Sequence2DBoundingBoxAttribute> bounds;
60 // Provenance for presentation qualification; leaf draw priority stays authored.
61 std::uint16_t rootSequencePriority{};
62 };
63
64 [[nodiscard]] std::expected<std::vector<SequenceBitmapRenderItem>,
65 SequenceBitmapRenderDataError> collectSequenceBitmapRenderData(
66 const SequenceRuntime& runtime,
67 std::shared_ptr<const data::ResourceSnapshot> resources,
68 const data::RuntimeBitmapStore* runtimeBitmaps = nullptr);
69}
unsigned index
std::uint32_t DataId
Definition DataBanks.hpp:10
std::shared_ptr< const DataBytes > SharedDataBytes
std::expected< std::vector< SequenceBitmapRenderItem >, SequenceBitmapRenderDataError > collectSequenceBitmapRenderData(const SequenceRuntime &runtime, std::shared_ptr< const data::ResourceSnapshot > resources, const data::RuntimeBitmapStore *runtimeBitmaps)
std::uint64_t SequenceNodeId
std::optional< data::Sequence2DBoundingBoxAttribute > bounds
std::shared_ptr< const data::BitmapRuntimeAsset > runtimeAsset