This is crbasei.c in view mode; [Download] [Up]
/*
* CreateBaseImage() - create the base image for miv default window
*
* RCS:
* $Revision: 2.3 $
* $Date: 1996/05/03 02:21:34 $
*
* Security:
* Unclassified
*
* Description:
* This function creates a white base image. miv logo and othet small
* images will be composited on it
*
* Input Parameters:
* type identifier description
*
* text
*
* Output Parameters:
* type identifier description
*
* text
*
* Return Values:
* value description
*
* Side Effects:
* text
*
* Limitations and Comments:
* text
*
* Development History:
* who when why
* muquit@semcor.com 15-Dec-94 first cut
*/
#include "combine.h"
#include "defines.h"
Image *CreateBaseImage(width, height, red, green, blue,class)
unsigned int
width;
unsigned int
height;
int
red,
green,
blue;
unsigned int
class;
{
Image
*base_image;
register Runlength
*q;
int
i;
/*
** allocate memory for the base image
*/
base_image = AllocateImageStruct();
if (base_image == (Image *) NULL)
{
(void) fprintf (stderr,
"Unable to create base image!\n");
return ((Image *) NULL);
}
(void) strcpy(base_image->filename, "[internal]");
(void) strcpy(base_image->type, "[internal]");
base_image->class = class;
base_image->columns = width;
base_image->rows = height;
base_image->packets = base_image->columns*base_image->rows;
base_image->pixels = (Runlength *)
malloc(base_image->packets*sizeof(Runlength));
if (base_image->pixels == (Runlength *) NULL)
{
(void) fprintf (stderr,
"Unable to create base image!\n");
return ((Image *) NULL);
}
q = base_image->pixels;
switch(class)
{
case DirectClass:
{
for (i=0; i < base_image->packets; i++)
{
q->red = (unsigned char) red;
q->green = (unsigned char) green;
q->blue = (unsigned char) blue;
q->length = 0;
q->index = 0;
q++;
}
break;
}
case PseudoClass:
{
base_image->colors=1;
base_image->colormap = (RGB *)
malloc(base_image->colors*sizeof(RGB));
if (base_image->colormap == (RGB *) NULL)
{
(void) fprintf (stderr,
"Unable to create base image!..malloc failed\n");
return ((Image *) NULL);
}
base_image->colormap[0].red=(unsigned char) red;
base_image->colormap[0].green=(unsigned char) green;
base_image->colormap[0].blue=(unsigned char) blue;
for (i=0; i < base_image->packets; i++)
{
q->red = base_image->colormap[0].red;
q->green = base_image->colormap[0].green;
q->blue = base_image->colormap[0].blue;
q->length = 0;
q->index = 0;
q++;
}
break;
}
}
return (base_image);
}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.