From 45160a2129f84911af352c98f1290caa7d24ce5e Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Sun, 7 Dec 2008 17:37:26 +0000 Subject: [PATCH] Added ability to customize keyboard events for controlling osgWidget::PdfImage/PdfReader --- include/osgWidget/PdfReader | 14 ++++++++++++-- src/osgPlugins/pdf/ReaderWriterPDF.cpp | 6 +++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/include/osgWidget/PdfReader b/include/osgWidget/PdfReader index 2a2dfcc42..33310dbb0 100644 --- a/include/osgWidget/PdfReader +++ b/include/osgWidget/PdfReader @@ -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; }; diff --git a/src/osgPlugins/pdf/ReaderWriterPDF.cpp b/src/osgPlugins/pdf/ReaderWriterPDF.cpp index 9b18b165a..922855d6d 100644 --- a/src/osgPlugins/pdf/ReaderWriterPDF.cpp +++ b/src/osgPlugins/pdf/ReaderWriterPDF.cpp @@ -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;