Return TypeFunction nameArguments
voidhdsChartBar::Generate(hzChain&,hzHttpEvent*,unsigned int&,)

Declared in file: hzDissemino.h
Defined in file : hdsGenerate.cpp

Function Logic:

0:START 1:hzChain::Printf 2:m_Header 3:_hds_svg_drawText 4:axisPixelsX axisPixelsY per_pixel_Y hzChain::Printf hzChain::Printf Y X hzChain::Printf stepSize Y 5:val<=m_nMaxY; 6:hzChain::Printf Y 7:stepSize Y X 8:val<=m_nMaxX; 9:hzChain::Printf X n 10:n<=m_nSlotsX; 11:Y X ri 12:ri.Valid(); 13:hzList::Iter::Element pSet val hzChain::Printf Y 14:Y 15:m_Sets.Count()>1 16:X ri 17:ri.Valid(); 18:hzList::Iter::Element pSet hzChain::Printf hzChain::Printf hzString::Length X 19:Y 20:m_Footer 21:_hds_svg_drawText 22:items 23: No text

Function body:

void hdsChartBar::Generate (hzChain& Z, hzHttpEvent* pE, unsigned int& nLine)
{
   _hzfunc("hdsChartBar::Generate") ;
   hzList<_rset*>::Iter    ri ;
   _rset*      pSet ;
   double      per_pixel_Y ;
   double      stepSize ;
   uint32_t    val ;
   uint32_t    X ;
   uint32_t    Y ;
   uint16_t    axisPixelsX ;
   uint16_t    axisPixelsY ;
   uint32_t    n ;
   /*
   **  ** Start draw instrutions
   **      */
   Z.Printf("<svg id="%s" height="%d" width="%d" style="border:1px solid #000000; background:#%06x;">"        , *m_Id, m_Height, m_Width, m_BgColor) ;
   if (m_Header)
       _hds_svg_drawText(Z, m_Header, m_Width/2,20,m_FgColor,1);
   axisPixelsX = m_nSlotsX * m_nPxSlotX ;
   axisPixelsY = m_nSlotsY * m_nPxSlotY ;
   per_pixel_Y = (m_nMaxY - m_nMinY)/axisPixelsY ;
   Z.Printf("<line x1="%u" y1="%u" x2="%u" y2="%u" style="stroke:#%06x;stroke-width:1"/>\n"          , m_origX, m_origY - axisPixelsY, m_origX, m_origY, m_FgColor) ;
   Z.Printf("<line x1="%u" y1="%u" x2="%u" y2="%u" style="stroke:#%06x;stroke-width:1"/>\n"          , m_origX, m_origY, m_origX + axisPixelsX, m_origY, m_FgColor) ;
   Y = 30;
   X = 20;
   Z.Printf("<text x="%u" y="%u" fill="#%06x">%s</text>\n"      , X, Y, m_FgColor, *m_HdrY) ;
   stepSize = (m_nMaxY - m_nMinY)/m_nSlotsY ;
   Y = m_origY ;
   for (val = m_nMinY ; val <&eq; m_nMaxY ; val += stepSize)
   {
       Z.Printf("<text x="%u" y="%u" fill="#%06x">%u</text>\n"      , X, Y, m_FgColor, (uint32_t) val) ;
       Y -= m_nPxSlotY ;
   }
   stepSize = (m_nMaxX - m_nMinX)/m_nSlotsX ;
   Y = m_origY + 20;
   X = m_origX ;
   for (val = m_nMinX ; val <&eq; m_nMaxX ; val += stepSize)
   {
       Z.Printf("<text x="%u" y="%u" fill="#%06x">%u</text>\n"      , X, Y, m_FgColor, (uint32_t) val) ;
       X += m_nPxSlotX ;
   }
   for (n = 0; n <&eq; m_nSlotsX ; n++)
   {
       Y = m_origY ;
       X = m_origX + (n * m_nPxSlotX) + 1;
       for (ri = m_Sets ; ri.Valid() ; ri++)
       {
           pSet = ri.Element() ;
           val = ((pSet->m_vVals[n] - m_nMinY) * per_pixel_Y) ;
           Z.Printf("<rect x="%u" y="%u" width="%u" height="%u" style="fill:#%06x;"/>\n"          , X, Y - val, (uint32_t)m_nPxSlotX - 1,val, pSet->color) ;
           Y -= val ;
       }
   }
   Y = m_origY + 40;
   if (m_Sets.Count() > 1)
   {
       X = m_origX ;
       for (ri = m_Sets ; ri.Valid() ; ri++)
       {
           pSet = ri.Element() ;
           Z.Printf("<rect x="%u" y="%u" width="%u" height="%u" style="fill:#%06x;"/>\n"          , X, Y, 12,12,pSet->color);
           Z.Printf("<text x="%u" y="%u" fill="#%06x">%s</text>\n"      , X+15,Y+15,m_FgColor,*pSet->header);
           X += 10*(pSet->header.Length()) ;
       }
       Y += 20;
   }
   if (m_Footer)
       _hds_svg_drawText(Z, m_Footer, m_Width/2,Y, m_FgColor, 1);
   Z
   << "Your Browser does not support the HTML5 SVG tag\n</svg>\n"
              ;
}