matlab制作简易画板遇到的问题

问题遇到的现象和发生背景

matlab编写画板代码,功能只包含形状和颜色

问题相关代码,请勿粘贴截图

while true
[x,y,bs]=GetMouse(wptr)
% if IsInRect(x,y,r3(4,:)) %直线
% if bs(1)%如何能在按下一个键后,执行该键的功能
%
if IsInRect(x,y,r4)
if bs(1)
x1=x
y1=y
while bs(1)
[x,y,bs]=GetMouse(wptr);
Screen('DrawLine',wptr,0,x1,y1,x,y,2);
for i=1:size(lines,1)
Screen('DrawLine',wptr,0,lines(i,1), , , ,2);%提问不能输入相同字符,这里就是取line的四个数
end
Screen('Flip',wptr);
end
lines=[lines;[x1,y1,x,y]];
end
end
end

运行结果及报错内容

不知道如何实现点击直线rect后,能够在r4区域画出直线

我的解答思路和尝试过的方法

在点击直线rect后,如果鼠标在r4区域,则能够画直线。但实际操作中,点击直线rect后,鼠标坐标就是在点击这个rect时的坐标;鼠标移动到r4也不显示新的坐标

我想要达到的结果

如何实现点击直线rect后,能够在r4区域画出直线