Exemple #1
0
 internal Formato ObtenerFormatoComun(Parrafo parrafoInicio, int posicionInicio,
                                      Parrafo parrafoFin, int posicionFin)
 {
     lock (m_Parrafos)
     {
         if (parrafoInicio == parrafoFin)
         {
             return(parrafoInicio.ObtenerFormatoComun(posicionInicio, posicionFin - posicionInicio));
         }
         else
         {
             Formato f      = Formato.ObtenerPredefinido().Clonar();
             Parrafo p      = parrafoInicio;
             int     inicio = posicionInicio;
             while (p != parrafoFin)
             {
                 f      = f.ObtenerInterseccion(p.ObtenerFormatoComun(inicio, p.Longitud - inicio));
                 p      = p.Siguiente;
                 inicio = 0;
             }
             f = f.ObtenerInterseccion(parrafoFin.ObtenerFormatoComun(0, posicionFin));
             return(f);
         }
     }
 }