source: trunk/IPs/systemC/processor/Morpheo/Tools/Viewer/Graphics/src/Graphics_drawPort.cpp @ 81

Last change on this file since 81 was 81, checked in by rosiere, 16 years ago
  • Finish Environment (and test)
  • Continue predictor_unit
  • Add external tools
  • svn keyword "Id" set
  • Property svn:executable set to *
  • Property svn:keywords set to Id
File size: 2.2 KB
Line 
1#include "window.h"
2
3using namespace std;
4
5using namespace morpheo::tools::viewer::graphics;
6
7/*draw the port in rectangular form*/
8void Window::drawPort(int x,int y,int pos,string dir){
9    if(pos == NORTH){
10      if (dir == "in"){
11
12        painter.drawLine(x,y,x-5,y-10);
13        painter.drawLine(x,y,x+5,y-10);
14        painter.drawLine(x-5,y-10,x+5,y-10);
15        }
16
17      if(dir== "out"){ 
18        painter.drawLine(x-5,y,x,y-10);
19        painter.drawLine(x+5,y,x,y-10);
20        painter.drawLine(x-5,y,x+5,y);
21        }
22
23      if(dir ==  "inout"){ 
24        painter.drawLine(x,y,x-5,y-5);
25        painter.drawLine(x,y,x+5,y-5);
26        painter.drawLine(x-5,y-5,x+5,y-5);
27        painter.drawLine(x-5,y-5,x,y-10);
28        painter.drawLine(x+5,y-5,x,y-10);
29        painter.drawLine(x-5,y-5,x+5,y-5);
30        }
31      }
32   
33
34    if(pos==SOUTH){
35      if (dir=="in"){
36        painter.drawLine(x,y,x-5,y+10);
37        painter.drawLine(x,y,x+5,y+10);
38        painter.drawLine(x-5,y+10,x+5,y+10);
39        }
40       
41      if(dir== "out"){
42        painter.drawLine(x-5,y,x,y+10);
43        painter.drawLine(x+5,y,x,y+10);
44        painter.drawLine(x-5,y,x+5,y);
45        }
46       
47      if(dir == "inout"){
48        painter.drawLine(x,y,x-5,y+5);
49        painter.drawLine(x,y,x+5,y+5);
50        painter.drawLine(x-5,y+5,x+5,y+5);
51        painter.drawLine(x-5,y+5,x,y+10);
52        painter.drawLine(x+5,y+5,x,y+10);
53        painter.drawLine(x-5,y+5,x+5,y+5);
54
55      }
56    } 
57   
58    if(pos==WEST){
59      if(dir== "in"){ 
60        painter.drawLine(x-10,y-5,x,y);
61        painter.drawLine(x-10,y+5,x,y);
62        painter.drawLine(x-10,y-5,x-10,y+5);
63        }
64
65      if(dir=="out"){
66        painter.drawLine(x-10,y,x,y-5);
67        painter.drawLine(x-10,y,x,y+5);
68        painter.drawLine(x,y-5,x,y+5);
69        }
70       
71      if(dir== "inout"){
72        painter.drawLine(x-5,y-5,x,y);
73        painter.drawLine(x-5,y+5,x,y);
74        painter.drawLine(x-5,y-5,x-5,y+5);
75        painter.drawLine(x-10,y,x-5,y-5);
76        painter.drawLine(x-10,y,x-5,y+5);
77        painter.drawLine(x-5,y-5,x-5,y+5);
78        }
79      }
80   
81
82    if(pos==EAST){
83      if(dir== "in"){ 
84        painter.drawLine(x+10,y-5,x,y);
85        painter.drawLine(x+10,y+5,x,y);
86        painter.drawLine(x+10,y-5,x+10,y+5);
87        }
88
89      if(dir== "out"){
90        painter.drawLine(x+10,y,x,y-5);
91        painter.drawLine(x+10,y,x,y+5);
92        painter.drawLine(x,y-5,x,y+5);
93        }
94       
95      if(dir== "inout"){
96        painter.drawLine(x+5,y-5,x,y);
97        painter.drawLine(x+5,y+5,x,y);
98        painter.drawLine(x+5,y-5,x+5,y+5);
99        painter.drawLine(x+10,y,x+5,y-5);
100        painter.drawLine(x+10,y,x+5,y+5);
101        painter.drawLine(x+5,y-5,x+5,y+5);
102       
103      }
104    }
105}
Note: See TracBrowser for help on using the repository browser.