public Medicion MedirEspacioLineas(SWPEditor.IU.Graficos.Letra letra) { Typeface t = new Typeface(letra.Familia); FormattedText f = new FormattedText("M", System.Globalization.CultureInfo.InvariantCulture, FlowDirection.LeftToRight, t, ObtenerMedida(letra.Tamaño), Brushes.Black); return(ObtenerMedida(f.LineHeight)); }
public static Letra Crear(string familia, Medicion tamaño, bool negrilla, bool cursiva, bool subrayado) { Letra p = _prototipo; if (p == null) { _prototipo = p = new Letra() { Familia = familia, Tamaño = tamaño, Negrilla = negrilla, Cursiva = cursiva, Subrayado = subrayado }; } p.Familia = familia; p.Tamaño = tamaño; p.Negrilla = negrilla; p.Cursiva = cursiva; p.Subrayado = subrayado; if (!_letras.ContainsKey(p)) { Letra nueva = p.Clonar(); _letras.Add(nueva, nueva); return(nueva); } else { return(_letras[p]); } }
public SWPEditor.Dominio.TamBloque MedirTexto(SWPEditor.IU.Graficos.Letra letra, string texto) { Typeface t = new Typeface(new FontFamily(letra.Familia), new FontStyle(), new FontWeight(), new FontStretch()); FormattedText f = new FormattedText(texto, System.Globalization.CultureInfo.InvariantCulture, FlowDirection.LeftToRight, t, ObtenerMedida(letra.Tamaño), Brushes.Black); return(new TamBloque(ObtenerMedida(f.WidthIncludingTrailingWhitespace), ObtenerMedida(f.Height))); }
public void DibujarTexto(SWPEditor.IU.PresentacionDocumento.Punto posicion, SWPEditor.IU.Graficos.Letra letra, SWPEditor.IU.Graficos.Brocha brocha, string texto) { Typeface t = new Typeface(new FontFamily(letra.Familia), new FontStyle(), new FontWeight(), new FontStretch()); FormattedText f = new FormattedText(texto, System.Globalization.CultureInfo.InvariantCulture, FlowDirection.LeftToRight, t, ObtenerMedida(letra.Tamaño), CrearBrocha(brocha)); contexto.DrawText(f, CrearPunto(posicion)); }
public Medicion MedirBaseTexto(SWPEditor.IU.Graficos.Letra letra) { //FontFamily f=Fonts.SystemFontFamilies.Where(x => x.FamilyNames.Values.Contains(letra.Familia)); Typeface t = new Typeface(letra.Familia); FormattedText f = new FormattedText("M", System.Globalization.CultureInfo.InvariantCulture, FlowDirection.LeftToRight, t, ObtenerMedida(letra.Tamaño), Brushes.Black); return(ObtenerMedida(f.Height - f.Baseline)); //return //ObtenerMedida(f.Height, f.WidthIncludingTrailingWhitespace); }
public override bool Equals(object obj) { Letra l = (Letra)obj; return(Familia == l.Familia && Negrilla == l.Negrilla && Cursiva == l.Cursiva && Subrayado == l.Subrayado && Tamaño.Equals(l.Tamaño)); }
private Letra Clonar() { Letra l = (Letra)MemberwiseClone(); return(l); }