void draw(gcn::Graphics *gcnGraphics) { if (!mListModel) return; SkillModel* model = static_cast<SkillModel*>(mListModel); updateAlpha(); Graphics *graphics = static_cast<Graphics*>(gcnGraphics); graphics->setColor(Theme::getThemeColor(Theme::HIGHLIGHT, (int) (mAlpha * 255.0f))); graphics->setFont(getFont()); // Draw filled rectangle around the selected list element if (mSelected >= 0) { graphics->fillRectangle(gcn::Rectangle(0, getRowHeight() * mSelected, getWidth(), getRowHeight())); } // Draw the list elements graphics->setColor(Theme::getThemeColor(Theme::TEXT)); for (int i = 0, y = 1; i < model->getNumberOfElements(); ++i, y += getRowHeight()) { SkillInfo *e = model->getSkillAt(i); if (e) { e->draw(graphics, y, getWidth()); } } }