VideoTexture: fix compile error with GLint in ImageViewport under osx.
authorBenoit Bolsee <benoit.bolsee@online.be>
Sun, 2 Nov 2008 18:31:54 +0000 (18:31 +0000)
committerBenoit Bolsee <benoit.bolsee@online.be>
Sun, 2 Nov 2008 18:31:54 +0000 (18:31 +0000)
source/gameengine/VideoTexture/ImageViewport.cpp
source/gameengine/VideoTexture/ImageViewport.h

index e2b4e469e808319526d14b333d8350d8cbdc421e..59995198ba1df4e710b2c7dae9b0aef1f4e40f8e 100644 (file)
@@ -25,13 +25,12 @@ http://www.gnu.org/copyleft/lesser.txt.
 #include <PyObjectPlus.h>
 #include <structmember.h>
 
-#include "ImageViewport.h"
-
 #include <BIF_gl.h>
 
 #include "Texture.h"
 #include "ImageBase.h"
 #include "FilterSource.h"
+#include "ImageViewport.h"
 
 
 // constructor
@@ -81,7 +80,7 @@ void ImageViewport::setCaptureSize (short * size)
                if (size[idx] < 1)
                        m_capSize[idx] = 1;
                else if (size[idx] > getViewportSize()[idx])
-                       m_capSize[idx] = getViewportSize()[idx];
+                       m_capSize[idx] = short(getViewportSize()[idx]);
                else
                        m_capSize[idx] = size[idx];
        }
@@ -91,7 +90,7 @@ void ImageViewport::setCaptureSize (short * size)
 }
 
 // set position of capture rectangle
-void ImageViewport::setPosition (int * pos)
+void ImageViewport::setPosition (GLint * pos)
 {
        // if new position is not provided, use existing position
        if (pos == NULL) pos = m_position;
@@ -125,7 +124,7 @@ void ImageViewport::calcImage (unsigned int texId)
        {
                // just copy current viewport to texture
                glBindTexture(GL_TEXTURE_2D, texId);
-               glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, m_upLeft[0], m_upLeft[1], m_capSize[0], m_capSize[1]);
+               glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, m_upLeft[0], m_upLeft[1], (GLsizei)m_capSize[0], (GLsizei)m_capSize[1]);
                // image is not available
                m_avail = false;
        }
@@ -133,7 +132,7 @@ void ImageViewport::calcImage (unsigned int texId)
        else if (!m_avail)
        {
                // get frame buffer data
-               glReadPixels(m_upLeft[0], m_upLeft[1], m_capSize[0], m_capSize[1], GL_RGB,
+               glReadPixels(m_upLeft[0], m_upLeft[1], (GLsizei)m_capSize[0], (GLsizei)m_capSize[1], GL_RGB,
                        GL_UNSIGNED_BYTE, m_viewportImage);
                // filter loaded data
                FilterBGR24 filt;
index 9fd3aeb7ba9bfdde786be881d3eb4ff41f3cd462..4265906b8f57d4143b74c564b69fcb6bfdcd69d6 100644 (file)
@@ -49,13 +49,13 @@ public:
        void setCaptureSize (short * size = NULL);
 
        /// get position in viewport
-       int * getPosition (void) { return m_position; }
+       GLint * getPosition (void) { return m_position; }
        /// set position in viewport
-       void setPosition (int * pos = NULL);
+       void setPosition (GLint * pos = NULL);
 
 protected:
        /// frame buffer rectangle
-       int m_viewport[4];
+       GLint m_viewport[4];
 
        /// size of captured area
        short m_capSize[2];
@@ -63,9 +63,9 @@ protected:
        bool m_whole;
 
        /// position of capture rectangle in viewport
-       int m_position[2];
+       GLint m_position[2];
        /// upper left point for capturing
-       int m_upLeft[2];
+       GLint m_upLeft[2];
 
        /// buffer to copy viewport
        BYTE * m_viewportImage;
@@ -76,7 +76,7 @@ protected:
        virtual void calcImage (unsigned int texId);
 
        /// get viewport size
-       int * getViewportSize (void) { return m_viewport + 2; }
+       GLint * getViewportSize (void) { return m_viewport + 2; }
 };