2010年2月11日 星期四

CuCompositeImage


//

class CuCompositeImage
{

    vector<IuImageEx*> _itsImage;

public:
    int GetSize();
    virtual IuImageEx* Get(int i){ return i < _itsImage.size() ? _itsImage[i] : NULL; }

    void clear();


    void add(IuImageEx* pImage){ _itsImage.push_back(pImage); }
    void push_back(IuImageEx* pImage){ _itsImage.push_back(pImage); }

    CuCompositeImage();
    virtual ~CuCompositeImage();

};


//


CuCompositeImage::CuCompositeImage()
{

}

CuCompositeImage::~CuCompositeImage()
{
}



void CuCompositeImage::clear()
{

    IuImageEx *pImage;
    vector<IuImageEx*>::iterator _itor; 

    _itor = _itsImage.begin();

    while(  _itor != _itsImage.end() )
    {

        pImage = *(_itor++);
        if( pImage )
            pImage->Release();
    }

    _itsImage.clear();

}

int CuCompositeImage::GetSize()
{
    return _itsImage.size();
}



在TuComposite還沒獨立出來之前, 每個需要Composite的部份都需要像上面這樣另外寫一份,也就是為何後來直接將Composite轉為Template的主要原因.

沒有留言:

張貼留言