本文整理汇总了C++中WindowPtr类的典型用法代码示例。如果您正苦于以下问题:C++ WindowPtr类的具体用法?C++ WindowPtr怎么用?C++ WindowPtr使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了WindowPtr类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: EventCallbackPtr
void
Statistic::realize() {
Transform::realize();
WindowPtr myWindow = boost::static_pointer_cast<spark::Window>(getRoot());
StatisticPtr ptr = boost::static_pointer_cast<Statistic>(shared_from_this());
spark::EventCallbackPtr myFrameCB = EventCallbackPtr(new StatisticCB(ptr, &Statistic::onFrame));
myWindow->addEventListener(StageEvent::FRAME, myFrameCB);
int myStatisticHeight = 0;
ContainerPtr myContainer = boost::static_pointer_cast<spark::Container>(shared_from_this());
ComponentPtr myCreated = SparkComponentFactory::get().loadSparkComponentsFromString(myContainer->getApp(),
"<Text name=\"fps\" y=\"-10\" maxWidth=\"0\" z=\"100\" text=\"fps:\" height=\"-16\" color=\"[1.0,0.0,0.0, 1.0]\" fontsize=\"16\"/>");
myContainer->addChild(myCreated);
_myFPSText = boost::static_pointer_cast<spark::Text>(myCreated);
myCreated = SparkComponentFactory::get().loadSparkComponentsFromString(myContainer->getApp(),
"<Text name=\"memory_usage\" y=\"-30\" z=\"100\" maxWidth=\"0\" text=\"memory:\" height=\"-16\" color=\"[1.0,0.0,0.0, 1.0]\" fontsize=\"16\"/>");
myContainer->addChild(myCreated);
_myMemoryText = boost::static_pointer_cast<spark::Text>(myCreated);
myStatisticHeight += _myFPSText->getTextSize()[1];
myCreated = SparkComponentFactory::get().loadSparkComponentsFromString(myContainer->getApp(),
"<Text name=\"battery_level\" y=\"-50\" z=\"100\" maxWidth=\"0\" text=\"memory:\" height=\"-16\" color=\"[1.0,0.0,0.0, 1.0]\" fontsize=\"16\"/>");
myContainer->addChild(myCreated);
_myBatteryLevelText = boost::static_pointer_cast<spark::Text>(myCreated);
myStatisticHeight += _myFPSText->getTextSize()[1];
setY(myWindow->getSize()[1] - myStatisticHeight);
setX(10);
}
示例2: renderWindow
void Canvas::renderWindow(WindowPtr pWindow, MCFBOPtr pFBO, const IntRect& viewport)
{
GLContext* pContext = pWindow->getGLContext();
pContext->activate();
GLContextManager::get()->uploadDataForContext();
renderFX(pContext);
glm::mat4 projMat;
if (pFBO) {
pFBO->activate(pContext);
glm::vec2 size = m_pRootNode->getSize();
projMat = glm::ortho(0.f, size.x, 0.f, size.y);
glViewport(0, 0, GLsizei(size.x), GLsizei(size.y));
} else {
glproc::BindFramebuffer(GL_FRAMEBUFFER, 0);
projMat = glm::ortho(float(viewport.tl.x), float(viewport.br.x),
float(viewport.br.y), float(viewport.tl.y));
IntPoint windowSize = pWindow->getSize();
glViewport(0, 0, windowSize.x, windowSize.y);
}
{
ScopeTimer Timer(VATransferProfilingZone);
m_pVertexArray->update(pContext);
}
clearGLBuffers(GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT | GL_DEPTH_BUFFER_BIT,
!pFBO);
GLContext::checkError("Canvas::renderWindow: glViewport()");
m_pVertexArray->activate(pContext);
{
ScopeTimer timer(RootRenderProfilingZone);
m_pRootNode->maybeRender(pContext, projMat);
}
renderOutlines(pContext, projMat);
}
示例3: main
int main(int argc, char** argv)
{
css::CSSStyleSheet defaultStyleSheet;
Document document;
// Load the default CSS file
if (1 < argc) {
std::ifstream stream(argv[1]);
if (!stream) {
std::cerr << "error: cannot open " << argv[1] << ".\n";
return EXIT_FAILURE;
}
defaultStyleSheet = loadStyleSheet(stream);
getDOMImplementation()->setDefaultStyleSheet(defaultStyleSheet);
}
document = loadDocument(htmlDocument);
assert(document);
// create the default view
WindowPtr window = std::make_shared<WindowImp>();
window->setDocument(std::static_pointer_cast<bootstrap::DocumentImp>(document.self()));
ViewCSSImp* view = new ViewCSSImp(window);
view->constructComputedStyles();
view->calculateComputedStyles();
printComputedValues(document, view);
std::cout << "done.\n";
return 0;
}
示例4: createAsTexture
TexturePtr LinearGradient::createAsTexture(int width, int height)
{
const float w = static_cast<float>(width);
const float h = static_cast<float>(height);
const float sa = std::abs(std::sin(-angle_ / 180.0f * static_cast<float>(M_PI)));
const float ca = std::abs(std::cos(-angle_ / 180.0f * static_cast<float>(M_PI)));
//const float length = std::min(ca < FLT_EPSILON ? FLT_MAX : width / ca, sa < FLT_EPSILON ? FLT_MAX : height / sa);
//const float length = std::min(ca < FLT_EPSILON ? w : 2.0f * ca * w, sa < FLT_EPSILON ? h : 2.0f * sa * h);
WindowPtr wnd = WindowManager::getMainWindow();
CameraPtr cam = std::make_shared<Camera>("ortho_lg", 0, width, 0, height);
auto grad = createRenderable();
grad->setCamera(cam);
grad->setScale(ca < FLT_EPSILON ? w : 2.0f * w / ca, sa < FLT_EPSILON ? h : 2.0f * h / sa);
grad->setPosition(w/2.0f, h/2.0f);
RenderTargetPtr rt = RenderTarget::create(width, height);
rt->getTexture()->setFiltering(-1, Texture::Filtering::LINEAR, Texture::Filtering::LINEAR, Texture::Filtering::POINT);
rt->getTexture()->setAddressModes(-1, Texture::AddressMode::CLAMP, Texture::AddressMode::CLAMP);
rt->setCentre(Blittable::Centre::TOP_LEFT);
rt->setClearColor(Color(0,0,0,0));
{
RenderTarget::RenderScope rs(rt, rect(0, 0, width, height));
grad->preRender(wnd);
wnd->render(grad.get());
}
return rt->getTexture();
}
示例5: throw
void
SpinnerDialog::set_busy(bool busy) throw()
{
WindowPtr window = get_window();
if (0 == window)
{
return;
}
switch (busy)
{
case true:
{
Gdk::Cursor cursor(Gdk::WATCH);
window->set_cursor(cursor);
spinner_.start();
break;
}
case false:
{
window->set_cursor();
spinner_.stop();
break;
}
}
}
示例6: _ptr
Window2D::Window2D(WindowPtr ptr) : _ptr(ptr)
{
_rend = SDL_CreateRenderer(_ptr->getSDLWindow(), -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
Image img(glm::ivec2(ptr->getWidth(), ptr->getHeight()));
SDL_SetRenderDrawColor(_rend, 0, 255, 255, 255);
SDL_RenderClear(_rend);
}
示例7: windowDestroyed
bool WindowManager::windowDestroyed(WindowPtr window)
{
if(mWindows.count(window->getName()) > 0) {
fireWindowEvent(WindowEvent::CLOSE, window->getWindowHandle());
mWindows.erase(window->getName());
return true;
}
return false;
}
示例8: createWindow
void WindowManager::createWindow(WindowPtr wnd)
{
wnd->createWindow();
// Add a weak_ptr to our window to the list of id versus windows.
get_window_list()[wnd->getWindowID()] = wnd;
// We consider the first window created the main one.
if(get_main_window().lock() == nullptr) {
get_main_window() = wnd;
}
}
示例9: preRender
void MainCanvas::renderTree()
{
preRender();
DisplayEngine* pDisplayEngine = getPlayer()->getDisplayEngine();
unsigned numWindows = pDisplayEngine->getNumWindows();
for (unsigned i=0; i<numWindows; ++i) {
ScopeTimer Timer(RootRenderProfilingZone);
WindowPtr pWindow = pDisplayEngine->getWindow(i);
IntRect viewport = pWindow->getViewport();
renderWindow(pWindow, MCFBOPtr(), viewport);
}
GLContextManager::get()->reset();
}
示例10: throw
WindowPtr WindowManager::FindWindow(LPCTSTR pszWindowName) throw()
{
// check root window
WindowPtr spWindow = m_spRootWindow;
if (spWindow->GetAttr(WindowAttr::Name) == pszWindowName)
return spWindow;
// since the root window is a Panel, ask it
std::shared_ptr<Panel> spPanel = std::dynamic_pointer_cast<Panel, Window>(spWindow);
ATLASSERT(spPanel != NULL);
return spPanel->FindByName(pszWindowName);
}
示例11: setWindow
void Canvas::setWindow(WindowPtr wnd)
{
window_ = wnd;
if(wnd) {
if(size_change_key_ >= 0) {
wnd->registerSizeChangeObserver(size_change_key_, [this](int w, int h) {
this->setDimensions(w, h);
});
} else {
size_change_key_ = wnd->registerSizeChangeObserver([this](int w, int h) {
this->setDimensions(w, h);
});
}
}
}
示例12: _createWindowQmlItem
void DisplayGroupRenderer::_createWindowQmlItem(WindowPtr window)
{
const auto& id = window->getID();
auto sync = _context.provider.createSynchronizer(*window, _context.view);
_windowItems[id].reset(
new WindowRenderer(std::move(sync), std::move(window),
*_displayGroupItem, _qmlContext.get()));
}
示例13: display
// redraw the window
void display(void)
{
WindowPtr win = mgr->getWindow();
//mgr->redraw();
win->activate();
win->frameInit();
//RenderAction *rAct = (RenderAction*)mgr->getAction();
if (multipass)
{
RenderAction *rAct = RenderAction::create();
fbo_vp->setParent(win);
rAct->setWindow(get_pointer(win));
fbo_vp->render(rAct);
fbo_vp->setParent(NullFC);
delete rAct;
//multipass = false;
}
win->getPort(0)->render(dynamic_cast<RenderAction *>(mgr->getAction()));
//win->renderAllViewports(rAct);
win->swap();
win->frameExit();
win->deactivate();
}
示例14: aproassert1
WindowPtr RenderingAPI::createWindow(const String& windowname, uint32_t width, uint32_t height, bool fullscreen)
{
aproassert1(width != 0 && height != 0 && !windowname.isEmpty());
APRO_THREADSAFE_AUTOLOCK
// Call the implementation to create the Window object.
WindowPtr retwin = _createWindowImpl(windowname, width, height, fullscreen);
if(!retwin) {
aprodebug("Couldn't create Appropriate Window !");
return WindowPtr::Null;
}
renderingtargets.append(retwin);
retwin->setActivated(false); // This should be activated when Window::show() is called.
return retwin;
}
示例15: glutGet
void
display(void)
{
Matrix m1, m2;
m1.setRotate( tball.getRotation() );
m2.setTranslate( tball.getPosition() );
m1.mult( m2 );
cam_trans->editSFMatrix()->setValue( m1 );
// move the object
float t = glutGet(GLUT_ELAPSED_TIME);
Quaternion q;
q.setValueAsAxisDeg(0, 1, 0, t / 5000);
m1.setTransform(Vec3f(osgsin(t / 500.), 0, osgcos(t / 500)), q);
tr->setMatrix(m1);
if ( doRender )
win->render( ract );
else
win->draw( dact );
}