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:
46  DrawingWidget(Qt4Gui& gui);
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
gnash::geometry::SnappingRanges2d< std::int32_t >
gnash::DrawingWidget::play
void play()
Definition: Qt4Glue.cpp:122
position
@ position
Definition: klash_part.cpp:329
gnash::DrawingWidget::mouseReleaseEvent
void mouseReleaseEvent(QMouseEvent *event)
Definition: Qt4Glue.cpp:85
gnash::DrawingWidget::properties
void properties()
Definition: Qt4Glue.cpp:110
gnash::Qt4Glue::render
virtual void render()=0
gnash::DrawingWidget::~DrawingWidget
~DrawingWidget()
Definition: Qt4Glue.h:47
gnash::Qt4Glue::_drawing_area
DrawingWidget * _drawing_area
Definition: Qt4Glue.h:97
gnash::Gui::notifyMouseWheel
void notifyMouseWheel(int delta)
Send a mouse wheel event to the stage.
Definition: gui.cpp:515
gnash::Qt4Gui
Definition: Qt4Gui.h:86
gnash::Qt4Glue::init
virtual bool init(int argc, char **argv[])=0
gnash
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:41
gnash::Qt4Gui::resize
void resize(int width, int height)
Definition: Qt4Gui.cpp:472
gnash::DrawingWidget::preferences
void preferences()
Definition: Qt4Glue.cpp:116
gnash::Renderer
Base class for render handlers.
Definition: Renderer.h:189
gnash::DrawingWidget::contextMenuEvent
void contextMenuEvent(QContextMenuEvent *event)
Definition: Qt4Glue.cpp:72
gnash::DrawingWidget::paintEvent
void paintEvent(QPaintEvent *event)
Definition: Qt4Glue.cpp:47
gnash::Qt4Glue::resize
virtual void resize(int, int)
Definition: Qt4Glue.h:94
gnash::Gui::pause
void pause()
Toggle between "stop" and "play" mode.
Definition: gui.cpp:875
gnash::Qt4Glue::initBuffer
virtual void initBuffer(int, int)
Definition: Qt4Glue.h:95
gnash::DrawingWidget::restart
void restart()
Definition: Qt4Glue.cpp:134
gnash::Qt4Gui::setFullscreen
virtual void setFullscreen()
Definition: Qt4Gui.cpp:354
gnash::DrawingWidget::wheelEvent
void wheelEvent(QWheelEvent *event)
Definition: Qt4Glue.cpp:59
gnash::Gui::notifyMouseClick
void notifyMouseClick(bool mouse_pressed)
Mouse notification callback to be called when the mouse is clicked.
Definition: gui.cpp:531
gnash::Gui::refreshView
void refreshView()
Definition: gui.cpp:547
gnash::DrawingWidget::refresh
void refresh()
Definition: Qt4Glue.cpp:146
gnash::DrawingWidget::timerEvent
void timerEvent(QTimerEvent *event)
Definition: Qt4Glue.cpp:53
gnash::DrawingWidget::quit
void quit()
Definition: Qt4Glue.cpp:152
Qt4Glue.h
gnash::Gui::notifyMouseMove
void notifyMouseMove(int x, int y)
Mouse notification callback to be called when the mouse is moved.
Definition: gui.cpp:469
gnash::DrawingWidget::pause
void pause()
Definition: Qt4Glue.cpp:128
gnash::Gui::advance_movie
static bool advance_movie(Gui *gui)
Convenience static wrapper around advanceMovie for callbacks happiness.
Definition: gui.h:272
gnash::DrawingWidget::resizeEvent
void resizeEvent(QResizeEvent *event)
Definition: Qt4Glue.cpp:103
gnash::DrawingWidget::keyPressEvent
void keyPressEvent(QKeyEvent *event)
Definition: Qt4Glue.cpp:91
gnash::Qt4Glue::Qt4Glue
Qt4Glue()
Definition: Qt4Glue.h:85
Qt4Gui.h
gnash::Qt4Gui::handleKeyEvent
virtual void handleKeyEvent(QKeyEvent *event, bool down)
Definition: Qt4Gui.cpp:464
gnash::Gui::play
void play()
Put the application in "play" mode.
Definition: gui.cpp:830
gnash::Gui::quit
void quit()
Always called on exit.
Definition: gui.cpp:215
gnash::Qt4Glue::render
virtual void render(const QRect &updateRect)=0
gnash::Qt4Glue::~Qt4Glue
virtual ~Qt4Glue()
Definition: Qt4Glue.h:86
gnash::Gui::restart
void restart()
Definition: gui.cpp:269
gnashconfig.h
gnash::Qt4Glue::prepDrawingArea
virtual void prepDrawingArea(DrawingWidget *drawing_area)=0
gnash::DrawingWidget::mousePressEvent
void mousePressEvent(QMouseEvent *event)
Definition: Qt4Glue.cpp:78
gnash::Qt4Gui::showProperties
void showProperties()
Definition: Qt4Gui.cpp:479
gnash::Qt4Gui::showPreferences
void showPreferences()
Definition: Qt4Gui.cpp:564
gnash::DrawingWidget::keyReleaseEvent
void keyReleaseEvent(QKeyEvent *event)
Definition: Qt4Glue.cpp:97
gnash::DrawingWidget::fullscreen
void fullscreen(bool isFull)
Definition: Qt4Glue.cpp:158
gnash::Qt4Gui::renderWidget
void renderWidget(const QRect &updateRect)
Definition: Qt4Gui.cpp:274
gnash::Qt4Gui::popupMenu
void popupMenu(const QPoint &point)
Definition: Qt4Gui.cpp:243
gnash::DrawingWidget::stop
void stop()
Definition: Qt4Glue.cpp:140
gnash::Qt4Glue::setInvalidatedRegions
virtual void setInvalidatedRegions(const InvalidatedRanges &)
Definition: Qt4Glue.h:93
snappingrange.h
gnash::DrawingWidget
Definition: Qt4Glue.h:42
gnash::DrawingWidget::mouseMoveEvent
void mouseMoveEvent(QMouseEvent *event)
Definition: Qt4Glue.cpp:65
gnash::Qt4Glue
Definition: Qt4Glue.h:83
gnash::Qt4Gui::unsetFullscreen
virtual void unsetFullscreen()
Definition: Qt4Gui.cpp:364
gnash::DrawingWidget::DrawingWidget
DrawingWidget(Qt4Gui &gui)
DrawingWidget implementation.
Definition: Qt4Glue.cpp:37
gnash::Gui::stop
void stop()
Put the application in "stop" mode.
Definition: gui.cpp:853
gnash::Qt4Glue::createRenderHandler
virtual Renderer * createRenderHandler()=0