internal override void Draw(EPagePosition pagePosition, float pageXPos, float pageYPos, float pageZPos) { m_render.AddRenderElement( PageIndex, new RenderBox(pageXPos + position.x, pageYPos + position.y, position.width, position.height, pageZPos + m_Z, m_IsFull, m_color) ); }
internal override void Draw(EPagePosition pagePosition, float pageXPos, float pageYPos, float pageZPos) { m_render.AddRenderElement( PageIndex, new RenderImage(pageXPos + position.x, pageYPos + position.y, pageZPos, position.width, position.height, m_image) ); }
/// <summary> /// Dibuja un documento /// </summary> /// <param name="pagePosition">Posición del objeto</param> internal override void Draw(EPagePosition pagePosition, float pageXPos, float pageYPos, float pageZPos) { float pageX = m_report.pageSize.GetMarginLeft; // se pinta cada bloque recursivamente foreach (ReportDrawable drawable in sons) { if (pagePosition == EPagePosition.Body) { // si este elemento está en alguna página nueva while (drawable.PageIndex >= m_render.GetPageCount()) { m_render.AddPage(); int page = m_render.GetPageCount() - 1; m_report.rbBackground[page].Draw(EPagePosition.Background, 0, 0, -100); m_report.rbHeader[page].Draw(EPagePosition.Header, 0, 0, 0); m_report.rbFooter[page].Draw(EPagePosition.Footer, 0, 0, 0); } } switch (pagePosition) { case EPagePosition.Background: drawable.Draw(pagePosition, 0, 0, -100); break; case EPagePosition.Header: float headerPageY = m_report.pageSize.GetMarginTop; drawable.Draw(pagePosition, pageX, headerPageY, 0); break; case EPagePosition.Body: float bodyPageY = m_report.rbHeader[drawable.PageIndex].position.height + m_report.pageSize.GetMarginTop - m_report.GiveMeTop(drawable.PageIndex); drawable.Draw(pagePosition, pageX, bodyPageY, 0); break; case EPagePosition.Footer: float footerPageY = m_report.pageSize.GetHeightInCM - m_report.rbFooter[drawable.PageIndex].position.height - m_report.pageSize.GetMarginBottom; drawable.Draw(pagePosition, pageX, footerPageY, 0); break; } } }
/// <summary> /// Draw a virtual element in memory /// </summary> /// <param name="pagePosition">Page position.</param> /// <param name="pageXPos">Page XP os.</param> /// <param name="pageYPos">Page YP os.</param> /// <param name="pageZPos">Page Z pos.</param> internal virtual void Draw(EPagePosition pagePosition, float pageXPos, float pageYPos, float pageZPos) { }