bool CSelection::IsSameStartPoint(const CSelection &selection) const { return GetChanStart() == selection.GetChanStart() && GetRowStart() == selection.GetRowStart() && GetColStart() == selection.GetColStart() && GetFrameStart() == selection.GetFrameStart(); // // // }
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); }