You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Theodosius/include/theo/engine/iff.hpp

33 lines
800 B

#pragma once
#include <coff/image.hpp>
#include <vector>
#include <xtils.hpp>
namespace theo
{
class iff_t
{
/// <summary>
/// swapchain_t is the only one who needs to call iff_t::flush...
/// so its a friend class... flush is also private...
/// </summary>
friend class swapchain_t;
public:
struct section_t
{
coff::section_header_t header;
std::vector< std::pair< std::uint32_t, coff::symbol_t > > symbols;
};
explicit iff_t( coff::image_t *img );
std::vector< section_t > sections;
private:
/// <summary>
/// flush changes from "sections" back to img...
/// </summary>
void flush();
coff::image_t *img;
};
} // namespace theo