X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/ee2cb3d6c26ae319d20bde28f415393e96611ece..325f784cbf310091cb5749842a52cf7e1ad64b1b:/Constructor/include/exclusa.h diff --git a/Constructor/include/exclusa.h b/Constructor/include/exclusa.h index d2a6737..34e2fe9 100644 --- a/Constructor/include/exclusa.h +++ b/Constructor/include/exclusa.h @@ -31,15 +31,30 @@ class Exclusa : public CItem { */ virtual ConnectorType get_connector_type(int _a, int _b); - /**Los valores _a y _b se setean en el punto donde se deben conectar los cables logicos + /**Setea las coordenadas _a, _b en la posicion donde se deben conectar los cables logicos a la entrada. */ - virtual void get_logic_connect_position(int& _a, int& _b); - + 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