1/* 2 * Copyright 2004-2008, François Revol, <revol@free.fr>. 3 * Distributed under the terms of the MIT License. 4 */ 5#ifndef _CAM_COLOR_SPACE_TRANSFORM_H 6#define _CAM_COLOR_SPACE_TRANSFORM_H 7 8#include "CamDevice.h" 9#include <Rect.h> 10 11// This class represents the camera's (cmos or whatever) sensor chip 12class CamColorSpaceTransform { 13 public: 14 CamColorSpaceTransform(); 15 virtual ~CamColorSpaceTransform(); 16 17 virtual status_t InitCheck(); 18 19 virtual const char* Name(); 20 virtual color_space OutputSpace(); 21 22 virtual status_t SetVideoFrame(BRect rect); 23 virtual BRect VideoFrame() const { return fVideoFrame; }; 24 25 static CamColorSpaceTransform *Create(const char *name); 26 27 protected: 28 status_t fInitStatus; 29 BRect fVideoFrame; 30 private: 31}; 32 33// internal modules 34#define B_WEBCAM_DECLARE_CSTRANSFORM(trclass,trname) \ 35extern "C" CamColorSpaceTransform *Instantiate##trclass(); \ 36CamColorSpaceTransform *Instantiate##trclass() \ 37{ return new trclass(); }; 38 39 40#endif /* _CAM_COLOR_SPACE_TRANSFORM_H */ 41