X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Feditwindow.h;h=9ca997be19e2d8acf2396373d10df340fce24c9c;hb=cf3ec188764cdf34ff3472ee9806aba3a772d2df;hp=8034d7e27245aa1e2829240417008370be30fea8;hpb=4e11c12e60477f13a26c0bbad41fbd9a2b1db5d9;p=ttedit diff --git a/src/editwindow.h b/src/editwindow.h index 8034d7e..9ca997b 100755 --- a/src/editwindow.h +++ b/src/editwindow.h @@ -1,52 +1,54 @@ -// -// EDITWINDOW.H: Header file -// -// by James L. Hammons -// (C) 2008 Underground Software -// - -#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 "toolwindow.h" // For ToolType enum -#include "glyphpoints.h" - -class TTEditWindow: public wxWindow -{ - 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; - - 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); - void DrawRoundDot(wxDC &, int32, int32); - void DrawSquareDot(wxDC &, int32, int32); - void DrawRoundDotN(wxDC &, int32, int32, uint32); - void DrawSquareDotN(wxDC &, int32, int32, uint32); - - DECLARE_EVENT_TABLE() -}; - -#endif // __EDITWINDOW_H__ +// +// EDITWINDOW.H: Header file +// +// by James L. Hammons +// (C) 2008 Underground Software +// + +#ifndef __EDITWINDOW_H__ +#define __EDITWINDOW_H__ + +#include +#include "types.h" +#include "toolwindow.h" // For ToolType enum +#include "glyphpoints.h" + +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: + 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; + + ToolWindow * toolPalette; + QCursor cur[9]; +}; + +#endif // __EDITWINDOW_H__