示例#1
0
Box2di  cWindowXmlEditor::PrintTag(Pt2di aP0,cElXMLTree * aTree,int aMode,int aLevel,cElXMLTree * aFilter) 
{
    if ((!mXmlMode) && (aMode!=0)) 
       return Box2di(aP0-Pt2di(0,1),aP0-Pt2di(0,1));


    std::string aTag =  ((aMode == -1) ? "</" : "<") + aTree->ValTag() + ((aMode==0) ? "/>" : ">");
    if (!mXmlMode) aTag = " " + aTree->ValTag() + " :  ";
    Pt2di aSz = mW.SizeFixedString(aTag);

    Pt2di aP1 = aP0 + aSz;

    mW.fill_rect(Pt2dr(aP0)-Pt2dr(1,1),Pt2dr(aP1)+Pt2dr(1,1),mW.pgray()(mGrayTag));
    if (aMode!=0)
        mW.draw_rect(Pt2dr(aP0)-Pt2dr(2,2),Pt2dr(aP1)+Pt2dr(2,2),Line_St(mW.pdisc()(P8COL::blue),2));
    mW.fixed_string(Pt2dr(aP0)+Pt2dr(0,aSz.y), aTag.c_str(),mW.pdisc()(P8COL::black),false);

    Box2di aRes  (aP0-mPRab,aP1+ mPRab);
    if ((aMode ==0) && mFirstDraw)
    {
         Pt2di aQ0 (aP0.x+aSz.x+5,aP0.y-4);
         Pt2di aQ1 (EndXOfLevel(aLevel)-5,aP0.y+aSz.y+4);
         mVCase.push_back(cCaseX11Xml::Alloc(mW,Box2di(aQ0,aQ1),P8COL::yellow));
         mVInfoCase.push_back(cWXXInfoCase(aTree,aFilter));
    }

    return aRes;
}
void  cAppli_GenPTripleOneImage::AddOnePackOneSens(cFixedMergeStruct<2,Pt2df> & aMap,cNewO_OneIm * anI1,int anIndI1,cNewO_OneIm * anI2)
{
    ElPackHomologue aPack = mNM->PackOfName(anI1->Name(),anI2->Name());

    CamStenope * aCS1 = anI1->CS();
    CamStenope * aCS2 = anI2->CS();


    for (ElPackHomologue::const_iterator itP=aPack.begin(); itP!=aPack.end() ; itP++)
    {
        Pt2dr aP1 = aCS1->F2toPtDirRayonL3(itP->P1());
        Pt2dr aP2 = aCS2->F2toPtDirRayonL3(itP->P2());
        Pt2df aQ1(aP1.x,aP1.y);
        Pt2df aQ2(aP2.x,aP2.y);
        // if (aSwap) ElSwap(aQ1,aQ2);
        aMap.AddArc(aQ1,anIndI1,aQ2,1-anIndI1);
    }

}