public override bool Paint(Writeable writeContext) { for (int i = 0; i < writeContext.Width; i++) { for (int j = 0; j < writeContext.Height; j++) { writeContext.SetGlyph(j, i, Fill); } } return(true); }
public override bool Paint(Writeable writeContext) { if (!Dirty) { return(false); } int width = writeContext.Width; int fill = width * ResourceMeter.CurrentValue / ResourceMeter.MaxCapacity; int cap = width * ResourceMeter.CurrentCapacity / ResourceMeter.MaxCapacity; writeContext.Clear(); for (int i = 0; i < cap; i++) { writeContext.SetGlyph(0, i, new Glyph(i < Label.Length ? (Characters)Label[i] : Characters.SPACE, _fillColor.Inverted(), i < fill ? _fillColor : _capacityColor)); } Dirty = false; return(true); }