Example #1
0
File: face.cpp Project: a427/e60
void WFACE::draw(WOBJECT *t,WCONTROL *c,ZBUFFER *zb)
 {
   WPOINT2 a[8];
   double z_coord[8];
   WSHORT intensity[8];
   WPOINT normls[8];
   int i,clr;

   for(i=0;i<verts;i++)
    {
      a[i] = t->vertex[vertex[i]].bd;
      if ((a[i].x<=0)||(a[i].x>=c->Win_W)||(a[i].y<=0)||(a[i].y>=c->Win_H)) return;
// Clipping ?
//    TextXY(a[i].x,a[i].y,itoa(face->vertex[i],sss,10),WHITE);
    }

   switch(c->model)
    {
      case DSF:  WFillPoly(verts,a,0);     // Black
                 WPoly(verts,a,t->textur.color1); 
                 break;
      case DSC:
      case FFC:  shade = compute_shade(t,c);
                 clr = color_number(t->textur.color1,shade);
                 WFillPoly(verts,a,clr);
                 break;
      case FFF:  WPoly(verts,a,t->textur.color1); 
                 break; 
      case ZBF:  shade = compute_shade(t,c);
                 clr = color_number(t->textur.color1,shade);
                 for(i=0;i<verts;i++) z_coord[i]=t->vertex[vertex[i]].bod.z;
                 zb->ZBF_Polygon(verts,a,z_coord,clr,c);
                 break;
      case GRD:  for(i=0;i<verts;i++)
                  {
                    intensity[i]=t->vertex[vertex[i]].intensity;
                      z_coord[i]=t->vertex[vertex[i]].bod.z;
                  }
                 zb->GRD_Polygon(verts,a,z_coord,intensity,&t->textur,c);
                 break;
      case PNG:  for(i=0;i<verts;i++)
                  {
                      normls[i]=t->vertex[vertex[i]].normv;
                     z_coord[i]=t->vertex[vertex[i]].bod.z;
                  }
                 zb->PNG_Polygon(verts,a,z_coord,normls,&t->textur,c);
                 break; 
    }
 }
Example #2
0
ui_file_style
cli_style_option::style () const
{
  int fg = color_number (m_foreground);
  int bg = color_number (m_background);
  ui_file_style::intensity intensity = ui_file_style::NORMAL;

  for (int i = 0; i < ARRAY_SIZE (cli_intensities); ++i)
    {
      if (m_intensity == cli_intensities[i])
	{
	  intensity = (ui_file_style::intensity) i;
	  break;
	}
    }

  return ui_file_style (fg, bg, intensity);
}