Added ability to customize keyboard events for controlling osgWidget::PdfImage/PdfReader
This commit is contained in:
@@ -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;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user