Example #1
0
void UIRendererD3D11::render()
{
	auto root = gui::UIManager::instance().root();
	if (root)
	{
		renderWidget(std::move(root));
	}
}
void SdlManager::update()
{
	SDL_Event event;

	unsigned long subscriberCount = subscriberList.size();

	//Handle events on queue
	while(SDL_PollEvent(&event) != 0)
	{
		for(unsigned long subscriberIndex = 0; subscriberIndex < subscriberCount; subscriberIndex++)
			subscriberList[subscriberIndex]->handleEvent(event);

		for(unsigned long widgetIndex = 0; widgetIndex < widgetCount[WL_INTERACTIVE]; ++widgetIndex)
			widgetList[WL_INTERACTIVE][widgetIndex]->handleEvent(event);
	} // end event handler loop

	// Clear screen
	SDL_SetRenderDrawColor( renderer, 0xFF, 0xFF, 0xFF, 0xFF );
	SDL_RenderClear( renderer );
	SDL_SetRenderDrawColor( renderer, 0x00, 0x00, 0x00, 0x00 );

	// Render everything to renderTexture
	for(int layerIndex = 0; layerIndex < WL_COUNT; layerIndex ++)
		for(int widgetIndex = 0; widgetIndex < widgetCount[layerIndex]; ++widgetIndex)
			renderWidget(widgetList[layerIndex][widgetIndex]);

	// Copy render texture and update screen
	SDL_RenderPresent( renderer );

	// Update frame rate display
	frameCount ++;
	if(timer != time(0))
	{
		timer = time(0);

		std::stringstream ss;
		ss << (frameCount) << " fps";
		fpsCounter->setText(ss.str());

		frameCount = 0;
	}

	// Waste time until the next frame starts
	// Disabling wait for more fps - SB 10.29.14
	wait();
}
Example #3
0
void UIRendererD3D11::renderWidget(gui::WidgetPtr_T widget)
{
	if (!widget->isVisible()) return;

	if (widget->getType() == gui::LabelType)
	{
		renderLabel(std::move(std::static_pointer_cast<gui::Label>(widget)));
	}
	else if (widget->getType() == gui::OverlayType)
	{
		// TODO: implement
	}
	
	std::for_each(widget->getChildren().cbegin(), widget->getChildren().cend(), [&](gui::WidgetWeakPtr_T ptr)
	{
		if (!ptr.expired())
			renderWidget(std::move(ptr.lock()));
	});
}
void LightbulbHSWidget::postWidget( QString nRow1, int r1Presence, QString nRow2, int r2Presence, QString nRow3, int r3Presence, QString nRow4,
                                    int r4Presence, int unreadCount, int presence, bool showGlobalUnreadCnt, bool showStatus, QString accountIcon )
{
    bool needToRender;
    if (row1 != nRow1) {
        row1 = nRow1;
        needToRender = true;
    }

    if (row1presence != r1Presence) {
        row1presence = r1Presence;
        needToRender = true;
    }

    if (row2 != nRow2) {
        row2 = nRow2;
        needToRender = true;
    }

    if (row2presence != r2Presence) {
        row2presence = r2Presence;
        needToRender = true;
    }

    if (row3 != nRow3) {
        row3 = nRow3;
        needToRender = true;
    }
    if (row3presence != r3Presence) {
        row3presence = r3Presence;
        needToRender = true;
    }

    if (row4 != nRow4) {
        row4 = nRow4;
        needToRender = true;
    }

    if (row4presence != r4Presence) {
        row4presence = r4Presence;
        needToRender = true;
    }

    if (mPresence != presence) {
        mPresence = presence;
        needToRender = true;
    }

    if (unreadMsgCount != unreadCount) {
        unreadMsgCount = unreadCount;
        needToRender = true;
    }

    if (showGlobalUnreadCount != showGlobalUnreadCnt) {
        showGlobalUnreadCount = showGlobalUnreadCnt;
        if (unreadCount > 0) needToRender = true;
    }

    if (showMyPresence != showStatus) {
        showMyPresence = showStatus;
        needToRender = true;
    }

    if (accountsIcon != accountIcon) {
        accountsIcon = accountIcon;
         if (!showMyPresence) icon_account = new QSvgRenderer(QString(":/accounts/" + accountIcon));
        needToRender = true;
    }

    if (needToRender) {
        qDebug() << "LightbulbHSWidget::postWidget(): widget data changed. Rendering.";
        renderWidget();
    }

}