bool CSelection::IsWithin(const CCursorPos &pos) const { if (pos.m_iRow >= GetRowStart() && pos.m_iRow <= GetRowEnd()) { if (pos.m_iChannel == GetChanStart() && pos.m_iChannel == GetChanEnd()) { return (pos.m_iColumn >= GetColStart() && pos.m_iColumn <= GetColEnd()); } else if (pos.m_iChannel == GetChanStart() && pos.m_iChannel != GetChanEnd()) { return (pos.m_iColumn >= GetColStart()); } else if (pos.m_iChannel == GetChanEnd() && pos.m_iChannel != GetChanStart()) { return (pos.m_iColumn <= GetColEnd()); } else if (pos.m_iChannel >= GetChanStart() && pos.m_iChannel < GetChanEnd()) { return true; } } return false; }
void CSelection::Normalize(CCursorPos &Begin, CCursorPos &End) const // // // { CCursorPos Temp {GetRowStart(), GetChanStart(), GetColStart(), GetFrameStart()}; std::swap(End, CCursorPos {GetRowEnd(), GetChanEnd(), GetColEnd(), GetFrameEnd()}); std::swap(Begin, Temp); }