示例#1
0
void CListBoxRenderer::RenderLayers( const kmMat4 &parentTransform ) const
{
    CBaseRenderer::RenderLayers(parentTransform);

    CListBox *listbox = static_cast<CListBox*>(m_pWindow);
    BEATS_ASSERT(listbox != nullptr);

    kmVec3 pos;
    kmVec3Fill(&pos,  listbox->RealPos().x, listbox->RealPos().y, 0.f);

    const std::vector<TString> strVec = listbox->GetStringList();

    kmScalar padding = listbox->GetPadding();
    pos.y += padding;

    kmScalar height = listbox->GetItemHeight();
    for(size_t i = 0; i < strVec.size(); ++i)
    {
        const TString &str = strVec[i];
        listbox->GetFontFace()->RenderText(str, pos.x + padding, pos.y + i * height, 
            0x000000FF, &parentTransform);
    }
}