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


C++ ArgumentParser::remove方法代码示例

本文整理汇总了C++中osg::ArgumentParser::remove方法的典型用法代码示例。如果您正苦于以下问题:C++ ArgumentParser::remove方法的具体用法?C++ ArgumentParser::remove怎么用?C++ ArgumentParser::remove使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在osg::ArgumentParser的用法示例。


在下文中一共展示了ArgumentParser::remove方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: OECefApp

CefRefPtr<BrowserClient> CefHelper::load(osg::ArgumentParser& args, const std::string& htmlFile)
{
    // Initialize CEF
    CefMainArgs cef_args;
    CefRefPtr<CefApp> cef_app = new OECefApp();

    int exitCode = CefExecuteProcess(cef_args, cef_app, 0L);
    if (exitCode >= 0)
    {
        return 0L;
    }

    {
        CefSettings settings;

        if (getenv("CEF_RESOURCES_DIR") != 0)
            CefString(&settings.resources_dir_path) = getenv("CEF_RESOURCES_DIR");
        
        if (getenv("CEF_LOCALES_DIR") != 0)
            CefString(&settings.locales_dir_path) = getenv("CEF_LOCALES_DIR");

        settings.windowless_rendering_enabled = true;

        bool result = CefInitialize(cef_args, settings, cef_app, 0L);
        if (!result)
        {
            OE_WARN << LC << "CefInitialize failed." << std::endl;
            return 0L;
        }
    }


    // Read in the html file if needed
    std::string url = "";
    if (htmlFile.length() > 0)
    {
      url = htmlFile;
    }
    else
    {
        if (!args.read("--url", url))
        {
            for( int i=0; i<args.argc(); ++i )
            {
                if ( osgDB::getLowerCaseFileExtension(args[i]) == "html" )
                {
                    url = args[i];
                    args.remove(i);
                    break;
                }
            }
        }
    }
    // No file specified, try the default index.html
    if (url.length() == 0)
        url = osgDB::getRealPath("index.html");

    // No file specified and index.html does not exist so exit
    if (url.length() == 0)
    {
        OE_WARN << LC << "No html file specified, exiting..." << std::endl;
        return 0L;
    }

    // A file or url was specified so get the full address
    std::string fullPath = osgDB::containsServerAddress(url) ? url : osgDB::getRealPath(url);


    // Setup a CompositeViewer
    osg::ref_ptr<osgViewer::CompositeViewer> viewer = new osgViewer::CompositeViewer(args);
    viewer->setThreadingModel(osgViewer::Viewer::SingleThreaded);

    // prevents "ESC" from killing the application
    viewer->setKeyEventSetsDone( 0 );
    viewer->setQuitEventSetsDone( false );
    

    // Create the BrowserClient
    CefRefPtr<BrowserClient> browserClient = new BrowserClient(viewer.get(), fullPath, 1024, 768);


    return browserClient;
}
开发者ID:Ezio47,项目名称:osgearth-cef,代码行数:83,代码来源:CefHelper.cpp


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