VPictureData_MacPicture::VPictureData_MacPicture(xMacPictureHandle inMacPicHandle)
:VPictureData_Vector()
{
	_SetDecoderByExtension(sCodec_pict);
	fDataSourceDirty = true;
	fDataSourceMetadatasDirty = true;
	fPicHandle = NULL;
	fMetaFile = NULL;
	fTrans = NULL;
#if VERSIONWIN
	fGdiplusMetaFile = 0;
#endif

	if (inMacPicHandle)
	{

#if VERSIONWIN // pp c'est une resource, sous windows elle est deja swapé
		ByteSwapWordArray((sWORD*) (*inMacPicHandle), 5);
#endif

		VPictureDataProvider *prov = VPictureDataProvider::Create((xMacHandle) inMacPicHandle, false);

#if VERSIONWIN // pp c'est une resource, sous windows elle est deja swapé
		ByteSwapWordArray((sWORD*) (*inMacPicHandle), 5);
#endif

		if (prov)
		{
			prov->SetDecoder(fDecoder);
			SetDataProvider(prov, true);
			prov->Release();
		}

	}
}
void VPictureData_GDIPlus_Vector::_FromEnhMetaFile(HENHMETAFILE inMetaFile)
{
	SetDataProvider(0,false);
	_DisposeMetaFile();
	
	_SetDecoderByExtension("emf");
	
	fMetafile=new Gdiplus::Metafile(inMetaFile,true);
	_InitSize();
}
//=========================================================================
BOOL CXTPCalendarResourcesManager::AddDataProvider(LPCTSTR pcszConnectionString, int eDPFlags)
{
    m_arDataProviders.Add(NULL);
    int nNewIndex = m_arDataProviders.GetCount()-1;

    BOOL bRes = SetDataProvider(nNewIndex, pcszConnectionString, eDPFlags);

    if (!bRes && m_arDataProviders.GetAt(nNewIndex) == NULL)
    {
        m_arDataProviders.RemoveAt(nNewIndex);
    }
    return bRes;
}