Heyho,
the function [x,y]= ginput (n) gives back the x and y data of the curse position while clicking. The Problem: I want to give the user the possibility to click multiple times in a row. However, I need the click to have a direct effect.
So if n>1 the function waits for n clicks to be done before returning the x/y Data.I want to click –> get Values –> click –> get values –> click on the button –> finish. My idea was to use a Pushbutton which sets the ginput into an eternal loop, which can be broken be clicking agian.
function CollectePointsButton_Callback(hObject, eventdata, handles) Counter = getappdata(hObject,'Counter'); if isempty(Counter) == 1; Counter = 0; end Data = findobj('type','axes'); set(Data,'buttondownfcn',@ClickToCollecte); Counter = Counter +1; setappdata(handles.CollectePointsButton,'Counter',Counter); function ClickToCollecte (gcbo,evendata,handles) Data = findobj('tag','CollectePointsButton'); Counter = getappdata(Data,'Counter') while mod(Counter,2) == 1 Data = findobj('tag','CollectePointsButton'); Counter = getappdata(Data,'Counter') [x,y] = ginput(1); end
Best Answer