Files
Work/mdiwin/DISSOLVE.HPP
2024-08-07 09:16:27 -04:00

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