VideoTexture: fix compile error with GLint in ImageViewport under osx.
[blender.git] / source / gameengine / VideoTexture / ImageViewport.h
1 /* $Id$
2 -----------------------------------------------------------------------------
3 This source file is part of VideoTexture library
4
5 Copyright (c) 2007 The Zdeno Ash Miklas
6
7 This program is free software; you can redistribute it and/or modify it under
8 the terms of the GNU Lesser General Public License as published by the Free Software
9 Foundation; either version 2 of the License, or (at your option) any later
10 version.
11
12 This program is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public License along with
17 this program; if not, write to the Free Software Foundation, Inc., 59 Temple
18 Place - Suite 330, Boston, MA 02111-1307, USA, or go to
19 http://www.gnu.org/copyleft/lesser.txt.
20 -----------------------------------------------------------------------------
21 */
22
23 #if !defined IMAGEVIEWPORT_H
24 #define IMAGEVIEWPORT_H
25
26
27 #include "Common.h"
28
29 #include "ImageBase.h"
30
31
32 /// class for viewport access
33 class ImageViewport : public ImageBase
34 {
35 public:
36         /// constructor
37         ImageViewport (void);
38
39         /// destructor
40         virtual ~ImageViewport (void);
41
42         /// is whole buffer used
43         bool getWhole (void) { return m_whole; }
44         /// set whole buffer use
45         void setWhole (bool whole);
46         /// get capture size in viewport
47         short * getCaptureSize (void) { return m_capSize; }
48         /// set capture size in viewport
49         void setCaptureSize (short * size = NULL);
50
51         /// get position in viewport
52         GLint * getPosition (void) { return m_position; }
53         /// set position in viewport
54         void setPosition (GLint * pos = NULL);
55
56 protected:
57         /// frame buffer rectangle
58         GLint m_viewport[4];
59
60         /// size of captured area
61         short m_capSize[2];
62         /// use whole viewport
63         bool m_whole;
64
65         /// position of capture rectangle in viewport
66         GLint m_position[2];
67         /// upper left point for capturing
68         GLint m_upLeft[2];
69
70         /// buffer to copy viewport
71         BYTE * m_viewportImage;
72         /// texture is initialized
73         bool m_texInit;
74
75         /// capture image from viewport
76         virtual void calcImage (unsigned int texId);
77
78         /// get viewport size
79         GLint * getViewportSize (void) { return m_viewport + 2; }
80 };
81
82
83 #endif
84