private Tag GetNextTag(WeightedWord weightedWord, int minWeight, int maxWeight) { var fontSize = GetFontSize(weightedWord.Weight, minWeight, maxWeight); var font = new Font(FontFamily.GenericSerif, fontSize); var frameSize = TextRenderer.MeasureText(weightedWord.Word, font); var frame = cloudLayouter.PutNextRectangle(frameSize); return new Tag(weightedWord.Word, frame, font); }
private Tag GetNextTag(WeightedWord weightedWord, int minWeight, int maxWeight) { var fontSize = GetFontSize(weightedWord.Weight, minWeight, maxWeight); var font = new Font(fontSettings.FontFamily, fontSize); var frameSize = TextRenderer.MeasureText(weightedWord.Word, font); var frame = rectangleLayouter.PutNextRectangle(frameSize); return(new Tag(weightedWord.Word, frame, font)); }
private WordElementBuilder BuildWord(UnifiedNode wordResult, IEnumerable <GetWeightedWordsForTreeResult> weightedWordResultsForThisBuilder) { WordElementBuilder wordBuilder = FlexData.Word.BuilderOfType((FlexData.WordType)wordResult.WordType); wordBuilder.FlexDB_ID = (int)wordResult.ID; BuildWordLayersOf(wordBuilder, wordResult); if (weightedWordResultsForThisBuilder.Count().Equals(1)) { wordBuilder.WordSource = new SingleWordSource(weightedWordResultsForThisBuilder.Single().Text); } else { GetWeightedWordsForTreeResult defaultWeightedWordResult = weightedWordResultsForThisBuilder.Single(weightedWordResult => wordResult.DefaultWeightedWord.Equals(weightedWordResult.ID)); WeightedWord defaultWeightedWord = new WeightedWord(defaultWeightedWordResult.Text, defaultWeightedWordResult.Weight); IEnumerable <WeightedWord> alternateWeightedWords = weightedWordResultsForThisBuilder .Where(weightedWordResult => weightedWordResult != defaultWeightedWordResult) .Select(weightedWordResult => new WeightedWord(weightedWordResult.Text, weightedWordResult.Weight)); wordBuilder.WordSource = new WordSelector(defaultWeightedWord, alternateWeightedWords); } return(wordBuilder); }