private void AppendSubstring(RenderedString rs, string @string, Font initialFont, ColourRect initialColours) { var rstc = new RenderedStringTextComponent(@string, initialFont); if (initialColours != null) { rstc.SetColours(initialColours); } rs.AppendComponent(rstc); }
public void CreateRenderGeometryAndAddToItemView(ItemView view, RenderedString renderedString, Rectf drawRect, Font font, Rectf?itemClipper, bool isSelected) { if (view.GetSelectionBrushImage() != null && isSelected) { var renderSettings = new ImageRenderSettings(drawRect, itemClipper, true, view.GetSelectionColourRect()); var brushGeomBuffers = view.GetSelectionBrushImage().CreateRenderGeometry(renderSettings); view.AppendGeometryBuffers(brushGeomBuffers); } var drawPos = drawRect.Position; for (var i = 0; i < renderedString.GetLineCount(); ++i) { drawPos.Y += CoordConverter.AlignToPixels((font.GetLineSpacing() - font.GetFontHeight()) * 0.5f); var stringGeomBuffers = renderedString.CreateRenderGeometry(view, i, drawPos, null, itemClipper, 0.0f); view.AppendGeometryBuffers(stringGeomBuffers); drawPos.Y += renderedString.GetPixelSize(view, i).Height; } }
public RenderedString Parse(string inputString, Font initialFont, ColourRect initialColours) { var rs = new RenderedString(); int epos, spos = 0; while ((epos = inputString.IndexOf('\n', spos)) != -1) { AppendSubstring(rs, inputString.CEGuiSubstring(spos, epos - spos), initialFont, initialColours); rs.AppendLineBreak(); // set new start position (skipping the previous \n we found) spos = epos + 1; } if (spos < inputString.Length) { AppendSubstring(rs, inputString.Substring(spos), initialFont, initialColours); } return(rs); }