/////////////////////////////////////////////////////////////
// CINEMA 4D SDK                                           //
/////////////////////////////////////////////////////////////
// (c) MAXON Computer GmbH, all rights reserved            //
/////////////////////////////////////////////////////////////

#ifndef __C4DVIDEOPOST_H
#define __C4DVIDEOPOST_H

#include "c4d_baselist.h"
#include "c4d_videopostplugin.h"

class BaseVideoPost : public BaseList2D
{
	private:
		BaseVideoPost();
		~BaseVideoPost();
	public:
		BaseVideoPost* GetNext(void) { return (BaseVideoPost*)AtCall(GetNext ); }
		BaseVideoPost* GetPred(void) { return (BaseVideoPost*)AtCall(GetPred ); }

		// reuse the container IDs from RDATA_STEREO_*
		Bool StereoMergeImages(BaseBitmap* dest, const BaseBitmap* const* source, LONG cnt, const BaseContainer &settings, COLORSPACETRANSFORMATION transform);
		LONG StereoGetCameraCountEditor(BaseDocument* doc, BaseDraw *bd);
		LONG StereoGetCameraCountRenderer(BaseDocument* doc, RenderData* rd);
		Bool StereoGetCameraInfo(BaseDocument* doc, BaseDraw *bd, RenderData* rd, LONG index, StereoCameraInfo& info);

		Bool RenderEngineCheck(LONG id);

		static BaseVideoPost *Alloc(LONG type);
		static void Free(BaseVideoPost *&bl);
};

#endif
