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); } }
/************************************************************************* 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); } }
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); } }
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); }