#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
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];
}
}
// 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;
{
// 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;
}
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;
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];
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;
virtual void calcImage (unsigned int texId);
/// get viewport size
- int * getViewportSize (void) { return m_viewport + 2; }
+ GLint * getViewportSize (void) { return m_viewport + 2; }
};