コード例 #1
0
 private IEnumerable<Block> ContinousBuild(IEnumerable<Word> words, WordRenderer renderer, Graphics g) 
     => from word in words
        let sz = renderer.CalculateSize(word, g)
        let region = new RectangleF(g.VisibleClipBounds.Location, g.VisibleClipBounds.Size - sz)
        select new Block(_r.RandomPoint(region), sz) {Data = word};
コード例 #2
0
 private static IEnumerable<Block> BuildBlocks(IEnumerable<Word> words, WordRenderer renderer, Graphics g)
 {
     // ReSharper disable once LoopCanBeConvertedToQuery
     foreach (var word in words)
     {
         var sz = renderer.CalculateSize(word, g);
         if (sz.Width > g.VisibleClipBounds.Width || sz.Height > g.VisibleClipBounds.Height)
             continue;
         yield return new Block(new PointF(-sz.Width, -sz.Height), sz) { Data = word };
     }
 }