PageRenderTime 5ms CodeModel.GetById 1ms app.highlight 1ms RepoModel.GetById 1ms app.codeStats 0ms

/xbmc/visualizations/XBMCProjectM/libprojectM/PerPixelEqn.hpp

http://github.com/xbmc/xbmc
C++ Header | 66 lines | 29 code | 10 blank | 27 comment | 0 complexity | 58552d13c7186646478ea00d8306fc83 MD5 | raw file
 1/**
 2 * projectM -- Milkdrop-esque visualisation SDK
 3 * Copyright (C)2003-2007 projectM Team
 4 *
 5 * This library is free software; you can redistribute it and/or
 6 * modify it under the terms of the GNU Lesser General Public
 7 * License as published by the Free Software Foundation; either
 8 * version 2.1 of the License, or (at your option) any later version.
 9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18 * See 'LICENSE.txt' included within this release
19 *
20 */
21/**
22 * $Id$
23 *
24 * Per-pixel equation
25 *
26 * $Log$
27 */
28
29#ifndef _PER_PIXEL_EQN_H
30#define _PER_PIXEL_EQN_H
31
32#define PER_PIXEL_EQN_DEBUG 0
33
34#define ZOOM_OP 0
35#define ZOOMEXP_OP 1
36#define ROT_OP 2
37#define CX_OP 3
38#define CY_OP 4
39#define SX_OP 5
40#define SY_OP  6
41#define DX_OP 7
42#define DY_OP 8
43#define WARP_OP 9
44#define NUM_OPS 10 /* obviously, this number is dependent on the number of existing per pixel operations */
45
46class GenExpr;
47class Param;
48class PerPixelEqn;
49class Preset;
50
51class PerPixelEqn {
52public:
53    int index; /* used for splay tree ordering. */
54    int flags; /* primarily to specify if this variable is user-defined */
55    Param *param; 
56    GenExpr *gen_expr;	
57
58    void evalPerPixelEqns( Preset *preset );
59    void evaluate(int mesh_i, int mesh_j);
60
61    PerPixelEqn(int index, Param * param, GenExpr * gen_expr);
62
63  };
64
65
66#endif /** !_PER_PIXEL_EQN_H */