当前位置: 首页>>代码示例>>C++>>正文


C++ Doc::Delete方法代码示例

本文整理汇总了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;
}
开发者ID:singandfly,项目名称:sumatrapdf,代码行数:33,代码来源:Doc.cpp

示例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);
 }
开发者ID:azaleafisitania,项目名称:sumatrapdf,代码行数:8,代码来源:EbookController.cpp

示例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;
    }
}
开发者ID:Andy-Amoy,项目名称:sumatrapdf,代码行数:45,代码来源:StressTesting.cpp

示例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);
 }
开发者ID:Jshauk,项目名称:sumatrapdf,代码行数:12,代码来源:EbookController.cpp

示例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));
}
开发者ID:Jens1970,项目名称:sumatrapdf,代码行数:14,代码来源:EbookController.cpp

示例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));
}
开发者ID:Erls-Corporation,项目名称:SumatraPDF-2.2.1,代码行数:16,代码来源:EbookController.cpp

示例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);
}
开发者ID:,项目名称:,代码行数:19,代码来源:


注:本文中的Doc::Delete方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。