OSDN Git Service

Initial Commit
[qcad/qcad.git] / circuits / QPauliY.cpp
1 //---------------------------------------------------------------------------\r
2 #include "QPauliY.h"\r
3 //---------------------------------------------------------------------------\r
4 QPauliY::QPauliY(int x, int y) : QCircuit(x,y) {\r
5   Name = GetTypeStr();\r
6 }\r
7 //---------------------------------------------------------------------------\r
8 void\r
9 QPauliY::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,"Y");\r
26 }\r
27 //---------------------------------------------------------------------------\r
28 void\r
29 QPauliY::DrawPS(QPSDraw * psDraw) {\r
30 \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   psDraw->TextOut(x1+UnitSize/2,y1+UnitSize/2,"Y");\r
42 }\r
43 //---------------------------------------------------------------------------\r
44 string\r
45 QPauliY::GetCalcText(void) {\r
46   ostringstream os;\r
47   os << "PAULIY(q[" << Y << "])";\r
48   return os.str();\r
49 }\r
50 //---------------------------------------------------------------------------\r
51 string\r
52 QPauliY::GetSaveText(void) {\r
53   ostringstream os;\r
54   os << X << "," << Y << "," << Name << ",\"\"";\r
55   return os.str();\r
56 }\r
57 //--------------------------------------------------------------------------\r
58 void\r
59 QPauliY::Reverse(int y) {\r
60   Y = y - Y;\r
61 }\r
62 //--------------------------------------------------------------------------\r
63 TRect\r
64 QPauliY::GetOccupiedRect() {\r
65   return TRect(X, Y, X + 1, Y + 1);\r
66 }\r
67 //--------------------------------------------------------------------------\r
68 \r