1 //---------------------------------------------------------------------------
\r
3 //---------------------------------------------------------------------------
\r
5 //---------------------------------------------------------------------------
\r
6 QWalsh::QWalsh(int x,int y) :QCircuit(x,y) {
\r
9 //---------------------------------------------------------------------------
\r
11 QWalsh::Draw(QDraw *qDraw) {
\r
12 int GridSize = qDraw->GetGridSize();
\r
13 int UnitSize = qDraw->GetUnitSize();
\r
14 int d = (GridSize-UnitSize)/2;
\r
15 int x1 = X * GridSize+d;
\r
16 int y1 = Y * GridSize+d;
\r
17 int x2 = x1 + UnitSize;
\r
18 int y2 = y1 + UnitSize;
\r
20 qDraw->SetBrushColor(clWhite);
\r
21 qDraw->FillRect(x1,y1,x2,y2);
\r
22 qDraw->SetBrushColor(clRed);
\r
23 qDraw->FrameRect(x1,y1,x2,y2);
\r
25 qDraw->SetBrushColor(clWhite);
\r
26 qDraw->TextOut(x1+UnitSize/2,y1+UnitSize/2,"H");
\r
28 //---------------------------------------------------------------------------
\r
30 QWalsh::GetCalcText(void) {
\r
32 os << "H(q[" << Y << "])";
\r
35 //---------------------------------------------------------------------------
\r
37 QWalsh::DrawPS(QPSDraw *psDraw) {
\r
38 int GridSize = psDraw->GetGridSize();
\r
39 int UnitSize = psDraw->GetUnitSize();
\r
40 int d = (GridSize-UnitSize)/2;
\r
41 int x1 = X * GridSize+d;
\r
42 int y1 = Y * GridSize+d;
\r
43 int x2 = x1 + UnitSize;
\r
44 int y2 = y1 + UnitSize;
\r
46 psDraw->FillRect(x1,y1,x2,y2);
\r
47 psDraw->FrameRect(x1,y1,x2,y2);
\r
48 psDraw->TextOut(x1+UnitSize/2,y1+UnitSize/2,"H");
\r
50 //---------------------------------------------------------------------------
\r
52 QWalsh::Reverse(int y) {
\r
55 //---------------------------------------------------------------------------
\r
57 QWalsh::GetOccupiedRect() {
\r
58 return TRect(X, Y, X + 1, Y + 1);
\r
60 //---------------------------------------------------------------------------
\r
63 QWalsh *qw = new QWalsh(X, Y);
\r
64 return (QCircuit*)qw;
\r
66 //---------------------------------------------------------------------------
\r