Merge branch 'blender2.7' of git.blender.org:blender
[blender.git] / source / blender / blenkernel / BKE_writeavi.h
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  *
16  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
17  * All rights reserved.
18  */
19
20 #ifndef __BKE_WRITEAVI_H__
21 #define __BKE_WRITEAVI_H__
22
23 /** \file
24  * \ingroup bke
25  */
26
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30
31 /* generic blender movie support, could move to own module */
32
33 struct RenderData;
34 struct ReportList;
35 struct Scene;
36
37 typedef struct bMovieHandle {
38         int (*start_movie)(void *context_v, struct Scene *scene, struct RenderData *rd, int rectx, int recty,
39                            struct ReportList *reports, bool preview, const char *suffix);
40         int (*append_movie)(void *context_v, struct RenderData *rd, int start_frame, int frame, int *pixels,
41                             int rectx, int recty, const char *suffix, struct ReportList *reports);
42         void (*end_movie)(void *context_v);
43         int (*get_next_frame)(void *context_v, struct RenderData *rd, struct ReportList *reports); /* optional */
44         void (*get_movie_path)(char *string, struct RenderData *rd, bool preview, const char *suffix); /* optional */
45         void *(*context_create)(void);
46         void (*context_free)(void *context_v);
47 } bMovieHandle;
48
49 bMovieHandle *BKE_movie_handle_get(const char imtype);
50 void BKE_movie_filepath_get(char *string, struct RenderData *rd, bool preview, const char *suffix);
51
52 #ifdef __cplusplus
53 }
54 #endif
55
56 #endif