X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Feditwindow.h;h=652535941fd35d21e45fdd477beed0f3f14e0d4f;hb=0c01fa32c7e0629ae61992e0419f03724fc18487;hp=846e891608342f6084855e7b8d5c83bb9f94dd60;hpb=c84263bb8b0d16e4c6da49aa0b7d0bc904ae02b1;p=ttedit diff --git a/src/editwindow.h b/src/editwindow.h index 846e891..6525359 100755 --- a/src/editwindow.h +++ b/src/editwindow.h @@ -8,41 +8,51 @@ #ifndef __EDITWINDOW_H__ #define __EDITWINDOW_H__ -#include // So that whoever uses this can without having - // to pull in a bunch of references manually -#include "types.h" -#include "ttedit.h" // For TTEditApp +#include +#include #include "toolwindow.h" // For ToolType enum #include "glyphpoints.h" -class TTEditWindow: public wxWindow +class EditWindow: public QWidget { - private: - TTEditApp & app; // Reference to the application object - 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; + Q_OBJECT - protected: public: - wxBitmap * bmp; - wxPoint pt, ptOffset, ptPrevious; + EditWindow(QWidget * parent = NULL); + QSize minimumSizeHint() const; + QSize sizeHint() const; - // Constructor and destructor - TTEditWindow(wxFrame * parent, const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, long style = 0); - ~TTEditWindow(void); + protected: + void paintEvent(QPaintEvent *); + void mousePressEvent(QMouseEvent *); + void mouseMoveEvent(QMouseEvent *); + void mouseReleaseEvent(QMouseEvent *); + void keyPressEvent(QKeyEvent *); + void keyReleaseEvent(QKeyEvent *); - void OnPaint(wxPaintEvent &e); - void OnMouseEvent(wxMouseEvent &e); + private: + void CreateCursors(void); + QPoint GetAdjustedMousePosition(QMouseEvent *); + QPoint GetAdjustedClientPosition(int x, int y); + void DrawGlyph(QPainter & p, GlyphPoints & glyph); + void DrawGlyphPoly(QPainter & p, GlyphPoints & glyph, uint16_t poly); - protected: - wxPoint GetAdjustedMousePosition(wxMouseEvent &e); - wxPoint GetAdjustedClientPosition(wxCoord x, wxCoord y); + public: + QImage image; + QPoint pt, ptOffset, ptPrevious; + double scale; // Window scaling factor + int32_t offsetX, offsetY; // Window offsets + ToolType tool; // Current tool + GlyphPoints pts; // Glyph point structure + int32_t ptHighlight, oldPtHighlight, ptNextHighlight, oldPtNextHighlight; + int16_t polyHighlight, oldPolyHighlight; + bool polyFirstPoint; + bool showRotationCenter, haveZeroPoint; + QPoint rotationCenter, rotationZeroPoint, rotationCurrentPoint; + double rotationAngle; - DECLARE_EVENT_TABLE() + ToolWindow * toolPalette; + QCursor cur[11]; }; #endif // __EDITWINDOW_H__