OSDN Git Service

Initial Commit
[qcad/qcad.git] / circuits / QPauliZ.cpp
1 //---------------------------------------------------------------------------\r
2 #include "QPauliZ.h"\r
3 //---------------------------------------------------------------------------\r
4 QPauliZ::QPauliZ(int x, int y) : QCircuit(x,y) {\r
5   Name = GetTypeStr();\r
6 }\r
7 //---------------------------------------------------------------------------\r
8 void\r
9 QPauliZ::Draw(QDraw* qDraw) {\r
10 \r
11   int GridSize = qDraw->GetGridSize();\r
12   int UnitSize = qDraw->GetUnitSize();\r
13   int d = (GridSize-UnitSize)/2;\r
14   int x1 = X * GridSize+d;\r
15   int y1 = Y * GridSize+d;\r
16   int x2 = x1 + UnitSize;\r
17   int y2 = y1 + UnitSize;\r
18 \r
19   qDraw->SetBrushColor(clWhite);\r
20   qDraw->FillRect(x1,y1,x2,y2);\r
21   qDraw->SetBrushColor(clLime);\r
22   qDraw->FrameRect(x1,y1,x2,y2);\r
23 \r
24   qDraw->SetBrushColor(clWhite);\r
25   qDraw->TextOut(x1+UnitSize/2,y1+UnitSize/2,"Z");\r
26 \r
27 }\r
28 //---------------------------------------------------------------------------\r
29 void\r
30 QPauliZ::DrawPS(QPSDraw * psDraw) {\r
31   int GridSize = psDraw->GetGridSize();\r
32   int UnitSize = psDraw->GetUnitSize();\r
33   int d = (GridSize-UnitSize)/2;\r
34   int x1 = X * GridSize+d;\r
35   int y1 = Y * GridSize+d;\r
36   int x2 = x1 + UnitSize;\r
37   int y2 = y1 + UnitSize;\r
38 \r
39   psDraw->FillRect(x1,y1,x2,y2);\r
40   psDraw->FrameRect(x1,y1,x2,y2);\r
41 \r
42   psDraw->TextOut(x1+UnitSize/2,y1+UnitSize/2,"Z");\r
43 }\r
44 //---------------------------------------------------------------------------\r
45 string\r
46 QPauliZ::GetCalcText(void) {\r
47   ostringstream os;\r
48   os << "PAULIZ(q[" << Y << "])";\r
49   return os.str();\r
50 }\r
51 //---------------------------------------------------------------------------\r
52 string\r
53 QPauliZ::GetSaveText(void) {\r
54   ostringstream os;\r
55   os << X << "," << Y << "," << Name << ",\"\"";\r
56   return os.str();\r
57 }\r
58 //--------------------------------------------------------------------------\r
59 void\r
60 QPauliZ::Reverse(int y) {\r
61   Y = y - Y;\r
62 }\r
63 //--------------------------------------------------------------------------\r
64 TRect\r
65 QPauliZ::GetOccupiedRect() {\r
66   return TRect(X, Y, X + 1, Y + 1);\r
67 }\r
68 //--------------------------------------------------------------------------\r