Develop and Download Open Source Software

Browse Subversion Repository

Contents of /trunk/circuits/QWalsh.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (show annotations) (download) (as text)
Wed Aug 3 10:14:23 2011 UTC (12 years, 8 months ago) by kaityo
File MIME type: text/x-c++src
File size: 2113 byte(s)
First commit
1 //---------------------------------------------------------------------------
2 // Hadamard Gate
3 //---------------------------------------------------------------------------
4 #include "QWalsh.h"
5 //---------------------------------------------------------------------------
6 QWalsh::QWalsh(int x,int y) :QCircuit(x,y) {
7 Name = GetTypeStr();
8 }
9 //---------------------------------------------------------------------------
10 void
11 QWalsh::Draw(QDraw *qDraw) {
12 int GridSize = qDraw->GetGridSize();
13 int UnitSize = qDraw->GetUnitSize();
14 int d = (GridSize-UnitSize)/2;
15 int x1 = X * GridSize+d;
16 int y1 = Y * GridSize+d;
17 int x2 = x1 + UnitSize;
18 int y2 = y1 + UnitSize;
19
20 qDraw->SetBrushColor(clWhite);
21 qDraw->FillRect(x1,y1,x2,y2);
22 qDraw->SetBrushColor(clRed);
23 qDraw->FrameRect(x1,y1,x2,y2);
24
25 qDraw->SetBrushColor(clWhite);
26 qDraw->TextOut(x1+UnitSize/2,y1+UnitSize/2,"H");
27 }
28 //---------------------------------------------------------------------------
29 string
30 QWalsh::GetCalcText(void) {
31 ostringstream os;
32 os << "H(q[" << Y << "])";
33 return os.str();
34 }
35 //---------------------------------------------------------------------------
36 void
37 QWalsh::DrawPS(QPSDraw *psDraw) {
38 int GridSize = psDraw->GetGridSize();
39 int UnitSize = psDraw->GetUnitSize();
40 int d = (GridSize-UnitSize)/2;
41 int x1 = X * GridSize+d;
42 int y1 = Y * GridSize+d;
43 int x2 = x1 + UnitSize;
44 int y2 = y1 + UnitSize;
45
46 psDraw->FillRect(x1,y1,x2,y2);
47 psDraw->FrameRect(x1,y1,x2,y2);
48 psDraw->TextOut(x1+UnitSize/2,y1+UnitSize/2,"H");
49 }
50 //---------------------------------------------------------------------------
51 void
52 QWalsh::Reverse(int y) {
53 Y = y - Y;
54 }
55 //---------------------------------------------------------------------------
56 TRect
57 QWalsh::GetOccupiedRect() {
58 return TRect(X, Y, X + 1, Y + 1);
59 }
60 //---------------------------------------------------------------------------
61 QCircuit *
62 QWalsh::Clone() {
63 QWalsh *qw = new QWalsh(X, Y);
64 return (QCircuit*)qw;
65 }
66 //---------------------------------------------------------------------------
67

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26