protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); if (fWords == null || fModel == null) { return; } IEnumerable <Word> wordsToRedraw = fModel.GetWordsInArea(e.ClipRectangle); using (Graphics graphics = e.Graphics) using (ICloudRenderer graphicEngine = new GdiRenderer(graphics, Font.FontFamily, FontStyle.Regular, fPalette, MinFontSize, MaxFontSize, fMinWordWeight, fMaxWordWeight)) { foreach (Word word in wordsToRedraw) { if (word.IsExposed) { graphicEngine.Draw(word, (fItemUnderMouse == word)); } } } }