Пример #1
0
 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)
         );
 }
Пример #2
0
 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)
         );
 }
Пример #3
0
        /// <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;
                }
            }
        }
Пример #4
0
 /// <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)
 {
 }