Ejemplo n.º 1
0
void  TxGuiRenderer::addQuad(const xsgui::Rect& dest_rect, float z, const xsgui::Texture* tex, const xsgui::Rect& texture_rect, const xsgui::ColourRect& colours,xsgui::QuadSplitMode quad_split_mode)
{
	updateDisplayArea();
	// if not queuing, render directly (as in, right now!)
	if (!d_queueing)
	{
		renderQuadDirect(dest_rect, z, tex, texture_rect, colours, quad_split_mode);
	}
	else
	{
		QuadInfo quad;
		quad.position			= dest_rect;
		/*quad.position.d_bottom	= d_display_area.d_bottom - dest_rect.d_bottom;
		quad.position.d_top		= d_display_area.d_bottom - dest_rect.d_top;*/
		quad.z					= z;
		quad.pTexture			= ((TxGuiTexture*)tex)->m_pTexture;
		quad.texPosition		= texture_rect;
		quad.topLeftCol		= colourToRe(colours.d_top_left);
		quad.topRightCol	= colourToRe(colours.d_top_right);
		quad.bottomLeftCol	= colourToRe(colours.d_bottom_left);
		quad.bottomRightCol	= colourToRe(colours.d_bottom_right);

		// set quad split mode
		quad.splitMode = quad_split_mode;

		d_quadlist.insert(quad);
	}

}
Ejemplo n.º 2
0
/*************************************************************************
	add's a quad to the list to be rendered
*************************************************************************/
void DirectX9Renderer::addQuad(const Rect& dest_rect, float z, const Texture* tex, const Rect& texture_rect, const ColourRect& colours, QuadSplitMode quad_split_mode)
{
	// if not queueing, render directly (as in, right now!)
	if (!d_queueing)
	{
		renderQuadDirect(dest_rect, z, tex, texture_rect, colours, quad_split_mode);
	}
	else
	{
		QuadInfo quad;

		quad.position		= dest_rect;
		quad.z				= z;
		quad.texture		= ((DirectX9Texture*)tex)->getD3DTexture();
		quad.texPosition	= texture_rect;
		quad.topLeftCol		= colours.d_top_left.getARGB();
		quad.topRightCol	= colours.d_top_right.getARGB();
		quad.bottomLeftCol	= colours.d_bottom_left.getARGB();
		quad.bottomRightCol	= colours.d_bottom_right.getARGB();

		// offset destination to get correct texel to pixel mapping from Direct3D
		quad.position.offset(Point(-0.5f, -0.5f));

        // set quad split mode
        quad.splitMode = quad_split_mode;

		d_quadlist.insert(quad);
	}

}
Ejemplo n.º 3
0
void GuiRenderer::addQuad( const CEGUI::Rect& dest_rect, float z, const CEGUI::Texture* tex, const CEGUI::Rect& texture_rect, const CEGUI::ColourRect& colours, CEGUI::QuadSplitMode quad_split_mode )
{
    // if not queuing, render directly (as in, right now!)
    if (!_queueing)
    {
        renderQuadDirect(dest_rect, z, tex, texture_rect, colours, quad_split_mode);
    }
    else
    {
        QuadInfo quad;
        quad.position           = dest_rect;
        quad.position.d_bottom  = _display_area.d_bottom - dest_rect.d_bottom;
        quad.position.d_top     = _display_area.d_bottom - dest_rect.d_top;
        quad.z                  = z;
        quad.texid              = ((GuiTexture*)tex)->getOGLTexid();
        quad.texPosition        = texture_rect;
        quad.topLeftCol         = colourToOGL(colours.d_top_left);
        quad.topRightCol        = colourToOGL(colours.d_top_right);
        quad.bottomLeftCol      = colourToOGL(colours.d_bottom_left);
        quad.bottomRightCol     = colourToOGL(colours.d_bottom_right);

        // set quad split mode
        quad.splitMode = quad_split_mode;

        _quadlist.insert(quad);
    }
}
Ejemplo n.º 4
0
void  TxGuiRenderer::addQuadDirect(const xsgui::Rect& dest_rect, float z, const xsgui::Texture* tex, const xsgui::Rect& texture_rect, const xsgui::ColourRect& colours,xsgui::QuadSplitMode quad_split_mode)
{
	updateDisplayArea();
	renderQuadDirect(dest_rect, z, tex, texture_rect, colours, quad_split_mode);
}