/*========================================================================= PAL.CPP Author: Gary Liddon @ Fareham Created: Project: Purpose: Copyright (c) 1997 G R Liddon ===========================================================================*/ /*---------------------------------------------------------------------- Includes -------- */ /* Std Lib ------- */ #include #include #include /* STL --- */ /* Glib ---- */ #include "ilbm.hpp" /* Local ----- */ #include "pal.hpp" /*---------------------------------------------------------------------- Structure defintions -------------------- */ /*---------------------------------------------------------------------- Tyepdefs && Defines ------------------- */ /*---------------------------------------------------------------------- Function Prototypes ------------------- */ /*---------------------------------------------------------------------- Vars ---- */ /*---------------------------------------------------------------------- Data ---- */ /*---------------------------------------------------------------------- Palette Class Stuff ---------------------------------------------------------------------- */ Palette::Palette(void) { // TheColours.reserve(300); } Palette::Palette(Palette const &Fr) { CopyPal(Fr); } Palette::~Palette(void) { } void Palette::operator=(Palette const &Fr) { CopyPal(Fr); } void Palette::CopyPal(Palette const &Fr) { TheColours.resize(Fr.TheColours.size()); for (int f=0;f=TheColours.capacity()) { TheColours.reserve(TheColours.capacity()+300); } if (f>=TheColours.size()) TheColours.resize(f+1); return(TheColours[f]); } Colour const & Palette::operator[](int f) const { if (f>=TheColours.size()) return(DummyCol); else return(TheColours[f]); } u8 * Palette::MakeDpPal() const { u8 * Pals; if (!(Pals=new u8[256*3])) Error(ERM_OUTOFMEM); memset(Pals,0,256*3); for (int f=0;f