]> Shamusworld >> Repos - ttedit/blobdiff - src/editwindow.h
Added rotation tool, save/load capability.
[ttedit] / src / editwindow.h
index 846e891608342f6084855e7b8d5c83bb9f94dd60..9ca997be19e2d8acf2396373d10df340fce24c9c 100755 (executable)
@@ -8,41 +8,47 @@
 #ifndef __EDITWINDOW_H__
 #define __EDITWINDOW_H__
 
-#include <wx/wx.h>                                                             // So that whoever uses this can without having
-                                                                                               // to pull in a bunch of references manually
+#include <QtGui>
 #include "types.h"
-#include "ttedit.h"                                                            // For TTEditApp
 #include "toolwindow.h"                                                        // For ToolType enum
 #include "glyphpoints.h"
 
-class TTEditWindow: public wxWindow
+class EditWindow: public QWidget
 {
+       Q_OBJECT
+
+       public:
+               EditWindow(QWidget * parent = NULL);
+               QSize minimumSizeHint() const;
+               QSize sizeHint() const;
+
+       protected:
+               void paintEvent(QPaintEvent * event);
+               void mousePressEvent(QMouseEvent * event);
+               void mouseMoveEvent(QMouseEvent * event);
+               void mouseReleaseEvent(QMouseEvent * event);
+
        private:
-               TTEditApp & app;                                                // Reference to the application object
+               void CreateCursors(void);
+               QPoint GetAdjustedMousePosition(QMouseEvent * event);
+               QPoint GetAdjustedClientPosition(int x, int y);
+               void DrawGlyph(QPainter & p, GlyphPoints & glyph);
+
+       public:
+               QImage image;
+               QPoint pt, ptOffset, ptPrevious;
                double scale;                                                   // Window scaling factor
                int32 offsetX, offsetY;                                 // Window offsets
                ToolType tool;                                                  // Current tool
                GlyphPoints pts;                                                // Glyph point structure
                int32 ptHighlight, oldPtHighlight, ptNextHighlight, oldPtNextHighlight;
                bool polyFirstPoint;
+               bool showRotationCenter, haveZeroPoint;
+               QPoint rotationCenter, rotationZeroPoint, rotationCurrentPoint;
+               double rotationAngle;
 
-       protected:
-       public:
-               wxBitmap * bmp;
-               wxPoint pt, ptOffset, ptPrevious;
-
-               // Constructor and destructor
-               TTEditWindow(wxFrame * parent, const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, long style = 0);
-               ~TTEditWindow(void);
-
-               void OnPaint(wxPaintEvent &e);
-               void OnMouseEvent(wxMouseEvent &e);
-
-       protected:
-               wxPoint GetAdjustedMousePosition(wxMouseEvent &e);
-               wxPoint GetAdjustedClientPosition(wxCoord x, wxCoord y);
-
-       DECLARE_EVENT_TABLE()
+               ToolWindow * toolPalette;
+               QCursor cur[9];
 };
 
 #endif // __EDITWINDOW_H__