mdo_tild - modified do_tild function
[%pt,scs_m] = mdo_tild(%pt,scs_m)
- %pt : position of the click
- scs_m : main scicos data structure
- %pt : position of the click
- scs_m : main scicos data structure
function [%pt,scs_m]=mdo_tild(%pt,scs_m)
// Copyright INRIA
while %t
if %pt==[] then
[btn,%pt,win,Cmenu]=cosclick()
if Cmenu<>[] then
[%win,Cmenu]=resume(win,Cmenu)
end
else
win=%win;
end
xc=%pt(1);yc=%pt(2);%pt=[]
k=getblock(scs_m,[xc;yc])
if k<>[] then break,end
end
if get_connected(scs_m,k)<>[] then
message('Connected block can''t be tilded')
return
end
o=scs_m.objs(k)
drawobj(o)
if pixmap then xset('wshow'),end
//geom=o(2);geom(3)=~geom(3);o(2)=geom;
pause
mblock=['bidonb';'mResistor';'mResistor2']
geom=o.graphics;
ll=%f;
for i=1:size(mblock,'*')
if mblock(i)==o.gui then
geom.flip=geom.flip+0.5;
if geom.flip==2 then geom.flip=0, end
sz_t=geom.sz(1);
geom.sz(1)=geom.sz(2)
geom.sz(2)=sz_t
ll=%t;
break;
end;
end
if ~ll then geom.flip=~geom.flip, end;
//geom.flip=~geom.flip;
o.graphics=geom;
drawobj(o)
scs_m_save=scs_m
scs_m.objs(k)=o
[scs_m_save,enable_undo,edited]=resume(scs_m_save,%t,%t)
endfunction
IRCOM Group
Alan Layec