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

Last change on this file since 20 was 20, checked in by chou, 17 years ago

1ere release du Viewer :

  • Parseur xml sur Base de données
  • Chargement d'un fichier de positions
  • Dessin du top-level
  • Dessin des ports du top level
  • Dessin des sous composants
  • Dessin des ports de ces sous composants

les valeurs de positions et de taille sont en %.

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