本文整理汇总了C++中Doc::Delete方法的典型用法代码示例。如果您正苦于以下问题:C++ Doc::Delete方法的具体用法?C++ Doc::Delete怎么用?C++ Doc::Delete使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Doc
的用法示例。
在下文中一共展示了Doc::Delete方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CreateFromFile
Doc Doc::CreateFromFile(const WCHAR *filePath)
{
Doc doc;
if (EpubDoc::IsSupportedFile(filePath))
doc = Doc(EpubDoc::CreateFromFile(filePath));
else if (Fb2Doc::IsSupportedFile(filePath))
doc = Doc(Fb2Doc::CreateFromFile(filePath));
else if (MobiDoc::IsSupportedFile(filePath)) {
doc = Doc(MobiDoc::CreateFromFile(filePath));
// MobiDoc is also used for loading PalmDoc - don't expose that to Doc users, though
if (doc.mobiDoc && doc.mobiDoc->GetDocType() != Pdb_Mobipocket) {
doc.Delete();
// .prc files can be both MobiDoc or PalmDoc
if (PalmDoc::IsSupportedFile(filePath))
doc = Doc(PalmDoc::CreateFromFile(filePath));
}
}
else if (PalmDoc::IsSupportedFile(filePath))
doc = Doc(PalmDoc::CreateFromFile(filePath));
// if failed to load and more specific error message hasn't been
// set above, set a generic error message
if (doc.IsNone()) {
CrashIf(doc.error);
doc.error = Error_Unknown;
doc.filePath.Set(str::Dup(filePath));
}
else {
CrashIf(!Doc::IsSupportedFile(filePath));
}
CrashIf(!doc.generic && !doc.IsNone());
return doc;
}
示例2: Run
virtual void Run() {
doc = Doc::CreateFromFile(fileName);
// don't load PalmDoc, etc. files as long as they're not correctly formatted
if (doc.AsMobi() && Pdb_Mobipocket != doc.AsMobi()->GetDocType())
doc.Delete();
// let uitask clean up this thread
uitask::Post(this);
}
示例3: BenchEbookLayout
// this is to compare the time it takes to layout a whole ebook file
// using different text measurement method (since the time is mostly
// dominated by text measure)
void BenchEbookLayout(const WCHAR *filePath) {
bool deleteLog = false;
if (!gLog) {
gLog = new slog::StderrLogger();
deleteLog = true;
}
logbench(L"Starting: %s", filePath);
if (!file::Exists(filePath)) {
logbench(L"Error: file doesn't exist");
return;
}
if (!Doc::IsSupportedFile(filePath)) {
logbench(L"Error: not an ebook file");
return;
}
Timer t;
Doc doc = Doc::CreateFromFile(filePath);
if (doc.LoadingFailed()) {
logbench(L"Error: failed to load the file as doc");
doc.Delete();
return;
}
double timeMs = t.Stop();
logbench(L"load: %.2f ms", timeMs);
int nPages = TimeOneMethod(doc, TextRenderMethodGdi, L"gdi ");
TimeOneMethod(doc, TextRenderMethodGdiplus, L"gdi+ ");
TimeOneMethod(doc, TextRenderMethodGdiplusQuick, L"gdi+ quick");
// do it twice because the first run is very unfair to the first version that runs
// (probably because of font caching)
TimeOneMethod(doc, TextRenderMethodGdi, L"gdi ");
TimeOneMethod(doc, TextRenderMethodGdiplus, L"gdi+ ");
TimeOneMethod(doc, TextRenderMethodGdiplusQuick, L"gdi+ quick");
doc.Delete();
logbench(L"pages: %d", nPages);
if (deleteLog) {
delete gLog;
}
}
示例4: Run
virtual void Run() {
//lf(L"ThreadLoadEbook::Run(%s)", fileName);
Timer t(true);
doc = Doc::CreateFromFile(fileName);
double loadingTimeMs = t.GetTimeInMs();
lf(L"Loaded %s in %.2f ms", fileName, loadingTimeMs);
// don't load PalmDoc, etc. files as long as they're not correctly formatted
if (doc.AsMobi() && Pdb_Mobipocket != doc.AsMobi()->GetDocType())
doc.Delete();
// let uitask clean up this thread
uitask::Post(this);
}
示例5: Run
void ThreadLoadEbook::Run()
{
//lf(L"ThreadLoadEbook::Run(%s)", fileName);
Timer t(true);
Doc doc = Doc::CreateFromFile(fileName);
double loadingTimeMs = t.GetTimeInMs();
//lf(L"Loaded %s in %.2f ms", fileName, t.GetTimeInMs());
// don't load PalmDoc, etc. files as long as they're not correctly formatted
if (doc.AsMobi() && Pdb_Mobipocket != doc.AsMobi()->GetDocType())
doc.Delete();
uitask::Post(new FinishedEbookLoadingTask(win, doc));
}
示例6: Run
void ThreadLoadEbook::Run()
{
//lf(L"ThreadLoadEbook::Run(%s)", fileName);
Timer t(true);
Doc doc = Doc::CreateFromFile(fileName);
// TODO: even under heavy load, Doc::CreateFromFile doesn't take more
// than 50ms - any reason not to synchronously load ebooks?
double loadingTimeMs = t.GetTimeInMs();
lf(L"Loaded %s in %.2f ms", fileName, loadingTimeMs);
// don't load PalmDoc, etc. files as long as they're not correctly formatted
if (doc.AsMobi() && Pdb_Mobipocket != doc.AsMobi()->GetDocType())
doc.Delete();
uitask::Post(new FinishedEbookLoadingTask(win, doc));
}
示例7: Run
void ThreadLoadEbook::Run()
{
//lf(_T("ThreadLoadEbook::Run(%s)"), fileName);
Timer t(true);
Doc doc = Doc::CreateFromFile(fileName);
double loadingTimeMs = t.GetTimeInMs();
//lf(_T("Loaded %s in %.2f ms"), fileName, t.GetTimeInMs());
// don't load PalmDoc, etc. files as long as they're not correctly formatted
if (doc.AsMobi() && Pdb_Mobipocket != doc.AsMobi()->GetDocType())
doc.Delete();
UiMsg *msg = new UiMsg(UiMsg::FinishedMobiLoading);
msg->finishedMobiLoading.doc = new Doc(doc);
msg->finishedMobiLoading.fileName = fileName;
msg->finishedMobiLoading.win = win;
fileName = NULL;
uimsg::Post(msg);
}