00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _COP2_PIXEL_FUNCTION_H_
00021 #define _COP2_PIXEL_FUNCTION_H_
00022
00023 #include "COP2_API.h"
00024 #include <UT/UT_String.h>
00025
00026 class COP2_Node;
00027 class RU_PixelFunction;
00028
00029 class COP2_API COP2_PixelFunction
00030 {
00031 public:
00032
00033 COP2_PixelFunction(COP2_Node *masknode,
00034 int maskplane,
00035 int maskindex,
00036 bool in_unpremult,
00037 float effect);
00038 ~COP2_PixelFunction();
00039
00040
00041 bool isCompatibleWith(COP2_Node *masknode,
00042 int maskplane,
00043 int maskindex,
00044 bool inunpremult,
00045 float effect) const;
00046
00047
00048
00049 void addFunction(RU_PixelFunction *func,
00050 COP2_Node *fornode,
00051 int input_index,
00052 bool mask[4]);
00053
00054
00055 COP2_Node *getFirstNode() const { return myFirstNode; }
00056 int getNodeInput() const { return myInputIndex; }
00057 RU_PixelFunction *getFunction() const { return myFunction; }
00058 bool isInUnpremult() const { return myInUnpremult; }
00059
00060 private:
00061
00062 COP2_Node *myMask;
00063 int myMaskPlane;
00064 int myMaskIndex;
00065
00066
00067 COP2_Node *myFirstNode;
00068 int myInputIndex;
00069 RU_PixelFunction *myFunction;
00070 bool myInUnpremult;
00071 float myEffect;
00072 };
00073
00074 #endif