void CContourSliderManager::OnAfterDraw(CDC* pDC)
{
	CWin *cWin;
	CBody * cBody;
	cBody = FindFirstBody();

	if ( cBody == NULL )
		return;

	cWin = cBody->GetWndInfo();
	tag_BODYSIZE TrBody;
	CBodyMesh *pBody = (CBodyMesh*)FindBody(cBody->GetID());
	TrBody = pBody->GetTrBodySize();
	
    glLoadIdentity();
	double asp = 1;/*cWin->GetAspectRadio();*/

 	m_tileSizeX = (TrBody.dXMax-TrBody.dXMin)/asp/m_sizeX;
	m_tileSizeY = (TrBody.dYMax - TrBody.dYMin)/m_sizeY;

	glMatrixMode(GL_MODELVIEW);
	glPushMatrix();
	glTranslated(cWin->GetXo(), cWin->GetYo(), 1.0);
	glScaled(cWin->GetSx(), cWin->GetSy(), cWin->GetSx());
	glEnable(GL_BLEND);
	glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
	glColor4f(0,0,255,0.5);
	
	glBegin(GL_QUADS);
	glVertex2f(m_xPos*m_tileSizeX+TrBody.dXMin/asp, (m_yPos+m_height)*m_tileSizeY +TrBody.dYMin);
	glVertex2f((m_xPos+m_width)*m_tileSizeX+TrBody.dXMin/asp, (m_yPos+m_height)*m_tileSizeY +TrBody.dYMin);
	glVertex2f((m_xPos+m_width)*m_tileSizeX+TrBody.dXMin/asp, m_yPos*m_tileSizeY +TrBody.dYMin);
	glVertex2f(m_xPos*m_tileSizeX+TrBody.dXMin/asp, m_yPos*m_tileSizeY +TrBody.dYMin);
	glEnd();

	glColor4f(0,0,0,1.0);
	glBegin(GL_LINES);
	glVertex2f(m_xPos*m_tileSizeX+TrBody.dXMin/asp, (m_yPos+m_height)*m_tileSizeY +TrBody.dYMin);
	glVertex2f((m_xPos+m_width)*m_tileSizeX+TrBody.dXMin/asp, (m_yPos+m_height)*m_tileSizeY +TrBody.dYMin);
	
	glVertex2f((m_xPos+m_width)*m_tileSizeX+TrBody.dXMin/asp, (m_yPos+m_height)*m_tileSizeY +TrBody.dYMin);
	glVertex2f((m_xPos+m_width)*m_tileSizeX+TrBody.dXMin/asp, m_yPos*m_tileSizeY +TrBody.dYMin);
	
	glVertex2f((m_xPos+m_width)*m_tileSizeX+TrBody.dXMin/asp, m_yPos*m_tileSizeY +TrBody.dYMin);
	glVertex2f(m_xPos*m_tileSizeX+TrBody.dXMin/asp, m_yPos*m_tileSizeY +TrBody.dYMin);
	
	glVertex2f(m_xPos*m_tileSizeX+TrBody.dXMin/asp, m_yPos*m_tileSizeY +TrBody.dYMin);
	glVertex2f(m_xPos*m_tileSizeX+TrBody.dXMin/asp, (m_yPos+m_height)*m_tileSizeY +TrBody.dYMin);

	glVertex2f((m_xPos+m_width/2)*m_tileSizeX + TrBody.dXMin/asp, (m_yPos + m_height + m_sizeY/10)*m_tileSizeY + TrBody.dYMin); 
	glVertex2f((m_xPos+m_width/2)*m_tileSizeX + TrBody.dXMin/asp, (m_yPos - m_sizeY/10)*m_tileSizeY + TrBody.dYMin); 

	
	glVertex2f((m_xPos-m_sizeX/10)*m_tileSizeX + TrBody.dXMin/asp, (m_yPos + m_height/2)*m_tileSizeY + TrBody.dYMin); 
	glVertex2f((m_xPos+m_width+m_sizeX/10)*m_tileSizeX + TrBody.dXMin/asp, (m_yPos + m_height/2)*m_tileSizeY + TrBody.dYMin); 
	glEnd();


	// head mark
	glColor4f(1.0, 0.0, 0.0, 1.0);
	glBegin(GL_TRIANGLES);
	glVertex2f(TrBody.dXMin, TrBody.dYMax);
	glVertex2f(TrBody.dXMin + 0.12, TrBody.dYMax + 0.12);
	glVertex2f(TrBody.dXMin - 0.12, TrBody.dYMax + 0.12);
	glEnd();

	LOGFONT lfTextFont;
	memset(&lfTextFont,0,sizeof(LOGFONT));
	lfTextFont.lfHeight = -MulDiv(8, GetDeviceCaps(pDC->GetSafeHdc(), LOGPIXELSY), 72);
	lfTextFont.lfWeight = FW_BOLD;
	#if defined(AFX_TARG_CSY) || defined(AFX_TARG_PLK)
		lfTextFont.lfCharSet = EASTEUROPE_CHARSET;
	#endif
	#if defined(AFX_TARG_ENU)
		lfTextFont.lfCharSet = DEFAULT_CHARSET;
	#endif
	_tcscpy_s(lfTextFont.lfFaceName,_T("Arial"));

	CGLFont* pFont = CreateNewFont(lfTextFont);

	CString strHead = _T("Head");

	CSize size = pFont->GetTextExtent(strHead);

	

	double dY = 0.0;

	dY += TrBody.dYMax;
	dY += 0.12; // triangle mark
	dY += 0.08; // margin

	CPoint pt = GLToPt(*cWin, CDblPoint(TrBody.dXMin, dY));

	pt.x += - 2 * size.cx ; // half of text width
	pt.y += -size.cy; // text height

	ContourSpace::OpenGL::DrawString(*cWin, *pFont, strHead, pt, RGB(0, 0, 0));

	/*CDblPoint point = PtToGL(*cWin, CPoint(pt.x, pt.y), FALSE);

	pFont->Draw(dX, point.y, strHead);*/

	glPopMatrix();
	
    glFinish();
}