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

📄 movegui.c

📁 精通Matlab与C_C++混合程序设计.rar 是精通Matlab与C_C++混合程序设计 这本书的配套源码
💻 C
📖 第 1 页 / 共 5 页
字号:
            #line 187 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
            mclMline(187);
            #line 187 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
            }
            /*
             * if fleft > rwidth
             */
            #line 188 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
            mclMline(188);
            #line 188 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
            if (mlfTobool(mclGt(mclVv(fleft, "fleft"), mclVv(rwidth, "rwidth")))) {
                /*
                 * fleft = rwidth;
                 */
                #line 189 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
                mclMline(189);
                #line 189 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
                mlfAssign(&fleft, mclVv(rwidth, "rwidth"));
            /*
             * end
             */
            #line 190 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
            mclMline(190);
            #line 190 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
            }
            /*
             * if fbottom > rheight
             */
            #line 191 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
            mclMline(191);
            #line 191 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
            if (mlfTobool(mclGt(mclVv(fbottom, "fbottom"), mclVv(rheight, "rheight")))) {
                /*
                 * fbottom = rheight;
                 */
                #line 192 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
                mclMline(192);
                #line 192 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
                mlfAssign(&fbottom, mclVv(rheight, "rheight"));
            /*
             * end
             */
            #line 193 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
            mclMline(193);
            #line 193 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
            }
            /*
             * newpos = [fleft, fbottom];
             */
            #line 194 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
            mclMline(194);
            #line 194 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
            mlfAssign(&newpos, mlfHorzcat(mclVv(fleft, "fleft"), mclVv(fbottom, "fbottom"), NULL));
        /*
         * end
         */
        #line 195 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
        mclMline(195);
        #line 195 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
        }
        #line 195 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
        mxDestroyArray(v_);
    /*
     * end
     */
    #line 196 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mclMline(196);
    #line 196 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    }
    /*
     * 
     * newpos(3:4) = [fwidth, fheight];
     */
    #line 198 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mclMline(198);
    #line 198 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mlfIndexAssign(&newpos, "(?)", mlfColon(mlfScalar(3), mlfScalar(4), NULL), mlfHorzcat(mclVv(fwidth, "fwidth"), mclVv(fheight, "fheight"), NULL));
    /*
     * 
     * if isunix
     */
    #line 200 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mclMline(200);
    #line 200 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    if (mlfTobool(mlfIsunix())) {
        /*
         * % remove width and height adjustments added above
         * newpos(3) = newpos(3) - wfudge;
         */
        #line 202 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
        mclMline(202);
        #line 202 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
        mlfIndexAssign(&newpos, "(?)", mlfScalar(3), mclMinus(mlfIndexRef(mclVv(newpos, "newpos"), "(?)", mlfScalar(3)), mclVv(wfudge, "wfudge")));
        /*
         * newpos(4) = newpos(4) - hfudge;
         */
        #line 203 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
        mclMline(203);
        #line 203 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
        mlfIndexAssign(&newpos, "(?)", mlfScalar(4), mclMinus(mlfIndexRef(mclVv(newpos, "newpos"), "(?)", mlfScalar(4)), mclVv(hfudge, "hfudge")));
        /*
         * set(fig, 'position', newpos);
         */
        #line 204 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
        mclMline(204);
        #line 204 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
        mclAssignAns(&ans, mlfNSet(0, mclVv(fig, "fig"), mxCreateString("position"), mclVv(newpos, "newpos"), NULL));
    /*
     * else
     */
    #line 205 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mclMline(205);
    #line 205 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    } else {
        /*
         * set(fig, 'outerposition', newpos);
         */
        #line 206 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
        mclMline(206);
        #line 206 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
        mclAssignAns(&ans, mlfNSet(0, mclVv(fig, "fig"), mxCreateString("outerposition"), mclVv(newpos, "newpos"), NULL));
    /*
     * end
     */
    #line 207 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mclMline(207);
    #line 207 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    }
    /*
     * set(fig, 'units', oldfunits);
     */
    #line 208 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mclMline(208);
    #line 208 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mclAssignAns(&ans, mlfNSet(0, mclVv(fig, "fig"), mxCreateString("units"), mclVv(oldfunits, "oldfunits"), NULL));
    /*
     * % setting outposition on a figure sets the activepositionproperty
     * % to 'outerposition'. It needs to be reset here.
     * set(fig, 'activepositionproperty', oldposmode);
     */
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mclMline(211);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mclAssignAns(&ans, mlfNSet(0, mclVv(fig, "fig"), mxCreateString("activepositionproperty"), mclVv(oldposmode, "oldposmode"), NULL));
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxDestroyArray(POSITIONS);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxDestroyArray(ans);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxDestroyArray(position);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxDestroyArray(fig);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxDestroyArray(i);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxDestroyArray(numel);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxDestroyArray(oldposmode);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxDestroyArray(oldfunits);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxDestroyArray(oldpos);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxDestroyArray(wfudge);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxDestroyArray(hfudge);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxDestroyArray(numtoolbars);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxDestroyArray(fleft);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxDestroyArray(fbottom);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxDestroyArray(fwidth);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxDestroyArray(fheight);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxDestroyArray(old0units);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxDestroyArray(screensize);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxDestroyArray(swidth);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxDestroyArray(sheight);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxDestroyArray(rwidth);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxDestroyArray(rheight);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxDestroyArray(newpos);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxDestroyArray(varargin);
    #line 211 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mclSetCurrentLocalFunctionTable(save_local_function_table_);
    /*
     * 
     * %----------------------------------------------------
     */
    #line 213 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mclMline(213);
    #line 213 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mclMlineExitFunction();
    #line 213 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
}

/*
 * The function "Mmovegui_get_parent_fig" is the implementation version of the "movegui/get_parent_fig" M-function from file "d:\matlab6p5\toolbox\matlab\uitools\movegui.m" (lines 214-218). It contains the actual compiled code for that M-function. It is a static function and must only be called from one of the interface functions, appearing below.
 */
/*
 * function h = get_parent_fig(h)
 */
#line 214 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
static mxArray * Mmovegui_get_parent_fig(int nargout_, mxArray * h_in) {
    #line 214 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mclMlineEnterFunction("d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m", "movegui/get_parent_fig")
    #line 214 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mexLocalFunctionTable save_local_function_table_ = mclSetCurrentLocalFunctionTable(&_local_function_table_movegui);
    #line 214 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mxArray * h = NULL;
    #line 214 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mclCopyInputArg(&h, h_in);
    /*
     * while ~isempty(h) & ~strcmp(get(h,'type'), 'figure')
     */
    #line 215 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    mclMline(215);
    #line 215 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
    for (;;) {
        #line 215 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
        mxArray * a_ = mclInitialize(mclNot(mlfIsempty(mclVa(h, "h"))));
        #line 215 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
        if (mlfTobool(a_) && mlfTobool(mclAnd(a_, mclNot(mlfStrcmp(mlfNGet(1, mclVa(h, "h"), mxCreateString("type"), NULL), mxCreateString("figure")))))) {
            #line 215 "d:\\matlab6p5\\toolbox\\matlab\\uitools\\movegui.m"
            

⌨️ 快捷键说明

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