X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/f85e6b00bd29ddff6067db8c6d4c56f53bcf4c0b..289cd57714db01c97f3fa7cb65efedf30114919f:/Constructor/include/exclusa.h?ds=sidebyside diff --git a/Constructor/include/exclusa.h b/Constructor/include/exclusa.h index 016b77e..34e2fe9 100644 --- a/Constructor/include/exclusa.h +++ b/Constructor/include/exclusa.h @@ -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