예제 #1
0
        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);
        }
예제 #2
0
        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);
        }