public void Dibujar(IGraficador graf, DocumentoImpreso documento, Posicion posicion, Seleccion seleccion, bool dibujarCursor) { Pagina p = documento.ObtenerPagina(IDPagina); if (p == null) { return; } graf.RellenarRectangulo(BrochaSolida.Blanco, new Punto(Medicion.Cero, Medicion.Cero) + PosicionInicioDibujo, p.Dimensiones); graf.DibujarRectangulo(Lapiz.Negro, new Punto(Medicion.Cero, Medicion.Cero) + PosicionInicioDibujo, p.Dimensiones); documento.DibujarPagina(graf, new Punto(Medicion.Cero, Medicion.Cero) + PosicionInicioDibujo, IDPagina, seleccion); if (dibujarCursor) { if (IDPagina == posicion.IndicePagina && seleccion == null) { DibujarCursor(graf, posicion); } } }
public void ProbarBloques() { Documento documento = new SWPEditor.Dominio.Documento(); DocumentoImpreso docimp = new DocumentoImpreso(documento); ContPresentarDocumento cont = new ContPresentarDocumento(documento); cont.InsertarTexto("HOLA, esta es una prueba de texto que deberá distribuirse adecuadamente en la página"); cont.IrAInicioDocumento(false); cont.IrSiguienteCaracter(false, TipoAvance.AvanzarPorPalabras); cont.IrSiguienteCaracter(false, TipoAvance.AvanzarPorPalabras); cont.IrSiguienteCaracter(true, TipoAvance.AvanzarPorPalabras); cont.IrSiguienteCaracter(true, TipoAvance.AvanzarPorPalabras); for (int i = 0; i <= 50; i++) { cont.AgrandarLetra(); Pagina pag = docimp.ObtenerPagina(0); int contador = 0; foreach (Linea l in pag.ObtenerLineas()) { if (contador < 2) { contador++; continue; } Debug.Assert(l.AnchoLinea <= pag.ObtenerAnchoLinea(pag.LineaInicio)); AvanceBloques av = new AvanceBloques(l); IEnumerable <Bloque> bloques = av.ObtenerBloquesDe(l); int suma = 0; foreach (Bloque b in bloques) { suma += b.Cantidad; } Debug.Assert(suma == l.Cantidad); contador++; } } }
public SWPGenericPrinter(Documento documento) { _documento = new DocumentoImpreso(documento); }