#ifndef WORKAREA_PRIVATE_H
#define WORKAREA_PRIVATE_H
+// Comment out to use QImage backend instead of QPixmap. This won't have any
+// effect on Windows, MacOSX and most X11 environment when running locally.
+// When running remotely on X11, this may have a big performance penalty.
+//#define USE_QIMAGE
+
#include "FuncRequest.h"
#include "qt_helpers.h"
#include <QAbstractScrollArea>
#include <QMouseEvent>
+#ifdef USE_QIMAGE
+#include <QImage>
+#else
#include <QPixmap>
+#endif
#include <QTimer>
class QContextMenuEvent;
/// hide the cursor
virtual void removeCursor();
-
- /// This function should be called to update the buffer readonly status.
- void setReadOnly(bool);
///
void dispatch(FuncRequest const & cmd0, KeyModifier = NoModifier);
/// hide the visible cursor, if it is visible
void updateCursorShape();
///
void setCursorShape(Qt::CursorShape shape);
+
+#ifdef USE_QIMAGE
+ void resetScreen()
+ {
+ screen_ = QImage(p->viewport()->width(), p->viewport()->height(),
+ QImage::Format_ARGB32_Premultiplied);
+ }
+
+ QImage screen_;
+#else
+ void resetScreen()
+ {
+ screen_ = QPixmap(p->viewport()->width(), p->viewport()->height());
+ }
+
+ QPixmap screen_;
+#endif
///
GuiWorkArea * p;
///
CursorWidget * cursor_;
///
- QPixmap screen_;
- ///
bool need_resize_;
///
bool schedule_redraw_;
/// pressed. This is used to get the correct context menu
/// when the menu is actually shown (after releasing on Windows)
/// and after the DEPM has done its job.
- docstring context_menu_name_;
+ std::string context_menu_name_;
}; // GuiWorkArea
} // namespace frontend