📄 openfig.c
字号:
*/
#line 45 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(45);
#line 45 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
if (nargin_ < 2) {
/*
* policy = 'new';
*/
#line 46 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(46);
#line 46 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mlfAssign(&policy, mxCreateString("new"));
/*
* end
*/
#line 47 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(47);
#line 47 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
}
/*
*
* if ~isequal(policy,'new') & ~isequal(policy,'reuse')
*/
#line 49 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(49);
#line 49 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
{
#line 49 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mxArray * a_ = mclInitialize(mclNot(mlfIsequal(mclVa(policy, "policy"), mxCreateString("new"), NULL)));
#line 49 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
if (mlfTobool(a_) && mlfTobool(mclAnd(a_, mclNot(mlfIsequal(mclVa(policy, "policy"), mxCreateString("reuse"), NULL))))) {
#line 49 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mxDestroyArray(a_);
/*
* error('Second input argument must be ''new'' or ''reuse''.');
*/
#line 50 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(50);
#line 50 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mlfError(mxCreateString("Second input argument must be 'new' or 'reuse'."), NULL);
#line 50 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
} else {
#line 50 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mxDestroyArray(a_);
#line 50 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
}
/*
* end
*/
#line 51 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(51);
#line 51 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
}
/*
*
* [path, name, ext] = fileparts(filename);
*/
#line 53 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(53);
#line 53 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mlfAssign(&path, mlfFileparts(&name, &ext, NULL, mclVa(filename, "filename")));
/*
*
* if isempty(ext)
*/
#line 55 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(55);
#line 55 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
if (mlfTobool(mlfIsempty(mclVv(ext, "ext")))) {
/*
* ext = '.fig';
*/
#line 56 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(56);
#line 56 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mlfAssign(&ext, mxCreateString(".fig"));
/*
* elseif ~isequal(lower(ext), '.fig')
*/
#line 57 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(57);
#line 57 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
} else if (mlfTobool(mclNot(mlfIsequal(mlfLower(mclVv(ext, "ext")), mxCreateString(".fig"), NULL)))) {
/*
* error('Argument must be a .fig file');
*/
#line 58 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(58);
#line 58 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mlfError(mxCreateString("Argument must be a .fig file"), NULL);
/*
* end
*/
#line 59 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(59);
#line 59 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
}
/*
*
* filename = fullfile(path, [name ext]);
*/
#line 61 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(61);
#line 61 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mlfAssign(&filename, mlfFullfile(mclVv(path, "path"), mlfHorzcat(mclVv(name, "name"), mclVv(ext, "ext"), NULL), NULL));
/*
*
* % We will use this token, based on the base name of the file
* % (without path or extension) to track open instances of figure.
* fname = filename;
*/
#line 65 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(65);
#line 65 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mlfAssign(&fname, mclVa(filename, "filename"));
/*
* flag = isletter(fname) | fname == '_' | ('0' <= fname & fname <= '9');
*/
#line 66 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(66);
#line 66 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mlfAssign(&flag, mclOr(mclOr(mlfIsletter(mclVv(fname, "fname")), mclEq(mclVv(fname, "fname"), mxCreateString("_"))), mclAnd(mclLe(mxCreateString("0"), mclVv(fname, "fname")), mclLe(mclVv(fname, "fname"), mxCreateString("9")))));
/*
* if (~all(flag))
*/
#line 67 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(67);
#line 67 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
if (mlfTobool(mclNot(mlfAll(mclVv(flag, "flag"), NULL)))) {
/*
* fname(find(~flag))=[];
*/
#line 68 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(68);
#line 68 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mlfIndexDelete(&fname, "(?)", mlfFind(NULL, NULL, mclNot(mclVv(flag, "flag"))));
/*
* end
*/
#line 69 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(69);
#line 69 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
}
/*
* fname = fliplr(fname); % file name is more important
*/
#line 70 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(70);
#line 70 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mlfAssign(&fname, mlfFliplr(mclVv(fname, "fname")));
/*
* TOKEN = ['OpenFig_' fname '_SINGLETON']; % hide leading kruft
*/
#line 71 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(71);
#line 71 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mlfAssign(&TOKEN, mlfHorzcat(mxCreateString("OpenFig_"), mclVv(fname, "fname"), mxCreateString("_SINGLETON"), NULL));
/*
* TOKEN = TOKEN(1:min(end, 31));
*/
#line 72 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(72);
#line 72 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mlfAssign(&TOKEN, mlfIndexRef(mclVv(TOKEN, "TOKEN"), "(?)", mlfColon(mlfScalar(1), mlfMin(NULL, mlfEnd(mclVv(TOKEN, "TOKEN"), mlfScalar(1), mlfScalar(1)), mlfScalar(31), NULL), NULL)));
/*
*
* % get the existing list of figures, and prune out stale handles.
* figs = getappdata(0, TOKEN);
*/
#line 75 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(75);
#line 75 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mlfAssign(&figs, mlfGetappdata(mlfScalar(0), mclVv(TOKEN, "TOKEN")));
/*
* figs = figs(ishandle(figs));
*/
#line 76 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(76);
#line 76 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mlfAssign(&figs, mlfIndexRef(mclVv(figs, "figs"), "(?)", mlfIshandle(mclVv(figs, "figs"))));
/*
*
* % are we reusing an existing figure?
* reusing = false;
*/
#line 79 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(79);
#line 79 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mlfAssign(&reusing, mlfFalse(NULL));
/*
*
* switch policy
*/
#line 81 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(81);
#line 81 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
{
#line 81 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mxArray * v_ = mclInitialize(mclVa(policy, "policy"));
#line 81 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
if (mclSwitchCompare(v_, mxCreateString("new"))) {
/*
* case 'new'
* % create another one, unconditionally
* [fig, oldvis] = hgload(filename, struct('Visible','off'));
*/
#line 84 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(84);
#line 84 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mlfAssign(&fig, mlfNHgload(2, &oldvis, mclVa(filename, "filename"), mlfStruct(mxCreateString("Visible"), mxCreateString("off"), NULL), NULL));
/*
* figs(end + 1) = fig;
*/
#line 85 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(85);
#line 85 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mlfIndexAssign(&figs, "(?)", mclPlus(mlfEnd(mclVv(figs, "figs"), mlfScalar(1), mlfScalar(1)), mlfScalar(1)), mclVv(fig, "fig"));
/*
* case 'reuse'
*/
#line 86 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(86);
#line 86 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
} else if (mclSwitchCompare(v_, mxCreateString("reuse"))) {
/*
* % create one only if there are no others
* if isempty(figs)
*/
#line 88 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(88);
#line 88 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
if (mlfTobool(mlfIsempty(mclVv(figs, "figs")))) {
/*
* [figs, oldvis] = hgload(filename, struct('Visible','off'));
*/
#line 89 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(89);
#line 89 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mlfAssign(&figs, mlfNHgload(2, &oldvis, mclVa(filename, "filename"), mlfStruct(mxCreateString("Visible"), mxCreateString("off"), NULL), NULL));
/*
* else
*/
#line 90 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(90);
#line 90 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
} else {
/*
* oldvis = get(figs(end),{'Visible'});
*/
#line 91 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(91);
#line 91 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mlfAssign(&oldvis, mlfNGet(1, mlfIndexRef(mclVv(figs, "figs"), "(?)", mlfEnd(mclVv(figs, "figs"), mlfScalar(1), mlfScalar(1))), mlfCellhcat(mxCreateString("Visible"), NULL), NULL));
/*
* reusing = true;
*/
#line 92 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(92);
#line 92 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mlfAssign(&reusing, mlfTrue(NULL));
/*
* end
*/
#line 93 "d:\\matlab6p5\\toolbox\\matlab\\graphics\\openfig.m"
mclMline(93);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -