60 lines
1.2 KiB
C++
60 lines
1.2 KiB
C++
#ifndef _CROSSDISSOLVE_HPP_
|
|
#define _CROSSDISSOLVE_HPP_
|
|
#include <mdiwin/windows.hpp>
|
|
#include <mdiwin/types.hpp>
|
|
#include <mdiwin/colorcnt.hpp>
|
|
#include <mdiwin/string.hpp>
|
|
#include <mdiwin/block.hpp>
|
|
#include <mdiwin/vector.hpp>
|
|
#include <mdiwin/schedule.hpp>
|
|
#include <mdiwin/bit32.hpp>
|
|
|
|
class RGBLong
|
|
{
|
|
public:
|
|
friend class CrossDissolve;
|
|
private:
|
|
RGBLong(void);
|
|
virtual ~RGBLong();
|
|
LONG rgbRed;
|
|
LONG rgbGreen;
|
|
LONG rgbBlue;
|
|
};
|
|
|
|
inline
|
|
RGBLong::RGBLong(void)
|
|
{
|
|
}
|
|
|
|
inline
|
|
RGBLong::~RGBLong()
|
|
{
|
|
}
|
|
|
|
class CrossDissolve
|
|
{
|
|
public:
|
|
CrossDissolve(void);
|
|
virtual ~CrossDissolve();
|
|
WORD crossDissolve(Block<String> &srcImage,Block<String> &dstImage);
|
|
WORD crossDissolve(String &srcImage,String &dstImage,WORD nFrames);
|
|
WORD crossDissolve(Block<String> &sourceBlock,Block<String> &destBlock,Block<Schedule> &dissolveSchedule);
|
|
private:
|
|
typedef RGBLong RGBLONG;
|
|
HPALETTE createBlendedPalette(LHUGE *lpImage,LONG sizeImage);
|
|
HPALETTE createPalette(Block<ColorCount> &blockedColors);
|
|
WORD crossImage(String &srcImageString,String &dstImageString,LONG srcWeight,LONG dstWeight);
|
|
void condenseBlock(Vector<BIT32> &vectoredColors,Block<ColorCount> &blockedColors);
|
|
};
|
|
|
|
inline
|
|
CrossDissolve::CrossDissolve(void)
|
|
{
|
|
}
|
|
|
|
inline
|
|
CrossDissolve::~CrossDissolve()
|
|
{
|
|
}
|
|
#endif
|