1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
////////////////////////////////////////////////////////
//
// GEM - Graphics Environment for Multimedia
//
// zmoelnig@iem.kug.ac.at
//
// Implementation file
//
// Copyright (c) 1997-1998 Mark Danks.
// Copyright (c) Günther Geiger.
// Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
// Copyright (c) 2002 James Tittle & Chris Clepper
// For information on usage and redistribution, and for a DISCLAIMER OF ALL
// WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
//
/////////////////////////////////////////////////////////
#include "pix_takealpha.h"
CPPEXTERN_NEW(pix_takealpha);
/////////////////////////////////////////////////////////
//
// pix_takealpha
//
/////////////////////////////////////////////////////////
// Constructor
//
/////////////////////////////////////////////////////////
pix_takealpha :: pix_takealpha()
{ }
/////////////////////////////////////////////////////////
// Destructor
//
/////////////////////////////////////////////////////////
pix_takealpha :: ~pix_takealpha()
{ }
/////////////////////////////////////////////////////////
// processDualImage
//
/////////////////////////////////////////////////////////
void pix_takealpha :: processRGBA_RGBA(imageStruct &image, imageStruct &right)
{
int datasize = image.xsize * image.ysize;
unsigned char *leftPix = image.data;
unsigned char *rightPix = right.data;
while(datasize--) {
leftPix[chAlpha] =rightPix[chAlpha];
leftPix += 4;
rightPix += 4;
}
}
/////////////////////////////////////////////////////////
// processRightGray
//
/////////////////////////////////////////////////////////
void pix_takealpha :: processRGBA_Gray(imageStruct &image, imageStruct &right)
{
int datasize = image.xsize * image.ysize;
unsigned char *leftPix = image.data;
unsigned char *rightPix = right.data;
while(datasize--)
{
leftPix[chAlpha] = rightPix[chGray];
leftPix += 4;
rightPix+= 1;
}
}
/////////////////////////////////////////////////////////
// static member function
//
/////////////////////////////////////////////////////////
void pix_takealpha :: obj_setupCallback(t_class *)
{ }
|