⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 openfig.cpp

📁 matlab的可执行程序
💻 CPP
📖 第 1 页 / 共 2 页
字号:
    }
    //
    // 
    // if ~isequal(policy,'new') & ~isequal(policy,'reuse')
    //
    {
        mwArray a_ = ~ isequal(mwVa(policy, "policy"), mwVarargin(_mxarray11_));
        if (tobool(a_)
            && tobool(
                 a_
                 & ~ isequal(
                       mwVa(policy, "policy"), mwVarargin(_mxarray13_)))) {
            //
            // error('Second input argument must be ''new'' or ''reuse''.');
            //
            error(mwVarargin(_mxarray15_));
        } else {
        }
    //
    // end
    //
    }
    //
    // 
    // [path, name, ext] = fileparts(filename);
    //
    path = fileparts(&name, &ext, mwVa(filename, "filename"));
    //
    // 
    // if isempty(ext)
    //
    if (tobool(isempty(mwVv(ext, "ext")))) {
        //
        // ext = '.fig';
        //
        ext = _mxarray17_;
    //
    // elseif ~isequal(lower(ext), '.fig')
    //
    } else if (mclNotBool(
                 isequal(lower(mwVv(ext, "ext")), mwVarargin(_mxarray17_)))) {
        //
        // error('Argument must be a .fig file');
        //
        error(mwVarargin(_mxarray19_));
    //
    // end
    //
    }
    //
    // 
    // filename = fullfile(path, [name ext]);
    //
    filename
      = fullfile(
          mwVarargin(
            mwVv(path, "path"),
            horzcat(mwVarargin(mwVv(name, "name"), mwVv(ext, "ext")))));
    //
    // 
    // % 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;
    //
    fname = mwVa(filename, "filename");
    //
    // flag = isletter(fname) | fname == '_' | ('0' <= fname & fname <= '9');
    //
    flag
      = isletter(mwVv(fname, "fname")) | mwVv(fname, "fname") == _mxarray21_
        | _mxarray23_ <= mwVv(fname, "fname")
          & mwVv(fname, "fname") <= _mxarray25_;
    //
    // if (~all(flag))
    //
    if (mclNotBool(all(mwVv(flag, "flag")))) {
        //
        // fname(find(~flag))=[];
        //
        fname(find(~ mwVv(flag, "flag"))) = mwEmptySqBracket();
    //
    // end
    //
    }
    //
    // fname = fliplr(fname);            % file name is more important
    //
    fname = fliplr(mwVv(fname, "fname"));
    //
    // TOKEN = ['OpenFig_' fname '_SINGLETON']; % hide leading kruft
    //
    TOKEN = horzcat(mwVarargin(_mxarray27_, mwVv(fname, "fname"), _mxarray29_));
    //
    // TOKEN = TOKEN(1:min(end, 31));
    //
    TOKEN
      = mclArrayRef(
          mwVv(TOKEN, "TOKEN"),
          colon(
            _mxarray0_,
            min(
              end(mwVv(TOKEN, "TOKEN"), _mxarray0_, _mxarray0_),
              _mxarray31_)));
    //
    // 
    // % get the existing list of figures, and prune out stale handles.
    // figs = getappdata(0, TOKEN);
    //
    figs = getappdata(_mxarray32_, mwVv(TOKEN, "TOKEN"));
    //
    // figs = figs(ishandle(figs));
    //
    figs = mclArrayRef(mwVv(figs, "figs"), ishandle(mwVv(figs, "figs")));
    //
    // 
    // % are we reusing an existing figure?
    // reusing = false;
    //
    reusing = false_func(mwVarargin());
    //
    // 
    // switch policy
    //
    {
        mwArray v_ = mwVa(policy, "policy");
        if (switchcompare(v_, _mxarray11_)) {
            //
            // case 'new'
            // % create another one, unconditionally
            // [fig, oldvis] = hgload(filename, struct('Visible','off'));
            //
            fig
            = Nhgload(
                2,
                &oldvis,
                mwVa(filename, "filename"),
                mwVarargin(struct_func(mwVarargin(_mxarray33_, _mxarray35_))));
            //
            // figs(end + 1) = fig;
            //
            mclArrayAssign(
              &figs,
              mwVv(fig, "fig"),
              end(mwVv(figs, "figs"), _mxarray0_, _mxarray0_) + _mxarray0_);
        //
        // case 'reuse'
        //
        } else if (switchcompare(v_, _mxarray13_)) {
            //
            // % create one only if there are no others
            // if isempty(figs)
            //
            if (tobool(isempty(mwVv(figs, "figs")))) {
                //
                // [figs, oldvis] = hgload(filename, struct('Visible','off'));
                //
                figs
                = Nhgload(
                    2,
                    &oldvis,
                    mwVa(filename, "filename"),
                    mwVarargin(
                      struct_func(mwVarargin(_mxarray33_, _mxarray35_))));
            //
            // else
            //
            } else {
                //
                // oldvis = get(figs(end),{'Visible'});
                //
                oldvis
                  = Nget(
                      1,
                      mwVarargin(
                        mclArrayRef(
                          mwVv(figs, "figs"),
                          end(mwVv(figs, "figs"), _mxarray0_, _mxarray0_)),
                        _mxarray37_));
                //
                // reusing = true;
                //
                reusing = true_func(mwVarargin());
            //
            // end
            //
            }
            //
            // % reuse the one at the end of the list:
            // fig = figs(end);
            //
            fig
              = mclArrayRef(
                  mwVv(figs, "figs"),
                  end(mwVv(figs, "figs"), _mxarray0_, _mxarray0_));
        //
        // end
        //
        }
    }
    //
    // 
    // % bubble vis to top
    // oldvis = oldvis{1};
    //
    oldvis = mwVv(oldvis, "oldvis").cell(_mxarray0_);
    //
    // if isstruct(oldvis)
    //
    if (tobool(isstruct(mwVv(oldvis, "oldvis")))) {
        //
        // oldvis = oldvis.Visible;
        //
        oldvis = mwVv(oldvis, "oldvis").field("Visible");
    //
    // else
    //
    } else {
        //
        // oldvis = get(0,'DefaultFigureVisible');
        //
        oldvis = Nget(1, mwVarargin(_mxarray32_, _mxarray39_));
    //
    // end
    //
    }
    //
    // 
    // % remember all instances of this figure.
    // setappdata(0, TOKEN, figs);
    //
    setappdata(
      mwVarargin(_mxarray32_, mwVv(TOKEN, "TOKEN"), mwVv(figs, "figs")));
    //
    // 
    // % ensure the figure is completely on the screen:
    // movegui(fig, 'onscreen');
    //
    movegui(mwVarargin(mwVv(fig, "fig"), _mxarray41_));
    //
    // 
    // % decide whether to adjust visible
    // if isempty(visible)
    //
    if (tobool(isempty(mwVa(visible, "visible")))) {
        //
        // set(fig,'Visible',oldvis);
        //
        ans.EqAns(
          Nset(
            0,
            mwVarargin(mwVv(fig, "fig"), _mxarray33_, mwVv(oldvis, "oldvis"))));
    //
    // else
    //
    } else {
        //
        // switch visible
        //
        mwArray v_ = mwVa(visible, "visible");
        if (switchcompare(v_, _mxarray3_)) {
            //
            // case 'invisible'
            // set(fig,'Visible','off');
            //
            ans.EqAns(
              Nset(0, mwVarargin(mwVv(fig, "fig"), _mxarray33_, _mxarray35_)));
        //
        // case 'visible'
        //
        } else if (switchcompare(v_, _mxarray5_)) {
            //
            // set(fig,'Visible','on');
            //
            ans.EqAns(
              Nset(0, mwVarargin(mwVv(fig, "fig"), _mxarray33_, _mxarray43_)));
        //
        // case 'auto'
        //
        } else if (switchcompare(v_, _mxarray7_)) {
            //
            // if reusing
            //
            if (tobool(mwVv(reusing, "reusing"))) {
                //
                // % if oldvis is 'on', this will raise the figure to the foreground
                // % it will do nothing if oldvis is 'off'
                // set(fig,'Visible',oldvis);
                //
                ans.EqAns(
                  Nset(
                    0,
                    mwVarargin(
                      mwVv(fig, "fig"), _mxarray33_, mwVv(oldvis, "oldvis"))));
            //
            // else
            //
            } else {
                //
                // set(fig,'Visible','off');
                //
                ans.EqAns(
                  Nset(
                    0, mwVarargin(mwVv(fig, "fig"), _mxarray33_, _mxarray35_)));
            //
            // end
            //
            }
        //
        // end
        //
        }
    //
    // end
    //
    }
    //
    // 
    // if nargout
    //
    if (nargout_ != 0) {
        //
        // figOut = fig;
        //
        figOut = mwVv(fig, "fig");
    //
    // end
    //
    }
    mwValidateOutput(figOut, 1, nargout_, "figOut", "openfig");
    return figOut;
    //
    // 
    //
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -