shithub: rgbds

ref: 71e22f3bfe52a4e33b6a77e860dd6f80f4bb7e53
dir: /include/gfx/pal_packing.hpp/

View raw version
/*
 * This file is part of RGBDS.
 *
 * Copyright (c) 2022, Eldred Habert and RGBDS contributors.
 *
 * SPDX-License-Identifier: MIT
 */

#ifndef RGBDS_GFX_PAL_PACKING_HPP
#define RGBDS_GFX_PAL_PACKING_HPP

#include <tuple>
#include <vector>

#include "defaultinitalloc.hpp"

#include "gfx/main.hpp"

struct Palette;
class ProtoPalette;

namespace packing {

/**
 * Returns which palette each proto-palette maps to, and how many palettes are necessary
 */
std::tuple<DefaultInitVec<size_t>, size_t>
    overloadAndRemove(std::vector<ProtoPalette> const &protoPalettes);

}

#endif /* RGBDS_GFX_PAL_PACKING_HPP */