diff options
author | James Cook <james@lindenlab.com> | 2007-01-02 08:33:20 +0000 |
---|---|---|
committer | James Cook <james@lindenlab.com> | 2007-01-02 08:33:20 +0000 |
commit | 420b91db29485df39fd6e724e782c449158811cb (patch) | |
tree | b471a94563af914d3ed3edd3e856d21cb1b69945 /indra/llmath/llcoord.h |
Print done when done.
Diffstat (limited to 'indra/llmath/llcoord.h')
-rw-r--r-- | indra/llmath/llcoord.h | 78 |
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 |