www.pudn.com > glGraph.rar > Histogram.cpp


// Histogram.cpp: implementation of the CHistogram class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#include "Histogram.h" 
#include "gl/glut.h" 
#include  
 
////////////////////////////////////////////////////////////////////// 
// Construction/Destruction 
////////////////////////////////////////////////////////////////////// 
 
CHistogram::CHistogram() 
{ 
	type = 3; 
 
} 
 
CHistogram::~CHistogram() 
{ 
 
} 
 
void CHistogram::Draw() 
{ 
	glColor3fv(color); 
	glBegin(GL_LINES); 
		glVertex2f(m_origin[0],m_origin[1]+110); 
		glVertex2f(m_origin[0],m_origin[1]); 
		glVertex2f(m_origin[0]+250,m_origin[1]); 
		glVertex2f(m_origin[0],m_origin[1]); 
	glEnd(); 
	 
	for(int i = 0;i<12;i++) 
	{ 
		glBegin(GL_POLYGON); 
			glVertex2f(m_origin[0]+20*(i+1)-10,m_origin[1]); 
			glVertex2f(m_origin[0]+20*(i+1),m_origin[1]); 
			glVertex2f(m_origin[0]+20*(i+1),m_origin[1]+height[i]);			 
			glVertex2f(m_origin[0]+20*(i+1)-10,m_origin[1]+height[i]); 
		glEnd(); 
	} 
} 
 
void CHistogram::SetOrigin(float x, float y,double width,double height) 
{ 
	m_origin[0] = x-width/2; 
	m_origin[1] = height/2-y; 
 
} 
 
void CHistogram::SetHeight() 
{ 
	for(int i = 0;i<12;i++) 
	{ 
		height[i] = rand()%100; 
		if(height[i] < 10) 
			height[i] += 10; 
	} 
}