paint method
Paints this render object into the given context at offset.
Implementation
@override
void paint(PaintingContext context, Offset offset) {
_ensureStylesCached();
final int x = offset.x;
final int y = offset.y;
final int w = size!.width;
final TextStyle selectedBg = _cachedSelectedBg!;
final TextStyle normalBg = _cachedNormalBg!;
final TextStyle selectedEnabled = _cachedSelectedEnabledFg!;
final TextStyle selectedDisabled = _cachedSelectedDisabledFg!;
final TextStyle normalEnabled = _cachedNormalEnabledFg!;
final TextStyle normalDisabled = _cachedNormalDisabledFg!;
final int itemsLength = _items.length;
for (int i = 0; i < itemsLength; i++) {
final DropdownMenuItem<T> item = _items[i];
final bool isSelected = i == _selectedIndex;
final TextStyle bgStyle = isSelected ? selectedBg : normalBg;
final TextStyle fgBgStyle = isSelected
? (item.enabled ? selectedEnabled : selectedDisabled)
: (item.enabled ? normalEnabled : normalDisabled);
context.fillBackground(x, y + i, w, bgStyle);
final String prefix = isSelected ? '> ' : ' ';
context.writeString(x, y + i, prefix, fgBgStyle);
context.writeString(x + 2, y + i, item.label, fgBgStyle);
}
}