summaryrefslogtreecommitdiff
path: root/indra/llmath/llcoord.h
diff options
context:
space:
mode:
authorJames Cook <james@lindenlab.com>2007-01-02 08:33:20 +0000
committerJames Cook <james@lindenlab.com>2007-01-02 08:33:20 +0000
commit420b91db29485df39fd6e724e782c449158811cb (patch)
treeb471a94563af914d3ed3edd3e856d21cb1b69945 /indra/llmath/llcoord.h
Print done when done.
Diffstat (limited to 'indra/llmath/llcoord.h')
-rw-r--r--indra/llmath/llcoord.h78
1 files changed, 78 insertions, 0 deletions
diff --git a/indra/llmath/llcoord.h b/indra/llmath/llcoord.h
new file mode 100644
index 0000000000..4eaf86e8b1
--- /dev/null
+++ b/indra/llmath/llcoord.h
@@ -0,0 +1,78 @@
+/**
+ * @file llcoord.h
+ *
+ * Copyright (c) 2001-$CurrentYear$, Linden Research, Inc.
+ * $License$
+ */
+
+#ifndef LL_LLCOORD_H
+#define LL_LLCOORD_H
+
+// A two-dimensional pixel value
+class LLCoord
+{
+public:
+ S32 mX;
+ S32 mY;
+
+ LLCoord(): mX(0), mY(0)
+ {}
+ LLCoord(S32 x, S32 y): mX(x), mY(y)
+ {}
+ virtual ~LLCoord()
+ {}
+
+ virtual void set(S32 x, S32 y) { mX = x; mY = y; }
+};
+
+
+// GL coordinates start in the client region of a window,
+// with left, bottom = 0, 0
+class LLCoordGL : public LLCoord
+{
+public:
+ LLCoordGL() : LLCoord()
+ {}
+ LLCoordGL(S32 x, S32 y) : LLCoord(x, y)
+ {}
+};
+
+
+// Window coords include things like window borders,
+// menu regions, etc.
+class LLCoordWindow : public LLCoord
+{
+public:
+ LLCoordWindow() : LLCoord()
+ {}
+ LLCoordWindow(S32 x, S32 y) : LLCoord(x, y)
+ {}
+};
+
+
+// Screen coords start at left, top = 0, 0
+class LLCoordScreen : public LLCoord
+{
+public:
+ LLCoordScreen() : LLCoord()
+ {}
+ LLCoordScreen(S32 x, S32 y) : LLCoord(x, y)
+ {}
+};
+
+class LLCoordFont : public LLCoord
+{
+public:
+ F32 mZ;
+
+ LLCoordFont() : LLCoord(), mZ(0.f)
+ {}
+ LLCoordFont(S32 x, S32 y, F32 z = 0) : LLCoord(x,y), mZ(z)
+ {}
+
+ void set(S32 x, S32 y) { LLCoord::set(x,y); mZ = 0.f; }
+ void set(S32 x, S32 y, F32 z) { mX = x; mY = y; mZ = z; }
+};
+
+
+#endif