Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Luis Penaranda
panoramic
Commits
b9a7cf0f
Commit
b9a7cf0f
authored
Jan 22, 2013
by
Luis Peñaranda
Browse files
move image with the mouse
parent
5e76ac41
Changes
2
Show whitespace changes
Inline
Side-by-side
openglcanvas.cpp
View file @
b9a7cf0f
...
...
@@ -446,7 +446,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);
...
...
@@ -590,6 +592,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.1415926
f
/
image_size_x
;
center_phi
+=
(
event
->
y
()
-
lastPos
.
y
())
*
3.1415926
f
/
image_size_y
;
lastPos
=
event
->
pos
();
updateGL
();
}
}
void
OpenGLCanvas
::
paintGL
(){
float
fov_rads
=
(
fov
/
180.
f
)
*
1.5708
f
;
...
...
openglcanvas.h
View file @
b9a7cf0f
...
...
@@ -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
);
...
...
@@ -93,6 +95,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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment