⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 presentationwidget.h.svn-base

📁 okular
💻 SVN-BASE
字号:
/*************************************************************************** *   Copyright (C) 2004 by Enrico Ros <eros.kde@email.it>                  * *                                                                         * *   This program is free software; you can redistribute it and/or modify  * *   it under the terms of the GNU General Public License as published by  * *   the Free Software Foundation; either version 2 of the License, or     * *   (at your option) any later version.                                   * ***************************************************************************/#ifndef _KPDF_PRESENTATIONWIDGET_H_#define _KPDF_PRESENTATIONWIDGET_H_#include <qdialog.h>#include <qlist.h>#include <qpixmap.h>#include <qstringlist.h>#include "core/observer.h"#include "core/pagetransition.h"class QLineEdit;class QToolBar;class QTimer;class KActionCollection;class KPDFDocument;class KPDFPage;class KPDFLink;class PresentationFrame;/** * @short A widget that shows pages as fullscreen slides (with transitions fx). * * This is a fullscreen widget that displays  */class PresentationWidget : public QDialog, public DocumentObserver{    Q_OBJECT    public:        PresentationWidget( QWidget * parent, KPDFDocument * doc );        ~PresentationWidget();        // inherited from DocumentObserver        uint observerId() const { return PRESENTATION_ID; }        void notifySetup( const QVector< KPDFPage * > & pages, bool documentChanged );        void notifyViewportChanged( bool smoothMove );        void notifyPageChanged( int pageNumber, int changedFlags );        bool canUnloadPixmap( int pageNumber );        // create actions that interact with this widget        void setupActions( KActionCollection * collection );    protected:        // widget events        bool event( QEvent * e );        void keyPressEvent( QKeyEvent * e );        void wheelEvent( QWheelEvent * e );        void mousePressEvent( QMouseEvent * e );        void mouseReleaseEvent( QMouseEvent * e );        void mouseMoveEvent( QMouseEvent * e );        void paintEvent( QPaintEvent * e );    private:        const KPDFLink * getLink( int x, int y, QRect * geometry = 0 ) const;        void testCursorOnLink( int x, int y );        void overlayClick( const QPoint & position );        void changePage( int newPage );        void generatePage();        void generateIntroPage( QPainter & p );        void generateContentsPage( int page, QPainter & p );        void generateOverlay();        void initTransition( const KPDFPageTransition *transition );        const KPDFPageTransition defaultTransition() const;        const KPDFPageTransition defaultTransition( int ) const;        // cache stuff        int m_width;        int m_height;        QPixmap m_lastRenderedPixmap;        QPixmap m_lastRenderedOverlay;        QRect m_overlayGeometry;        const KPDFLink * m_pressedLink;        bool m_handCursor;        // transition related        QTimer * m_transitionTimer;        QTimer * m_overlayHideTimer;        int m_transitionDelay;        int m_transitionMul;        QList< QRect > m_transitionRects;        // misc stuff        KPDFDocument * m_document;        QVector< PresentationFrame * > m_frames;        int m_frameIndex;        QStringList m_metaStrings;        QToolBar * m_topBar;        QLineEdit *m_pagesEdit;        KActionCollection * m_ac;    private slots:        void slotNextPage();        void slotPrevPage();        void slotFirstPage();        void slotLastPage();        void slotHideOverlay();        void slotTransitionStep();        void slotDelayedEvents();        void slotPageChanged();};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -