protected override void OnDrawItem(DrawItemEventArgs e) { if (e.Index != -1) { IResourceRenderer renderer = Items[e.Index] as IResourceRenderer; Brush brush = null; if (e.Index % 2 == 0) { brush = evenBrush; } else { brush = oddBrush; } if ((e.State & DrawItemState.Selected) == DrawItemState.Selected) { // using ( LinearGradientBrush lgbr = new LinearGradientBrush( new Point( 0, e.Bounds.Y - 1), new Point( 0, e.Bounds.Bottom ),Color.White, Color.Red ) ) using (LinearGradientBrush lgbr = new LinearGradientBrush(new Point(e.Bounds.X - 1, 0), new Point(e.Bounds.Right, 0), Color.White, Color.Blue)) e.Graphics.FillRectangle(lgbr, e.Bounds); } else { e.Graphics.FillRectangle(brush, e.Bounds); } e.Graphics.DrawImage(renderer.RenderContent, e.Bounds.X + 3, e.Bounds.Y); } }
void IWorldLoaded.WorldLoaded(World w, WorldRenderer wr) { worldRenderer = wr; resourceRenderer = w.WorldActor.TraitsImplementing <IResourceRenderer>() .Single(r => info.Types.Overlaps(r.ResourceTypes)); }