Commit 6affb86a authored by Elen.Subbotina's avatar Elen.Subbotina Committed by Alexander Trofimov

PPT выкинут ненужный код

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@65643 954022d7-b5bf-4e40-9824-e11837661b57
parent 74615c14
...@@ -757,15 +757,10 @@ int CPPTUserInfo::AddNewLayout(NSPresentationEditor::CTheme* pTheme, SSlideLayou ...@@ -757,15 +757,10 @@ int CPPTUserInfo::AddNewLayout(NSPresentationEditor::CTheme* pTheme, SSlideLayou
int usualType = layoutRecord->m_pPlaceHolderID[i]; int usualType = layoutRecord->m_pPlaceHolderID[i];
CorrectPlaceholderType(usualType); CorrectPlaceholderType(usualType);
std::map<int, int>::iterator it = pTheme->m_pPlaceholders.find(NSOfficePPT::MasterSlideNumber); if (!AddThemeLayoutElement(pLayout, usualType, pTheme))
if (it != pTheme->m_pPlaceholders.end())
{ {
IElement* pElement = pTheme->m_arElements[it->second]->CreateDublicate();
pLayout->m_arElements.push_back(dynamic_cast<IElement*>(pElement));
pLayout->m_pPlaceholders.insert(std::pair<int, int>(NSOfficePPT::MasterSlideNumber, pLayout->m_arElements.size()-1));
}
else
AddNewLayoutElement(pLayout, usualType, defObjSize); AddNewLayoutElement(pLayout, usualType, defObjSize);
}
}break; }break;
default: default:
AddNewLayoutElement(pLayout, layoutRecord->m_pPlaceHolderID[i], defObjSize); AddNewLayoutElement(pLayout, layoutRecord->m_pPlaceHolderID[i], defObjSize);
...@@ -773,39 +768,27 @@ int CPPTUserInfo::AddNewLayout(NSPresentationEditor::CTheme* pTheme, SSlideLayou ...@@ -773,39 +768,27 @@ int CPPTUserInfo::AddNewLayout(NSPresentationEditor::CTheme* pTheme, SSlideLayou
} }
} }
if (layoutRecord->m_nGeom==0x0F) return ind; if (layoutRecord->m_nGeom==0x0F) return ind; // big object only !!!
if (headers_footers) if (headers_footers)
{ {
if (headers_footers->m_bHasSlideNumber) if (headers_footers->m_bHasSlideNumber)
{ {
if (!AddThemeLayoutElement(pLayout, MasterSlideNumber, pTheme)) AddThemeLayoutElement(pLayout, MasterSlideNumber, pTheme);
{
AddNewLayoutElement(pLayout, MasterSlideNumber, 2);
}
} }
if (headers_footers->m_bHasTodayDate || if (headers_footers->m_bHasTodayDate ||
headers_footers->m_bHasUserDate || headers_footers->m_bHasUserDate ||
headers_footers->m_bHasDate) headers_footers->m_bHasDate)
{ {
if (!AddThemeLayoutElement(pLayout, MasterDate, pTheme)) AddThemeLayoutElement(pLayout, MasterDate, pTheme);
{
AddNewLayoutElement(pLayout, MasterDate, 2);
}
} }
if (headers_footers->m_bHasHeader) if (headers_footers->m_bHasHeader)
{ {
if (!AddThemeLayoutElement(pLayout, MasterHeader, pTheme)) AddThemeLayoutElement(pLayout, MasterHeader, pTheme);
{
AddNewLayoutElement(pLayout, MasterHeader, 2);
}
} }
if (headers_footers->m_bHasFooter) if (headers_footers->m_bHasFooter)
{ {
if (!AddThemeLayoutElement(pLayout, MasterFooter, pTheme)) AddThemeLayoutElement(pLayout, MasterFooter, pTheme);
{
AddNewLayoutElement(pLayout, MasterFooter, 2);
}
} }
} }
else if (bMasterObjects) else if (bMasterObjects)
......
#pragma once #pragma once
#include <string>
#if defined(_WIN32) || defined (_WIN64) #if defined(_WIN32) || defined (_WIN64)
#include <windows.h> #include <windows.h>
#include <atlbase.h>
#include <atlstr.h>
#else #else
#include "../../../DesktopEditor/common/ASCVariant.h" #include "../../../DesktopEditor/common/ASCVariant.h"
#include "../../../Common/DocxFormat/Source/Base/ASCString.h"
#endif #endif
typedef BYTE BOOL1; typedef BYTE BOOL1;
...@@ -219,198 +218,198 @@ typedef BYTE BOOL1; ...@@ -219,198 +218,198 @@ typedef BYTE BOOL1;
#define RECORD_PROG_BINARY_TAG 0x138A // RT_ProgBinaryTag SlideProgTagsContainer-DocProgTagsContainer-ShapeProgTagsContainer #define RECORD_PROG_BINARY_TAG 0x138A // RT_ProgBinaryTag SlideProgTagsContainer-DocProgTagsContainer-ShapeProgTagsContainer
#define RECORD_TEXT_MASTER_STYLE10_ATOM 0x0FB2 // RT_TextMasterStyle10Atom TextMasterStyle10Atom #define RECORD_TEXT_MASTER_STYLE10_ATOM 0x0FB2 // RT_TextMasterStyle10Atom TextMasterStyle10Atom
static CString GetRecordName(DWORD dwType) static std::string GetRecordName(DWORD dwType)
{ {
CString strName = _T("Unknown"); std::string strName = ("Unknown");
switch (dwType) switch (dwType)
{ {
case RECORD_TYPE_UNKNOWN : { strName = _T("Unknown"); break; } case RECORD_TYPE_UNKNOWN : { strName = ("Unknown"); break; }
case RECORD_TYPE_DOCUMENT : { strName = _T("Document"); break; } case RECORD_TYPE_DOCUMENT : { strName = ("Document"); break; }
case RECORD_TYPE_DOCUMENT_ATOM : { strName = _T("DocumentAtom"); break; } case RECORD_TYPE_DOCUMENT_ATOM : { strName = ("DocumentAtom"); break; }
case RECORD_TYPE_ENDDOCUMENT : { strName = _T("EndDocument"); break; } case RECORD_TYPE_ENDDOCUMENT : { strName = ("EndDocument"); break; }
case RECORD_TYPE_SLIDE : { strName = _T("Slide"); break; } case RECORD_TYPE_SLIDE : { strName = ("Slide"); break; }
case RECORD_TYPE_SLIDE_ATOM : { strName = _T("SlideAtom"); break; } case RECORD_TYPE_SLIDE_ATOM : { strName = ("SlideAtom"); break; }
case RECORD_TYPE_NOTES : { strName = _T("Notes"); break; } case RECORD_TYPE_NOTES : { strName = ("Notes"); break; }
case RECORD_TYPE_NOTES_ATOM : { strName = _T("NotesAtom"); break; } case RECORD_TYPE_NOTES_ATOM : { strName = ("NotesAtom"); break; }
case RECORD_TYPE_ENVIRONMENT : { strName = _T("Environment"); break; } case RECORD_TYPE_ENVIRONMENT : { strName = ("Environment"); break; }
case RECORD_TYPE_SLIDE_PERSIST_ATOM : { strName = _T("SlidePersistAtom"); break; } case RECORD_TYPE_SLIDE_PERSIST_ATOM : { strName = ("SlidePersistAtom"); break; }
case RECORD_TYPE_SSLIDE_LAYOUT_ATOM : { strName = _T("SSlideLayoutAtom"); break; } case RECORD_TYPE_SSLIDE_LAYOUT_ATOM : { strName = ("SSlideLayoutAtom"); break; }
case RECORD_TYPE_MAINMASTER : { strName = _T("MainMaster"); break; } case RECORD_TYPE_MAINMASTER : { strName = ("MainMaster"); break; }
case RECORD_TYPE_SSSLIDE_INFO_ATOM : { strName = _T("SSSlideInfoAtom"); break; } case RECORD_TYPE_SSSLIDE_INFO_ATOM : { strName = ("SSSlideInfoAtom"); break; }
case RECORD_TYPE_SLIDE_VIEWINFO : { strName = _T("SlideViewInfo"); break; } case RECORD_TYPE_SLIDE_VIEWINFO : { strName = ("SlideViewInfo"); break; }
case RECORD_TYPE_GUIDE_ATOM : { strName = _T("GuideAtom"); break; } case RECORD_TYPE_GUIDE_ATOM : { strName = ("GuideAtom"); break; }
case RECORD_TYPE_VIEWINFO : { strName = _T("ViewInfo"); break; } case RECORD_TYPE_VIEWINFO : { strName = ("ViewInfo"); break; }
case RECORD_TYPE_VIEWINFO_ATOM : { strName = _T("ViewInfoAtom"); break; } case RECORD_TYPE_VIEWINFO_ATOM : { strName = ("ViewInfoAtom"); break; }
case RECORD_TYPE_SLIDE_VIEWINFO_ATOM : { strName = _T("SlideViewInfoAtom"); break; } case RECORD_TYPE_SLIDE_VIEWINFO_ATOM : { strName = ("SlideViewInfoAtom"); break; }
case RECORD_TYPE_VBAINFO : { strName = _T("VBAInfo"); break; } case RECORD_TYPE_VBAINFO : { strName = ("VBAInfo"); break; }
case RECORD_TYPE_VBAINFO_ATOM : { strName = _T("VBAInfoAtom"); break; } case RECORD_TYPE_VBAINFO_ATOM : { strName = ("VBAInfoAtom"); break; }
case RECORD_TYPE_SSDOCINFO_ATOM : { strName = _T("SSDocInfoAtom"); break; } case RECORD_TYPE_SSDOCINFO_ATOM : { strName = ("SSDocInfoAtom"); break; }
case RECORD_TYPE_SUMMARY : { strName = _T("Summary"); break; } case RECORD_TYPE_SUMMARY : { strName = ("Summary"); break; }
case RECORD_TYPE_DOC_ROUTING_SLIP : { strName = _T("DocRoutingSlip"); break; } case RECORD_TYPE_DOC_ROUTING_SLIP : { strName = ("DocRoutingSlip"); break; }
case RECORD_TYPE_OUTLINE_VIEWINFO : { strName = _T("OutlineViewInfo"); break; } case RECORD_TYPE_OUTLINE_VIEWINFO : { strName = ("OutlineViewInfo"); break; }
case RECORD_TYPE_SORTER_VIEWINFO : { strName = _T("SorterViewInfo"); break; } case RECORD_TYPE_SORTER_VIEWINFO : { strName = ("SorterViewInfo"); break; }
case RECORD_TYPE_EXOBJLIST : { strName = _T("ExObjList"); break; } case RECORD_TYPE_EXOBJLIST : { strName = ("ExObjList"); break; }
case RECORD_TYPE_EXOBJLIST_ATOM : { strName = _T("ExObjectListAtom"); break; } case RECORD_TYPE_EXOBJLIST_ATOM : { strName = ("ExObjectListAtom"); break; }
case RECORD_TYPE_PPDRAWING_GROUP : { strName = _T("PPDrawingGroup"); break; } case RECORD_TYPE_PPDRAWING_GROUP : { strName = ("PPDrawingGroup"); break; }
case RECORD_TYPE_PPDRAWING : { strName = _T("PPDrawing"); break; } case RECORD_TYPE_PPDRAWING : { strName = ("PPDrawing"); break; }
case RECORD_TYPE_NAMEDSHOWS : { strName = _T("NamedShows"); break; } case RECORD_TYPE_NAMEDSHOWS : { strName = ("NamedShows"); break; }
case RECORD_TYPE_NAMEDSHOW : { strName = _T("NamedShow"); break; } case RECORD_TYPE_NAMEDSHOW : { strName = ("NamedShow"); break; }
case RECORD_TYPE_NAMEDSHOW_SLIDES : { strName = _T("NamedShowSlides"); break; } case RECORD_TYPE_NAMEDSHOW_SLIDES : { strName = ("NamedShowSlides"); break; }
case RECORD_TYPE_SHEET_PROPERTIES : { strName = _T("SheetProperties"); break; } case RECORD_TYPE_SHEET_PROPERTIES : { strName = ("SheetProperties"); break; }
case RECORD_TYPE_LIST : { strName = _T("List"); break; } case RECORD_TYPE_LIST : { strName = ("List"); break; }
case RECORD_TYPE_FONTCOLLECTION : { strName = _T("FontCollection"); break; } case RECORD_TYPE_FONTCOLLECTION : { strName = ("FontCollection"); break; }
case RECORD_TYPE_BOOKMARKCOLLECTION : { strName = _T("BookmarkCollection"); break; } case RECORD_TYPE_BOOKMARKCOLLECTION : { strName = ("BookmarkCollection"); break; }
case RECORD_TYPE_SOUNDCOLLECTION : { strName = _T("SoundCollection"); break; } case RECORD_TYPE_SOUNDCOLLECTION : { strName = ("SoundCollection"); break; }
case RECORD_TYPE_SOUNDCOLL_ATOM : { strName = _T("SoundCollAtom"); break; } case RECORD_TYPE_SOUNDCOLL_ATOM : { strName = ("SoundCollAtom"); break; }
case RECORD_TYPE_SOUND : { strName = _T("Sound"); break; } case RECORD_TYPE_SOUND : { strName = ("Sound"); break; }
case RECORD_TYPE_SOUNDDATA : { strName = _T("SoundData"); break; } case RECORD_TYPE_SOUNDDATA : { strName = ("SoundData"); break; }
case RECORD_TYPE_BOOKMARK_SEED_ATOM : { strName = _T("BookMarkSeedAtom"); break; } case RECORD_TYPE_BOOKMARK_SEED_ATOM : { strName = ("BookMarkSeedAtom"); break; }
case RECORD_TYPE_COLOR_SCHEME_ATOM : { strName = _T("ColorSchemeAtom"); break; } case RECORD_TYPE_COLOR_SCHEME_ATOM : { strName = ("ColorSchemeAtom"); break; }
case RECORD_TYPE_OESHAPE_ATOM : { strName = _T("OEShapeAtom"); break; } case RECORD_TYPE_OESHAPE_ATOM : { strName = ("OEShapeAtom"); break; }
case RECORD_TYPE_EX_OBJREF_ATOM : { strName = _T("ExObjRefAtom"); break; } case RECORD_TYPE_EX_OBJREF_ATOM : { strName = ("ExObjRefAtom"); break; }
case RECORD_TYPE_OEPLACEHOLDER_ATOM : { strName = _T("PlaceHolderAtom"); break; } case RECORD_TYPE_OEPLACEHOLDER_ATOM : { strName = ("PlaceHolderAtom"); break; }
case RECORD_TYPE_GPOPUBLICINT_ATOM : { strName = _T("GpOpublicintAtom"); break; } case RECORD_TYPE_GPOPUBLICINT_ATOM : { strName = ("GpOpublicintAtom"); break; }
case RECORD_TYPE_GRCOLOR : { strName = _T("GrColor"); break; } case RECORD_TYPE_GRCOLOR : { strName = ("GrColor"); break; }
case RECORD_TYPE_GRECT_ATOM : { strName = _T("GRectAtom"); break; } case RECORD_TYPE_GRECT_ATOM : { strName = ("GRectAtom"); break; }
case RECORD_TYPE_GRATIO_ATOM : { strName = _T("GRatioAtom"); break; } case RECORD_TYPE_GRATIO_ATOM : { strName = ("GRatioAtom"); break; }
case RECORD_TYPE_GSCALING_ATOM : { strName = _T("GScalingAtom"); break; } case RECORD_TYPE_GSCALING_ATOM : { strName = ("GScalingAtom"); break; }
case RECORD_TYPE_GPOINT_ATOM : { strName = _T("GPointAtom"); break; } case RECORD_TYPE_GPOINT_ATOM : { strName = ("GPointAtom"); break; }
case RECORD_TYPE_OUTLINE_TEXTREF_ATOM : { strName = _T("OutlineTextRefAtom"); break; } case RECORD_TYPE_OUTLINE_TEXTREF_ATOM : { strName = ("OutlineTextRefAtom"); break; }
case RECORD_TYPE_TEXT_HEADER_ATOM : { strName = _T("TextHeaderAtom"); break; } case RECORD_TYPE_TEXT_HEADER_ATOM : { strName = ("TextHeaderAtom"); break; }
case RECORD_TYPE_TEXT_CHARS_ATOM : { strName = _T("TextCharsAtom"); break; } case RECORD_TYPE_TEXT_CHARS_ATOM : { strName = ("TextCharsAtom"); break; }
case RECORD_TYPE_STYLE_TEXTPROP_ATOM : { strName = _T("StyleTextPropAtom"); break; } case RECORD_TYPE_STYLE_TEXTPROP_ATOM : { strName = ("StyleTextPropAtom"); break; }
case RECORD_TYPE_BASE_TEXTPROP_ATOM : { strName = _T("BaseTextPropAtom"); break; } case RECORD_TYPE_BASE_TEXTPROP_ATOM : { strName = ("BaseTextPropAtom"); break; }
case RECORD_TYPE_TXMASTERSTYLE_ATOM : { strName = _T("TxMasterStyleAtom"); break; } case RECORD_TYPE_TXMASTERSTYLE_ATOM : { strName = ("TxMasterStyleAtom"); break; }
case RECORD_TYPE_TXCFSTYLE_ATOM : { strName = _T("TxCfStyleAtom"); break; } case RECORD_TYPE_TXCFSTYLE_ATOM : { strName = ("TxCfStyleAtom"); break; }
case RECORD_TYPE_TXPFSTYLE_ATOM : { strName = _T("TxPfStyleAtom"); break; } case RECORD_TYPE_TXPFSTYLE_ATOM : { strName = ("TxPfStyleAtom"); break; }
case RECORD_TYPE_TEXTRULER_ATOM : { strName = _T("TextRulerAtom"); break; } case RECORD_TYPE_TEXTRULER_ATOM : { strName = ("TextRulerAtom"); break; }
case RECORD_TYPE_TEXTBOOKMARK_ATOM : { strName = _T("TextBookmarkAtom"); break; } case RECORD_TYPE_TEXTBOOKMARK_ATOM : { strName = ("TextBookmarkAtom"); break; }
case RECORD_TYPE_TEXTBYTES_ATOM : { strName = _T("TextBytesAtom"); break; } case RECORD_TYPE_TEXTBYTES_ATOM : { strName = ("TextBytesAtom"); break; }
case RECORD_TYPE_TXSISTYLE_ATOM : { strName = _T("TxSiStyleAtom"); break; } case RECORD_TYPE_TXSISTYLE_ATOM : { strName = ("TxSiStyleAtom"); break; }
case RECORD_TYPE_TEXTSPECINFO_ATOM : { strName = _T("TextSpecInfoAtom"); break; } case RECORD_TYPE_TEXTSPECINFO_ATOM : { strName = ("TextSpecInfoAtom"); break; }
case RECORD_TYPE_DEFAULTRULER_ATOM : { strName = _T("DefaultRulerAtom"); break; } case RECORD_TYPE_DEFAULTRULER_ATOM : { strName = ("DefaultRulerAtom"); break; }
case RECORD_TYPE_FONTENTITY_ATOM : { strName = _T("FontEntityAtom"); break; } case RECORD_TYPE_FONTENTITY_ATOM : { strName = ("FontEntityAtom"); break; }
case RECORD_TYPE_FONT_EMBEDDEDDATA : { strName = _T("FontEmbeddedData"); break; } case RECORD_TYPE_FONT_EMBEDDEDDATA : { strName = ("FontEmbeddedData"); break; }
case RECORD_TYPE_CSTRING : { strName = _T("CString"); break; } case RECORD_TYPE_CSTRING : { strName = ("CString"); break; }
case RECORD_TYPE_METAFILE : { strName = _T("Metafile"); break; } case RECORD_TYPE_METAFILE : { strName = ("Metafile"); break; }
case RECORD_TYPE_EXOLEOBJ_ATOM : { strName = _T("ExOleObjAtom"); break; } case RECORD_TYPE_EXOLEOBJ_ATOM : { strName = ("ExOleObjAtom"); break; }
case RECORD_TYPE_SRKINSOKU : { strName = _T("SrKinsoku"); break; } case RECORD_TYPE_SRKINSOKU : { strName = ("SrKinsoku"); break; }
case RECORD_TYPE_HANDOUT : { strName = _T("Handout"); break; } case RECORD_TYPE_HANDOUT : { strName = ("Handout"); break; }
case RECORD_TYPE_EXEMBED : { strName = _T("Exembed"); break; } case RECORD_TYPE_EXEMBED : { strName = ("Exembed"); break; }
case RECORD_TYPE_EXEMBEDATOM : { strName = _T("ExembedAtom"); break; } case RECORD_TYPE_EXEMBEDATOM : { strName = ("ExembedAtom"); break; }
case RECORD_TYPE_EXLINK : { strName = _T("ExLink"); break; } case RECORD_TYPE_EXLINK : { strName = ("ExLink"); break; }
case RECORD_TYPE_BOOKMARK_ENTITY_ATOM : { strName = _T("BookmarkEntityAtom"); break; } case RECORD_TYPE_BOOKMARK_ENTITY_ATOM : { strName = ("BookmarkEntityAtom"); break; }
case RECORD_TYPE_EXLINK_ATOM : { strName = _T("ExLinkAtom"); break; } case RECORD_TYPE_EXLINK_ATOM : { strName = ("ExLinkAtom"); break; }
case RECORD_TYPE_SRKINSOKU_ATOM : { strName = _T("SrKinsokuAtom"); break; } case RECORD_TYPE_SRKINSOKU_ATOM : { strName = ("SrKinsokuAtom"); break; }
case RECORD_TYPE_EXHYPERLINK_ATOM : { strName = _T("ExHyperlinkAtom"); break; } case RECORD_TYPE_EXHYPERLINK_ATOM : { strName = ("ExHyperlinkAtom"); break; }
case RECORD_TYPE_EXHYPERLINK : { strName = _T("ExHyperlink"); break; } case RECORD_TYPE_EXHYPERLINK : { strName = ("ExHyperlink"); break; }
case RECORD_TYPE_SLIDENUMBER_META_ATOM : { strName = _T("SlideNumberMcAtom"); break; } case RECORD_TYPE_SLIDENUMBER_META_ATOM : { strName = ("SlideNumberMcAtom"); break; }
case RECORD_TYPE_HEADERSFOOTERS : { strName = _T("HeadersFooters"); break; } case RECORD_TYPE_HEADERSFOOTERS : { strName = ("HeadersFooters"); break; }
case RECORD_TYPE_HEADERSFOOTERS_ATOM : { strName = _T("HeadersFootersAtom"); break; } case RECORD_TYPE_HEADERSFOOTERS_ATOM : { strName = ("HeadersFootersAtom"); break; }
case RECORD_TYPE_TXINTERACTIVEINFO_ATOM : { strName = _T("TxInteractiveInfoAtom"); break; } case RECORD_TYPE_TXINTERACTIVEINFO_ATOM : { strName = ("TxInteractiveInfoAtom"); break; }
case RECORD_TYPE_CHARFORMAT_ATOM : { strName = _T("CharFormatAtom"); break; } case RECORD_TYPE_CHARFORMAT_ATOM : { strName = ("CharFormatAtom"); break; }
case RECORD_TYPE_PARAFORMAT_ATOM : { strName = _T("ParaFormatAtom"); break; } case RECORD_TYPE_PARAFORMAT_ATOM : { strName = ("ParaFormatAtom"); break; }
case RECORD_TYPE_RECOLORINFO_ATOM : { strName = _T("ReColorInfoAtom"); break; } case RECORD_TYPE_RECOLORINFO_ATOM : { strName = ("ReColorInfoAtom"); break; }
case RECORD_TYPE_EXQUICKTIMEMOVIE : { strName = _T("ExQuicktimeMovie"); break; } case RECORD_TYPE_EXQUICKTIMEMOVIE : { strName = ("ExQuicktimeMovie"); break; }
case RECORD_TYPE_EXQUICKTIMEMOVIEDATA : { strName = _T("ExQuicktimeMovieData"); break; } case RECORD_TYPE_EXQUICKTIMEMOVIEDATA : { strName = ("ExQuicktimeMovieData"); break; }
case RECORD_TYPE_EXCONTROL : { strName = _T("ExControl"); break; } case RECORD_TYPE_EXCONTROL : { strName = ("ExControl"); break; }
case RECORD_TYPE_SLIDELISTWITHTEXT : { strName = _T("SlidelistWithText"); break; } case RECORD_TYPE_SLIDELISTWITHTEXT : { strName = ("SlidelistWithText"); break; }
case RECORD_TYPE_INTERACTIVEINFO : { strName = _T("InteractiveInfo"); break; } case RECORD_TYPE_INTERACTIVEINFO : { strName = ("InteractiveInfo"); break; }
case RECORD_TYPE_INTERACTIVEINFO_ATOM : { strName = _T("InteractiveInfoAtom"); break; } case RECORD_TYPE_INTERACTIVEINFO_ATOM : { strName = ("InteractiveInfoAtom"); break; }
case RECORD_TYPE_USER_EDIT_ATOM : { strName = _T("UserEditAtom"); break; } case RECORD_TYPE_USER_EDIT_ATOM : { strName = ("UserEditAtom"); break; }
case RECORD_TYPE_CURRENTUSER_ATOM : { strName = _T("CurrentUserAtom"); break; } case RECORD_TYPE_CURRENTUSER_ATOM : { strName = ("CurrentUserAtom"); break; }
case RECORD_TYPE_DATETIME_META_ATOM : { strName = _T("DateTimeMCAtom"); break; } case RECORD_TYPE_DATETIME_META_ATOM : { strName = ("DateTimeMCAtom"); break; }
case RECORD_TYPE_GENERICDATE_META_ATOM : { strName = _T("GenericDateMCAtom"); break; } case RECORD_TYPE_GENERICDATE_META_ATOM : { strName = ("GenericDateMCAtom"); break; }
case RECORD_TYPE_FOOTER_META_ATOM : { strName = _T("FooterMCAtom"); break; } case RECORD_TYPE_FOOTER_META_ATOM : { strName = ("FooterMCAtom"); break; }
case RECORD_TYPE_EXCONTROL_ATOM : { strName = _T("ExControlAtom"); break; } case RECORD_TYPE_EXCONTROL_ATOM : { strName = ("ExControlAtom"); break; }
case RECORD_TYPE_EX_MEDIA_ATOM : { strName = _T("ExMediaAtom"); break; } case RECORD_TYPE_EX_MEDIA_ATOM : { strName = ("ExMediaAtom"); break; }
case RECORD_TYPE_EX_VIDEOCONTAINER : { strName = _T("ExVideoContainer"); break; } case RECORD_TYPE_EX_VIDEOCONTAINER : { strName = ("ExVideoContainer"); break; }
case RECORD_TYPE_EX_AVIMOVIE : { strName = _T("ExAviMovie"); break; } case RECORD_TYPE_EX_AVIMOVIE : { strName = ("ExAviMovie"); break; }
case RECORD_TYPE_EX_MCIMOVIE : { strName = _T("ExMciMovie"); break; } case RECORD_TYPE_EX_MCIMOVIE : { strName = ("ExMciMovie"); break; }
case RECORD_TYPE_EX_MIDIAUDIO : { strName = _T("ExMidAudio"); break; } case RECORD_TYPE_EX_MIDIAUDIO : { strName = ("ExMidAudio"); break; }
case RECORD_TYPE_EX_CDAUDIO : { strName = _T("ExCDAudio"); break; } case RECORD_TYPE_EX_CDAUDIO : { strName = ("ExCDAudio"); break; }
case RECORD_TYPE_EX_WAVAUDIOEMBEDDED : { strName = _T("ExWavAudioEmbedded"); break; } case RECORD_TYPE_EX_WAVAUDIOEMBEDDED : { strName = ("ExWavAudioEmbedded"); break; }
case RECORD_TYPE_EX_WAVAUDIOLINK : { strName = _T("ExWavAudioLink"); break; } case RECORD_TYPE_EX_WAVAUDIOLINK : { strName = ("ExWavAudioLink"); break; }
case RECORD_TYPE_EX_OLEOBJSTG : { strName = _T("ExOleObjStg"); break; } case RECORD_TYPE_EX_OLEOBJSTG : { strName = ("ExOleObjStg"); break; }
case RECORD_TYPE_EX_CDAUDIO_ATOM : { strName = _T("ExCDAudioAtom"); break; } case RECORD_TYPE_EX_CDAUDIO_ATOM : { strName = ("ExCDAudioAtom"); break; }
case RECORD_TYPE_EXWAVAUDIOEMBEDDED_ATOM : { strName = _T("ExWavAudioEmbeddedAtom"); break; } case RECORD_TYPE_EXWAVAUDIOEMBEDDED_ATOM : { strName = ("ExWavAudioEmbeddedAtom"); break; }
case RECORD_TYPE_ANIMATIONINFO : { strName = _T("AnimationInfo"); break; } case RECORD_TYPE_ANIMATIONINFO : { strName = ("AnimationInfo"); break; }
case RECORD_TYPE_ANIMATIONINFO_ATOM : { strName = _T("AnimationInfoAtom"); break; } case RECORD_TYPE_ANIMATIONINFO_ATOM : { strName = ("AnimationInfoAtom"); break; }
case RECORD_TYPE_RTFDATETIME_META_ATOM : { strName = _T("RtfDateTimeMCAtom"); break; } case RECORD_TYPE_RTFDATETIME_META_ATOM : { strName = ("RtfDateTimeMCAtom"); break; }
case RECORD_TYPE_PROGTAGS : { strName = _T("ProgTags"); break; } case RECORD_TYPE_PROGTAGS : { strName = ("ProgTags"); break; }
case RECORD_TYPE_PROGSTRINGTAG : { strName = _T("ProgStringTag"); break; } case RECORD_TYPE_PROGSTRINGTAG : { strName = ("ProgStringTag"); break; }
case RECORD_TYPE_PROGBINARYTAG : { strName = _T("ProgBinaryTag"); break; } case RECORD_TYPE_PROGBINARYTAG : { strName = ("ProgBinaryTag"); break; }
case RECORD_TYPE_BINARYTAGDATA : { strName = _T("BinaryTagData"); break; } case RECORD_TYPE_BINARYTAGDATA : { strName = ("BinaryTagData"); break; }
case RECORD_TYPE_PRPUBLICINTOPTIONS : { strName = _T("PrPublicIntOptions"); break; } case RECORD_TYPE_PRPUBLICINTOPTIONS : { strName = ("PrPublicIntOptions"); break; }
case RECORD_TYPE_PERSISTPTRFULLBLOCK : { strName = _T("PersistPtrFullBlock"); break; } case RECORD_TYPE_PERSISTPTRFULLBLOCK : { strName = ("PersistPtrFullBlock"); break; }
case RECORD_TYPE_PERSISTPTRINCREMENTALBLOCK : { strName = _T("PersistPtrIncrementalBlock"); break; } case RECORD_TYPE_PERSISTPTRINCREMENTALBLOCK : { strName = ("PersistPtrIncrementalBlock"); break; }
case RECORD_TYPE_GSCALING_ATOM2 : { strName = _T("GScalingAtom2"); break; } case RECORD_TYPE_GSCALING_ATOM2 : { strName = ("GScalingAtom2"); break; }
case RECORD_TYPE_GRCOLOR_ATOM2 : { strName = _T("GRColorAtom2"); break; } case RECORD_TYPE_GRCOLOR_ATOM2 : { strName = ("GRColorAtom2"); break; }
// Records ~12000 seem to be related to the Comments used in PPT 2000/XP // Records ~12000 seem to be related to the Comments used in PPT 2000/XP
// (Comments in PPT97 are normal Escher text boxes) // (Comments in PPT97 are normal Escher text boxes)
case RECORD_TYPE_COMMENT2000 : { strName = _T("Comment2000"); break; } case RECORD_TYPE_COMMENT2000 : { strName = ("Comment2000"); break; }
case RECORD_TYPE_COMMENT2000ATOM : { strName = _T("Comment2000Atom"); break; } case RECORD_TYPE_COMMENT2000ATOM : { strName = ("Comment2000Atom"); break; }
case RECORD_TYPE_COMMENT2000SUMMARY : { strName = _T("Comment2000Summary"); break; } case RECORD_TYPE_COMMENT2000SUMMARY : { strName = ("Comment2000Summary"); break; }
case RECORD_TYPE_COMMENT2000SUMMARYATOM : { strName = _T("Comment2000SummaryAtom"); break; } case RECORD_TYPE_COMMENT2000SUMMARYATOM : { strName = ("Comment2000SummaryAtom"); break; }
// Records ~12050 seem to be related to Document Encryption // Records ~12050 seem to be related to Document Encryption
case RECORD_TYPE_DOCUMENT_ENCRYPTION_ATOM : { strName = _T("DocumentEncryption"); break; } case RECORD_TYPE_DOCUMENT_ENCRYPTION_ATOM : { strName = ("DocumentEncryption"); break; }
case RECORD_TYPE_ORIGINALMAINMASTERID : { strName = _T("OriginalMainMasterID"); break; } case RECORD_TYPE_ORIGINALMAINMASTERID : { strName = ("OriginalMainMasterID"); break; }
case RECORD_TYPE_COMPOSITEMASTERID : { strName = _T("CompositeMasterID"); break; } case RECORD_TYPE_COMPOSITEMASTERID : { strName = ("CompositeMasterID"); break; }
case RECORD_TYPE_ROUNDTRIPCONTENTMASTERINFO12 : { strName = _T("RoundTripContentMasterInfo12"); break; } case RECORD_TYPE_ROUNDTRIPCONTENTMASTERINFO12 : { strName = ("RoundTripContentMasterInfo12"); break; }
case RECORD_TYPE_ROUNDTRIPSHAPEID12 : { strName = _T("RoundTripShapeID12"); break; } case RECORD_TYPE_ROUNDTRIPSHAPEID12 : { strName = ("RoundTripShapeID12"); break; }
case RECORD_TYPE_ROUNDTRIPHFPLACEHOLDER12 : { strName = _T("RoundTripHfPlaceholder12"); break; } case RECORD_TYPE_ROUNDTRIPHFPLACEHOLDER12 : { strName = ("RoundTripHfPlaceholder12"); break; }
case RECORD_TYPE_ROUNDTRIPCONTENTMASTERID : { strName = _T("RoundTripContentMasterID"); break; } case RECORD_TYPE_ROUNDTRIPCONTENTMASTERID : { strName = ("RoundTripContentMasterID"); break; }
case RECORD_TYPE_ROUNDTRIPOARTTEXTSTYLES12 : { strName = _T("RoundTripOartTextStyles12"); break; } case RECORD_TYPE_ROUNDTRIPOARTTEXTSTYLES12 : { strName = ("RoundTripOartTextStyles12"); break; }
case RECORD_TYPE_ROUNDTRIPSHAPECHECKSUMFORCUSTOMLAYOUTS12 : { strName = _T("RoundTripShapeChecksumForCustomLayouts12"); break; } case RECORD_TYPE_ROUNDTRIPSHAPECHECKSUMFORCUSTOMLAYOUTS12 : { strName = ("RoundTripShapeChecksumForCustomLayouts12"); break; }
case RECORD_TYPE_ROUNDTRIPNOTESMASTERTEXTSTYLES12 : { strName = _T("RoundTripNotesMasterTextStyles12"); break; } case RECORD_TYPE_ROUNDTRIPNOTESMASTERTEXTSTYLES12 : { strName = ("RoundTripNotesMasterTextStyles12"); break; }
case RECORD_TYPE_ROUNDTRIPCUSTOMTABLESTYLES12 : { strName = _T("RoundTripCustomTableStyles12"); break; } case RECORD_TYPE_ROUNDTRIPCUSTOMTABLESTYLES12 : { strName = ("RoundTripCustomTableStyles12"); break; }
//records greater then 0xF000 belong to with Microsoft Office Drawing format also known as Escher //records greater then 0xF000 belong to with Microsoft Office Drawing format also known as Escher
case RECORD_TYPE_ESCHER_DGG_CONTAINER : { strName = _T("Escher_DrawingGroupContainer"); break; } case RECORD_TYPE_ESCHER_DGG_CONTAINER : { strName = ("Escher_DrawingGroupContainer"); break; }
case RECORD_TYPE_ESCHER_DGG : { strName = _T("Escher_DrawingGroupRecord"); break; } case RECORD_TYPE_ESCHER_DGG : { strName = ("Escher_DrawingGroupRecord"); break; }
case RECORD_TYPE_ESCHER_CLSID : { strName = _T("Escher_CLSID_Record"); break; } case RECORD_TYPE_ESCHER_CLSID : { strName = ("Escher_CLSID_Record"); break; }
case RECORD_TYPE_ESCHER_OPT : { strName = _T("Escher_OPT"); break; } case RECORD_TYPE_ESCHER_OPT : { strName = ("Escher_OPT"); break; }
case RECORD_TYPE_ESCHER_BSTORE_CONTAINER : { strName = _T("Escher_BlipStoreContainer"); break; } case RECORD_TYPE_ESCHER_BSTORE_CONTAINER : { strName = ("Escher_BlipStoreContainer"); break; }
case RECORD_TYPE_ESCHER_BSE : { strName = _T("Escher_BlipStoreEntry"); break; } case RECORD_TYPE_ESCHER_BSE : { strName = ("Escher_BlipStoreEntry"); break; }
case RECORD_TYPE_ESCHER_BLIP_START : { strName = _T("Escher_BlipStart"); break; } case RECORD_TYPE_ESCHER_BLIP_START : { strName = ("Escher_BlipStart"); break; }
case RECORD_TYPE_ESCHER_BLIP_END : { strName = _T("Escher_BlipEnd"); break; } case RECORD_TYPE_ESCHER_BLIP_END : { strName = ("Escher_BlipEnd"); break; }
case RECORD_TYPE_ESCHER_DG_CONTAINER : { strName = _T("Escher_DrawingContainer"); break; } case RECORD_TYPE_ESCHER_DG_CONTAINER : { strName = ("Escher_DrawingContainer"); break; }
case RECORD_TYPE_ESCHER_DG : { strName = _T("Escher_DrawingRecord"); break; } case RECORD_TYPE_ESCHER_DG : { strName = ("Escher_DrawingRecord"); break; }
case RECORD_TYPE_ESCHER_REGROUPITEMS : { strName = _T("Escher_RegGroupItems"); break; } case RECORD_TYPE_ESCHER_REGROUPITEMS : { strName = ("Escher_RegGroupItems"); break; }
case RECORD_TYPE_ESCHER_COLORSCHEME : { strName = _T("Escher_ColorSheme"); break; } case RECORD_TYPE_ESCHER_COLORSCHEME : { strName = ("Escher_ColorSheme"); break; }
case RECORD_TYPE_ESCHER_SPGR_CONTAINER : { strName = _T("Escher_GroupShapeContainer"); break; } case RECORD_TYPE_ESCHER_SPGR_CONTAINER : { strName = ("Escher_GroupShapeContainer"); break; }
case RECORD_TYPE_ESCHER_SP_CONTAINER : { strName = _T("Escher_ShapeContainer"); break; } case RECORD_TYPE_ESCHER_SP_CONTAINER : { strName = ("Escher_ShapeContainer"); break; }
case RECORD_TYPE_ESCHER_SPGR : { strName = _T("Escher_GroupShapeRecord"); break; } case RECORD_TYPE_ESCHER_SPGR : { strName = ("Escher_GroupShapeRecord"); break; }
case RECORD_TYPE_ESCHER_SP : { strName = _T("Escher_ShapeRecord"); break; } case RECORD_TYPE_ESCHER_SP : { strName = ("Escher_ShapeRecord"); break; }
case RECORD_TYPE_ESCHER_TEXTBOX : { strName = _T("Escher_TextBox"); break; } case RECORD_TYPE_ESCHER_TEXTBOX : { strName = ("Escher_TextBox"); break; }
case RECORD_TYPE_ESCHER_CLIENTTEXTBOX : { strName = _T("Escher_ClientTextBox"); break; } case RECORD_TYPE_ESCHER_CLIENTTEXTBOX : { strName = ("Escher_ClientTextBox"); break; }
case RECORD_TYPE_ESCHER_ANCHOR : { strName = _T("Escher_Anchor"); break; } case RECORD_TYPE_ESCHER_ANCHOR : { strName = ("Escher_Anchor"); break; }
case RECORD_TYPE_ESCHER_CHILDANCHOR : { strName = _T("Escher_ChildAnchor"); break; } case RECORD_TYPE_ESCHER_CHILDANCHOR : { strName = ("Escher_ChildAnchor"); break; }
case RECORD_TYPE_ESCHER_CLIENTANCHOR : { strName = _T("Escher_ClientAnchor"); break; } case RECORD_TYPE_ESCHER_CLIENTANCHOR : { strName = ("Escher_ClientAnchor"); break; }
case RECORD_TYPE_ESCHER_CLIENTDATA : { strName = _T("Escher_ClientData"); break; } case RECORD_TYPE_ESCHER_CLIENTDATA : { strName = ("Escher_ClientData"); break; }
case RECORD_TYPE_ESCHER_SOLVERCONTAINER : { strName = _T("Escher_SolverContainer"); break; } case RECORD_TYPE_ESCHER_SOLVERCONTAINER : { strName = ("Escher_SolverContainer"); break; }
case RECORD_TYPE_ESCHER_CONNECTORRULE : { strName = _T("Escher_ConnectorRule"); break; } case RECORD_TYPE_ESCHER_CONNECTORRULE : { strName = ("Escher_ConnectorRule"); break; }
case RECORD_TYPE_ESCHER_ALIGNRULE : { strName = _T("Escher_AlignRule"); break; } case RECORD_TYPE_ESCHER_ALIGNRULE : { strName = ("Escher_AlignRule"); break; }
case RECORD_TYPE_ESCHER_ARCRULE : { strName = _T("Escher_ArcRule"); break; } case RECORD_TYPE_ESCHER_ARCRULE : { strName = ("Escher_ArcRule"); break; }
case RECORD_TYPE_ESCHER_CLIENTRULE : { strName = _T("Escher_ClientRule"); break; } case RECORD_TYPE_ESCHER_CLIENTRULE : { strName = ("Escher_ClientRule"); break; }
case RECORD_TYPE_ESCHER_CALLOUTRULE : { strName = _T("Escher_CallOutRule"); break; } case RECORD_TYPE_ESCHER_CALLOUTRULE : { strName = ("Escher_CallOutRule"); break; }
case RECORD_TYPE_ESCHER_SELECTION : { strName = _T("Escher_Selection"); break; } case RECORD_TYPE_ESCHER_SELECTION : { strName = ("Escher_Selection"); break; }
case RECORD_TYPE_ESCHER_COLORMRU : { strName = _T("Escher_ColorMRU"); break; } case RECORD_TYPE_ESCHER_COLORMRU : { strName = ("Escher_ColorMRU"); break; }
case RECORD_TYPE_ESCHER_DELETEDPSPL : { strName = _T("Escher_DeletedPSPL"); break; } case RECORD_TYPE_ESCHER_DELETEDPSPL : { strName = ("Escher_DeletedPSPL"); break; }
case RECORD_TYPE_ESCHER_SPLITMENUCOLORS : { strName = _T("Escher_SplitMenuColors"); break; } case RECORD_TYPE_ESCHER_SPLITMENUCOLORS : { strName = ("Escher_SplitMenuColors"); break; }
case RECORD_TYPE_ESCHER_OLEOBJECT : { strName = _T("Escher_OleObject"); break; } case RECORD_TYPE_ESCHER_OLEOBJECT : { strName = ("Escher_OleObject"); break; }
case RECORD_TYPE_ESCHER_SECONDARY_OPT : { strName = _T("Escher_SecondaryOPT"); break; } case RECORD_TYPE_ESCHER_SECONDARY_OPT : { strName = ("Escher_SecondaryOPT"); break; }
case RECORD_TYPE_ESCHER_TETRIARY_OPT : { strName = _T("Escher_TetriaryOPT"); break; } case RECORD_TYPE_ESCHER_TETRIARY_OPT : { strName = ("Escher_TetriaryOPT"); break; }
default: break; default: break;
}; };
if ((dwType > RECORD_TYPE_ESCHER_BLIP_START) && (dwType < RECORD_TYPE_ESCHER_BLIP_END)) if ((dwType > RECORD_TYPE_ESCHER_BLIP_START) && (dwType < RECORD_TYPE_ESCHER_BLIP_END))
{ {
strName = _T("Escher_Blip"); strName = ("Escher_Blip");
} }
return strName; return strName;
......
...@@ -4,11 +4,6 @@ ...@@ -4,11 +4,6 @@
#include <iostream> #include <iostream>
void SRecordHeader::ToXmlWriter(XmlUtils::CXmlWriter* pWriter, POLE::Stream* pStream)
{
}
void CRecordsContainer::ReadFromStream(SRecordHeader & oHeader, POLE::Stream* pStream) void CRecordsContainer::ReadFromStream(SRecordHeader & oHeader, POLE::Stream* pStream)
{ {
m_oHeader = oHeader; m_oHeader = oHeader;
...@@ -187,11 +182,6 @@ IRecord* CreateByType(SRecordHeader oHeader) ...@@ -187,11 +182,6 @@ IRecord* CreateByType(SRecordHeader oHeader)
default: default:
{ {
#ifdef _DEBUG
char str[1024]={};
sprintf(str, "Unknown record type: %xd\n" , oHeader.RecType);
std::cout << str;
#endif
}break; }break;
}; };
...@@ -204,12 +194,12 @@ IRecord* CreateByType(SRecordHeader oHeader) ...@@ -204,12 +194,12 @@ IRecord* CreateByType(SRecordHeader oHeader)
else else
{ {
pRecord = new CUnknownRecord(); pRecord = new CUnknownRecord();
#ifdef _DEBUG
char str[1024]={};
sprintf(str, "Unknown record type: %xd\t" , oHeader.RecType);
std::cout << str << GetRecordName((DWORD)oHeader.RecType) << "\n";
#endif
} }
} }
//#ifdef _DEBUG
//wchar_t str[1024]={};
//swprintf(str, L"%s record type: %xd\n" , GetRecordName((DWORD)oHeader.RecType).GetBuffer(), oHeader.RecType);
//std::wcout << str;
//#endif
return pRecord; return pRecord;
} }
...@@ -73,20 +73,6 @@ struct SRecordHeader ...@@ -73,20 +73,6 @@ struct SRecordHeader
return (*this); return (*this);
} }
void ToXmlWriter(XmlUtils::CXmlWriter* pWriter)
{
CString str = GetRecordName((DWORD)RecType);
pWriter->WriteNodeBegin(str, TRUE);
pWriter->WriteAttribute(_T("length"), CDirectory::ToString(RecLen));
pWriter->WriteAttribute(_T("type"), CDirectory::ToString(RecType));
pWriter->WriteAttribute(_T("instance"), CDirectory::ToString(RecInstance));
pWriter->WriteNodeEnd(str, TRUE);
}
void ToXmlWriter(XmlUtils::CXmlWriter* pWriter, POLE::Stream* pStream);
}; };
class IRecord class IRecord
......
...@@ -1403,8 +1403,10 @@ public: ...@@ -1403,8 +1403,10 @@ public:
if (NULL == pElem) if (NULL == pElem)
return; return;
std::wstring strShapeText; pElem->m_lID = oArrayShape[0]->m_nID;
pElem->m_lLayoutID = lMasterID;
//---------
{ {
CExFilesInfo::ExFilesType exType = CExFilesInfo::eftNone; CExFilesInfo::ExFilesType exType = CExFilesInfo::eftNone;
CExFilesInfo * pTextureInfo = pMapIDs->Lock(0xFFFFFFFF, exType); CExFilesInfo * pTextureInfo = pMapIDs->Lock(0xFFFFFFFF, exType);
...@@ -1426,10 +1428,9 @@ public: ...@@ -1426,10 +1428,9 @@ public:
} }
} }
} }
pElem->m_lID = oArrayShape[0]->m_nID; std::wstring strShapeText;
//------------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------
// placeholder // placeholders
std::vector<CRecordPlaceHolderAtom*> oArrayPlaceHolder; std::vector<CRecordPlaceHolderAtom*> oArrayPlaceHolder;
GetRecordsByType(&oArrayPlaceHolder, true, true); GetRecordsByType(&oArrayPlaceHolder, true, true);
if (0 < oArrayPlaceHolder.size()) if (0 < oArrayPlaceHolder.size())
...@@ -1453,33 +1454,28 @@ public: ...@@ -1453,33 +1454,28 @@ public:
CorrectPlaceholderType(pElem->m_lPlaceholderType); CorrectPlaceholderType(pElem->m_lPlaceholderType);
} }
//meta placeholders
if (pElem->m_lPlaceholderType > 0) // meta std::vector<CRecordFooterMetaAtom*> oArrayFooterMeta;
GetRecordsByType(&oArrayFooterMeta, true, true);
if (0 < oArrayFooterMeta.size())
{ {
std::vector<CRecordFooterMetaAtom*> oArrayFooterMeta; pElem->m_lPlaceholderType = PT_MasterFooter;
GetRecordsByType(&oArrayFooterMeta, true, true);
if (0 < oArrayFooterMeta.size())
{
pElem->m_lPlaceholderType = PT_MasterFooter;
DWORD posText = oArrayFooterMeta[0]->m_nPosition; DWORD posText = oArrayFooterMeta[0]->m_nPosition;
if (posText < pTheme->m_oFootersHeaderString.size()) if (posText < pTheme->m_oFootersHeaderString.size())
strShapeText = pTheme->m_oFootersHeaderString[posText]; strShapeText = pTheme->m_oFootersHeaderString[posText];
}
std::vector<CRecordSlideNumberMetaAtom*> oArraySlideNumberMeta;
GetRecordsByType(&oArraySlideNumberMeta, true, true);
if (0 < oArraySlideNumberMeta.size())
{
pElem->m_lPlaceholderType = PT_MasterSlideNumber;
DWORD posText = oArraySlideNumberMeta[0]->m_nPosition;
if (posText < pTheme->m_oFootersHeaderString.size())
strShapeText = pTheme->m_oFootersHeaderString[posText];
}
} }
std::vector<CRecordSlideNumberMetaAtom*> oArraySlideNumberMeta;
GetRecordsByType(&oArraySlideNumberMeta, true, true);
if (0 < oArraySlideNumberMeta.size())
{
pElem->m_lPlaceholderType = PT_MasterSlideNumber;
DWORD posText = oArraySlideNumberMeta[0]->m_nPosition;
//---------------------------------------------------------------------------------------------- if (posText < pTheme->m_oFootersHeaderString.size())
strShapeText = pTheme->m_oFootersHeaderString[posText];
}
//------------- ---------------------------------------------------------------------------------
std::vector<CRecordClientAnchor*> oArrayAnchor; std::vector<CRecordClientAnchor*> oArrayAnchor;
this->GetRecordsByType(&oArrayAnchor, true, true); this->GetRecordsByType(&oArrayAnchor, true, true);
...@@ -1550,8 +1546,7 @@ public: ...@@ -1550,8 +1546,7 @@ public:
pElementLayout->m_bPlaceholderSet = true; pElementLayout->m_bPlaceholderSet = true;
pElementLayout->m_bBoundsEnabled = true; pElementLayout->m_bBoundsEnabled = true;
} }
//--------- --------------------------------------------------------------------------
//
CShapeElement* pShapeElem = dynamic_cast<CShapeElement*>(pElem); CShapeElement* pShapeElem = dynamic_cast<CShapeElement*>(pElem);
if (NULL != pShapeElem) if (NULL != pShapeElem)
{ {
...@@ -1588,15 +1583,12 @@ public: ...@@ -1588,15 +1583,12 @@ public:
oElementInfo.m_lPersistIndex = oArrayTextRefs[0]->m_nIndex; oElementInfo.m_lPersistIndex = oArrayTextRefs[0]->m_nIndex;
} }
// ... // ...
std::vector<CRecordTextBytesAtom*> oArrayTextBytes; std::vector<CRecordTextBytesAtom*> oArrayTextBytes;
GetRecordsByType(&oArrayTextBytes, true, true); GetRecordsByType(&oArrayTextBytes, true, true);
if (0 < oArrayTextBytes.size() && strShapeText.empty()) if (0 < oArrayTextBytes.size() && strShapeText.empty())
{ {
strShapeText = oArrayTextBytes[0]->m_strText; strShapeText = oArrayTextBytes[0]->m_strText;
if (pElem->m_lPlaceholderType == PT_MasterSlideNumber && strShapeText.length() > 5)
pElem->m_lPlaceholderType = PT_MasterFooter; ///???? 1-(33).ppt
} }
std::vector<CRecordTextCharsAtom*> oArrayTextChars; std::vector<CRecordTextCharsAtom*> oArrayTextChars;
...@@ -1607,17 +1599,16 @@ public: ...@@ -1607,17 +1599,16 @@ public:
strShapeText = oArrayTextChars[0]->m_strText; strShapeText = oArrayTextChars[0]->m_strText;
} }
// ... if (pElem->m_lPlaceholderType == PT_MasterSlideNumber && strShapeText.length() > 5)
pElem->m_lPlaceholderType = PT_MasterFooter; ///???? 1-(33).ppt
// - //------ shape properties ----------------------------------------------------------------------------------------
for (int nIndexProp = 0; nIndexProp < oArrayOptions.size(); ++nIndexProp) for (int nIndexProp = 0; nIndexProp < oArrayOptions.size(); ++nIndexProp)
{ {
CPPTElement oElement; CPPTElement oElement;
oElement.SetUpProperties(pElem, pTheme, pSlideWrapper, pSlide, &oArrayOptions[nIndexProp]->m_oProperties); oElement.SetUpProperties(pElem, pTheme, pSlideWrapper, pSlide, &oArrayOptions[nIndexProp]->m_oProperties);
} }
pElem->m_lLayoutID = lMasterID;
std::vector<CRecordStyleTextPropAtom*> oArrayTextStyle; std::vector<CRecordStyleTextPropAtom*> oArrayTextStyle;
this->GetRecordsByType(&oArrayTextStyle, true, true); this->GetRecordsByType(&oArrayTextStyle, true, true);
if (0 != oArrayTextStyle.size()) if (0 != oArrayTextStyle.size())
...@@ -1694,12 +1685,9 @@ public: ...@@ -1694,12 +1685,9 @@ public:
pSlideWrapper->m_mapElements.insert(std::pair<LONG, CElementInfo>(pShapeElem->m_lID, oElementInfo)); pSlideWrapper->m_mapElements.insert(std::pair<LONG, CElementInfo>(pShapeElem->m_lID, oElementInfo));
SetUpTextStyle(strShapeText, pTheme, pLayout, pElem, pThemeWrapper, pSlideWrapper, pSlide, master_level); SetUpTextStyle(strShapeText, pTheme, pLayout, pElem, pThemeWrapper, pSlideWrapper, pSlide, master_level);
//------------------------------------------------------------------------------------
} }
else else
{ {//image, audio, video ....
for (int nIndexProp = 0; nIndexProp < oArrayOptions.size(); ++nIndexProp) for (int nIndexProp = 0; nIndexProp < oArrayOptions.size(); ++nIndexProp)
{ {
CPPTElement oElement; CPPTElement oElement;
...@@ -1708,7 +1696,7 @@ public: ...@@ -1708,7 +1696,7 @@ public:
pElem->m_lLayoutID = lMasterID; pElem->m_lLayoutID = lMasterID;
} }
//----------------------------------------------------------------------------------------------------
if (NULL != pSlide) if (NULL != pSlide)
{ {
pElem->m_dStartTime = pSlide->m_dStartTime; pElem->m_dStartTime = pSlide->m_dStartTime;
......
// ASCPresentationEditor.cpp : Implementation of DLL Exports.
#include "stdafx.h"
#include "resource.h"
#include "ASCPresentationEditor.h"
// The module attribute causes DllMain, DllRegisterServer and DllUnregisterServer to be automatically implemented for you
[ module(dll, uuid = "{B34974D7-C020-45b2-8A19-AFC20526B083}",
name = "ASCPresentationEditor",
helpstring = "ASCPresentationEditor 1.0 Type Library",
resource_name = "IDR_ASCPRESENTATIONEDITOR") ];
// CASCPresentationEditor.h : Declaration of the CASCOfficeViewer
#pragma once
#include "stdafx.h"
#include "resource.h" // main symbols
#include "ASCPresentationEditorDef.h"
#include "PPTXWriter\Converter.h"
#include "PPTStorage.h"
using namespace NSPresentationEditor;
// IAVSPresentationEditor
[object, uuid("7EE5C5A5-B0EF-440e-895D-949C1439A0C2"), dual, pointer_default(unique)]
__interface IAVSPresentationEditor: IDispatch
{
[id(101), propget] HRESULT TempDirectory([out, retval] BSTR* bsTempDir);
[id(101), propput] HRESULT TempDirectory([in] BSTR bsTempDir);
[id(102), propget] HRESULT EditorXml([out, retval] BSTR* bsXml);
[id(103), propget] HRESULT Status([out, retval] LONG* lStatus);
[id(200)] HRESULT OpenFile([in] BSTR bsFileName);
[id(201)] HRESULT CloseFile([in] VARIANT_BOOL vbAttack);
[id(202)] HRESULT OpenXmlFile([in] BSTR bsFileName);
[id(301), propget] HRESULT TempFileName([out, retval] BSTR* bsFileName);
[id(301), propput] HRESULT TempFileName([in] BSTR bsFileName);
[id(400)] HRESULT Save([in] LONG lFileType, [in] BSTR bsFilePath);
[id(500)] HRESULT ConvertToPPTY([in] BSTR bsFileName, [in] BSTR bsDstFileName);
[id(500 + 2)] HRESULT SetMediaDir([in] BSTR bsMediaDir);
[id(500 + 3)] HRESULT SetFontDir([in] BSTR bsFontDir);
[id(500 + 4)] HRESULT SetUseSystemFonts([in] VARIANT_BOOL useSystemFonts);
[id(2000)] HRESULT SetAdditionalParam([in] BSTR ParamName, [in] VARIANT ParamValue);
[id(2001)] HRESULT GetAdditionalParam([in] BSTR ParamName, [out, retval] VARIANT* ParamValue);
};
[dispinterface, uuid("34EC371F-3F73-4a40-B8A6-FD21B9C3E789")]
__interface _IAVSPresentationEditorEvents
{
};
// CAVSPresentationEditor
[coclass, uuid("29759D68-916E-4317-BC8B-35793F7448B3"), event_source(com), threading(apartment), vi_progid("AVSPptEditor.PptEditor"), progid("AVSPptEditor.PptEditor.1"), version(1.0)]
class ATL_NO_VTABLE CAVSPresentationEditor:
public IAVSPresentationEditor
{
protected:
ASCGraphics::IASCWinFonts* m_pWinFonts;
LONG m_lFileType;
PPTFile::IAVSOfficePPTFile* m_pPPTFile;
PPTXFile::IAVSOfficePPTXFile* m_pPPTXFile;
SPPTStatusStorage m_oSS;
CStatusStorage* m_pStatusStorage;
CInfoStorage* m_pInfoStorage;
CString m_strTempDirectory;
CString m_strTempDirectoryFile;
CString m_strTempFileName;
CString m_strEditorXml;
CString m_strFileName;
LONG m_lStatus;
HANDLE m_hSynchMutex;
CDocument m_oDocument;
// ppty
CString m_strFontDirectory;
CString m_strMediaDirectory;
BOOL m_bIsUseSystemFonts;
CString m_strEmbeddedFontsDirectory;
#ifdef USE_ODF_FILE
ODFFile::IOfficeOdfFile* m_pODFFile;
#endif
public:
__event __interface _IAVSPresentationEditorEvents;
CAVSPresentationEditor()
{
m_hSynchMutex = CreateMutex(NULL, FALSE, NULL);
m_pWinFonts = NULL;
CoCreateInstance(ASCGraphics::CLSID_CASCWinFonts, NULL, CLSCTX_ALL, ASCGraphics::IID_IASCWinFonts, (void**)&m_pWinFonts);
m_pPPTFile = NULL;
m_pPPTXFile = NULL;
m_lFileType = AVS_OFFICESTUDIO_FILE_UNKNOWN;
m_lStatus = NULLMODE;
m_pStatusStorage = NULL;
m_pInfoStorage = NULL;
m_strEditorXml = _T("");
m_strTempDirectory = _T("");
m_strTempDirectoryFile = _T("");
m_strFileName = _T("");
m_strFontDirectory = _T("");
m_strMediaDirectory = _T("");
m_bIsUseSystemFonts = FALSE;
m_strEmbeddedFontsDirectory = _T("");
m_pODFFile = NULL;
}
~CAVSPresentationEditor()
{
CloseFile(VARIANT_TRUE);
RELEASEINTERFACE(m_pWinFonts);
RELEASEINTERFACE(m_pODFFile);
}
public:
STDMETHOD(get_Status)(LONG* pVal)
{
CSynchAccess oSynchAccess(m_hSynchMutex);
*pVal = m_lStatus;
return S_OK;
}
STDMETHOD(get_EditorXml)(BSTR* pbstrVal)
{
if (NULL == pbstrVal)
return FALSE;
*pbstrVal = m_strEditorXml.AllocSysString();
return S_OK;
}
STDMETHOD(OpenFile)(BSTR fileName)
{
CSynchAccess oSynchAccess(m_hSynchMutex);
CloseFile(VARIANT_TRUE);
m_lFileType = AVS_OFFICESTUDIO_FILE_UNKNOWN;
m_strFileName = (CString)fileName;
RELEASEOBJECT(m_pStatusStorage);
m_pStatusStorage = new CStatusStorage(m_strFileName);
do
{
bool bGetMaster = false;
m_pStatusStorage->GetStatus( &bGetMaster, &m_oSS );
if ( STIF_BROKEN == m_oSS.m_sStatus || STIF_ERROR == m_oSS.m_sStatus )
{
InitTempDirectory();
HRESULT hRes = S_FALSE;
BSTR bstrTemp = m_strTempDirectoryFile.AllocSysString();
if (SUCCEEDED(CoCreateInstance(PPTFile::CLSID_CAVSOfficePPTFile, NULL, CLSCTX_ALL, PPTFile::IID_IAVSOfficePPTFile, (void**)&m_pPPTFile)))
{
m_pPPTFile->put_TempDirectory(bstrTemp);
hRes = m_pPPTFile->LoadFromFile(fileName, bstrTemp, L"");
if (S_OK == hRes)
{
m_lFileType = AVS_OFFICESTUDIO_FILE_PRESENTATION_PPT;
m_lStatus = READMODE;
VARIANT var;
var.vt = VT_BSTR;
var.bstrVal = NULL;
m_pPPTFile->GetAdditionalParam(L"EditorXml", &var);
m_strEditorXml = (CString)var.bstrVal;
SysFreeString(var.bstrVal);
}
RELEASEINTERFACE(m_pPPTFile);
}
if (S_OK != hRes)
{
if (SUCCEEDED(CoCreateInstance(PPTXFile::CLSID_CAVSOfficePPTXFile, NULL, CLSCTX_ALL, PPTXFile::IID_IAVSOfficePPTXFile, (void**)&m_pPPTXFile)))
{
m_pPPTXFile->put_TempDirectory(bstrTemp);
hRes = m_pPPTXFile->LoadFromFile(fileName, bstrTemp, L"");
if (S_OK == hRes)
{
m_lFileType = AVS_OFFICESTUDIO_FILE_PRESENTATION_PPT;
m_lStatus = READMODE;
VARIANT var;
var.vt = VT_BSTR;
var.bstrVal = NULL;
m_pPPTXFile->GetAdditionalParam(L"EditorXml", &var);
m_strEditorXml = (CString)var.bstrVal;
SysFreeString(var.bstrVal);
}
RELEASEINTERFACE(m_pPPTXFile);
}
}
if (S_OK != hRes)
{
}
SysFreeString(bstrTemp);
if (S_OK == hRes)
{
m_oSS.m_sStatus = STIF_AVAILABLE;
m_oSS.m_nProgress = 100;
SPPTInfoStorage oInfo;
oInfo.m_strTempDirectory = m_strTempDirectoryFile;
oInfo.m_strXml = m_strEditorXml;
m_oDocument.LoadFromXML(m_strEditorXml);
LONG64 lLen = oInfo.GetLength();
oInfo.m_lCount = 1;
m_oSS.m_lLength = lLen;
RELEASEOBJECT(m_pInfoStorage);
m_pInfoStorage = new CInfoStorage(m_strFileName, lLen);
m_pInfoStorage->WriteStruct(&oInfo);
m_pStatusStorage->WriteStruct( &m_oSS );
/*
XmlUtils::CXmlNode oNode;
oNode.FromXmlString(m_strEditorXml);
m_oDocument.ReadFromXml(oNode);
m_oDocument.CalculateEditor(m_oDocument.m_oInfo, true);
*/
}
else
{
CloseFile(VARIANT_TRUE);
}
return hRes;
}
else if ( STIF_CREATING == m_oSS.m_sStatus )
{
Sleep ( 100 );
}
else if ( STIF_AVAILABLE == m_oSS.m_sStatus )
{
m_lFileType = AVS_OFFICESTUDIO_FILE_PRESENTATION;
m_lStatus = READMODE;
RELEASEOBJECT(m_pInfoStorage);
m_pInfoStorage = new CInfoStorage(m_strFileName, m_oSS.m_lLength);
SPPTInfoStorage oInfo;
m_pInfoStorage->ReadStruct(&oInfo);
oInfo.m_lCount++;
m_pInfoStorage->WriteCount(&oInfo);
m_strTempDirectoryFile = oInfo.m_strTempDirectory;
m_strEditorXml = oInfo.m_strXml;
return S_OK;
}
}
while ( STIF_CREATING == m_oSS.m_sStatus );
return S_FALSE;
}
STDMETHOD(CloseFile)(VARIANT_BOOL vbAttack)
{
CSynchAccess oSynchAccess(m_hSynchMutex);
if (_T("") != m_strFileName && NULL != m_pInfoStorage)
{
SPPTInfoStorage oInfo;
m_pInfoStorage->ReadStruct(&oInfo);
oInfo.m_lCount = max(0, oInfo.m_lCount - 1);
m_pInfoStorage->WriteCount(&oInfo);
if (0 == oInfo.m_lCount && (VARIANT_TRUE == vbAttack))
{
DeleteTempDirectory();
}
if (VARIANT_FALSE == vbAttack)
{
CDirectory::SaveToFile(m_strTempDirectoryFile + _T("\\Editor.xml"), m_strEditorXml);
}
}
else if (_T("") != m_strFileName)
{
if (VARIANT_TRUE == vbAttack)
{
DeleteTempDirectory();
}
}
m_strFileName = _T("");
m_strEditorXml = _T("");
m_pODFFile = NULL;
RELEASEOBJECT(m_pInfoStorage);
RELEASEOBJECT(m_pStatusStorage);
RELEASEINTERFACE(m_pPPTFile);
RELEASEINTERFACE(m_pPPTXFile);
m_lFileType = AVS_OFFICESTUDIO_FILE_UNKNOWN;
m_lStatus = NULLMODE;
return S_OK;
}
STDMETHOD(OpenXmlFile)(BSTR fileName)
{
CSynchAccess oSynchAccess(m_hSynchMutex);
CloseFile(VARIANT_TRUE);
XmlUtils::CXmlNode oNode;
if (oNode.FromXmlFile2((CString)fileName))
{
m_oDocument.ReadFromXml(oNode);
m_oDocument.CalculateEditor(m_oDocument.m_oInfo, true);
return S_OK;
}
return S_FALSE;
}
STDMETHOD(get_DrawingXml)(BSTR* pbstrXml)
{
if (NULL == pbstrXml)
return S_FALSE;
*pbstrXml = m_strEditorXml.AllocSysString();
return S_OK;
}
STDMETHOD(get_TempDirectory)(BSTR* pbstrDir)
{
if (NULL == pbstrDir)
return S_FALSE;
*pbstrDir = m_strTempDirectory.AllocSysString();
return S_OK;
}
STDMETHOD(put_TempDirectory)(BSTR bstrDir)
{
m_strTempDirectory = (CStringW)bstrDir;
return S_OK;
}
STDMETHOD(put_TempFileName)(BSTR bstrFile)
{
m_strTempFileName = (CString)bstrFile;
return S_OK;
}
STDMETHOD(get_TempFileName)(BSTR* bstrFile)
{
if (NULL != bstrFile)
*bstrFile = m_strTempFileName.AllocSysString();
return S_OK;
}
STDMETHOD(SetAdditionalParam)(BSTR ParamName, VARIANT ParamValue)
{
CString sParamName; sParamName = ParamName;
if (_T("EmbeddedFontsDirectory") == sParamName && ParamValue.vt == VT_BSTR)
{
m_strEmbeddedFontsDirectory = ParamValue.bstrVal;
return S_OK;
}
return S_OK;
}
STDMETHOD(GetAdditionalParam)(BSTR ParamName, VARIANT* ParamValue)
{
return S_OK;
}
STDMETHOD(Save)(LONG lFileType, BSTR bsFilePath)
{
switch (lFileType)
{
case 0:
{
// xml
CString strXml = m_oDocument.ToXmlEditor2();
CFile oFile;
oFile.CreateFile((CString)bsFilePath);
oFile.WriteStringUTF8(strXml);
oFile.CloseFile();
break;
}
case 1:
{
#ifdef USE_ODF_FILE
if (NULL != m_pODFFile)
{
// temp
COfficeUtils* pOfficeUtils = new COfficeUtils(NULL);
//
BSTR bstrSrcPath = m_strTempDirectoryFile.AllocSysString();
HRESULT hr = pOfficeUtils->CompressFileOrDirectory( bstrSrcPath, bsFilePath, -1 );
SysFreeString(bstrSrcPath);
RELEASEOBJECT(pOfficeUtils);
return S_OK;
}
#endif
//
CPPTXWriter oWriter;
oWriter.m_strTempDirectory = m_strTempDirectory;
oWriter.m_strDstFileName = (CString)bsFilePath;
oWriter.CreateFile(&m_oDocument);
oWriter.CloseFile();
break;
}
default:
break;
}
return S_OK;
}
STDMETHOD(ConvertToPPTY)(BSTR bsSrc, BSTR bsDst)
{
CSynchAccess oSynchAccess(m_hSynchMutex);
CloseFile(VARIANT_TRUE);
m_lFileType = AVS_OFFICESTUDIO_FILE_UNKNOWN;
m_strFileName = (CString)bsSrc;
int len_temp = m_strTempDirectory.GetLength();
if (len_temp != 0)
{
CString sLast = m_strTempDirectory.Mid(len_temp - 1);
if (sLast != _T("\\"))
m_strTempDirectory += _T("\\");
}
InitTempDirectory();
HRESULT hRes = S_FALSE;
BSTR bstrTemp = m_strTempDirectoryFile.AllocSysString();
if (SUCCEEDED(CoCreateInstance(PPTFile::CLSID_CAVSOfficePPTFile, NULL, CLSCTX_ALL, PPTFile::IID_IAVSOfficePPTFile, (void**)&m_pPPTFile)))
{
m_pPPTFile->put_TempDirectory(bstrTemp);
hRes = m_pPPTFile->LoadFromFile(bsSrc, bstrTemp, L"");
if (S_OK == hRes)
{
m_lFileType = AVS_OFFICESTUDIO_FILE_PRESENTATION_PPT;
m_lStatus = READMODE;
VARIANT var;
var.vt = VT_BSTR;
var.bstrVal = NULL;
m_pPPTFile->GetAdditionalParam(L"EditorXml", &var);
m_strEditorXml = (CString)var.bstrVal;
SysFreeString(var.bstrVal);
m_oDocument.LoadFromXML(m_strEditorXml);
CPPTXWriter oWriter;
CString sFolderT = m_strTempDirectory + _T("WritePPTX\\");
oWriter.m_strTempDirectory = sFolderT;
oWriter.m_strDstFileName = (CString)bsDst;
oWriter.CreateFile(&m_oDocument);
PPTXFile::IAVSOfficePPTXFile2* pPPTX2 = NULL;
CoCreateInstance(PPTXFile::CLSID_CAVSOfficePPTXFile, NULL, CLSCTX_ALL, PPTXFile::IID_IAVSOfficePPTXFile2, (void**)&pPPTX2);
BSTR bs1 = sFolderT.AllocSysString();
BSTR bsMediaDir = m_strMediaDirectory.AllocSysString();
BSTR bsFontDir = m_strFontDirectory.AllocSysString();
VARIANT_BOOL vbSystem = (m_bIsUseSystemFonts == TRUE) ? VARIANT_TRUE : VARIANT_FALSE;
pPPTX2->SetMediaDir(bsMediaDir);
pPPTX2->SetFontDir(bsFontDir);
pPPTX2->SetUseSystemFonts(vbSystem);
if (_T("") != m_strEmbeddedFontsDirectory)
{
PPTXFile::IAVSOfficePPTXFile* pPPTX1 = NULL;
pPPTX2->QueryInterface(PPTXFile::IID_IAVSOfficePPTXFile, (void**)&pPPTX1);
if (NULL != pPPTX1)
{
VARIANT var;
var.vt = VT_BSTR;
var.bstrVal = m_strEmbeddedFontsDirectory.AllocSysString();
pPPTX1->SetAdditionalParam(L"EmbeddedFontsDirectory", var);
SysFreeString(var.bstrVal);
RELEASEINTERFACE(pPPTX1);
}
}
SysFreeString(bsMediaDir);
SysFreeString(bsFontDir);
pPPTX2->OpenDirectoryToPPTY(bs1, bsDst);
SysFreeString(bs1);
RELEASEINTERFACE(pPPTX2);
oWriter.CloseFile2();
}
RELEASEINTERFACE(m_pPPTFile);
}
if (S_OK != hRes)
{
if (SUCCEEDED(CoCreateInstance(PPTXFile::CLSID_CAVSOfficePPTXFile, NULL, CLSCTX_ALL, PPTXFile::IID_IAVSOfficePPTXFile, (void**)&m_pPPTXFile)))
{
m_pPPTXFile->put_TempDirectory(bstrTemp);
PPTXFile::IAVSOfficePPTXFile2* pPPTX2 = NULL;
m_pPPTXFile->QueryInterface(PPTXFile::IID_IAVSOfficePPTXFile2, (void**)&pPPTX2);
BSTR bsMediaDir = m_strMediaDirectory.AllocSysString();
BSTR bsFontDir = m_strFontDirectory.AllocSysString();
VARIANT_BOOL vbSystem = (m_bIsUseSystemFonts == TRUE) ? VARIANT_TRUE : VARIANT_FALSE;
pPPTX2->SetMediaDir(bsMediaDir);
pPPTX2->SetFontDir(bsFontDir);
pPPTX2->SetUseSystemFonts(vbSystem);
SysFreeString(bsMediaDir);
SysFreeString(bsFontDir);
if (_T("") != m_strEmbeddedFontsDirectory)
{
VARIANT var;
var.vt = VT_BSTR;
var.bstrVal = m_strEmbeddedFontsDirectory.AllocSysString();
m_pPPTXFile->SetAdditionalParam(L"EmbeddedFontsDirectory", var);
SysFreeString(var.bstrVal);
}
hRes = pPPTX2->OpenFileToPPTY(bsSrc, bsDst);
RELEASEINTERFACE(pPPTX2);
if (S_OK == hRes)
{
m_lFileType = AVS_OFFICESTUDIO_FILE_PRESENTATION_PPTX;
m_lStatus = READMODE;
}
RELEASEINTERFACE(m_pPPTXFile);
}
}
if (S_OK != hRes)
{
ODFFile::IOfficeOdfFile* pODPFile = NULL;
CoCreateInstance(ODFFile::CLSID_COfficeOdfFile, NULL, CLSCTX_ALL, ODFFile::IID_IOfficeOdfFile, (void**)&pODPFile);
CString strOptions = _T("<Options><onlyPresentation></onlyPresentation></Options>");
BSTR bsOptions = strOptions.AllocSysString();
CString strTemp1 = m_strTempDirectoryFile + "\\";
CreateDirectory(strTemp1, NULL);
BSTR bsTemp1 = strTemp1.AllocSysString();
HRESULT hRes = pODPFile->LoadFromFile(bsSrc, bsTemp1, bsOptions);
SysFreeString(bsOptions);
RELEASEINTERFACE(pODPFile);
PPTXFile::IAVSOfficePPTXFile2* pPPTX2 = NULL;
CoCreateInstance(PPTXFile::CLSID_CAVSOfficePPTXFile, NULL, CLSCTX_ALL, PPTXFile::IID_IAVSOfficePPTXFile2, (void**)&pPPTX2);
BSTR bsMediaDir = m_strMediaDirectory.AllocSysString();
BSTR bsFontDir = m_strFontDirectory.AllocSysString();
VARIANT_BOOL vbSystem = (m_bIsUseSystemFonts == TRUE) ? VARIANT_TRUE : VARIANT_FALSE;
pPPTX2->SetMediaDir(bsMediaDir);
pPPTX2->SetFontDir(bsFontDir);
pPPTX2->SetUseSystemFonts(vbSystem);
SysFreeString(bsMediaDir);
SysFreeString(bsFontDir);
if (_T("") != m_strEmbeddedFontsDirectory)
{
PPTXFile::IAVSOfficePPTXFile* pPPTX1 = NULL;
pPPTX2->QueryInterface(PPTXFile::IID_IAVSOfficePPTXFile, (void**)&pPPTX1);
if (NULL != pPPTX1)
{
VARIANT var;
var.vt = VT_BSTR;
var.bstrVal = m_strEmbeddedFontsDirectory.AllocSysString();
pPPTX1->SetAdditionalParam(L"EmbeddedFontsDirectory", var);
SysFreeString(var.bstrVal);
RELEASEINTERFACE(pPPTX1);
}
}
pPPTX2->OpenDirectoryToPPTY(bsTemp1, bsDst);
SysFreeString(bsTemp1);
RELEASEINTERFACE(pPPTX2);
}
SysFreeString(bstrTemp);
CloseFile(VARIANT_TRUE);
return hRes;
}
STDMETHOD(SetMediaDir)(BSTR bsMediaDir)
{
m_strMediaDirectory = bsMediaDir;
return S_OK;
}
STDMETHOD(SetFontDir)(BSTR bsFontDir)
{
m_strFontDirectory = bsFontDir;
return S_OK;
}
STDMETHOD(SetUseSystemFonts)(VARIANT_BOOL useSystemFonts)
{
m_bIsUseSystemFonts = (VARIANT_TRUE == useSystemFonts);
return S_OK;
}
protected:
void InitTempDirectory()
{
if (_T("") == m_strTempDirectory)
{
CStringW sTempPath;
GetTempPathW(4096, sTempPath.GetBuffer(4096));
sTempPath.ReleaseBuffer();
m_strTempDirectory = sTempPath;
}
CreateDirectoryW(m_strTempDirectory, NULL);
if (_T("") != m_strTempFileName)
{
m_strTempDirectoryFile = m_strTempDirectory + m_strTempFileName;
CreateDirectoryW(m_strTempDirectoryFile, NULL);
return;
}
CStringW strSrcFileName = _T("AVSPresentationExtraData");
CStringW sFileMask = m_strTempDirectory + L"*";
CStringW strMaskTemp = (L"Temp_" + strSrcFileName);
int nResultNumber = -1;
WIN32_FIND_DATAW winFileData;
HANDLE hFile;
hFile = FindFirstFileW(sFileMask, &winFileData);
if (hFile != INVALID_HANDLE_VALUE)
{
CStringW strFilePath = sFileMask + (CStringW)winFileData.cFileName;
DWORD dwAttr = GetFileAttributesW(strFilePath);
if (dwAttr & FILE_ATTRIBUTE_DIRECTORY)
{
int nNum = GetTempFileNum(strMaskTemp, winFileData.cFileName);
nResultNumber = max(nNum, nResultNumber);
}
while (FALSE != FindNextFileW(hFile, &winFileData))
{
CStringW strFilePathNext = sFileMask + (CStringW)winFileData.cFileName;
DWORD dwAttrNext = GetFileAttributesW(strFilePathNext);
if (dwAttrNext & FILE_ATTRIBUTE_DIRECTORY)
{
int nNumNext = GetTempFileNum(strMaskTemp, winFileData.cFileName);
nResultNumber = max(nNumNext, nResultNumber);
}
}
FindClose(hFile);
}
++nResultNumber;
if (0 == nResultNumber)
{
m_strTempDirectoryFile = m_strTempDirectory + strMaskTemp;
}
else
{
CString strDig = _T("");
strDig.Format(_T("%d"), nResultNumber);
m_strTempDirectoryFile = m_strTempDirectory + strMaskTemp + strDig;
}
if (!CreateDirectoryW(m_strTempDirectoryFile, NULL))
{
m_strTempDirectoryFile = _T("");
}
}
void DeleteTempDirectory()
{
if ( _T("") == m_strTempDirectoryFile )
return;
SHFILEOPSTRUCTW shfos;
ZeroMemory(&shfos, sizeof(shfos));
shfos.wFunc = FO_DELETE;
CStringW _local = m_strTempDirectoryFile + L"*.*";
_local.AppendChar(0);
_local.AppendChar(0);
shfos.pFrom = _local.GetString();
shfos.fFlags = FOF_SILENT + FOF_NOCONFIRMATION;
SHFileOperationW(&shfos);
RemoveDirectoryW(m_strTempDirectory);
m_strTempDirectoryFile = _T("");
}
int GetTempFileNum(CStringW strMask, CStringW strDirPath)
{
int nIndex = strDirPath.Find(strMask);
if (0 != nIndex)
return -1;
CStringW strNum = strDirPath.Mid(strMask.GetLength());
int nLen = strNum.GetLength();
int nResult = 0;
int nIndexNum = 0;
while (nLen > 0)
{
int nDig = XmlUtils::GetDigit(strNum[nIndexNum]);
if (-1 == nDig)
return -1;
nResult *= 10;
nResult += nDig;
++nIndexNum;
--nLen;
}
return nResult;
}
};
//Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#define COMPONENT_NAME "PresentationEditor"
#include "../Common/FileInfo.h"
#include "version.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "winres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1251)
/////////////////////////////////////////////////////////////////////////////
IDB_XML_NOTESTHEME PPTXW "PPTXWriter\\ResourceFiles\\notesTheme.xml"
IDB_XML_NOTESMASTER PPTXW "PPTXWriter\\ResourceFiles\\notesMaster.xml"
/////////////////////////////////////////////////////////////////////////////
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#include ""winres.h""\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
#ifndef _MAC
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION INTVER
PRODUCTVERSION INTVER
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", COMPANY_NAME
VALUE "FileDescription", FILE_DESCRIPTION_ACTIVEX
VALUE "FileVersion", STRVER
VALUE "InternalName", COMPONENT_FILE_NAME_DLL
VALUE "LegalCopyright", LEGAL_COPYRIGHT
VALUE "OriginalFilename", COMPONENT_FILE_NAME_DLL
VALUE "ProductName", FILE_DESCRIPTION_ACTIVEX
VALUE "ProductVersion", STRVER
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0409, 1200
END
END
#endif // !_MAC
/////////////////////////////////////////////////////////////////////////////
//
// String Table
//
STRINGTABLE
BEGIN
IDS_PROJNAME "ASCPresentationEditor"
END
IDR_ASCPRESENTATIONEDITOR REGISTRY "ASCPresentationEditor.rgs"
////////////////////////////////////////////////////////////////////////////
#endif
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
HKCR
{
NoRemove AppID
{
'%APPID%' = s 'ASCPresentationEditor'
'ASCPresentationEditor.DLL'
{
val AppID = s '%APPID%'
}
}
}
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ASCPresentationEditor", "ASCPresentationEditor.vcproj", "{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Debug|Win32.ActiveCfg = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Debug|Win32.Build.0 = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Release|Win32.ActiveCfg = Release|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
<?xml version="1.0" encoding="windows-1251"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Name="ASCPresentationEditor"
ProjectGUID="{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}"
Keyword="AtlProj"
TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="2"
UseOfATL="1"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="false"
TargetEnvironment="1"
GenerateStublessProxies="true"
TypeLibraryName="$(IntDir)/ASCPresentationEditor.tlb"
HeaderFileName="ASCPresentationEditor.h"
DLLDataFileName=""
InterfaceIdentifierFileName="ASCPresentationEditor_i.c"
ProxyFileName="ASCPresentationEditor_p.c"
ValidateParameters="false"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\ASCPresentationEditor"
PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG;_USRDLL;_ATL_ATTRIBUTES"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="2"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1033"
AdditionalIncludeDirectories="$(IntDir)"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
RegisterOutput="true"
IgnoreImportLibrary="true"
LinkIncremental="2"
MergedIDLBaseFileName="_ASCPresentationEditor.idl"
GenerateDebugInformation="true"
SubSystem="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
Description="Performing registration"
CommandLine="regsvr32 /s /c &quot;$(TargetPath)&quot;"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="2"
UseOfATL="1"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="..\Redist\VersionControl.exe &quot;$(ProjectDir)\version.h&quot;"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="false"
TargetEnvironment="1"
GenerateStublessProxies="true"
TypeLibraryName="$(IntDir)/ASCPresentationEditor.tlb"
HeaderFileName="ASCPresentationEditor.h"
DLLDataFileName=""
InterfaceIdentifierFileName="ASCPresentationEditor_i.c"
ProxyFileName="ASCPresentationEditor_p.c"
ValidateParameters="false"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories="..\ASCPresentationEditor"
PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG;_USRDLL;_ATL_ATTRIBUTES"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="2"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"
AdditionalIncludeDirectories="$(IntDir)"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
RegisterOutput="true"
IgnoreImportLibrary="true"
LinkIncremental="1"
MergedIDLBaseFileName="_ASCPresentationEditor.idl"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
Description="Performing registration"
CommandLine="regsvr32 /s /c &quot;$(TargetPath)&quot;&#x0D;&#x0A;copy &quot;$(TargetPath)&quot; &quot;$(ProjectDir)..\Redist&quot;&#x0D;&#x0A;"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\ASCPresentationEditor.cpp"
>
</File>
<File
RelativePath=".\stdafx.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
RelativePath=".\ASCPresentationEditor.h"
>
</File>
<File
RelativePath=".\PPTStorage.h"
>
</File>
<File
RelativePath=".\Resource.h"
>
</File>
<File
RelativePath=".\stdafx.h"
>
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
<File
RelativePath=".\ASCPresentationEditor.rc"
>
</File>
<File
RelativePath=".\ASCPresentationEditor.rgs"
>
</File>
</Filter>
<Filter
Name="OfficeDrawing"
>
<File
RelativePath=".\OfficeDrawing\Animations.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Attributes.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\AudioOverlay.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Base.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Document.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Effects.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Element.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\ElementProperties.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Elements.cpp"
>
</File>
<File
RelativePath=".\OfficeDrawing\Elements.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Interactive.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Layout.cpp"
>
</File>
<File
RelativePath=".\OfficeDrawing\Layout.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Metric.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Slide.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\SlideShow.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Structures.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\SVGConverter.cpp"
>
</File>
<File
RelativePath=".\OfficeDrawing\SVGConverter.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\TextAttributesEx.cpp"
>
</File>
<File
RelativePath=".\OfficeDrawing\TextAttributesEx.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\TextStructures.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Theme.cpp"
>
</File>
<File
RelativePath=".\OfficeDrawing\Theme.h"
>
</File>
<Filter
Name="Graphics"
>
<File
RelativePath=".\OfficeDrawing\Shapes\Graphics\agg_trans_affine.cpp"
>
</File>
<File
RelativePath=".\OfficeDrawing\Shapes\Graphics\agg_trans_affine.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Shapes\Graphics\ap_AggPlusEnums.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Shapes\Graphics\ap_AggPlusTypes.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Shapes\Graphics\Matrix.h"
>
</File>
</Filter>
</Filter>
<Filter
Name="PPTXWriter"
>
<File
RelativePath=".\PPTXWriter\Converter.h"
>
</File>
<File
RelativePath=".\PPTXWriter\CSS.h"
>
</File>
<File
RelativePath=".\PPTXWriter\ImageManager.h"
>
</File>
<File
RelativePath=".\PPTXWriter\ShapeWriter.cpp"
>
</File>
<File
RelativePath=".\PPTXWriter\ShapeWriter.h"
>
</File>
<File
RelativePath=".\PPTXWriter\StylesWriter.h"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ASCPresentationEditor", "ASCPresentationEditor_vs2005.vcproj", "{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}"
ProjectSection(ProjectDependencies) = postProject
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7} = {43A0E60E-5C4A-4C09-A29B-7683F503BBD7}
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6} = {3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}
{0588563C-F05C-428C-B21A-DD74756628B3} = {0588563C-F05C-428C-B21A-DD74756628B3}
{9A037A69-D1DF-4505-AB2A-6CB3641C476E} = {9A037A69-D1DF-4505-AB2A-6CB3641C476E}
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D} = {FFDA5DA1-BB65-4695-B678-BE59B4A1355D}
{40A69F40-063E-43FD-8543-455495D8733E} = {40A69F40-063E-43FD-8543-455495D8733E}
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540} = {9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}
{BC52A07C-A797-423D-8C4F-8678805BBB36} = {BC52A07C-A797-423D-8C4F-8678805BBB36}
{DC24710E-8DF2-4A7A-B7C3-2313E294143C} = {DC24710E-8DF2-4A7A-B7C3-2313E294143C}
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2} = {37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}
{C739151F-5384-41DF-A1A6-F089E2C1AD56} = {C739151F-5384-41DF-A1A6-F089E2C1AD56}
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD} = {617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B} = {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}
{818753F2-DBB9-4D3B-898A-A604309BE470} = {818753F2-DBB9-4D3B-898A-A604309BE470}
{DF861D33-9BC1-418C-82B1-581F590FE169} = {DF861D33-9BC1-418C-82B1-581F590FE169}
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81} = {7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}
{21663823-DE45-479B-91D0-B4FEF4916EF0} = {21663823-DE45-479B-91D0-B4FEF4916EF0}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "agg2d", "..\DesktopEditor\agg-2.4\agg_vs2005.vcproj", "{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ASCHTMLRenderer", "..\ASCHTMLRenderer\ASCHTMLRendererLib.vcproj", "{DC24710E-8DF2-4A7A-B7C3-2313E294143C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "font_engine", "..\DesktopEditor\fontengine\font_engine_vs2005.vcproj", "{C739151F-5384-41DF-A1A6-F089E2C1AD56}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "graphics", "..\DesktopEditor\graphics\graphics_vs2005.vcproj", "{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "..\DesktopEditor\freetype-2.5.2\builds\windows\vc2005\freetype.vcproj", "{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "raster", "..\DesktopEditor\raster\raster_vs2005.vcproj", "{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cximage", "..\DesktopEditor\cximage\CxImage\cximage_vs2005.vcproj", "{BC52A07C-A797-423D-8C4F-8678805BBB36}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jpeg", "..\DesktopEditor\cximage\jpeg\Jpeg_vs2005.vcproj", "{818753F2-DBB9-4D3B-898A-A604309BE470}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tiff", "..\DesktopEditor\cximage\tiff\Tiff_vs2005.vcproj", "{0588563C-F05C-428C-B21A-DD74756628B3}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "png", "..\DesktopEditor\cximage\png\png_vs2005.vcproj", "{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mng", "..\DesktopEditor\cximage\mng\mng_vs2005.vcproj", "{40A69F40-063E-43FD-8543-455495D8733E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "..\DesktopEditor\cximage\zlib\zlib_vs2005.vcproj", "{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libdcr", "..\DesktopEditor\cximage\raw\libdcr_vs2005.vcproj", "{DF861D33-9BC1-418C-82B1-581F590FE169}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpsd", "..\DesktopEditor\cximage\libpsd\libpsd_vs2005.vcproj", "{9A037A69-D1DF-4505-AB2A-6CB3641C476E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jasper", "..\DesktopEditor\cximage\jasper\jasper_vs2005.vcproj", "{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libxml2", "..\..\..\..\trunk\ServerComponents\Common\DocxFormat\Source\XML\libxml2\win_build\libxml2.vcproj", "{21663823-DE45-479B-91D0-B4FEF4916EF0}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ASCOfficeUtilsLib", "..\..\..\..\trunk\ServerComponents\ASCOfficeUtils\ASCOfficeUtilsLib\Win\ASCOfficeUtilsLib.vcproj", "{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug Multithreaded|Win32 = Debug Multithreaded|Win32
Debug Multithreaded|x64 = Debug Multithreaded|x64
Debug Singlethreaded|Win32 = Debug Singlethreaded|Win32
Debug Singlethreaded|x64 = Debug Singlethreaded|x64
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release Multithreaded|Win32 = Release Multithreaded|Win32
Release Multithreaded|x64 = Release Multithreaded|x64
Release Singlethreaded|Win32 = Release Singlethreaded|Win32
Release Singlethreaded|x64 = Release Singlethreaded|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
ReleaseASC|Win32 = ReleaseASC|Win32
ReleaseASC|x64 = ReleaseASC|x64
Unicode Debug|Win32 = Unicode Debug|Win32
Unicode Debug|x64 = Unicode Debug|x64
Unicode Release|Win32 = Unicode Release|Win32
Unicode Release|x64 = Unicode Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Debug Multithreaded|Win32.ActiveCfg = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Debug Multithreaded|Win32.Build.0 = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Debug Multithreaded|x64.ActiveCfg = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Debug Singlethreaded|Win32.ActiveCfg = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Debug Singlethreaded|Win32.Build.0 = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Debug Singlethreaded|x64.ActiveCfg = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Debug|Win32.ActiveCfg = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Debug|Win32.Build.0 = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Debug|x64.ActiveCfg = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Release Multithreaded|Win32.ActiveCfg = ReleaseASC|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Release Multithreaded|Win32.Build.0 = ReleaseASC|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Release Multithreaded|x64.ActiveCfg = ReleaseASC|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Release Singlethreaded|Win32.ActiveCfg = ReleaseASC|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Release Singlethreaded|Win32.Build.0 = ReleaseASC|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Release Singlethreaded|x64.ActiveCfg = ReleaseASC|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Release|Win32.ActiveCfg = Release|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Release|Win32.Build.0 = Release|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Release|x64.ActiveCfg = Release|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.ReleaseASC|Win32.ActiveCfg = ReleaseASC|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.ReleaseASC|Win32.Build.0 = ReleaseASC|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.ReleaseASC|x64.ActiveCfg = ReleaseASC|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Unicode Debug|Win32.Build.0 = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Unicode Debug|x64.ActiveCfg = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Unicode Release|Win32.ActiveCfg = Release|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Unicode Release|Win32.Build.0 = Release|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Unicode Release|x64.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug Multithreaded|Win32.ActiveCfg = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug Multithreaded|Win32.Build.0 = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug Multithreaded|x64.ActiveCfg = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug Singlethreaded|Win32.ActiveCfg = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug Singlethreaded|Win32.Build.0 = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug Singlethreaded|x64.ActiveCfg = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug|Win32.ActiveCfg = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug|Win32.Build.0 = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug|x64.ActiveCfg = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release Multithreaded|Win32.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release Multithreaded|Win32.Build.0 = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release Multithreaded|x64.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release Singlethreaded|Win32.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release Singlethreaded|Win32.Build.0 = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release Singlethreaded|x64.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release|Win32.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release|Win32.Build.0 = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release|x64.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.ReleaseASC|Win32.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.ReleaseASC|Win32.Build.0 = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.ReleaseASC|x64.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Unicode Debug|Win32.Build.0 = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Unicode Debug|x64.ActiveCfg = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Unicode Release|Win32.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Unicode Release|Win32.Build.0 = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Unicode Release|x64.ActiveCfg = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Debug Multithreaded|Win32.ActiveCfg = Debug|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Debug Multithreaded|Win32.Build.0 = Debug|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Debug Multithreaded|x64.ActiveCfg = Debug|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Debug Singlethreaded|Win32.ActiveCfg = Debug|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Debug Singlethreaded|Win32.Build.0 = Debug|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Debug Singlethreaded|x64.ActiveCfg = Debug|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Debug|Win32.ActiveCfg = Debug|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Debug|Win32.Build.0 = Debug|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Debug|x64.ActiveCfg = Debug|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Release Multithreaded|Win32.ActiveCfg = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Release Multithreaded|Win32.Build.0 = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Release Multithreaded|x64.ActiveCfg = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Release Singlethreaded|Win32.ActiveCfg = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Release Singlethreaded|Win32.Build.0 = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Release Singlethreaded|x64.ActiveCfg = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Release|Win32.ActiveCfg = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Release|Win32.Build.0 = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Release|x64.ActiveCfg = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.ReleaseASC|Win32.ActiveCfg = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.ReleaseASC|Win32.Build.0 = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.ReleaseASC|x64.ActiveCfg = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Unicode Debug|Win32.Build.0 = Debug|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Unicode Debug|x64.ActiveCfg = Debug|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Unicode Release|Win32.ActiveCfg = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Unicode Release|Win32.Build.0 = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Unicode Release|x64.ActiveCfg = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug Multithreaded|Win32.ActiveCfg = Debug|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug Multithreaded|Win32.Build.0 = Debug|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug Multithreaded|x64.ActiveCfg = Debug|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug Singlethreaded|Win32.ActiveCfg = Debug|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug Singlethreaded|Win32.Build.0 = Debug|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug Singlethreaded|x64.ActiveCfg = Debug|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug|Win32.ActiveCfg = Debug|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug|Win32.Build.0 = Debug|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug|x64.ActiveCfg = Debug|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release Multithreaded|Win32.ActiveCfg = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release Multithreaded|Win32.Build.0 = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release Multithreaded|x64.ActiveCfg = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release Singlethreaded|Win32.ActiveCfg = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release Singlethreaded|Win32.Build.0 = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release Singlethreaded|x64.ActiveCfg = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release|Win32.ActiveCfg = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release|Win32.Build.0 = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release|x64.ActiveCfg = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.ReleaseASC|Win32.ActiveCfg = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.ReleaseASC|Win32.Build.0 = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.ReleaseASC|x64.ActiveCfg = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Unicode Debug|Win32.Build.0 = Debug|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Unicode Debug|x64.ActiveCfg = Debug|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Unicode Release|Win32.ActiveCfg = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Unicode Release|Win32.Build.0 = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Unicode Release|x64.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug Multithreaded|Win32.ActiveCfg = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug Multithreaded|Win32.Build.0 = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug Multithreaded|x64.ActiveCfg = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug Singlethreaded|Win32.ActiveCfg = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug Singlethreaded|Win32.Build.0 = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug Singlethreaded|x64.ActiveCfg = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug|Win32.ActiveCfg = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug|Win32.Build.0 = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug|x64.ActiveCfg = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release Multithreaded|Win32.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release Multithreaded|Win32.Build.0 = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release Multithreaded|x64.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release Singlethreaded|Win32.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release Singlethreaded|Win32.Build.0 = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release Singlethreaded|x64.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release|Win32.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release|Win32.Build.0 = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release|x64.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.ReleaseASC|Win32.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.ReleaseASC|Win32.Build.0 = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.ReleaseASC|x64.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Unicode Debug|Win32.Build.0 = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Unicode Debug|x64.ActiveCfg = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Unicode Release|Win32.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Unicode Release|Win32.Build.0 = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Unicode Release|x64.ActiveCfg = Release|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|Win32.ActiveCfg = Debug Multithreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|Win32.Build.0 = Debug Multithreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|x64.ActiveCfg = Debug Multithreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|Win32.ActiveCfg = Debug Singlethreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|Win32.Build.0 = Debug Singlethreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|x64.ActiveCfg = Debug Singlethreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|Win32.ActiveCfg = Debug|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|Win32.Build.0 = Debug|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|x64.ActiveCfg = Debug|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded|Win32.ActiveCfg = Release Multithreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded|Win32.Build.0 = Release Multithreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded|x64.ActiveCfg = Release Multithreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|Win32.ActiveCfg = Release Singlethreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|Win32.Build.0 = Release Singlethreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|x64.ActiveCfg = Release Singlethreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|Win32.ActiveCfg = Release|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|Win32.Build.0 = Release|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|x64.ActiveCfg = Release|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.ReleaseASC|Win32.ActiveCfg = Release Singlethreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.ReleaseASC|Win32.Build.0 = Release Singlethreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.ReleaseASC|x64.ActiveCfg = Release Singlethreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Unicode Debug|Win32.Build.0 = Debug|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Unicode Debug|x64.ActiveCfg = Debug|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Unicode Release|Win32.ActiveCfg = Release|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Unicode Release|Win32.Build.0 = Release|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Unicode Release|x64.ActiveCfg = Release|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Debug Multithreaded|x64.Build.0 = Debug|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Debug|Win32.ActiveCfg = Debug|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Debug|Win32.Build.0 = Debug|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Debug|x64.ActiveCfg = Debug|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Debug|x64.Build.0 = Debug|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Release Multithreaded|x64.ActiveCfg = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Release Multithreaded|x64.Build.0 = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Release Singlethreaded|x64.Build.0 = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Release|Win32.ActiveCfg = Release|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Release|Win32.Build.0 = Release|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Release|x64.ActiveCfg = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Release|x64.Build.0 = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.ReleaseASC|Win32.ActiveCfg = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.ReleaseASC|x64.ActiveCfg = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.ReleaseASC|x64.Build.0 = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Unicode Release|x64.Build.0 = Unicode Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Debug Multithreaded|x64.Build.0 = Debug|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Debug|Win32.ActiveCfg = Debug|Win32
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Debug|Win32.Build.0 = Debug|Win32
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Debug|x64.ActiveCfg = Debug|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Debug|x64.Build.0 = Debug|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Release Multithreaded|x64.ActiveCfg = Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Release Multithreaded|x64.Build.0 = Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Release Singlethreaded|x64.Build.0 = Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Release|Win32.ActiveCfg = Release|Win32
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Release|Win32.Build.0 = Release|Win32
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Release|x64.ActiveCfg = Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Release|x64.Build.0 = Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.ReleaseASC|Win32.ActiveCfg = Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.ReleaseASC|x64.ActiveCfg = Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.ReleaseASC|x64.Build.0 = Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Unicode Release|x64.Build.0 = Unicode Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Debug Multithreaded|x64.Build.0 = Debug|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Debug|Win32.ActiveCfg = Debug|Win32
{818753F2-DBB9-4D3B-898A-A604309BE470}.Debug|Win32.Build.0 = Debug|Win32
{818753F2-DBB9-4D3B-898A-A604309BE470}.Debug|x64.ActiveCfg = Debug|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Debug|x64.Build.0 = Debug|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Release Multithreaded|x64.ActiveCfg = Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Release Multithreaded|x64.Build.0 = Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Release Singlethreaded|x64.Build.0 = Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Release|Win32.ActiveCfg = Release|Win32
{818753F2-DBB9-4D3B-898A-A604309BE470}.Release|Win32.Build.0 = Release|Win32
{818753F2-DBB9-4D3B-898A-A604309BE470}.Release|x64.ActiveCfg = Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Release|x64.Build.0 = Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.ReleaseASC|Win32.ActiveCfg = Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.ReleaseASC|x64.ActiveCfg = Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.ReleaseASC|x64.Build.0 = Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{818753F2-DBB9-4D3B-898A-A604309BE470}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{818753F2-DBB9-4D3B-898A-A604309BE470}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{818753F2-DBB9-4D3B-898A-A604309BE470}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{818753F2-DBB9-4D3B-898A-A604309BE470}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Unicode Release|x64.Build.0 = Unicode Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Debug Multithreaded|x64.Build.0 = Debug|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Debug|Win32.ActiveCfg = Debug|Win32
{0588563C-F05C-428C-B21A-DD74756628B3}.Debug|Win32.Build.0 = Debug|Win32
{0588563C-F05C-428C-B21A-DD74756628B3}.Debug|x64.ActiveCfg = Debug|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Debug|x64.Build.0 = Debug|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Release Multithreaded|x64.ActiveCfg = Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Release Multithreaded|x64.Build.0 = Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Release Singlethreaded|x64.Build.0 = Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Release|Win32.ActiveCfg = Release|Win32
{0588563C-F05C-428C-B21A-DD74756628B3}.Release|Win32.Build.0 = Release|Win32
{0588563C-F05C-428C-B21A-DD74756628B3}.Release|x64.ActiveCfg = Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Release|x64.Build.0 = Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.ReleaseASC|Win32.ActiveCfg = Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.ReleaseASC|x64.ActiveCfg = Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.ReleaseASC|x64.Build.0 = Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{0588563C-F05C-428C-B21A-DD74756628B3}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{0588563C-F05C-428C-B21A-DD74756628B3}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{0588563C-F05C-428C-B21A-DD74756628B3}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{0588563C-F05C-428C-B21A-DD74756628B3}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Unicode Release|x64.Build.0 = Unicode Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Debug Multithreaded|x64.Build.0 = Debug|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Debug|Win32.ActiveCfg = Debug|Win32
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Debug|Win32.Build.0 = Debug|Win32
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Debug|x64.ActiveCfg = Debug|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Debug|x64.Build.0 = Debug|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Release Multithreaded|x64.ActiveCfg = Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Release Multithreaded|x64.Build.0 = Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Release Singlethreaded|x64.Build.0 = Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Release|Win32.ActiveCfg = Release|Win32
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Release|Win32.Build.0 = Release|Win32
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Release|x64.ActiveCfg = Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Release|x64.Build.0 = Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.ReleaseASC|Win32.ActiveCfg = Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.ReleaseASC|x64.ActiveCfg = Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.ReleaseASC|x64.Build.0 = Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Unicode Release|x64.Build.0 = Unicode Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Debug Multithreaded|x64.Build.0 = Debug|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Debug|Win32.ActiveCfg = Debug|Win32
{40A69F40-063E-43FD-8543-455495D8733E}.Debug|Win32.Build.0 = Debug|Win32
{40A69F40-063E-43FD-8543-455495D8733E}.Debug|x64.ActiveCfg = Debug|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Debug|x64.Build.0 = Debug|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Release Multithreaded|x64.ActiveCfg = Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Release Multithreaded|x64.Build.0 = Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Release Singlethreaded|x64.Build.0 = Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Release|Win32.ActiveCfg = Release|Win32
{40A69F40-063E-43FD-8543-455495D8733E}.Release|Win32.Build.0 = Release|Win32
{40A69F40-063E-43FD-8543-455495D8733E}.Release|x64.ActiveCfg = Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Release|x64.Build.0 = Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.ReleaseASC|Win32.ActiveCfg = Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.ReleaseASC|x64.ActiveCfg = Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.ReleaseASC|x64.Build.0 = Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{40A69F40-063E-43FD-8543-455495D8733E}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{40A69F40-063E-43FD-8543-455495D8733E}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{40A69F40-063E-43FD-8543-455495D8733E}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{40A69F40-063E-43FD-8543-455495D8733E}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Unicode Release|x64.Build.0 = Unicode Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Debug Multithreaded|x64.Build.0 = Debug|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Debug|Win32.ActiveCfg = Debug|Win32
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Debug|Win32.Build.0 = Debug|Win32
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Debug|x64.ActiveCfg = Debug|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Debug|x64.Build.0 = Debug|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Release Multithreaded|x64.ActiveCfg = Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Release Multithreaded|x64.Build.0 = Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Release Singlethreaded|x64.Build.0 = Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Release|Win32.ActiveCfg = Release|Win32
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Release|Win32.Build.0 = Release|Win32
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Release|x64.ActiveCfg = Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Release|x64.Build.0 = Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.ReleaseASC|Win32.ActiveCfg = Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.ReleaseASC|x64.ActiveCfg = Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.ReleaseASC|x64.Build.0 = Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Unicode Release|x64.Build.0 = Unicode Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Debug Multithreaded|x64.Build.0 = Debug|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Debug|Win32.ActiveCfg = Debug|Win32
{DF861D33-9BC1-418C-82B1-581F590FE169}.Debug|Win32.Build.0 = Debug|Win32
{DF861D33-9BC1-418C-82B1-581F590FE169}.Debug|x64.ActiveCfg = Debug|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Debug|x64.Build.0 = Debug|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Release Multithreaded|x64.ActiveCfg = Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Release Multithreaded|x64.Build.0 = Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Release Singlethreaded|x64.Build.0 = Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Release|Win32.ActiveCfg = Release|Win32
{DF861D33-9BC1-418C-82B1-581F590FE169}.Release|Win32.Build.0 = Release|Win32
{DF861D33-9BC1-418C-82B1-581F590FE169}.Release|x64.ActiveCfg = Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Release|x64.Build.0 = Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.ReleaseASC|Win32.ActiveCfg = Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.ReleaseASC|x64.ActiveCfg = Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.ReleaseASC|x64.Build.0 = Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{DF861D33-9BC1-418C-82B1-581F590FE169}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{DF861D33-9BC1-418C-82B1-581F590FE169}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{DF861D33-9BC1-418C-82B1-581F590FE169}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{DF861D33-9BC1-418C-82B1-581F590FE169}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Unicode Release|x64.Build.0 = Unicode Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Debug Multithreaded|x64.Build.0 = Debug|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Debug|Win32.ActiveCfg = Debug|Win32
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Debug|Win32.Build.0 = Debug|Win32
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Debug|x64.ActiveCfg = Debug|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Debug|x64.Build.0 = Debug|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Release Multithreaded|x64.ActiveCfg = Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Release Multithreaded|x64.Build.0 = Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Release Singlethreaded|x64.Build.0 = Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Release|Win32.ActiveCfg = Release|Win32
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Release|Win32.Build.0 = Release|Win32
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Release|x64.ActiveCfg = Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Release|x64.Build.0 = Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.ReleaseASC|Win32.ActiveCfg = Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.ReleaseASC|x64.ActiveCfg = Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.ReleaseASC|x64.Build.0 = Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Unicode Release|x64.Build.0 = Unicode Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Debug Multithreaded|x64.Build.0 = Debug|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Debug|Win32.ActiveCfg = Debug|Win32
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Debug|Win32.Build.0 = Debug|Win32
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Debug|x64.ActiveCfg = Debug|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Debug|x64.Build.0 = Debug|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Release Multithreaded|x64.ActiveCfg = Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Release Multithreaded|x64.Build.0 = Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Release Singlethreaded|x64.Build.0 = Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Release|Win32.ActiveCfg = Release|Win32
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Release|Win32.Build.0 = Release|Win32
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Release|x64.ActiveCfg = Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Release|x64.Build.0 = Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.ReleaseASC|Win32.ActiveCfg = Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.ReleaseASC|x64.ActiveCfg = Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.ReleaseASC|x64.Build.0 = Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Unicode Release|x64.Build.0 = Unicode Release|x64
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Debug Multithreaded|Win32.ActiveCfg = Debug|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Debug Multithreaded|Win32.Build.0 = Debug|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Debug Multithreaded|x64.ActiveCfg = Debug|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Debug Singlethreaded|Win32.ActiveCfg = Debug|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Debug Singlethreaded|Win32.Build.0 = Debug|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Debug Singlethreaded|x64.ActiveCfg = Debug|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Debug|Win32.ActiveCfg = Debug|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Debug|Win32.Build.0 = Debug|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Debug|x64.ActiveCfg = Debug|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Release Multithreaded|Win32.ActiveCfg = Release|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Release Multithreaded|Win32.Build.0 = Release|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Release Multithreaded|x64.ActiveCfg = Release|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Release Singlethreaded|Win32.ActiveCfg = Release|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Release Singlethreaded|Win32.Build.0 = Release|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Release Singlethreaded|x64.ActiveCfg = Release|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Release|Win32.ActiveCfg = Release|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Release|Win32.Build.0 = Release|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Release|x64.ActiveCfg = Release|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.ReleaseASC|Win32.ActiveCfg = Release|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.ReleaseASC|Win32.Build.0 = Release|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.ReleaseASC|x64.ActiveCfg = Release|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Unicode Debug|Win32.Build.0 = Debug|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Unicode Debug|x64.ActiveCfg = Debug|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Unicode Release|Win32.ActiveCfg = Release|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Unicode Release|Win32.Build.0 = Release|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Unicode Release|x64.ActiveCfg = Release|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Debug Multithreaded|Win32.ActiveCfg = Debug|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Debug Multithreaded|Win32.Build.0 = Debug|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Debug Multithreaded|x64.ActiveCfg = Debug|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Debug Singlethreaded|Win32.ActiveCfg = Debug|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Debug Singlethreaded|Win32.Build.0 = Debug|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Debug Singlethreaded|x64.ActiveCfg = Debug|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Debug|Win32.ActiveCfg = Debug|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Debug|Win32.Build.0 = Debug|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Debug|x64.ActiveCfg = Debug|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Release Multithreaded|Win32.ActiveCfg = Release|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Release Multithreaded|Win32.Build.0 = Release|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Release Multithreaded|x64.ActiveCfg = Release|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Release Singlethreaded|Win32.ActiveCfg = Release|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Release Singlethreaded|Win32.Build.0 = Release|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Release Singlethreaded|x64.ActiveCfg = Release|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Release|Win32.ActiveCfg = Release|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Release|Win32.Build.0 = Release|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Release|x64.ActiveCfg = Release|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.ReleaseASC|Win32.ActiveCfg = Release|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.ReleaseASC|Win32.Build.0 = Release|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.ReleaseASC|x64.ActiveCfg = Release|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Unicode Debug|Win32.Build.0 = Debug|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Unicode Debug|x64.ActiveCfg = Debug|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Unicode Release|Win32.ActiveCfg = Release|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Unicode Release|Win32.Build.0 = Release|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Unicode Release|x64.ActiveCfg = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
<?xml version="1.0" encoding="windows-1251"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8,00"
Name="ASCPresentationEditor"
ProjectGUID="{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}"
Keyword="AtlProj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="2"
UseOfATL="1"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="false"
TargetEnvironment="1"
GenerateStublessProxies="true"
TypeLibraryName="$(IntDir)/ASCPresentationEditor.tlb"
HeaderFileName="ASCPresentationEditor.h"
DLLDataFileName=""
InterfaceIdentifierFileName="ASCPresentationEditor_i.c"
ProxyFileName="ASCPresentationEditor_p.c"
ValidateParameters="false"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\ASCPresentationEditor;..\Common"
PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG;_USRDLL;_ATL_ATTRIBUTES;_USE_MATH_DEFINES;PPT_DEF;PPTX_DEF;_PRESENTATION_WRITER_;USE_ODF_FILE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="2"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1033"
AdditionalIncludeDirectories="$(IntDir)"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
RegisterOutput="true"
IgnoreImportLibrary="true"
LinkIncremental="2"
MergedIDLBaseFileName="_ASCPresentationEditor.idl"
GenerateDebugInformation="true"
SubSystem="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
Description="Performing registration"
CommandLine="regsvr32 /s /c &quot;$(TargetPath)&quot;"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="2"
UseOfATL="1"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="..\Redist\VersionControl.exe &quot;$(ProjectDir)\version.h&quot;"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="false"
TargetEnvironment="1"
GenerateStublessProxies="true"
TypeLibraryName="$(IntDir)/ASCPresentationEditor.tlb"
HeaderFileName="ASCPresentationEditor.h"
DLLDataFileName=""
InterfaceIdentifierFileName="ASCPresentationEditor_i.c"
ProxyFileName="ASCPresentationEditor_p.c"
ValidateParameters="false"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories="../ASCPresentationEditor;../Common;&quot;../DesktopEditor/freetype-2.5.2/include&quot;;&quot;../DesktopEditor/agg-2.4/include&quot;"
PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG;_USRDLL;_ATL_ATTRIBUTES;_USE_MATH_DEFINES;PPT_DEF;PPTX_DEF;_PRESENTATION_WRITER_;USE_ODF_FILE;_USE_LIBXML2_READER_;LIBXML_READER_ENABLED;USE_LITE_READER;_USE_XMLLITE_READER_"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="2"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"
AdditionalIncludeDirectories="$(IntDir)"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
RegisterOutput="true"
IgnoreImportLibrary="true"
LinkIncremental="1"
MergedIDLBaseFileName="_ASCPresentationEditor.idl"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
Description="Performing registration"
CommandLine="regsvr32 /s /c &quot;$(TargetPath)&quot;&#x0D;&#x0A;copy &quot;$(TargetPath)&quot; &quot;$(ProjectDir)..\Redist&quot;&#x0D;&#x0A;"
/>
</Configuration>
<Configuration
Name="ReleaseASC|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="2"
UseOfATL="1"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="..\..\..\Redist\VersionControl.exe &quot;$(ProjectDir)\version.h&quot;"
ExcludedFromBuild="true"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="false"
TargetEnvironment="1"
GenerateStublessProxies="true"
TypeLibraryName="$(IntDir)/ASCPresentationEditor.tlb"
HeaderFileName="ASCPresentationEditor.h"
DLLDataFileName=""
InterfaceIdentifierFileName="ASCPresentationEditor_i.c"
ProxyFileName="ASCPresentationEditor_p.c"
ValidateParameters="false"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories="..\ASCPresentationEditor;..\Common"
PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG;_USRDLL;_ATL_ATTRIBUTES"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="2"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG;ASCBUILD"
Culture="1033"
AdditionalIncludeDirectories="$(IntDir)"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
RegisterOutput="true"
IgnoreImportLibrary="true"
OutputFile="$(OutDir)\ASCPresentationEditor.dll"
LinkIncremental="1"
MergedIDLBaseFileName="_ASCPresentationEditor.idl"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
Description="Performing registration"
CommandLine="regsvr32 /s /c &quot;$(TargetPath)&quot;&#x0D;&#x0A;copy &quot;$(TargetPath)&quot; &quot;$(ProjectDir)..\..\..\..\ASC\Redist\ASCOfficeStudio&quot;&#x0D;&#x0A;"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\ASCPresentationEditor.cpp"
>
</File>
<File
RelativePath=".\stdafx.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
<FileConfiguration
Name="ReleaseASC|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Common\DocxFormat\Source\XML\stringcommon.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
RelativePath=".\ASCPresentationEditor.h"
>
</File>
<File
RelativePath=".\PPTStorage.h"
>
</File>
<File
RelativePath=".\Resource.h"
>
</File>
<File
RelativePath=".\stdafx.h"
>
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
<File
RelativePath=".\ASCPresentationEditor.rc"
>
</File>
<File
RelativePath=".\ASCPresentationEditor.rgs"
>
</File>
</Filter>
<Filter
Name="OfficeDrawing"
>
<File
RelativePath=".\OfficeDrawing\Animations.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Attributes.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\AudioOverlay.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Base.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Document.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Effects.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Element.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\ElementProperties.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Elements.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\OfficeDrawing\Elements.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Interactive.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Layout.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\OfficeDrawing\Layout.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Metric.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Slide.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\SlideShow.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Structures.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\SVGConverter.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\OfficeDrawing\SVGConverter.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\TextAttributesEx.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\OfficeDrawing\TextAttributesEx.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\TextStructures.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Theme.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\OfficeDrawing\Theme.h"
>
</File>
</Filter>
<Filter
Name="PPTXWriter"
>
<File
RelativePath=".\PPTXWriter\Converter.h"
>
</File>
<File
RelativePath=".\PPTXWriter\CSS.h"
>
</File>
<File
RelativePath=".\PPTXWriter\ImageManager.h"
>
</File>
<File
RelativePath=".\PPTXWriter\ShapeWriter.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\PPTXWriter\ShapeWriter.h"
>
</File>
<File
RelativePath=".\PPTXWriter\StylesWriter.h"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
#include "Metric.h" #include "Metric.h"
#include "Effects.h" #include "Effects.h"
#include "../../Common/DocxFormat/Source/XML/xmlutils.h" //#include "../../Common/DocxFormat/Source/XML/xmlutils.h"
#include "../../Common/ASCUtils.h" #include "../../Common/ASCUtils.h"
#include "./XmlWriter.h" #include "./XmlWriter.h"
...@@ -639,49 +639,6 @@ namespace NSPresentationEditor ...@@ -639,49 +639,6 @@ namespace NSPresentationEditor
RELEASEARRAYOBJECTS(DashPattern); RELEASEARRAYOBJECTS(DashPattern);
} }
public:
inline CString ToString()
{
if (0 == Count)
{
CString str = _T("");
str.Format(_T("<pen pen-color='%s' pen-alpha='%d' pen-size='%.6f' pen-style='%d' pen-line-start-cap='%d' pen-line-end-cap='%d' pen-line-join='%d'/>"),
Color.ToString(), Alpha, Size, DashStyle, LineStartCap, LineEndCap, LineJoin);
return str;
}
CString str = _T("");
str.Format(_T("<pen pen-color='%s' pen-alpha='%d' pen-size='%.6f' pen-style='%d' pen-line-start-cap='%d' pen-line-end-cap='%d' pen-line-join='%d' pen-dash-pattern-count='%d' dash-offset='%.2lf'>"),
Color.ToString(), Alpha, Size, DashStyle, LineStartCap, LineEndCap, LineJoin, Count, DashOffset);
str += _T("<dash-pattern>");
for (long i = 0; i < Count; ++i)
{
CString strMem = _T("");
strMem.Format(_T("<dash>%.2lf</dash>"), DashPattern[i]);
str += strMem;
}
str += _T("</dash-pattern></pen>");
return str;
}
inline CString ToXmlWriter(NSPresentationEditor::CXmlWriter* pWriter)
{
pWriter->WriteNodeBegin(_T("pen"), true);
pWriter->WriteAttributeString(_T("color"), Color.ToString());
pWriter->WriteAttributeLONG(_T("alpha"), Alpha);
pWriter->WriteAttributeDouble(_T("size"), Size);
pWriter->WriteAttributeDouble(_T("style"), (LONG)DashStyle);
pWriter->WriteAttributeDouble(_T("line-start-cap"), (LONG)LineStartCap);
pWriter->WriteAttributeDouble(_T("line-end-cap"), (LONG)LineEndCap);
pWriter->WriteAttributeDouble(_T("line-join"), (LONG)LineJoin);
pWriter->WriteNodeEnd(_T("pen"), true);
return CString(_T(""));
}
}; };
class CBrush class CBrush
...@@ -910,32 +867,6 @@ namespace NSPresentationEditor ...@@ -910,32 +867,6 @@ namespace NSPresentationEditor
} }
public: public:
inline CString ToString()
{
return _T("<brush brush-type='") + NSPresentationEditor::ToString(Type)
+ _T("' brush-color1='") + Color1.ToString() + _T("' brush-color2='") + Color2.ToString()
+ _T("' brush-alpha1='") + NSPresentationEditor::ToString(Alpha1) + _T("' brush-alpha2='") + NSPresentationEditor::ToString(Alpha2)
+ _T("' brush-texturepath='") + std_string2string(TexturePath) + _T("' brush-texturealpha='") + NSPresentationEditor::ToString(TextureAlpha)
+ _T("' brush-texturemode='") + NSPresentationEditor::ToString(TextureMode) + _T("' />");
}
inline CString ToXmlWriter(NSPresentationEditor::CXmlWriter* pWriter)
{
pWriter->WriteNodeBegin(_T("brush"), true);
pWriter->WriteAttributeLONG(_T("brush-type"), Type);
pWriter->WriteAttributeString(_T("brush-color1"), Color1.ToString());
pWriter->WriteAttributeString(_T("brush-color2"), Color2.ToString());
pWriter->WriteAttributeLONG(_T("brush-alpha1"), Alpha1);
pWriter->WriteAttributeLONG(_T("brush-alpha2"), Alpha2);
pWriter->WriteAttributeString(_T("brush-texturepath"), std_string2string(TexturePath));
pWriter->WriteAttributeDouble(_T("brush-texturealpha"), TextureAlpha);
pWriter->WriteAttributeDouble(_T("brush-texturemode"), TextureMode);
pWriter->WriteNodeEnd(_T("brush"), true);
return CString(_T(""));
}
}; };
class CFont class CFont
...@@ -1248,11 +1179,6 @@ namespace NSPresentationEditor ...@@ -1248,11 +1179,6 @@ namespace NSPresentationEditor
return (*this); return (*this);
} }
void ToXmlWriter(NSPresentationEditor::CXmlWriter* pWriter)
{
}
}; };
static void ParseString(CString strDelimeters, CString strSource, static void ParseString(CString strDelimeters, CString strSource,
......
...@@ -1357,29 +1357,7 @@ namespace NSPresentationEditor ...@@ -1357,29 +1357,7 @@ namespace NSPresentationEditor
#endif #endif
CString ToXml(CGeomShapeInfo& pGeomInfo, double dStartTime, double dEndTime, CPen& pPen, CBrush& pFore, CMetricInfo& pInfo, NSBaseShape::ClassType ClassType) CString ToXml(CGeomShapeInfo& pGeomInfo, double dStartTime, double dEndTime, CPen& pPen, CBrush& pFore, CMetricInfo& pInfo, NSBaseShape::ClassType ClassType)
{ {
CString strTimeLine = _T(""); return _T("");
strTimeLine.Format(_T("<timeline type='1' begin='%lf' end='%lf' fadein='0' fadeout='0' completeness='1.0'/>"), dStartTime, dEndTime);
CString strFill = _T("");
strFill.Format(_T(" stroke='%s' fill='%s' angle='%lf' flags='%d' bounds-left='%lf' bounds-top='%lf' bounds-right='%lf' bounds-bottom='%lf' widthmm='%d' heightmm='%d'>"),
NSPresentationEditor::BoolToString(m_bStroke), NSPresentationEditor::BoolToString(m_bFill),
pGeomInfo.m_dRotate, pGeomInfo.GetFlags(),
pGeomInfo.m_dLeft, pGeomInfo.m_dTop, pGeomInfo.m_dLeft + pGeomInfo.m_dWidth, pGeomInfo.m_dTop + pGeomInfo.m_dHeight,
pInfo.m_lMillimetresHor, pInfo.m_lMillimetresVer);
strFill += pPen.ToString();
if (m_bFill)
strFill += pFore.ToString();
CString strResult = _T("<ImagePaint-DrawGraphicPath") + strFill;
for (int nIndex = 0; nIndex < m_arSlices.size(); ++nIndex)
{
strResult += m_arSlices[nIndex].ToXml(pGeomInfo, width, height, ClassType);
}
strResult += strTimeLine;
strResult += _T("</ImagePaint-DrawGraphicPath>");
return strResult;
} }
void ToRenderer(CGraphicPath* pRenderer, CGeomShapeInfo& pGeomInfo, double dStartTime, double dEndTime, CPen& pPen, CBrush& pFore, CMetricInfo& pInfo, NSBaseShape::ClassType ClassType) void ToRenderer(CGraphicPath* pRenderer, CGeomShapeInfo& pGeomInfo, double dStartTime, double dEndTime, CPen& pPen, CBrush& pFore, CMetricInfo& pInfo, NSBaseShape::ClassType ClassType)
......
...@@ -3,8 +3,6 @@ ...@@ -3,8 +3,6 @@
#include "TextStructures.h" #include "TextStructures.h"
#if !defined(_WIN32) && !defined (_WIN64) #if !defined(_WIN32) && !defined (_WIN64)
//#include "./../../DesktopEditor/cximage/CxImage/ximadef.h"
//#include "../../ASCOfficePPTXFile/PPTXFormat/Logic/rectdef.h"
#include "../../DesktopEditor/graphics/aggplustypes.h" #include "../../DesktopEditor/graphics/aggplustypes.h"
#endif #endif
......
...@@ -200,181 +200,181 @@ namespace NSPresentationEditor ...@@ -200,181 +200,181 @@ namespace NSPresentationEditor
} }
}; };
class CXmlWriter //class CXmlWriter
{ //{
CStringWriter m_oWriter; // CStringWriter m_oWriter;
//
public: //public:
CXmlWriter() : m_oWriter() // CXmlWriter() : m_oWriter()
{ // {
} // }
//
inline CString GetXmlString() // inline CString GetXmlString()
{ // {
return m_oWriter.GetData(); // return m_oWriter.GetData();
} // }
// write value // // write value
AVSINLINE void WriteString(CString strValue) // AVSINLINE void WriteString(CString strValue)
{ // {
m_oWriter.WriteString(strValue); // m_oWriter.WriteString(strValue);
} // }
AVSINLINE void WriteDouble(const double& val) // AVSINLINE void WriteDouble(const double& val)
{ // {
CString str = _T(""); // CString str = _T("");
str.Format(_T("%lf"), val); // str.Format(_T("%lf"), val);
m_oWriter.WriteString(str); // m_oWriter.WriteString(str);
} // }
AVSINLINE void WriteLONG(const long& val) // AVSINLINE void WriteLONG(const long& val)
{ // {
CString str = _T(""); // CString str = _T("");
str.Format(_T("%d"), val); // str.Format(_T("%d"), val);
m_oWriter.WriteString(str); // m_oWriter.WriteString(str);
} // }
AVSINLINE void WriteDWORD(const DWORD& val) // AVSINLINE void WriteDWORD(const DWORD& val)
{ // {
CString str = _T(""); // CString str = _T("");
str.Format(_T("%u"), val); // str.Format(_T("%u"), val);
m_oWriter.WriteString(str); // m_oWriter.WriteString(str);
} // }
AVSINLINE void WriteDWORD_hex(const DWORD& val) // AVSINLINE void WriteDWORD_hex(const DWORD& val)
{ // {
CString str = _T(""); // CString str = _T("");
str.Format(_T("%x"), val); // str.Format(_T("%x"), val);
m_oWriter.WriteString(str); // m_oWriter.WriteString(str);
} // }
// write attribute // // write attribute
AVSINLINE void WriteAttributeString(const CString& strAttributeName, const CString& val) // AVSINLINE void WriteAttributeString(const CString& strAttributeName, const CString& val)
{ // {
m_oWriter.WriteString(g_bstr_node_space); // m_oWriter.WriteString(g_bstr_node_space);
m_oWriter.WriteString(strAttributeName); // m_oWriter.WriteString(strAttributeName);
m_oWriter.WriteString(g_bstr_node_equal); // m_oWriter.WriteString(g_bstr_node_equal);
m_oWriter.WriteString(g_bstr_node_quote); // m_oWriter.WriteString(g_bstr_node_quote);
m_oWriter.WriteString(val); // m_oWriter.WriteString(val);
m_oWriter.WriteString(g_bstr_node_quote); // m_oWriter.WriteString(g_bstr_node_quote);
} // }
AVSINLINE void WriteAttributeDouble(const CString& strAttributeName, const double& val) // AVSINLINE void WriteAttributeDouble(const CString& strAttributeName, const double& val)
{ // {
m_oWriter.WriteString(g_bstr_node_space); // m_oWriter.WriteString(g_bstr_node_space);
m_oWriter.WriteString(strAttributeName); // m_oWriter.WriteString(strAttributeName);
m_oWriter.WriteString(g_bstr_node_equal); // m_oWriter.WriteString(g_bstr_node_equal);
m_oWriter.WriteString(g_bstr_node_quote); // m_oWriter.WriteString(g_bstr_node_quote);
WriteDouble(val); // WriteDouble(val);
m_oWriter.WriteString(g_bstr_node_quote); // m_oWriter.WriteString(g_bstr_node_quote);
} // }
AVSINLINE void WriteAttributeLONG(const CString& strAttributeName, const LONG& val) // AVSINLINE void WriteAttributeLONG(const CString& strAttributeName, const LONG& val)
{ // {
m_oWriter.WriteString(g_bstr_node_space); // m_oWriter.WriteString(g_bstr_node_space);
m_oWriter.WriteString(strAttributeName); // m_oWriter.WriteString(strAttributeName);
m_oWriter.WriteString(g_bstr_node_equal); // m_oWriter.WriteString(g_bstr_node_equal);
m_oWriter.WriteString(g_bstr_node_quote); // m_oWriter.WriteString(g_bstr_node_quote);
WriteLONG(val); // WriteLONG(val);
m_oWriter.WriteString(g_bstr_node_quote); // m_oWriter.WriteString(g_bstr_node_quote);
} // }
AVSINLINE void WriteAttributeDWORD(const CString& strAttributeName, const DWORD& val) // AVSINLINE void WriteAttributeDWORD(const CString& strAttributeName, const DWORD& val)
{ // {
m_oWriter.WriteString(g_bstr_node_space); // m_oWriter.WriteString(g_bstr_node_space);
m_oWriter.WriteString(strAttributeName); // m_oWriter.WriteString(strAttributeName);
m_oWriter.WriteString(g_bstr_node_equal); // m_oWriter.WriteString(g_bstr_node_equal);
m_oWriter.WriteString(g_bstr_node_quote); // m_oWriter.WriteString(g_bstr_node_quote);
WriteDWORD(val); // WriteDWORD(val);
m_oWriter.WriteString(g_bstr_node_quote); // m_oWriter.WriteString(g_bstr_node_quote);
} // }
AVSINLINE void WriteAttributeDWORD_hex(const CString& strAttributeName, const DWORD& val) // AVSINLINE void WriteAttributeDWORD_hex(const CString& strAttributeName, const DWORD& val)
{ // {
m_oWriter.WriteString(g_bstr_node_space); // m_oWriter.WriteString(g_bstr_node_space);
m_oWriter.WriteString(strAttributeName); // m_oWriter.WriteString(strAttributeName);
m_oWriter.WriteString(g_bstr_node_equal); // m_oWriter.WriteString(g_bstr_node_equal);
m_oWriter.WriteString(g_bstr_node_quote); // m_oWriter.WriteString(g_bstr_node_quote);
WriteDWORD_hex(val); // WriteDWORD_hex(val);
m_oWriter.WriteString(g_bstr_node_quote); // m_oWriter.WriteString(g_bstr_node_quote);
} // }
// document methods // // document methods
AVSINLINE void WriteNodeBegin(CString strNodeName, bool bAttributed = false) // AVSINLINE void WriteNodeBegin(CString strNodeName, bool bAttributed = false)
{ // {
m_oWriter.WriteString(g_bstr_nodeopen); // m_oWriter.WriteString(g_bstr_nodeopen);
m_oWriter.WriteString(strNodeName); // m_oWriter.WriteString(strNodeName);
//
if (!bAttributed) // if (!bAttributed)
m_oWriter.WriteString(g_bstr_nodeclose); // m_oWriter.WriteString(g_bstr_nodeclose);
} // }
AVSINLINE void WriteNodeEnd(CString strNodeName, bool bEmptyNode = false, bool bEndNode = true) // AVSINLINE void WriteNodeEnd(CString strNodeName, bool bEmptyNode = false, bool bEndNode = true)
{ // {
if (bEmptyNode) // if (bEmptyNode)
{ // {
if (bEndNode) // if (bEndNode)
m_oWriter.WriteString(g_bstr_nodeclose_slash); // m_oWriter.WriteString(g_bstr_nodeclose_slash);
else // else
m_oWriter.WriteString(g_bstr_nodeclose); // m_oWriter.WriteString(g_bstr_nodeclose);
} // }
else // else
{ // {
m_oWriter.WriteString(g_bstr_nodeopen_slash); // m_oWriter.WriteString(g_bstr_nodeopen_slash);
m_oWriter.WriteString(strNodeName); // m_oWriter.WriteString(strNodeName);
m_oWriter.WriteString(g_bstr_nodeclose); // m_oWriter.WriteString(g_bstr_nodeclose);
} // }
} // }
// write node values // // write node values
AVSINLINE void WriteNodeValueString(const CString& strNodeName, const CString& val) // AVSINLINE void WriteNodeValueString(const CString& strNodeName, const CString& val)
{ // {
WriteNodeBegin(strNodeName); // WriteNodeBegin(strNodeName);
WriteString(val); // WriteString(val);
WriteNodeEnd(strNodeName); // WriteNodeEnd(strNodeName);
} // }
AVSINLINE void WriteNodeValueBool(const CString& strNodeName, const bool& val) // AVSINLINE void WriteNodeValueBool(const CString& strNodeName, const bool& val)
{ // {
WriteNodeBegin(strNodeName); // WriteNodeBegin(strNodeName);
//
if (val) // if (val)
WriteString(_T("1")); // WriteString(_T("1"));
else // else
WriteString(_T("0")); // WriteString(_T("0"));
WriteNodeEnd(strNodeName); // WriteNodeEnd(strNodeName);
} // }
AVSINLINE void WriteNodeValueDouble(const CString& strNodeName, const double& val) // AVSINLINE void WriteNodeValueDouble(const CString& strNodeName, const double& val)
{ // {
WriteNodeBegin(strNodeName); // WriteNodeBegin(strNodeName);
WriteDouble(val); // WriteDouble(val);
WriteNodeEnd(strNodeName); // WriteNodeEnd(strNodeName);
} // }
AVSINLINE void WriteNodeValueLONG(const CString& strNodeName, const LONG& val) // AVSINLINE void WriteNodeValueLONG(const CString& strNodeName, const LONG& val)
{ // {
WriteNodeBegin(strNodeName); // WriteNodeBegin(strNodeName);
WriteLONG(val); // WriteLONG(val);
WriteNodeEnd(strNodeName); // WriteNodeEnd(strNodeName);
} // }
AVSINLINE void WriteNodeValueDWORD(const CString& strNodeName, const DWORD& val) // AVSINLINE void WriteNodeValueDWORD(const CString& strNodeName, const DWORD& val)
{ // {
WriteNodeBegin(strNodeName); // WriteNodeBegin(strNodeName);
WriteDWORD(val); // WriteDWORD(val);
WriteNodeEnd(strNodeName); // WriteNodeEnd(strNodeName);
} // }
AVSINLINE void WriteNodeValueDWORD_hex(const CString& strNodeName, const DWORD& val) // AVSINLINE void WriteNodeValueDWORD_hex(const CString& strNodeName, const DWORD& val)
{ // {
WriteNodeBegin(strNodeName); // WriteNodeBegin(strNodeName);
WriteDWORD_hex(val); // WriteDWORD_hex(val);
WriteNodeEnd(strNodeName); // WriteNodeEnd(strNodeName);
} // }
//
bool SaveToFile(CString strFilePath, bool bEncodingToUTF8 = false) // bool SaveToFile(CString strFilePath, bool bEncodingToUTF8 = false)
{ // {
CString strData = m_oWriter.GetData(); // CString strData = m_oWriter.GetData();
if (!bEncodingToUTF8) // if (!bEncodingToUTF8)
{ // {
CFile oFile; // CFile oFile;
oFile.CreateFile(strFilePath); // oFile.CreateFile(strFilePath);
oFile.WriteFile((void*)strData.GetBuffer(), strData.GetLength()); // oFile.WriteFile((void*)strData.GetBuffer(), strData.GetLength());
oFile.CloseFile(); // oFile.CloseFile();
} // }
else // else
{ // {
CDirectory::SaveToFile(strFilePath, strData); // CDirectory::SaveToFile(strFilePath, strData);
} // }
//
return true; // return true;
} // }
}; //};
} }
#pragma once
#include "../Common/ShareMemArray.h"
namespace NSPresentationEditor
{
//
#define ISID_DEFAULT 0x0000 //
#define ISID_PPTSTATUSSTORAGE 0x0001 //
#define ISID_PPTINFOSTORAGE 0x0002 //
static long AVS_OFFICESTUDIO_FILE_UNKNOWN = 0x0000;
static long AVS_OFFICESTUDIO_FILE_PRESENTATION = 0x0080;
static long AVS_OFFICESTUDIO_FILE_PRESENTATION_PPTX = 0x0081;
static long AVS_OFFICESTUDIO_FILE_PRESENTATION_PPT = 0x0082;
static long AVS_OFFICESTUDIO_FILE_PRESENTATION_ODP = 0x0083;
namespace NSStrings
{
static CString ConvertCStringWToCString(CStringW& strW)
{
BSTR bstr = strW.AllocSysString();
CString str(bstr);
SysFreeString(bstr);
return str;
}
static CStringW GetCStringWFromUTF8( BYTE* pBuffer, LONG64 lCount )
{
LONG64 lLenght = 0;
CStringW strRes = L"";
for (LONG lIndex = 0; lIndex < lCount; ++lIndex)
{
if (0x00 == (0x80 & pBuffer[lIndex]))
{
strRes += (WCHAR)pBuffer[lIndex];
continue;
}
else if (0x00 == (0x20 & pBuffer[lIndex]))
{
WCHAR mem = (WCHAR)(((pBuffer[lIndex] & 0x1F) << 6) + (pBuffer[lIndex + 1] & 0x3F));
strRes += mem;
lIndex += 1;
}
else if (0x00 == (0x10 & pBuffer[lIndex]))
{
WCHAR mem = (WCHAR)(((pBuffer[lIndex] & 0x0F) << 12) + ((pBuffer[lIndex + 1] & 0x3F) << 6) + (pBuffer[lIndex + 2] & 0x3F));
strRes += mem;
lIndex += 2;
}
}
return strRes;
}
static CString GetCStringFromUTF8( BYTE* pBuffer, LONG64 lCount )
{
CStringW strRes = GetCStringWFromUTF8(pBuffer, lCount);
return ConvertCStringWToCString(strRes);
}
};
// PPT-
enum PPTStatus {STIF_ERROR, STIF_AVAILABLE, STIF_CREATING, STIF_BROKEN};
enum StringCoding
{
scASCII = 0,
scUNICODE = 1,
scUTF8 = 2
};
//
struct SPPTStatusStorage
{
PPTStatus m_sStatus; //
//
LONG m_nProgress; //
LONG64 m_lLength; //
SPPTStatusStorage()
{
Reset();
}
void Reset()
{
//
m_sStatus = STIF_ERROR; //
//
m_nProgress = 0;
m_lLength = 0; //
}
};
struct SPPTInfoStorage
{
LONG m_lCount;
CString m_strTempDirectory;
CString m_strXml; //
SPPTInfoStorage()
{
Reset();
}
~SPPTInfoStorage()
{
}
void Reset()
{
m_lCount = 0;
m_strTempDirectory = _T("");
m_strXml = _T("");
}
CString SetXml(BYTE* pBuffer, LONG lBytesCount)
{
CString strXml((WCHAR*)pBuffer, lBytesCount / sizeof(WCHAR));
return strXml;
}
void Save(BYTE* pBuffer)
{
if (NULL == pBuffer)
return;
BYTE* pData = pBuffer;
*((LONG*)pData) = m_lCount;
pData += sizeof(LONG);
LONG lLenTemp = m_strTempDirectory.GetLength();
*((LONG*)pData) = lLenTemp;
pData += sizeof(LONG);
size_t lSizeTemp = ((size_t)lLenTemp) * sizeof(WCHAR);
memcpy(pData, m_strTempDirectory.GetBuffer(), lSizeTemp);
pData += lSizeTemp;
memcpy(pData, (BYTE*)m_strXml.GetBuffer(), m_strXml.GetLength() * sizeof(WCHAR));
}
LONG64 GetLength()
{
LONG64 lRes = 2 * sizeof(LONG);
lRes += (m_strTempDirectory.GetLength() * sizeof(WCHAR));
lRes += (m_strXml.GetLength() * sizeof(WCHAR));
return lRes;
}
void Load(BYTE* pBuffer, LONG64 lLength)
{
BYTE* pData = pBuffer;
m_lCount = *((LONG*)pData);
pData += sizeof(LONG);
LONG lLenTemp = *((LONG*)pData);
pData += sizeof(LONG);
CStringW strTemp((WCHAR*)pData, lLenTemp);
m_strTempDirectory = strTemp;
pData += lLenTemp * sizeof(WCHAR);
LONG lXmlSize = (LONG)(lLength - (pData - pBuffer));
CStringW strW((WCHAR*)pData, lXmlSize / sizeof(WCHAR));
m_strXml = strW;
}
};
//
class CStatusStorage: public CShareMemArray<BYTE>
{
protected:
bool ReadStruct_unsync(SPPTStatusStorage *aData) // unsync
{
__try
{
SPPTStatusStorage *pTable = (SPPTStatusStorage *) ( (BYTE *)m_pArray + sizeof(LONG64)); // sizeof(LONG64) -
memcpy(aData, pTable, sizeof(SPPTStatusStorage));
}
__except(EXCEPTION_IN_PAGE_ERROR == GetExceptionCode() ? EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH)
{
// Failed to read from the view.
ATLTRACE2("CStatusStorage::ReadStruct_unsync() fails!\n");
return false;
}
return true;
}
bool WriteStruct_unsync(SPPTStatusStorage *aData) // unsync
{
__try
{
SPPTStatusStorage *pTable = (SPPTStatusStorage *) ( (BYTE *)m_pArray + sizeof(LONG64)); // sizeof(LONG64) -
memcpy(pTable, aData, sizeof(SPPTStatusStorage));
}
__except(EXCEPTION_IN_PAGE_ERROR == GetExceptionCode() ? EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH)
{
// Failed to read from the view.
ATLTRACE2("CStatusStorage::ReadStruct_unsync() fails!\n");
return false;
}
return true;
}
public:
bool ReadStruct(SPPTStatusStorage *aData)
{
CSynchAccess oAccess = m_hAccessMutex;
return ReadStruct_unsync(aData);
}
bool WriteStruct(SPPTStatusStorage *aData)
{
CSynchAccess oAccess = m_hAccessMutex;
return WriteStruct_unsync(aData);
}
public:
// (bForceControl - , )
// *bForceControl == true -
bool GetStatus(bool *bForceControl, SPPTStatusStorage* aIS)
{
bool bTryToForceControl = bForceControl && (*bForceControl);
if (NULL == aIS) return false;
if (bForceControl) *bForceControl = false; //
// :)
CSynchAccess oAccess = m_hAccessMutex;
if (!ReadStruct_unsync(aIS)) return false; //
if ((STIF_BROKEN == aIS->m_sStatus) || (STIF_ERROR == aIS->m_sStatus))
{
// - , ( )
if (bTryToForceControl)
{
//
aIS->Reset();
aIS->m_sStatus = STIF_CREATING;
*bForceControl = WriteStruct_unsync(aIS); // ,
}
}
return true;
}
// , .
bool SetBroken()
{
CSynchAccess oAccess = m_hAccessMutex;
SPPTStatusStorage sStor;
sStor.m_sStatus = STIF_BROKEN;
// -
return WriteStruct_unsync(&sStor);
}
// ( )
void Progress(double aProgress)
{
CSynchAccess oAccess = m_hAccessMutex;
SPPTStatusStorage sStor;
ReadStruct_unsync(&sStor);
sStor.m_nProgress = aProgress;
WriteStruct_unsync(&sStor);
}
//
double Progress()
{
CSynchAccess oAccess = m_hAccessMutex;
SPPTStatusStorage sStor;
ReadStruct_unsync( &sStor );
return sStor.m_nProgress;
}
private:
//
bool Save(std::vector<BYTE> &aTable)
{
return false;
}
bool Load(std::vector<BYTE> &aTable)
{
return false;
}
public:
CStatusStorage(CString &aFileName):
CShareMemArray(aFileName, sizeof(SPPTStatusStorage), ISID_PPTSTATUSSTORAGE)
{
//ATLTRACE2("CStatusStorage created;\n");
};
~CStatusStorage()
{
//ATLTRACE2("CStatusStorage destroyed;\n");
};
};
//
class CInfoStorage: public CShareMemArray<BYTE>
{
protected:
bool ReadStruct_unsync(SPPTInfoStorage *aData) // unsync
{
__try
{
LONG64 lLength = Size();
aData->Load((BYTE*)m_pArray + sizeof(LONG64), lLength); // sizeof(LONG64) -
}
__except(EXCEPTION_IN_PAGE_ERROR == GetExceptionCode() ? EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH)
{
// Failed to read from the view.
ATLTRACE2("CStatusStorage::ReadStruct_unsync() fails!\n");
return false;
}
return true;
}
bool WriteStruct_unsync(SPPTInfoStorage *aData) // unsync
{
__try
{
LONG64 *pSize = (LONG64*)m_pArray;
*pSize = m_nSize;
aData->Save((BYTE*)m_pArray + sizeof(LONG64)); // sizeof(LONG64) -
}
__except(EXCEPTION_IN_PAGE_ERROR == GetExceptionCode() ? EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH)
{
// Failed to read from the view.
ATLTRACE2("CStatusStorage::ReadStruct_unsync() fails!\n");
return false;
}
return true;
}
public:
bool ReadStruct(SPPTInfoStorage *aData)
{
CSynchAccess oAccess = m_hAccessMutex;
return ReadStruct_unsync(aData);
}
bool WriteStruct(SPPTInfoStorage *aData)
{
CSynchAccess oAccess = m_hAccessMutex;
return WriteStruct_unsync(aData);
}
bool WriteCount(SPPTInfoStorage *aData)
{
__try
{
BYTE* pData = (BYTE*)m_pArray + sizeof(LONG64);
*((LONG*)pData) = aData->m_lCount;
}
__except(EXCEPTION_IN_PAGE_ERROR == GetExceptionCode() ? EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH)
{
// Failed to read from the view.
ATLTRACE2("CStatusStorage::ReadStruct_unsync() fails!\n");
return false;
}
return true;
}
private:
//
bool Save(std::vector<BYTE> &aTable)
{
return false;
}
bool Load(std::vector<BYTE> &aTable)
{
return false;
}
public:
CInfoStorage(CString &aFileName, LONG64 lSize):
CShareMemArray(aFileName, lSize, ISID_PPTINFOSTORAGE)
{
//ATLTRACE2("CStatusStorage created;\n");
};
~CInfoStorage()
{
//ATLTRACE2("CStatusStorage destroyed;\n");
};
};
}
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by ASCPresentationEditor.rc
//
#define IDS_PROJNAME 100
#define IDR_ASCPRESENTATIONEDITOR 101
#define IDB_XML_NOTESTHEME 201
#define IDB_XML_NOTESMASTER 202
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 301
#define _APS_NEXT_COMMAND_VALUE 32768
#define _APS_NEXT_CONTROL_VALUE 201
#define _APS_NEXT_SYMED_VALUE 102
#endif
#endif
<Presentation xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<Themes>
<Theme>
<Colors>
.color1 { color: #000000; }
.color2 { color: #00FF00; }
</Colors>
<Fonts>
<Font name="Arial" charset="0x00" monospace="0" panose="0000000000"/>
<Font name="Times New Roman" charset="0x00" monospace="0" panose="0000000000"/>
</Fonts>
<TextStyles>
<Style type="0">
.s0_level1 { font-family: Times New Roman; font-size: 19px; }
.s0_level2 { font-family: Times New Roman; font-size: 25px; }
</Style>
<Style type="1">
.s1_level1 { font-family: Times New Roman; font-size: 19px; }
.s1_level2 { font-family: Times New Roman; font-size: 25px; }
.s1_level3 { font-family: Times New Roman; font-size: 64px; }
</Style>
</TextStyles>
<Background>
<g>
<path style="fill:#ffffff;fill-opacity:1.00;fill-rule:nonzero;stroke:#000000;stroke-width:1px;stroke-opacity:1" d="M 0,0 L 0,720 L 960,720 L 960,0 Z"/>
</g>
</Background>
<Elements>
<g>
<path style="fill:#ffffff;fill-opacity:1.00;fill-rule:nonzero;stroke:#000000;stroke-width:1px;stroke-opacity:1" d="M 0,0 L 0,720 L 960,720 L 960,0 Z"/>
</g>
<g>
<path style="fill:#ffffff;fill-opacity:1.00;fill-rule:nonzero;stroke:#000000;stroke-width:1px;stroke-opacity:1" d="M 0,0 L 0,720 L 960,720 L 960,0 Z"/>
<path style="fill:#ffffff;fill-opacity:1.00;fill-rule:nonzero;stroke:#000000;stroke-width:1px;stroke-opacity:1" d="M 0,0 L 0,720 L 960,720 L 960,0 Z"/>
</g>
</Elements>
<Layouts>
<Layout>
<Background>
<g>
<path style="fill:#ffffff;fill-opacity:1.00;fill-rule:nonzero;stroke:#000000;stroke-width:1px;stroke-opacity:1" d="M 0,0 L 0,720 L 960,720 L 960,0 Z"/>
</g>
</Background>
<Elements>
<g>
<path style="fill:#ffffff;fill-opacity:1.00;fill-rule:nonzero;stroke:#000000;stroke-width:1px;stroke-opacity:1" d="M 0,0 L 0,720 L 960,720 L 960,0 Z"/>
</g>
<g>
<path style="fill:#ffffff;fill-opacity:1.00;fill-rule:nonzero;stroke:#000000;stroke-width:1px;stroke-opacity:1" d="M 0,0 L 0,720 L 960,720 L 960,0 Z"/>
<path style="fill:#ffffff;fill-opacity:1.00;fill-rule:nonzero;stroke:#000000;stroke-width:1px;stroke-opacity:1" d="M 0,0 L 0,720 L 960,720 L 960,0 Z"/>
</g>
</Elements>
<Placeholders>
<Placeholder id="0" type="title" bounds="10 10 80 10"/>
<Placeholder id="1" type="subtitle" bounds="10 10 80 10"/>
</Placeholders>
</Layout>
</Layouts>
</Theme>
</Themes>
<Slide color="16777215" duration="30000.000000" width="956" height="718" transition="0" transition-speed="0.00" themeid="0" layoutid="0" usethemeobjects="1">
<Background>
<g>
<path style="fill:#ffffff;fill-opacity:1.00;fill-rule:nonzero;stroke:#000000;stroke-width:1px;stroke-opacity:1" d="M 0,0 L 0,720 L 960,720 L 960,0 Z"/>
</g>
</Background>
<Element type="shape" id="1000" layoutid="1" phid="1" phtype="subtitle" left="12" top="25" width="500" height="164" angle="0">
<Interactive/>
<Animations/>
<g>
<path style="fill:#ffffff;fill-opacity:1.00;fill-rule:nonzero;stroke:#000000;stroke-width:1px;stroke-opacity:1" d="M 0,0 L 0,720 L 960,720 L 960,0 Z "/>
</g>
</Element>
<Element type="image" id="1001" layoutid="-1" phid="-1" phtype="" left="64" top="174" width="500" height="164" angle="0">
<g>
<path style="fill:#ffffff;fill-opacity:1.00;fill-rule:nonzero;stroke:#000000;stroke-width:1px;stroke-opacity:1" d="M 0,0 L 0,720 L 960,720 L 960,0 Z "/>
</g>
</Element>
<Element type="text" id="1002" layoutid="0" phid="0" phtype="title" left="12" top="25" width="500" height="164" angle="0">
<body>
<p class="color1 s1_level2" style="padding: 0px;margin-top:0px;margin-bottom:0px;text-align: center;font-family: Arial;margin-left: 0px;">
<span style="font-size: 44pt;color: #000000;font-family: Arial;">AVS Karaoke Tools</span>
</p>
</body>
</Element>
</Slide>
</Presentation>
\ No newline at end of file
// stdafx.cpp : source file that includes just the standard includes
// AVSOfficeEditor.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information
#include "stdafx.h"
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently,
// but are changed infrequently
#pragma once
#ifndef STRICT
#define STRICT
#endif
// Modify the following defines if you have to target a platform prior to the ones specified below.
// Refer to MSDN for the latest info on corresponding values for different platforms.
#ifndef WINVER // Allow use of features specific to Windows XP or later.
#define WINVER 0x0501 // Change this to the appropriate value to target other versions of Windows.
#endif
#ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later.
#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows.
#endif
#ifndef _WIN32_WINDOWS // Allow use of features specific to Windows 98 or later.
#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
#endif
#ifndef _WIN32_IE // Allow use of features specific to IE 6.0 or later.
#define _WIN32_IE 0x0600 // Change this to the appropriate value to target other versions of IE.
#endif
#define _ATL_APARTMENT_THREADED
#define _ATL_NO_AUTOMATIC_NAMESPACE
#define _CRT_SECURE_NO_WARNINGS
#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit
#include <atlbase.h>
#include <atlcom.h>
#include <atlwin.h>
#include <atltypes.h>
#include <atlctl.h>
#include <atlhost.h>
#include <atlcoll.h>
using namespace ATL;
#include <gdiplus.h>
#pragma comment(lib, "gdiplus.lib")
#include <math.h>
#include "../Common/OfficeFileTemplate.h"
#include "../DesktopEditor/graphics/IRenderer.h"
#include "../ASCImageStudio3/ASCGraphics/Interfaces/ASCRenderer.h"
#import "../Redist/ASCMediaCore3.dll" named_guids rename_namespace("MediaCore"), exclude("tagRECT")
#import "../Redist/ASCImageFile3.dll" named_guids rename_namespace("ImageFile")
#import "../Redist/ASCGraphics.dll" named_guids rename_namespace("ASCGraphics"), raw_interfaces_only, exclude("IASCRenderer")
#import "../Redist/ASCHTMLRenderer.dll" named_guids rename_namespace("HTMLRenderer"), raw_interfaces_only, exclude("IASCRenderer")
#import "../Redist/ASCOfficePPTFile.dll" named_guids rename_namespace("PPTFile"), raw_interfaces_only, exclude("IAVSOfficeFileTemplate", "_IAVSOfficeFileTemplateEvents", "_IAVSOfficeFileTemplateEvents2", "IAVSOfficeFile")
#import "../Redist/ASCOfficeDocxFile2.dll" named_guids rename_namespace("PPTXFile"), raw_interfaces_only, exclude("IAVSOfficeFileTemplate", "_IAVSOfficeFileTemplateEvents", "_IAVSOfficeFileTemplateEvents2", "IAVSOfficeFile")
#import "../Redist/ASCOfficePDFWriter.dll" named_guids rename_namespace("PDFFile"), raw_interfaces_only, exclude("IASCRenderer")
#ifdef USE_ODF_FILE
# import "../Redist/ASCOfficeOdfFile.dll" named_guids raw_interfaces_only rename_namespace("ODFFile"), exclude("IAVSOfficeFileTemplate", "_IAVSOfficeFileTemplateEvents", "_IAVSOfficeFileTemplateEvents2", "IAVSOfficeFile")
#endif
\ No newline at end of file
#pragma once
//1
//0
//1
//153
#define INTVER 1,0,1,153
#define STRVER "1,0,1,153\0"
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment