X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/667418327423ba116d24751926a95a2f1235849c..ed55685399f3dd28a22f229c9f384facbed4d48d:/Constructor/include/exclusa.h diff --git a/Constructor/include/exclusa.h b/Constructor/include/exclusa.h index a34704a..34e2fe9 100644 --- a/Constructor/include/exclusa.h +++ b/Constructor/include/exclusa.h @@ -9,7 +9,7 @@ class Exclusa : public CItem { public: /**Constructor */ - Exclusa(); + Exclusa(int orientacion=0); /**Destructor */ virtual ~Exclusa(); @@ -30,11 +30,31 @@ class Exclusa : public CItem { /**Devuelve el tipo de conector que posee en las coordenadas (_a, _b) segun su orientacion */ virtual ConnectorType get_connector_type(int _a, int _b); + + /**Setea las coordenadas _a, _b en la posicion donde se deben conectar los cables logicos a la entrada. + */ + virtual void get_in_logic_connect_position(int& _a, int& _b); + + /**Setea las coordenadas _a, _b en la posicion donde se deben conectar los cables logicos a la salida. + */ + virtual void get_out_logic_connect_position(int& _a, int& _b); + + /**Actualiza la posicion de los conectores logicos ante un movimiento. + */ + virtual void update_logic_position(); + + /**Detecta si el click fue en el area de entrada o salida logica, devuelve UNDEF si no fue ninguna de las dos + */ + ConnectorType detect_click_position(int _a, int _b); + /**Funciones para obtener y setear sus propiedades */ void set_estado(bool _state); bool get_estado(); - private: + protected: + /**Coordenadas de las entrada y salida logica. + */ + int in_x, in_y, out_x, out_y; /**Imagenes en sus 2 posiciones */ Glib::RefPtr imageN; // 0