BGE: bookmark option on controller to make them run before all other controllers.
[blender.git] / source / gameengine / GameLogic / SCA_2DFilterActuator.h
1 /**
2  * SCA_2DFilterActuator.h
3  *
4  * $Id$
5  *
6  * ***** BEGIN GPL LICENSE BLOCK *****
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License
10  * as published by the Free Software Foundation; either version 2
11  * of the License, or (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software Foundation,
20  * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
21  *
22  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
23  * All rights reserved.
24  *
25  * ***** END GPL LICENSE BLOCK *****
26  */
27
28 #ifndef __SCA_2DFILETRACTUATOR_H__
29 #define __SCA_2DFILETRACTUATOR_H__
30
31 #include "RAS_IRasterizer.h"
32 #include "RAS_IRenderTools.h"
33 #include "SCA_IActuator.h"
34
35 class SCA_2DFilterActuator : public SCA_IActuator
36 {
37     Py_Header;
38
39 private:
40         vector<STR_String> m_propNames;
41         void * m_gameObj;
42         RAS_2DFilterManager::RAS_2DFILTER_MODE m_type;
43         short m_disableMotionBlur;
44         float m_float_arg;
45         int   m_int_arg;
46         STR_String      m_shaderText;
47         RAS_IRasterizer* m_rasterizer;
48         RAS_IRenderTools* m_rendertools;
49
50 public:
51
52     SCA_2DFilterActuator(
53         class SCA_IObject* gameobj,
54         RAS_2DFilterManager::RAS_2DFILTER_MODE type,
55                 short flag,
56                 float float_arg,
57                 int int_arg,
58                 RAS_IRasterizer* rasterizer,
59                 RAS_IRenderTools* rendertools,
60         PyTypeObject* T=&Type
61         );
62
63         void    SetShaderText(const char *text);
64     virtual ~SCA_2DFilterActuator();
65     virtual bool Update();
66
67     virtual CValue* GetReplica();
68
69         /* --------------------------------------------------------------------- */
70         /* Python interface ---------------------------------------------------- */
71         /* --------------------------------------------------------------------- */
72
73     virtual PyObject* py_getattro(PyObject *attr);
74         virtual PyObject* py_getattro_dict();
75         virtual int py_setattro(PyObject *attr, PyObject* value);
76
77 };
78 #endif