Gnash  0.8.11dev
Qt4Glue.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010,
3 // 2011 Free Software Foundation, Inc
4 //
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 3 of the License, or
8 // (at your option) any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 
19 #ifndef GNASH_KDE4_GLUE_H
20 #define GNASH_KDE4_GLUE_H
21 
22 #ifdef HAVE_CONFIG_H
23 #include "gnashconfig.h"
24 #endif
25 
26 #include "snappingrange.h"
27 
28 #include <QWidget>
29 
30 class QRect;
31 class QGLWidget;
32 
33 namespace gnash {
34  class Renderer;
35  class DrawingWidget;
36  class Qt4Gui;
37 }
38 
39 namespace gnash {
40 
41 class DrawingWidget : public QWidget
42 {
43  Q_OBJECT
44 
45 public:
48 
49 #ifdef RENDERER_OPENGL
50  QGLWidget* _glWidget;
51 #endif
52 
53 public slots:
54 
55  void properties();
56  void preferences();
57  void play();
58  void pause();
59  void stop();
60  void restart();
61  void refresh();
62  void fullscreen(bool isFull);
63  void quit();
64 
65 protected:
66  void paintEvent(QPaintEvent* event);
67  void timerEvent(QTimerEvent* event);
68  void resizeEvent(QResizeEvent* event);
69  void mouseReleaseEvent(QMouseEvent* event);
70  void mousePressEvent(QMouseEvent* event);
71  void mouseMoveEvent(QMouseEvent* event);
72  void wheelEvent(QWheelEvent* event);
73 
74  void keyPressEvent(QKeyEvent* event);
75  void keyReleaseEvent(QKeyEvent* event);
76  void contextMenuEvent(QContextMenuEvent* event);
77 
78 private:
79  Qt4Gui& _gui;
80 };
81 
82 class Qt4Glue
83 {
84  public:
85  Qt4Glue() : _drawing_area(nullptr) {}
86  virtual ~Qt4Glue() { }
87  virtual bool init(int argc, char **argv[]) = 0;
88 
89  virtual void prepDrawingArea(DrawingWidget *drawing_area) = 0;
90  virtual Renderer* createRenderHandler() = 0;
91  virtual void render() = 0;
92  virtual void render(const QRect& updateRect) = 0;
93  virtual void setInvalidatedRegions(const InvalidatedRanges& /* ranges */) {}
94  virtual void resize(int, int) {}
95  virtual void initBuffer(int, int) {}
96  protected:
98 };
99 
100 } // namespace gnash
101 
102 #endif
void refresh()
Definition: Qt4Glue.cpp:146
Definition: Qt4Gui.h:85
Qt4Glue()
Definition: Qt4Glue.h:85
void pause()
Definition: Qt4Glue.cpp:128
virtual ~Qt4Glue()
Definition: Qt4Glue.h:86
Definition: Qt4Glue.h:41
void keyPressEvent(QKeyEvent *event)
Definition: Qt4Glue.cpp:91
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:40
void mousePressEvent(QMouseEvent *event)
Definition: Qt4Glue.cpp:78
virtual void setInvalidatedRegions(const InvalidatedRanges &)
Definition: Qt4Glue.h:93
DrawingWidget(Qt4Gui &gui)
DrawingWidget implementation.
Definition: Qt4Glue.cpp:37
void fullscreen(bool isFull)
Definition: Qt4Glue.cpp:158
void keyReleaseEvent(QKeyEvent *event)
Definition: Qt4Glue.cpp:97
Base class for render handlers.
Definition: Renderer.h:188
void mouseMoveEvent(QMouseEvent *event)
Definition: Qt4Glue.cpp:65
void stop()
Definition: Qt4Glue.cpp:140
void preferences()
Definition: Qt4Glue.cpp:116
void contextMenuEvent(QContextMenuEvent *event)
Definition: Qt4Glue.cpp:72
void play()
Definition: Qt4Glue.cpp:122
DrawingWidget * _drawing_area
Definition: Qt4Glue.h:97
void mouseReleaseEvent(QMouseEvent *event)
Definition: Qt4Glue.cpp:85
void properties()
Definition: Qt4Glue.cpp:110
Definition: Qt4Glue.h:82
virtual void resize(int, int)
Definition: Qt4Glue.h:94
~DrawingWidget()
Definition: Qt4Glue.h:47
void restart()
Definition: Qt4Glue.cpp:134
void paintEvent(QPaintEvent *event)
Definition: Qt4Glue.cpp:47
void quit()
Definition: Qt4Glue.cpp:152
virtual void initBuffer(int, int)
Definition: Qt4Glue.h:95
void timerEvent(QTimerEvent *event)
Definition: Qt4Glue.cpp:53
void resizeEvent(QResizeEvent *event)
Definition: Qt4Glue.cpp:103
void wheelEvent(QWheelEvent *event)
Definition: Qt4Glue.cpp:59