#pragma once #ifndef TPALETTE_UTIL_H #define TPALETTE_UTIL_H #include "tpalette.h" #include #undef DVAPI #undef DVVAR #ifdef TVRENDER_EXPORTS #define DVAPI DV_EXPORT_API #define DVVAR DV_EXPORT_VAR #else #define DVAPI DV_IMPORT_API #define DVVAR DV_IMPORT_VAR #endif // // mergePalette // input: sourcePalette, sourceIndices // output: indexTable, modifies: targetPalette // // inserisce i colori di sourcePalette individuati da sourceIndices in // targetPalette // per ogni colore prima cerca un colore identico (TColorStyle::operator==()) in // targetPalette // se non c'e' ne crea uno nuovo (nella prima pagina di targetPalette) // indexTable assicura la conversione -> DVAPI void mergePalette(const TPaletteP &targetPalette, std::map &indexTable, const TPaletteP &sourcePalette, const std::set &sourceIndices); // replace palette and lacking amount of styles will be copied from the other // one // return value will be true if the style amount is changed after the operation DVAPI bool mergePalette_Overlap(const TPaletteP &dstPalette, const TPaletteP &copiedPalette, bool keepOriginalPalette); #endif