📄 doscribble.m
字号:
function theResult = doscribble(self, theEvent, varargin)% ps/doscribble -- Process "ps" mouse events.% doscribble(self, 'theEvent') handles mouse events% on behalf of self, a "ps" object. The mouse% track is temporarily scribbled in the window. % Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.% All Rights Reserved.% Disclosure without explicit written consent from the% copyright owner does not constitute publication. % Version of 05-Nov-1999 08:43:30.% Updated 14-Dec-1999 16:46:14.persistent OLD_NAMEpersistent OLD_NUMBER_TITLEpersistent OLD_POINTERpersistent SELECTION_TYPEswitch lower(theEvent)% Mouse play. case 'windowbuttonmotionfcn' pt = get(gca, 'CurrentPoint'); pt = mean(pt); NEW_NAME = ['[' num2str(pt(1)) ', ' num2str(pt(2)) ', ' num2str(pt(3)) ']']; set(gcbf, 'Name', NEW_NAME) h = findobj(gcbf, 'Type', 'line', 'Tag', 'ps-scribble'); if any(h) h = h(1); x = get(h, 'XData'); y = get(h, 'YData'); x(end+1) = pt(1); y(end+1) = pt(2); while length(x) > 10 x(1) = []; y(1) = []; end set(h, 'XData', x, 'YData', y) endcase 'windowbuttondownfcn' pt = get(gca, 'CurrentPoint'); pt = mean(pt); SELECTION_TYPE = get(gcbf, 'SelectionType'); NEW_NAME = ['[' num2str(pt(1)) ', ' num2str(pt(2)) ', ' num2str(pt(3)) ']']; NEW_NUMBER_TITLE = 'off'; NEW_POINTER = 'circle'; OLD_NAME = get(gcbf, 'Name'); OLD_NUMBER_TITLE = get(gcbf, 'NumberTitle'); OLD_POINTER = get(gcbf, 'Pointer'); set(gcbf, ... 'WindowButtonDownFcn', '', ... 'WindowButtonMotionFcn', ['psevent WindowButtonMotionFcn'], ... 'WindowButtonUpFcn', ['psevent WindowButtonUpFcn'], ... 'Name', NEW_NAME, 'NumberTitle', NEW_NUMBER_TITLE, ... 'Pointer', NEW_POINTER); h = line(pt(1), pt(2), 'EraseMode', 'xor', ... 'Color', [0 0 0], ... 'LineWidth', 3.0, ... 'LineStyle', '--', ... 'Tag', 'ps-scribble');case 'windowbuttonupfcn' set(gcbf, ... 'WindowButtonMotionFcn', '', ... 'WindowButtonUpFcn', '', ... 'WindowButtonDownFcn', ['psevent WindowButtonDownFcn'], ... 'Name', OLD_NAME, 'NumberTitle', OLD_NUMBER_TITLE, ... 'Pointer', OLD_POINTER); OLD_NAME = []; OLD_POINTER = []; h = findobj(gcbf, 'Type', 'line', 'Tag', 'ps-scribble'); if ishandle(h), delete(h), endendif nargout > 0 theResult = self;end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -