예제 #1
0
void cX11_Interface::Init()
{

//SetImagesPriority(0,);

    InitNbWindows();

    Pt2di aSzF =  mParam->SectionWindows().SzTotIm().Val().dcbyc(mNb2W);;

    int aCpt=0;
    Video_Win * aLastW   = 0;
    Video_Win * aLastWX0 = 0;
    Video_Win * aWTitle  = 0;
    Video_Win * aWY0XMax = 0;
    Pt2di aSzTitle(aSzF.x,15);
    for (int aKY =0 ; aKY<mNb2W.y ; aKY++)
    {
        for (int aKX =0 ; aKX<mNb2W.x ; aKX++)
        {
            if (aCpt<mNbW)
            {
                Video_Win * aRes = 0;
                if (aCpt==0)
                {
                    aWTitle = Video_Win::PtrWStd(aSzTitle,true);
                    aRes = new Video_Win(*aWTitle,Video_Win::eBasG,aSzF);
                    // aRes = Video_Win::PtrWStd(aSzF,true);
                    aLastWX0 = aRes;
                    mDisp = new Video_Display(aRes->disp());
                }
                else
                {
                    if (aKX==0)
                    {
                        aWTitle = new Video_Win(*aLastWX0,Video_Win::eBasG,aSzTitle);
                        aRes = new Video_Win(*aWTitle,Video_Win::eBasG,aSzF);
                        aLastWX0 = aRes;
                    }
                    else
                    {
                        aWTitle = new Video_Win(*aLastW,Video_Win::eDroiteH,aSzTitle);
                        aRes = new Video_Win(*aWTitle,Video_Win::eBasG,aSzF);
                    }

                }
                ELISE_COPY(aWTitle->all_pts(),P8COL::yellow,aWTitle->odisc());
                ELISE_COPY(aRes->all_pts(),P8COL::blue,aRes->odisc());
                aLastW = aWTitle;
                mWins.push_back(new cWinIm(*mAppli,*aRes,*aWTitle,*mAppli->imageVis(aCpt)));
                if ((aKY==0) && (aKX==(mNb2W.x -1)))
                {
                    aWY0XMax = aWTitle;
                }
            }
            aCpt++;
        }
    }

    Pt2di zoomWindowSize = mParam->SectionWindows().SzWZ().ValWithDef(round_ni(Pt2dr(mParam->SzTotIm().Val())*0.6));
    mWZ =  new Video_Win(*aWY0XMax,Video_Win::eDroiteH, zoomWindowSize);
    mZFON = new cFenOuiNon(*mWZ,Pt2di(200,20));

    mVNameCase.push_back( cCaseNamePoint("Cancel",eCaseCancel) );

    if (mParam->EnterName().Val())
    {
        mVNameCase.push_back( cCaseNamePoint("Enter New",eCaseSaisie) );
    }

    InitVNameCase();

    mMenuNamePoint = new cFenMenu(*mWZ,Pt2di(120,20),Pt2di(1,mVNameCase.size()));

    if (mParam->EnterName().Val())
    {
        mWEnter =  new Video_Win(mMenuNamePoint->W(),Video_Win::eDroiteH,Pt2di(150,20));
        mWEnter->move_translate(Pt2di(0,20));
        ELISE_COPY(mWEnter->all_pts(),P8COL::yellow,mWEnter->odisc());
        //mWEnter->move_to(Pt2di(100,20));
        mWEnter->lower();
    }

    ELISE_COPY(mWZ->all_pts(),P8COL::green,mWZ->odisc());
}
예제 #2
0
Video_Win Video_Win::WStd(Pt2di sz,REAL zoom,Video_Win Soeur,bool SetClikCoord)
{
     Video_Win   W  (Soeur.disp(),Soeur.sop(),Pt2di(50,50),Pt2di(Pt2dr(sz)*zoom));
     return W.chc(Pt2dr(-0.5,-0.5),Pt2dr(zoom,zoom),SetClikCoord);
}