void scigraphics::sequence::graphViewOrdered::drawOrderedByX( painter &Painter, const pairScales& Scales, sequence::data::iterator Begin, sequence::data::iterator End ) const { if ( Begin == End ) return; if ( Scales.numberToFractionX((End-1)->x()) < 0 ) return; if ( Scales.numberToFractionX(Begin->x()) > 1 ) return; checkIsLessThan Checker(Scales); sequence::data::iterator BeginVisbile = Checker(0,*Begin) ? Begin : std::lower_bound( Begin, End, static_cast<fcoord>(0), Checker ); if ( BeginVisbile != Begin ) --BeginVisbile; sequence::data::iterator EndVisible = Checker(*(End-1),1) ? End : std::upper_bound( BeginVisbile, End, static_cast<fcoord>(1), Checker ); if ( EndVisible != End ) ++EndVisible; drawUnorderedByX( Painter, Scales, BeginVisbile, EndVisible ); }
scigraphics::number scigraphics::selectionVertical::maxF( const pairScales &Scales ) const { return Scales.numberToFractionX(max()); }