summaryrefslogtreecommitdiff
path: root/common/piece.cpp
diff options
context:
space:
mode:
authorleo2000-11-24 23:18:51 +0000
committerleo2000-11-24 23:18:51 +0000
commit2a4208f056fb3ce654bc116bdac561ead37159d7 (patch)
tree258561142c2c1c5286f355de64e129eb6f7a374d /common/piece.cpp
parente10749445c0fbea11665a51bdda4912d798619b1 (diff)
Added Select function
git-svn-id: http://svn.leocad.org/trunk@166 c7d43263-9d01-0410-8a33-9dba5d9f93d6
Diffstat (limited to 'common/piece.cpp')
-rw-r--r--common/piece.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/common/piece.cpp b/common/piece.cpp
index c36b30a..a1f8495 100644
--- a/common/piece.cpp
+++ b/common/piece.cpp
@@ -292,7 +292,7 @@ bool Piece::FileLoad (File& file, char* name)
if (version > 7)
{
file.ReadByte(&m_nState, 1);
- UnSelect();
+ Select (false, false, false);
file.ReadByte(&ch, 1);
file.Read(m_strName, ch);
}
@@ -396,6 +396,24 @@ void Piece::CreateName(Piece* pPiece)
sprintf (m_strName, "%s #%.2d", m_pPieceInfo->m_strDescription, max+1);
}
+void Piece::Select (bool bSelecting, bool bFocus, bool bMultiple)
+{
+ if (bSelecting == true)
+ {
+ if (bFocus == true)
+ m_nState |= (LC_PIECE_FOCUSED|LC_PIECE_SELECTED);
+ else
+ m_nState |= LC_PIECE_SELECTED;
+ }
+ else
+ {
+ if (bFocus == true)
+ m_nState &= ~(LC_PIECE_FOCUSED);
+ else
+ m_nState &= ~(LC_PIECE_SELECTED|LC_PIECE_FOCUSED);
+ }
+}
+
void Piece::LineFacet(float* p1, float* p2, float* p3, float* p4, LC_CLICKLINE* pLine)
{
double t, t1, t2, x, y, z, plane[4];