예제 #1
0
inline bool IAtelier_summer::GetBitmapMaterial()
{
	if (_config) {
		try {
            char temp[MAX_PATH];
            _snprintf_s(temp, MAX_PATH, _TRUNCATE, "%s.bitmap_materials", _str_conf);
			std::string strImgpath = _config->getString(temp);
			return (SUCCEEDED(GetBitmapFromFile(strImgpath.c_str(), _pHwndRT, &_appbmp._material)));
		} catch(Poco::NotFoundException&) {
            MYTRACE(L"IAtelier::GetBitmapMaterial()\n");
			return false;
		}
	}
	return true;
}
예제 #2
0
Bitmap * ImageItem::LoadImageFromFile(ATL::CString& strFilename, int nWidth, int nHeight)
{
	if ( !m_strFilename.CompareNoCase(strFilename) && nHeight==m_nHeight )
	{
		m_nRef++;
		return m_pBitmap;
	}
	else if ( m_pBitmap==NULL && m_nRef==0)
	{
		Size ImageSize(nWidth, nHeight);
		if (GetBitmapFromFile(m_pBitmap, strFilename, m_nFrameCount, m_FrameSize, ImageSize, m_pFrameDelays ))
		{
			m_nHeight = nHeight;
			m_nRef++;
			m_strFilename=strFilename;
			return m_pBitmap;
		}
		return NULL;

	}
	//NOT REACHABLE
	DebugBreak();
	return NULL;
}