diff options
Diffstat (limited to 'indra/llui/llviewborder.h')
-rw-r--r-- | indra/llui/llviewborder.h | 220 |
1 files changed, 110 insertions, 110 deletions
diff --git a/indra/llui/llviewborder.h b/indra/llui/llviewborder.h index 2ee25fff1a..6a2bcb4b20 100644 --- a/indra/llui/llviewborder.h +++ b/indra/llui/llviewborder.h @@ -1,110 +1,110 @@ -/** - * @file llviewborder.h - * @brief A customizable decorative border. Does not interact with mouse events. - * - * $LicenseInfo:firstyear=2001&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#ifndef LL_LLVIEWBORDER_H -#define LL_LLVIEWBORDER_H - -#include "llview.h" - -class LLViewBorder : public LLView -{ -public: - typedef enum e_bevel { BEVEL_IN, BEVEL_OUT, BEVEL_BRIGHT, BEVEL_NONE } EBevel ; - typedef enum e_style { STYLE_LINE, STYLE_TEXTURE } EStyle; - - struct BevelValues - : public LLInitParam::TypeValuesHelper<LLViewBorder::EBevel, BevelValues> - { - static void declareValues(); - }; - - struct StyleValues - : public LLInitParam::TypeValuesHelper<LLViewBorder::EStyle, StyleValues> - { - static void declareValues(); - }; - - struct Params : public LLInitParam::Block<Params, LLView::Params> - { - Optional<EBevel, BevelValues> bevel_style; - Optional<EStyle, StyleValues> render_style; - Optional<S32> border_thickness; - - Optional<LLUIColor> highlight_light_color, - highlight_dark_color, - shadow_light_color, - shadow_dark_color; - - Params(); - }; -protected: - LLViewBorder(const Params&); - friend class LLUICtrlFactory; -public: - virtual void setValue(const LLSD& val) { setRect(LLRect(val)); } - - virtual BOOL isCtrl() const { return FALSE; } - - // llview functionality - virtual void draw(); - - static BOOL getBevelFromAttribute(LLXMLNodePtr node, LLViewBorder::EBevel& bevel_style); - - void setBorderWidth(S32 width) { mBorderWidth = width; } - S32 getBorderWidth() const { return mBorderWidth; } - void setBevel(EBevel bevel) { mBevel = bevel; } - EBevel getBevel() const { return mBevel; } - void setColors( const LLColor4& shadow_dark, const LLColor4& highlight_light ); - void setColorsExtended( const LLColor4& shadow_light, const LLColor4& shadow_dark, - const LLColor4& highlight_light, const LLColor4& highlight_dark ); - void setTexture( const class LLUUID &image_id ); - - LLColor4 getHighlightLight() {return mHighlightLight.get();} - LLColor4 getShadowDark() {return mHighlightDark.get();} - - EStyle getStyle() const { return mStyle; } - - void setKeyboardFocusHighlight( BOOL b ) { mHasKeyboardFocus = b; } - -private: - void drawOnePixelLines(); - void drawTwoPixelLines(); - void drawTextures(); - - EBevel mBevel; - EStyle mStyle; - LLUIColor mHighlightLight; - LLUIColor mHighlightDark; - LLUIColor mShadowLight; - LLUIColor mShadowDark; - LLUIColor mBackgroundColor; - S32 mBorderWidth; - LLPointer<LLUIImage> mTexture; - BOOL mHasKeyboardFocus; -}; - -#endif // LL_LLVIEWBORDER_H - +/**
+ * @file llviewborder.h
+ * @brief A customizable decorative border. Does not interact with mouse events.
+ *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+
+#ifndef LL_LLVIEWBORDER_H
+#define LL_LLVIEWBORDER_H
+
+#include "llview.h"
+
+class LLViewBorder : public LLView
+{
+public:
+ typedef enum e_bevel { BEVEL_IN, BEVEL_OUT, BEVEL_BRIGHT, BEVEL_NONE } EBevel ;
+ typedef enum e_style { STYLE_LINE, STYLE_TEXTURE } EStyle;
+
+ struct BevelValues
+ : public LLInitParam::TypeValuesHelper<LLViewBorder::EBevel, BevelValues>
+ {
+ static void declareValues();
+ };
+
+ struct StyleValues
+ : public LLInitParam::TypeValuesHelper<LLViewBorder::EStyle, StyleValues>
+ {
+ static void declareValues();
+ };
+
+ struct Params : public LLInitParam::Block<Params, LLView::Params>
+ {
+ Optional<EBevel, BevelValues> bevel_style;
+ Optional<EStyle, StyleValues> render_style;
+ Optional<S32> border_thickness;
+
+ Optional<LLUIColor> highlight_light_color,
+ highlight_dark_color,
+ shadow_light_color,
+ shadow_dark_color;
+
+ Params();
+ };
+protected:
+ LLViewBorder(const Params&);
+ friend class LLUICtrlFactory;
+public:
+ virtual void setValue(const LLSD& val) { setRect(LLRect(val)); }
+
+ virtual bool isCtrl() const { return false; }
+
+ // llview functionality
+ virtual void draw();
+
+ static bool getBevelFromAttribute(LLXMLNodePtr node, LLViewBorder::EBevel& bevel_style);
+
+ void setBorderWidth(S32 width) { mBorderWidth = width; }
+ S32 getBorderWidth() const { return mBorderWidth; }
+ void setBevel(EBevel bevel) { mBevel = bevel; }
+ EBevel getBevel() const { return mBevel; }
+ void setColors( const LLColor4& shadow_dark, const LLColor4& highlight_light );
+ void setColorsExtended( const LLColor4& shadow_light, const LLColor4& shadow_dark,
+ const LLColor4& highlight_light, const LLColor4& highlight_dark );
+ void setTexture( const class LLUUID &image_id );
+
+ LLColor4 getHighlightLight() {return mHighlightLight.get();}
+ LLColor4 getShadowDark() {return mHighlightDark.get();}
+
+ EStyle getStyle() const { return mStyle; }
+
+ void setKeyboardFocusHighlight( bool b ) { mHasKeyboardFocus = b; }
+
+private:
+ void drawOnePixelLines();
+ void drawTwoPixelLines();
+ void drawTextures();
+
+ EBevel mBevel;
+ EStyle mStyle;
+ LLUIColor mHighlightLight;
+ LLUIColor mHighlightDark;
+ LLUIColor mShadowLight;
+ LLUIColor mShadowDark;
+ LLUIColor mBackgroundColor;
+ S32 mBorderWidth;
+ LLPointer<LLUIImage> mTexture;
+ bool mHasKeyboardFocus;
+};
+
+#endif // LL_LLVIEWBORDER_H
+
|