home *** CD-ROM | disk | FTP | other *** search
/ vis-ftp.cs.umass.edu / vis-ftp.cs.umass.edu.tar / vis-ftp.cs.umass.edu / pub / Software / ASCENDER / ascendMar8.tar / UMass / BoldtNew / LLVS / new_plane.c < prev    next >
C/C++ Source or Header  |  1996-01-31  |  1KB  |  45 lines

  1. #include <llvs_per_plane.h>
  2.  
  3.  /*
  4.   * new_plane(plane, plane_info, type, level, row_dim, col_dim, row_loc, 
  5.   *          col_loc, background_value) - allocate a new, empty plane
  6.   */
  7.  
  8. new_plane(plane, plane_info, type, level, row_dim, col_dim, row_loc, 
  9.       col_loc, background_value)
  10. PLANE **plane;
  11. PLANE_INFO **plane_info;
  12. int type, level, row_dim, col_dim, row_loc, col_loc;
  13. union {int iback; float fback;} *background_value;
  14. {
  15.     int plsize;        /* plane size */
  16.  
  17.     /* allocate plane info struct */
  18.     *plane_info = (PLANE_INFO *) malloc(sizeof(PLANE_INFO));
  19.  
  20.     if (*plane_info == NULL) {
  21.     return(-1);
  22.     }
  23.     /* fill in plane info slots */
  24.     (*plane_info)->datatype = type;
  25.     (*plane_info)->level = level;
  26.     (*plane_info)->row_location = row_loc;
  27.     (*plane_info)->column_location = col_loc;
  28.     (*plane_info)->background.fixnum = background_value->iback;
  29.     (*plane_info)->row_dimension = row_dim;
  30.     (*plane_info)->column_dimension = col_dim;
  31.     plsize = plane_size(*plane_info);    /* compute plane size */
  32.     /* allocate plane it self */
  33.  
  34.     *plane = (PLANE *) calloc(plsize,sizeof(unsigned char));
  35.  
  36.     if (*plane == NULL) {
  37.     return(-1);
  38.     }
  39.     return(0);
  40.     }
  41.  
  42.  
  43.  
  44.  
  45.