Added ability to customize keyboard events for controlling osgWidget::PdfImage/PdfReader

This commit is contained in:
Robert Osfield
2008-12-07 17:37:26 +00:00
parent 6f356aeb97
commit 45160a2129
2 changed files with 15 additions and 5 deletions

View File

@@ -59,7 +59,10 @@ class PdfImage : public osg::Image
{
public:
PdfImage():_pageNum(0) {}
PdfImage():
_pageNum(0),
_nextPageKeyEvent('n'),
_previousPageKeyEvent('p') {}
int getPageNum() const { return _pageNum; }
@@ -76,13 +79,20 @@ class PdfImage : public osg::Image
{
return page(_pageNum+1);
}
void setNextPageKeyEvent(int key) { _nextPageKeyEvent = key; }
int getNextPageKeyEvent() const { return _nextPageKeyEvent; }
void setPreviousPageKeyEvent(int key) { _previousPageKeyEvent = key; }
int getPreviousPageKeyEvent() const { return _previousPageKeyEvent; }
protected:
virtual ~PdfImage() {}
int _pageNum;
int _nextPageKeyEvent;
int _previousPageKeyEvent;
};

View File

@@ -160,14 +160,14 @@ class PopplerPdfImage : public osgWidget::PdfImage
virtual bool sendKeyEvent(int key, bool keyDown)
{
if (keyDown)
if (keyDown && key!=0)
{
if (key=='n')
if (key==_nextPageKeyEvent)
{
next();
return true;
}
else if (key=='p')
else if (key==_previousPageKeyEvent)
{
previous();
return true;