Subversion Repositories Code-Repo

Compare Revisions

Ignore whitespace Rev 334 → Rev 335

/Classwork/ECE5505 - Test and Verification/Final Project/Canvas.h
0,0 → 1,56
#ifndef CANVAS_H
#define CANVAS_H
 
#include "GlobalDefines.h"
#include "Circuit.h"
 
#define CANVAS_GATE_X_SPACING 240
#define CANVAS_GATE_Y_SPACING 20
 
#define COLOR_WIRE_REGION_OUTLINE 255,0,0,200
#define COLOR_WIRE_REGION_V 255,0,0,50
#define COLOR_WIRE_REGION_H 0,0,255,50
 
class Canvas : public QGraphicsView
{
Q_OBJECT
public:
Canvas(QWidget *parent = 0);
 
QSize minimumSizeHint() const;
QSize sizeHint() const;
 
void drawCircuit(Circuit *circuit);
 
signals:
void updateZoomSlider(int value);
void updateStatus(QString status);
 
public slots:
void zoomCanvas(int);
 
protected:
#ifndef QT_NO_WHEELEVENT
virtual void wheelEvent(QWheelEvent *event);
#endif
virtual void mousePressEvent(QMouseEvent *event);
virtual void mouseMoveEvent(QMouseEvent *event);
virtual void mouseReleaseEvent(QMouseEvent *event);
 
private:
QGraphicsScene *scene;
QGraphicsTextItem *resolution;
 
int zoomLevel;
 
Circuit *circuit;
 
bool _pan;
int _panStartX, _panStartY;
 
#ifdef _DEBUG
QPen debugPen;
#endif
};
 
#endif // CANVAS_H