26#if ! defined (octave_GLCanvas_h)
27#define octave_GLCanvas_h 1
29#if defined (HAVE_QOPENGLWIDGET)
30# include <QOpenGLWidget>
31# define OCTAVE_QT_OPENGL_WIDGET QOpenGLWidget
32# include <QOpenGLFramebufferObject>
33# define OCTAVE_QT_OPENGL_FBO QOpenGLFramebufferObject
34# if defined (HAVE_QT_OFFSCREEN)
35# include <QOpenGLContext>
36# include <QOffscreenSurface>
38#elif defined (HAVE_QGLWIDGET)
40# define OCTAVE_QT_OPENGL_WIDGET QGLWidget
41# include <QGLFramebufferObject>
42# define OCTAVE_QT_OPENGL_FBO QGLFramebufferObject
44# error "configuration error: must have <QOpenGLWidget> or <QGLWidget>."
70 void do_print (
const QString& file_cmd,
const QString& term,
72 void drawZoomBox (
const QPoint& p1,
const QPoint& p2);
97# if defined (HAVE_QT_OFFSCREEN)
98 QOpenGLContext m_os_context;
99 QOffscreenSurface m_os_surface;
octave::opengl_renderer m_renderer
void mouseReleaseEvent(QMouseEvent *event)
void resize(int, int, int, int)
void draw(const graphics_handle &handle)
void wheelEvent(QWheelEvent *event)
GLCanvas(octave::base_qobject &oct_qobj, octave::interpreter &interp, const graphics_handle &handle, QWidget *parent)
void mousePressEvent(QMouseEvent *event)
uint8NDArray do_getPixels(const graphics_handle &handle)
void drawZoomBox(const QPoint &p1, const QPoint &p2)
void do_print(const QString &file_cmd, const QString &term, const graphics_handle &handle)
void keyReleaseEvent(QKeyEvent *event)
void keyPressEvent(QKeyEvent *event)
graphics_object selectFromAxes(const graphics_object &ax, const QPoint &pt)
octave::qopengl_functions m_glfcns
void mouseMoveEvent(QMouseEvent *event)
void mouseDoubleClickEvent(QMouseEvent *event)
bool begin_rendering(void)
Base class for Octave interfaces that use Qt.