summaryrefslogtreecommitdiff
path: root/indra/newview/llsprite.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llsprite.h')
-rw-r--r--indra/newview/llsprite.h89
1 files changed, 89 insertions, 0 deletions
diff --git a/indra/newview/llsprite.h b/indra/newview/llsprite.h
new file mode 100644
index 0000000000..6aa24fc8db
--- /dev/null
+++ b/indra/newview/llsprite.h
@@ -0,0 +1,89 @@
+/**
+ * @file llsprite.h
+ * @brief LLSprite class definition
+ *
+ * Copyright (c) 2001-$CurrentYear$, Linden Research, Inc.
+ * $License$
+ */
+
+#ifndef LL_LLSPRITE_H
+#define LL_LLSPRITE_H
+
+////#include "vmath.h"
+//#include "llmath.h"
+#include "v3math.h"
+#include "v4math.h"
+#include "v4color.h"
+#include "lluuid.h"
+#include "llgl.h"
+#include "llviewerimage.h"
+
+class LLViewerCamera;
+
+class LLFace;
+
+class LLSprite
+{
+public:
+ LLSprite(const LLUUID &image_uuid);
+ LLSprite(const LLUUID &image_uuid, const F32 width, const F32 height, const BOOL b_usemipmap = TRUE);
+ ~LLSprite();
+
+ void render(LLViewerCamera * camerap);
+
+ F32 getWidth() const { return mWidth; }
+ F32 getHeight() const { return mHeight; }
+ F32 getYaw() const { return mYaw; }
+ F32 getPitch() const { return mPitch; }
+ F32 getAlpha() const { return mColor.mV[VALPHA]; }
+
+ LLVector3 getPosition() const { return mPosition; }
+ LLColor4 getColor() const { return mColor; }
+
+ void setPosition(const LLVector3 &position);
+ void setPitch(const F32 pitch);
+ void setSize(const F32 width, const F32 height);
+ void setYaw(const F32 yaw);
+ void setFollow(const BOOL follow);
+ void setUseCameraUp(const BOOL use_up);
+
+ void setTexMode(LLGLenum mode);
+ void setColor(const LLColor4 &color);
+ void setColor(const F32 r, const F32 g, const F32 b, const F32 a);
+ void setAlpha(const F32 alpha) { mColor.mV[VALPHA] = alpha; }
+ void setNormal(const LLVector3 &normal) { sNormal = normal; sNormal.normVec();}
+
+ F32 getAlpha();
+
+ void updateFace(LLFace &face);
+
+public:
+ LLUUID mImageID;
+ LLPointer<LLViewerImage> mImagep;
+private:
+ F32 mWidth;
+ F32 mHeight;
+ F32 mWidthDiv2;
+ F32 mHeightDiv2;
+ F32 mPitch;
+ F32 mYaw;
+ LLVector3 mPosition;
+ BOOL mFollow;
+ BOOL mUseCameraUp;
+
+ LLColor4 mColor;
+ LLGLenum mTexMode;
+
+ // put
+ LLVector3 mScaledUp;
+ LLVector3 mScaledRight;
+ static LLVector3 sCameraUp;
+ static LLVector3 sCameraRight;
+ static LLVector3 sCameraPosition;
+ static LLVector3 sNormal;
+ LLVector3 mA,mB,mC,mD; // the four corners of a quad
+
+};
+
+#endif
+