Files
FreeJ/xcode/CVLayer.h
xant ffddbd0b64 refactoring the internal CVLayerController api
- the video-pipeline in cocoa layers now goes through Layer::feed() and Layer::do_filters()
- image parameters are applied by the layer controller when a new frame is provided
  by the underlying CVLayer through feedFrame
2010-08-07 00:54:00 +02:00

63 lines
1.6 KiB
Objective-C

/* FreeJ
* (c) Copyright 2009 Andrea Guzzo <xant@dyne.org>
*
* This source code is free software; you can redistribute it and/or
* modify it under the terms of the GNU Public License as published
* by the Free Software Foundation; either version 3 of the License,
* or (at your option) any later version.
*
* This source code is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* Please refer to the GNU Public License for more details.
*
* You should have received a copy of the GNU Public License along with
* this source code; if not, write to:
* Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*/
#ifndef __CVLAYER_H__
#define __CVLAYER_H__
#include <layer.h>
#include <context.h>
#import <CFreej.h>
#import <CVLayerController.h>
#import <CVTexture.h>
#import <CVCocoaLayer.h>
class CVLayer: public Layer, public CVCocoaLayer
{
public:
CVLayer();
CVLayer(CVLayerController *vin);
virtual ~CVLayer();
virtual bool open(const char *path);
virtual void close();
virtual bool forward();
virtual bool backward();
virtual bool backward_one_keyframe();
virtual bool relative_seek(double increment);
virtual bool set_mark_in();
virtual bool set_mark_out();
virtual void pause();
virtual void *do_filters(void *buf);
protected:
virtual void *feed();
private:
CVTexture *texture[2]; // double buffer
void *frame;
unsigned int num;
};
#endif