summaryrefslogtreecommitdiff
path: root/indra/newview/llparcelselection.cpp
diff options
context:
space:
mode:
authorJosh Bell <josh@lindenlab.com>2008-02-14 01:45:59 +0000
committerJosh Bell <josh@lindenlab.com>2008-02-14 01:45:59 +0000
commit98fd90ddd6595f2ee7e626c14117f51def621ec5 (patch)
tree9a9caf8bffa53b753fe850f445bd133195e9bb03 /indra/newview/llparcelselection.cpp
parent89d938efe371645756240da72f4c359c36985060 (diff)
svn merge -r 79730:79944 svn+ssh://svn.lindenlab.com/svn/linden/branches/parcel_media/sl-parcelmedia-6 --> release
QAR-275 Parcel Media Sam made me do it.
Diffstat (limited to 'indra/newview/llparcelselection.cpp')
-rw-r--r--indra/newview/llparcelselection.cpp83
1 files changed, 83 insertions, 0 deletions
diff --git a/indra/newview/llparcelselection.cpp b/indra/newview/llparcelselection.cpp
new file mode 100644
index 0000000000..5478a96b97
--- /dev/null
+++ b/indra/newview/llparcelselection.cpp
@@ -0,0 +1,83 @@
+/**
+ * @file llparcelselection.cpp
+ * @brief Information about the currently selected parcel
+ *
+ * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
+ * $License$
+ */
+
+#include "llviewerprecompiledheaders.h"
+
+#include "llparcelselection.h"
+
+#include "llparcel.h"
+
+
+// static
+LLPointer<LLParcelSelection> LLParcelSelection::sNullSelection;
+
+template<>
+ const LLHandle<LLParcelSelection>::NullFunc
+ LLHandle<LLParcelSelection>::sNullFunc =
+ LLParcelSelection::getNullParcelSelection;
+
+//
+// LLParcelSelection
+//
+LLParcelSelection::LLParcelSelection() :
+ mParcel(NULL),
+ mSelectedMultipleOwners(FALSE),
+ mWholeParcelSelected(FALSE),
+ mSelectedSelfCount(0),
+ mSelectedOtherCount(0),
+ mSelectedPublicCount(0)
+{
+}
+
+LLParcelSelection::LLParcelSelection(LLParcel* parcel) :
+ mParcel(parcel),
+ mSelectedMultipleOwners(FALSE),
+ mWholeParcelSelected(FALSE),
+ mSelectedSelfCount(0),
+ mSelectedOtherCount(0),
+ mSelectedPublicCount(0)
+{
+}
+
+LLParcelSelection::~LLParcelSelection()
+{
+}
+
+BOOL LLParcelSelection::getMultipleOwners() const
+{
+ return mSelectedMultipleOwners;
+}
+
+
+BOOL LLParcelSelection::getWholeParcelSelected() const
+{
+ return mWholeParcelSelected;
+}
+
+
+S32 LLParcelSelection::getClaimableArea() const
+{
+ const S32 UNIT_AREA = S32( PARCEL_GRID_STEP_METERS * PARCEL_GRID_STEP_METERS );
+ return mSelectedPublicCount * UNIT_AREA;
+}
+
+bool LLParcelSelection::hasOthersSelected() const
+{
+ return mSelectedOtherCount != 0;
+}
+
+// static
+LLParcelSelection* LLParcelSelection::getNullParcelSelection()
+{
+ if (sNullSelection.isNull())
+ {
+ sNullSelection = new LLParcelSelection;
+ }
+
+ return sNullSelection;
+}