Exemple #1
0
void ToMainThread::runDelegate()
{
    if (delegate)
    {
        CAImage *image = new CAImage();
        if (image->initWithImageFile(_path))
        {
            CAScheduler::unschedule(schedule_selector(ToMainThread::runDelegate), this);
            delegate->getSelectedImage(CAImage::generateMipmapsWithImage(image));
            image->release();
        }
    }
}
Exemple #2
0
CAImage* CAImageCache::addImage(const std::string& path)
{
    if (path.empty())
    {
        return NULL;
    }
    
    CAImage* image = NULL;
    
    //pthread_mutex_lock(m_pDictLock);

    image = m_mImages.getValue(path);

    if (!image)
    {
        std::string lowerCase(path);
        for (unsigned int i = 0; i < lowerCase.length(); ++i)
        {
            lowerCase[i] = tolower(lowerCase[i]);
        }
        
        do
        {
            image = new CAImage();
            if(image != NULL && image->initWithImageFile(path.c_str()))
            {
                m_mImages.erase(path);
                m_mImages.insert(path, image);
                image->release();
            }
            else
            {
                CC_SAFE_DELETE(image);
            }

        } while (0);
    }
    
    //pthread_mutex_unlock(m_pDictLock);
    return image;
}