void ColorPicker::Render() { if(!_visible) return; RenderGradients(_ambient_gradient); RenderGradients(_specular_gradient); RenderGradients(_diffuse_gradient); }
void CMainWindow::OnPaint() { CPaintDC screen_dc(this); // device context for painting CDC dc; dc.CreateCompatibleDC(NULL); CBitmap *ob=dc.SelectObject(&m_back_buffer); CFont *of=dc.SelectObject(&m_big_font); CPen *op=dc.SelectObject(&m_white_pen); dc.FillSolidRect(&m_client_rect,RGB(0,0,0)); Vector *nv=&mp_network_system->mv_networks; int alive_txt_offset=165; int total_txt_offset=215; dc.SetTextColor(RGB(255,255,255)); dc.TextOut(NETWORKLEFTMARGIN+15,1,"Networks"); dc.TextOut(NETWORKLEFTMARGIN+alive_txt_offset,1,"Alive /"); dc.TextOut(NETWORKLEFTMARGIN+total_txt_offset,1,"Total"); dc.FillSolidRect(NETWORKLEFTMARGIN,NETWORKTOPMARGIN-3,250,3,RGB(255,255,255)); dc.SelectObject(&m_little_font); dc.SetBkMode(TRANSPARENT); CRect clip_rect; dc.GetClipBox(&clip_rect); CRect new_clip_rect(NETWORKLEFTMARGIN,NETWORKTOPMARGIN,NETWORKLEFTMARGIN+350,m_client_rect.bottom-NETWORKBOTTOMMARGIN); dc.IntersectClipRect(&new_clip_rect); for(int i=0;i<(int)nv->Size();i++){ Network* nw=(Network*)nv->Get(i); if(nw==m_rack_window.GetSelectedNetwork()){ RenderGradients(dc); dc.FillSolidRect(NETWORKLEFTMARGIN,NETWORKTOPMARGIN+i*NETWORKCELLHEIGHT+1-m_vscroll_pos,300,NETWORKCELLHEIGHT-2,RGB(0,0,200)); //dc.FillSolidRect(NETWORKLEFTMARGIN+280,NETWORKTOPMARGIN,20,m_client_rect.bottom-(NETWORKTOPMARGIN+NETWORKBOTTOMMARGIN),RGB(0,0,200)); } dc.TextOut(NETWORKLEFTMARGIN+15,NETWORKTOPMARGIN+i*NETWORKCELLHEIGHT+2-m_vscroll_pos,nw->m_name.c_str()); if(nw->GetTotalRacks()>0){ CString tmp; tmp.Format("%d",nw->GetAliveRacks()); dc.TextOut(NETWORKLEFTMARGIN+alive_txt_offset+29,NETWORKTOPMARGIN+i*NETWORKCELLHEIGHT+2-m_vscroll_pos,tmp); int crashed=nw->GetCrashedRacks(); if(crashed>0){ dc.SetTextColor(RGB(255,100,100)); tmp.Format("(%d)",crashed); dc.TextOut(NETWORKLEFTMARGIN+alive_txt_offset-5,NETWORKTOPMARGIN+i*NETWORKCELLHEIGHT+2-m_vscroll_pos,tmp); dc.SetTextColor(RGB(255,255,255)); } tmp.Format("/ %d",nw->GetTotalRacks()); dc.TextOut(NETWORKLEFTMARGIN+total_txt_offset,NETWORKTOPMARGIN+i*NETWORKCELLHEIGHT+2-m_vscroll_pos,tmp); } dc.FillSolidRect(NETWORKLEFTMARGIN,NETWORKTOPMARGIN+i*NETWORKCELLHEIGHT-m_vscroll_pos,250,1,RGB(190,190,190)); //top outline dc.FillSolidRect(NETWORKLEFTMARGIN,NETWORKTOPMARGIN+i*NETWORKCELLHEIGHT+1-m_vscroll_pos,250,1,RGB(120,120,120)); //bottom outline dc.FillSolidRect(NETWORKLEFTMARGIN,NETWORKTOPMARGIN+i*NETWORKCELLHEIGHT+NETWORKCELLHEIGHT-1-m_vscroll_pos,250,1,RGB(255,255,255)); } screen_dc.BitBlt(0,0,m_client_rect.Width(),m_client_rect.Height(),&dc,0,0,SRCCOPY); dc.SelectObject(ob); dc.SelectObject(of); dc.SelectObject(op); //TRACE("CMainWindow::OnPaint().\n"); }