void ArrayCtrl::onRenderColumnHeaders(GFXSurface *sfc, Point2I offset, Point2I parentOffset, Point2I headerDim) { if (mbBoarder) { RectI cellR(offset.x + headerDim.x, parentOffset.y, offset.x + extent.x, parentOffset.y + headerDim.y); sfc->drawRect2d_f(&cellR, boarderColor); } }
void ArrayCtrl::onRenderCell(GFXSurface *sfc, Point2I offset, Point2I cell, bool selected, bool mouseOver) { int color = cell.x + cell.y; if(selected) color = 255; else if(mouseOver) color = 0; RectI cellR(offset.x, offset.y, offset.x + cellSize.x, offset.y + cellSize.y); sfc->drawRect2d_f(&cellR, color); }
//------------------------------------------------------------------------------ void GuiPopupTextListCtrl::onRenderCell(Point2I offset, Point2I cell, bool selected, bool mouseOver) { Point2I size; getCellSize( size ); // Render a background color for the cell if ( mouseOver ) { RectI cellR( offset.x, offset.y, size.x, size.y ); GFX->getDrawUtil()->drawRectFill( cellR, mProfile->mFillColorHL ); } else if ( selected ) { RectI cellR( offset.x, offset.y, size.x, size.y ); GFX->getDrawUtil()->drawRectFill( cellR, mProfile->mFillColorSEL ); } // Define the default x offset for the text U32 textXOffset = offset.x + mProfile->mTextOffset.x; // Do we also draw a colored box beside the text? ColorI boxColor; bool drawbox = mPopUpCtrl->getColoredBox( boxColor, mList[cell.y].id); if(drawbox) { Point2I coloredboxsize(15,10); RectI r(offset.x + mProfile->mTextOffset.x, offset.y+2, coloredboxsize.x, coloredboxsize.y); GFX->getDrawUtil()->drawRectFill( r, boxColor); GFX->getDrawUtil()->drawRect( r, ColorI(0,0,0)); textXOffset += coloredboxsize.x + mProfile->mTextOffset.x; } ColorI fontColor; mPopUpCtrl->getFontColor( fontColor, mList[cell.y].id, selected, mouseOver ); GFX->getDrawUtil()->setBitmapModulation( fontColor ); //GFX->drawText( mFont, Point2I( offset.x + 4, offset.y ), mList[cell.y].text ); // Get the number of columns in the cell S32 colcount = getColumnCount(mList[cell.y].text, "\t"); // Are there two or more columns? if(colcount >= 2) { char buff[256]; // Draw the first column getColumn(mList[cell.y].text, buff, 0, "\t"); GFX->getDrawUtil()->drawText( mFont, Point2I( textXOffset, offset.y ), buff ); // Used mTextOffset as a margin for the text list rather than the hard coded value of '4'. // Draw the second column to the right getColumn(mList[cell.y].text, buff, 1, "\t"); S32 txt_w = mFont->getStrWidth(buff); GFX->getDrawUtil()->drawText( mFont, Point2I( offset.x+size.x-mProfile->mTextOffset.x-txt_w, offset.y ), buff ); // Used mTextOffset as a margin for the text list rather than the hard coded value of '4'. } else { GFX->getDrawUtil()->drawText( mFont, Point2I( textXOffset, offset.y ), mList[cell.y].text ); // Used mTextOffset as a margin for the text list rather than the hard coded value of '4'. } }