summaryrefslogtreecommitdiffstats
path: root/krita/ui/kis_canvas.h
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2011-06-26 00:29:37 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2011-06-26 00:29:37 +0000
commit2785103a6bd4de55bd26d79e34d0fdd4b329a73a (patch)
treec2738b1095bfdb263da27bc1391403d829522a14 /krita/ui/kis_canvas.h
parentf008adb5a77e094eaf6abf3fc0f36958e66896a5 (diff)
downloadkoffice-2785103a6bd4de55bd26d79e34d0fdd4b329a73a.tar.gz
koffice-2785103a6bd4de55bd26d79e34d0fdd4b329a73a.zip
Remove krita* in preparation for name switch from Krita to Chalk
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/koffice@1238361 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'krita/ui/kis_canvas.h')
-rw-r--r--krita/ui/kis_canvas.h383
1 files changed, 0 insertions, 383 deletions
diff --git a/krita/ui/kis_canvas.h b/krita/ui/kis_canvas.h
deleted file mode 100644
index aff09e65..00000000
--- a/krita/ui/kis_canvas.h
+++ /dev/null
@@ -1,383 +0,0 @@
-/*
- * Copyright (c) 1999 Matthias Elter <me@kde.org>
- * Copyright (c) 2004-2006 Adrian Page <adrian@pagenet.plus.com>
- *
- * 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.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-#ifndef KIS_CANVAS_H_
-#define KIS_CANVAS_H_
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <tqwidget.h>
-#ifdef HAVE_GL
-#include <tqgl.h>
-#endif
-#include <tqpainter.h>
-
-#include "kis_global.h"
-#include "kis_point.h"
-#include "kis_vec.h"
-#include "kis_input_device.h"
-
-#ifdef TQ_WS_X11
-
-// Irix has a different (and better) XInput tablet driver to
-// the XFree/xorg driver. TQt needs a separate code path for that
-// and so would we.
-#if defined(HAVE_XINPUTEXT) && !defined(Q_OS_IRIX)
-#define EXTENDED_X11_TABLET_SUPPORT
-#endif
-
-#include <map>
-#include <X11/Xlib.h>
-
-#if defined(EXTENDED_X11_TABLET_SUPPORT)
-#include <X11/extensions/XInput.h>
-#endif
-
-#endif // TQ_WS_X11
-
-class KisEvent;
-class KisMoveEvent;
-class KisButtonPressEvent;
-class KisButtonReleaseEvent;
-class KisDoubleClickEvent;
-class KisCanvasWidgetPainter;
-
-class KisCanvasWidget : public TQObject {
- Q_OBJECT
- TQ_OBJECT
-
-public:
- KisCanvasWidget();
- virtual ~KisCanvasWidget();
-
- // When enabled, the canvas may throw away move events if the application
- // is unable to keep up with them, i.e. intermediate move events in the event
- // queue are skipped.
- void enableMoveEventCompressionHint(bool enableMoveCompression) { m_enableMoveEventCompressionHint = enableMoveCompression; }
-
- virtual KisCanvasWidgetPainter *createPainter() = 0;
-
-#ifdef EXTENDED_X11_TABLET_SUPPORT
- static KisInputDevice findActiveInputDevice();
- virtual void selectTabletDeviceEvents() = 0;
-
- static void selectTabletDeviceEvents(TQWidget *widget);
-#endif
-
-#ifdef TQ_WS_X11
- static void initX11Support();
-#endif
-
-signals:
- void sigGotPaintEvent(TQPaintEvent*);
- void sigGotEnterEvent(TQEvent*);
- void sigGotLeaveEvent(TQEvent*);
- void sigGotMouseWheelEvent(TQWheelEvent*);
- void sigGotKeyPressEvent(TQKeyEvent*);
- void sigGotKeyReleaseEvent(TQKeyEvent*);
- void sigGotDragEnterEvent(TQDragEnterEvent*);
- void sigGotDropEvent(TQDropEvent*);
- void sigGotMoveEvent(KisMoveEvent *);
- void sigGotButtonPressEvent(KisButtonPressEvent *);
- void sigGotButtonReleaseEvent(KisButtonReleaseEvent *);
- void sigGotDoubleClickEvent(KisDoubleClickEvent *);
-
-protected:
- void widgetGotPaintEvent(TQPaintEvent *event);
- void widgetGotMousePressEvent(TQMouseEvent *event);
- void widgetGotMouseReleaseEvent(TQMouseEvent *event);
- void widgetGotMouseDoubleClickEvent(TQMouseEvent *event);
- void widgetGotMouseMoveEvent(TQMouseEvent *event);
- void widgetGotTabletEvent(TQTabletEvent *event);
- void widgetGotEnterEvent(TQEvent *event );
- void widgetGotLeaveEvent(TQEvent *event);
- void widgetGotWheelEvent(TQWheelEvent *event);
- void widgetGotKeyPressEvent(TQKeyEvent *event);
- void widgetGotKeyReleaseEvent(TQKeyEvent *event);
- void widgetGotDragEnterEvent(TQDragEnterEvent *event);
- void widgetGotDropEvent(TQDropEvent *event);
- void moveEvent(KisMoveEvent *event);
- void buttonPressEvent(KisButtonPressEvent *event);
- void buttonReleaseEvent(KisButtonReleaseEvent *event);
- void doubleClickEvent(KisDoubleClickEvent *event);
- void translateTabletEvent(KisEvent *event);
-
-protected:
-
- bool m_enableMoveEventCompressionHint;
- double m_lastPressure;
-
-#ifdef TQ_WS_X11
- // On X11 systems, TQt throws away mouse move events if the application
- // is unable to keep up with them. We override this behaviour so that
- // we receive all move events, so that painting follows the mouse's motion
- // accurately.
- bool x11Event(XEvent *event, Display *x11Display, WId winId, TQPoint widgetOriginPos);
- static TQt::ButtonState translateX11ButtonState(int state);
- static TQt::ButtonState translateX11Button(unsigned int button);
-
- static bool X11SupportInitialised;
-
- // Modifier tqmasks for alt/meta - detected at run-time
- static long X11AltMask;
- static long X11MetaMask;
-
- int m_lastRootX;
- int m_lastRootY;
-
-#ifdef EXTENDED_X11_TABLET_SUPPORT
-
-public:
- class X11TabletDevice
- {
- public:
- X11TabletDevice();
- X11TabletDevice(const XDeviceInfo *deviceInfo);
-
- bool mightBeTabletDevice() const { return m_mightBeTabletDevice; }
-
- XID id() const { return m_deviceId; }
- XDevice *xDevice() const { return m_XDevice; }
- TQString name() const { return m_name; }
-
- KisInputDevice inputDevice() const { return m_inputDevice; }
- void setInputDevice(KisInputDevice inputDevice) { m_inputDevice = inputDevice; }
-
- void setEnabled(bool enabled);
- bool enabled() const;
-
- TQ_INT32 numAxes() const;
-
- void setXAxis(TQ_INT32 axis);
- void setYAxis(TQ_INT32 axis);
- void setPressureAxis(TQ_INT32 axis);
- void setXTiltAxis(TQ_INT32 axis);
- void setYTiltAxis(TQ_INT32 axis);
- void setWheelAxis(TQ_INT32 axis);
- void setToolIDAxis(TQ_INT32 axis);
- void setSerialNumberAxis(TQ_INT32 axis);
-
- static const TQ_INT32 NoAxis = -1;
- static const TQ_INT32 DefaultAxis = -2;
-
- TQ_INT32 xAxis() const;
- TQ_INT32 yAxis() const;
- TQ_INT32 pressureAxis() const;
- TQ_INT32 xTiltAxis() const;
- TQ_INT32 yTiltAxis() const;
- TQ_INT32 wheelAxis() const;
- TQ_INT32 toolIDAxis() const;
- TQ_INT32 serialNumberAxis() const;
-
- void readSettingsFromConfig();
- void writeSettingsToConfig();
-
- // These return -1 if the device does not support the event
- int buttonPressEvent() const { return m_buttonPressEvent; }
- int buttonReleaseEvent() const { return m_buttonReleaseEvent; }
- int motionNotifyEvent() const { return m_motionNotifyEvent; }
- int proximityInEvent() const { return m_proximityInEvent; }
- int proximityOutEvent() const { return m_proximityOutEvent; }
-
- void enableEvents(TQWidget *widget) const;
-
- class State
- {
- public:
- State() {}
- State(const KisPoint& pos, double pressure, const KisVector2D& tilt, double wheel,
- TQ_UINT32 toolID, TQ_UINT32 serialNumber);
-
- // Position, pressure and wheel are normalised to 0 - 1
- KisPoint pos() const { return m_pos; }
- double pressure() const { return m_pressure; }
- // Tilt is normalised to -1->+1
- KisVector2D tilt() const { return m_tilt; }
- double wheel() const { return m_wheel; }
- // Wacom tool id and serial number of device.
- TQ_UINT32 toolID() const { return m_toolID; }
- TQ_UINT32 serialNumber() const { return m_serialNumber; }
-
- private:
- KisPoint m_pos;
- double m_pressure;
- KisVector2D m_tilt;
- double m_wheel;
- TQ_UINT32 m_toolID;
- TQ_UINT32 m_serialNumber;
- };
-
- State translateAxisData(const int *axisData) const;
-
- private:
- double translateAxisValue(int value, const XAxisInfo& axisInfo) const;
-
- XID m_deviceId;
- XDevice *m_XDevice;
-
- TQString m_name;
-
- bool m_mightBeTabletDevice;
- KisInputDevice m_inputDevice;
-
- bool m_enabled;
-
- TQ_INT32 m_xAxis;
- TQ_INT32 m_yAxis;
- TQ_INT32 m_pressureAxis;
- TQ_INT32 m_xTiltAxis;
- TQ_INT32 m_yTiltAxis;
- TQ_INT32 m_wheelAxis;
- TQ_INT32 m_toolIDAxis;
- TQ_INT32 m_serialNumberAxis;
-
- TQValueVector<XAxisInfo> m_axisInfo;
-
- int m_motionNotifyEvent;
- int m_buttonPressEvent;
- int m_buttonReleaseEvent;
- int m_proximityInEvent;
- int m_proximityOutEvent;
-
- TQValueVector<XEventClass> m_eventClassList;
- };
-
- typedef std::map<XID, X11TabletDevice> X11XIDTabletDeviceMap;
- static X11XIDTabletDeviceMap& tabletDeviceMap();
-
-protected:
- static int X11DeviceMotionNotifyEvent;
- static int X11DeviceButtonPressEvent;
- static int X11DeviceButtonReleaseEvent;
- static int X11ProximityInEvent;
- static int X11ProximityOutEvent;
-
- static X11XIDTabletDeviceMap X11TabletDeviceMap;
-
-#endif // EXTENDED_X11_TABLET_SUPPORT
-
-#endif // TQ_WS_X11
-};
-
-class KisCanvas : public TQObject {
- Q_OBJECT
- TQ_OBJECT
-
-public:
- KisCanvas(TQWidget *tqparent, const char *name);
- virtual ~KisCanvas();
-
- // When enabled, the canvas may throw away move events if the application
- // is unable to keep up with them, i.e. intermediate move events in the event
- // queue are skipped.
- void enableMoveEventCompressionHint(bool enableMoveCompression);
-
- bool isOpenGLCanvas() const;
-
- /**
- * Returns true if the cursor is over the canvas.
- */
- bool cursorIsOverCanvas() const;
-
- /**
- * Handle the given event (which must be a key event) as if the canvas
- * had received it directly.
- */
- void handleKeyEvent(TQEvent *e);
-
- int width() const;
- int height() const;
-
- void update();
- void update(const TQRect& r);
- void update(int x, int y, int width, int height);
- void tqrepaint();
- void tqrepaint(bool erase);
- void tqrepaint(int x, int y, int width, int height, bool erase = true);
- void tqrepaint(const TQRect& r, bool erase = true);
- void tqrepaint(const TQRegion& r, bool erase = true);
-
- void updateGeometry();
-
-#if defined(EXTENDED_X11_TABLET_SUPPORT)
- void selectTabletDeviceEvents();
-#endif
-
-signals:
- void sigGotPaintEvent(TQPaintEvent*);
- void sigGotEnterEvent(TQEvent*);
- void sigGotLeaveEvent(TQEvent*);
- void sigGotMouseWheelEvent(TQWheelEvent*);
- void sigGotKeyPressEvent(TQKeyEvent*);
- void sigGotKeyReleaseEvent(TQKeyEvent*);
- void sigGotDragEnterEvent(TQDragEnterEvent*);
- void sigGotDropEvent(TQDropEvent*);
- void sigGotMoveEvent(KisMoveEvent *);
- void sigGotButtonPressEvent(KisButtonPressEvent *);
- void sigGotButtonReleaseEvent(KisButtonReleaseEvent *);
- void sigGotDoubleClickEvent(KisDoubleClickEvent *);
-
-protected:
- // Allow KisView to render on the widget directly, but everything else
- // has restricted access.
- friend class KisView;
- friend class KisCanvasPainter;
-
- // One of these will be valid, the other null. In TQt3, using a TQPainter on
- // a TQGLWidget is not reliable.
- TQWidget *TQPaintDeviceWidget() const;
-#ifdef HAVE_GL
- TQGLWidget *OpenGLWidget() const;
-#endif
- void createTQPaintDeviceCanvas();
-#ifdef HAVE_GL
- void createOpenGLCanvas(TQGLWidget *sharedContextWidget);
-#endif
- void show();
- void hide();
- void setGeometry(int x, int y, int width, int height);
-
- void setUpdatesEnabled(bool updatesEnabled);
- bool isUpdatesEnabled() const;
-
- void setFocusPolicy(TQWidget::FocusPolicy focusPolicy);
-
- const TQCursor& cursor() const;
- void setCursor(const TQCursor& cursor);
-
- KisCanvasWidgetPainter *createPainter();
- KisCanvasWidget *canvasWidget() const;
-
-protected:
-#ifdef HAVE_GL
- void createCanvasWidget(bool useOpenGL, TQGLWidget *sharedContextWidget = 0);
-#else
- void createCanvasWidget(bool useOpenGL);
-#endif
- TQWidget *m_parent;
- TQString m_name;
- KisCanvasWidget *m_canvasWidget;
- bool m_enableMoveEventCompressionHint;
- bool m_useOpenGL;
-};
-
-#endif // KIS_CANVAS_H_
-