Commit a066dd5b authored by Luis Peñaranda's avatar Luis Peñaranda
Browse files

Merge branch 'master' of gitorious.impa.br:pano/pano

parents 053e329f b9a7cf0f
......@@ -476,7 +476,9 @@ int OpenGLCanvas::getTextureSize(const char * const progname, const char * textu
pnm_readpaminit(in_file,&inpam,sizeof(struct pam));
#endif
int size = inpam.width*inpam.height*inpam.depth*inpam.bytes_per_sample;
image_size_x=inpam.width;
image_size_y=inpam.height;
int size = image_size_x*image_size_y*inpam.depth*inpam.bytes_per_sample;
pm_close(in_file);
//fprintf(stderr,"size=%d\n",size);
......@@ -620,6 +622,22 @@ void OpenGLCanvas::setShaders() {
}
void OpenGLCanvas::mousePressEvent(QMouseEvent *event){
lastPos=event->pos();
//fprintf(stderr,"mouse click\n");
}
void OpenGLCanvas::mouseMoveEvent(QMouseEvent *event){
// scroll with the left button
if(event->buttons()==Qt::LeftButton){
// compute the delta and move the image
center_lambda+=(event->x()-lastPos.x())*3.1415926f/image_size_x;
center_phi+=(event->y()-lastPos.y())*3.1415926f/image_size_y;
lastPos=event->pos();
updateGL();
}
}
void OpenGLCanvas::paintGL(){
float fov_rads = (fov/180.f)*1.5708f;
......
......@@ -55,6 +55,8 @@ protected:
void readTextureBytes(const char * const progname, const char * texturePath,unsigned char * textureBytes,int * outImageWidth, int * outImageHeight);
char *textFileRead(char *fn);
void setShaders();
void mousePressEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
signals:
void fps(QString newFPS);
......@@ -95,6 +97,12 @@ private:
// options set in the rc file
char* shader_dir;
char* input_image_file;
// input image size (determined automatically)
int image_size_x;
int image_size_y;
QPoint lastPos; // mouse click position
};
#endif // OPENGLCANVAS_H
......@@ -201,6 +201,7 @@
<slot>change_center_phi(double)</slot>
<slot>change_fov_scale_relation(QString)</slot>
<slot>change_visualization(QString)</slot>
<slot>change_input_image()</slot>
</slots>
</customwidget>
</customwidgets>
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment