Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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]);
            }
        }
Esempio n. 3
0
        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)));
        }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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));
        }
Esempio n. 7
0
        private Letra Clonar()
        {
            Letra l = (Letra)MemberwiseClone();

            return(l);
        }