1 /***************************************************************************
2                           cross.h  -  description
3                              -------------------
4     begin                : Thu Aug 17 2000
5     copyright            : (C) 2000 by Waldemar Baraldi
6     email                : baraldi@lacasilla.com.ar
7  ***************************************************************************/
8 
9 /***************************************************************************
10  *                                                                         *
11  *   This program is free software; you can redistribute it and/or modify  *
12  *   it under the terms of the GNU General Public License as published by  *
13  *   the Free Software Foundation; either version 2 of the License, or     *
14  *   (at your option) any later version.                                   *
15  *                                                                         *
16  ***************************************************************************/
17 
18 #ifndef CROSS_H
19 #define CROSS_H
20 
21 #include "pipe.h"
22 
23 class Cross: public Pipe{
24 
25   public:
26 
27     Cross();
28     ~Cross();
29 
30     bool hasConnection(CardinalPoint con);
31 
32     bool isRemovable();
33 
34     bool hasLiquid();
35 
36     void restrictAsOutput(CardinalPoint con);
37 
38     bool isRestrictedAsOutput(CardinalPoint con);
39 
40     CardinalPoint getOutput(CardinalPoint input);
41 
42     void incFullLevel(CardinalPoint input,unsigned int amount);
43 
44     int getFullLevel(CardinalPoint input);
45 
46     Pointer * getPointer();
47 
48     void paint(VideoManager * vm);
49 
50   protected:
51 
52     int extra_full_level;
53     int extra_used_input;
54     CardinalPoint extra_ro;
55 };
56 
57 #endif
58 
59