Forráskód Böngészése

More work on preparing documentation for doxygen generation

BearishSun 10 éve
szülő
commit
7fcb3fc4a9

+ 13 - 18
BansheeEngine/Include/BsGUIElementContainer.h

@@ -7,40 +7,35 @@
 
 namespace BansheeEngine
 {
-	/**
-	 * @brief	Helper GUI element class that is meant for hold other GUI elements.
-	 *			(Similar as GUILayout, but you may position elements manually).
+	/** @cond INTERNAL */
+	/** @addtogroup GUI
+	 *  @{
 	 */
+
+	/** Base for GUI elements that combine multiple GUI elements into one more complex element. */
 	class BS_EXPORT GUIElementContainer : public GUIElement
 	{
 	protected:
 		GUIElementContainer(const GUIDimensions& dimensions, const String& style = StringUtil::BLANK);
 		virtual ~GUIElementContainer();
 
-		/**
-		 * @copydoc GUIElement::_getNumRenderElements
-		 */
+		/** @copydoc GUIElement::_getNumRenderElements */
 		virtual UINT32 _getNumRenderElements() const override;
 
-		/**
-		 * @copydoc GUIElement::_getMaterial
-		 */
+		/** @copydoc GUIElement::_getMaterial */
 		virtual const SpriteMaterialInfo& _getMaterial(UINT32 renderElementIdx) const override;
 
-		/**
-		 * @copydoc GUIElement::_getNumQuads
-		 */
+		/** @copydoc GUIElement::_getNumQuads */
 		virtual UINT32 _getNumQuads(UINT32 renderElementIdx) const override;
 
-		/**
-		 * @copydoc GUIElement::_fillBuffer
-		 */
+		/** @copydoc GUIElement::_fillBuffer */
 		virtual void _fillBuffer(UINT8* vertices, UINT8* uv, UINT32* indices, UINT32 startingQuad, 
 			UINT32 maxNumQuads, UINT32 vertexStride, UINT32 indexStride, UINT32 renderElementIdx) const override;
 
-		/**
-		 * @copydoc GUIElement::_getOptimalSize
-		 */
+		/** @copydoc GUIElement::_getOptimalSize */
 		virtual Vector2I _getOptimalSize() const override;
 	};
+
+	/** @} */
+	/** @endcond */
 }

+ 10 - 9
BansheeEngine/Include/BsGUIElementStyle.h

@@ -11,24 +11,23 @@
 
 namespace BansheeEngine
 {
-	/**
-	 * @brief	Possible positions used for positioning content image within a GUI element.
+	/** @addtogroup GUI
+	 *  @{
 	 */
+
+	/**	Possible positions used for positioning content image within a GUI element. */
 	enum class GUIImagePosition
 	{
 		Left, Right
 	};
 
 	/**
-	 * @brief	GUI element style that determines the look of a GUI element, as well as
-	 *			the element's default layout options. Different looks can be provided
-	 *			for different element states.
+	 * GUI element style that determines the look of a GUI element, as well as the element's default layout options. 
+	 * Different looks can be provided for different element states.
 	 */
 	struct BS_EXPORT GUIElementStyle : public IReflectable
 	{
-		/**
-		 * @brief	Specific texture and text color used in a particular GUI element style.
-		 */
+		/**	Specific texture and text color used in a particular GUI element style. */
 		struct BS_EXPORT GUIElementStateStyle
 		{
 			HSpriteTexture texture;
@@ -82,6 +81,8 @@ namespace BansheeEngine
 	public:
 		friend class GUIElementStyleRTTI;
 		static RTTITypeBase* getRTTIStatic();
-		virtual RTTITypeBase* getRTTI() const;
+		RTTITypeBase* getRTTI() const override;
 	};
+
+	/** @} */
 }

+ 28 - 17
BansheeEngine/Include/BsGUIHelper.h

@@ -8,39 +8,50 @@
 
 namespace BansheeEngine
 {
-	/**
-	 * @brief	Contains various helper methods used by GUI.
+	/** @cond INTERNAL */
+	/** @addtogroup GUI
+	 *  @{
 	 */
+
+	/**	Contains various helper methods used by GUI. */
 	class BS_EXPORT GUIHelper
 	{
 	public:
 		/**
-		 * @brief	Calculates optimal content size by returning the nearest valid size to the provided value.
+		 * Calculates optimal content size by returning the nearest valid size to the provided value.
 		 *
-		 * @param	contentSize		Wanted content size. This will be limited by minimal constraints of the style and layout options.
-		 * @param	style			Style to use for determining size constraints.
-		 * @param	dimensions		Dimension constraints of a GUI element.
+		 * @param[in]	contentSize		Wanted content size. This will be limited by minimal constraints of the style and 
+		 *								layout options.
+		 * @param[in]	style			Style to use for determining size constraints.
+		 * @param[in]	dimensions		Dimension constraints of a GUI element.
 		 */
-		static Vector2I calcOptimalContentsSize(const Vector2I& contentSize, const GUIElementStyle& style, const GUIDimensions& dimensions);
+		static Vector2I calcOptimalContentsSize(const Vector2I& contentSize, const GUIElementStyle& style, 
+			const GUIDimensions& dimensions);
 
 		/**
-		 * @brief	Calculates optimal content size for the provided content using the provided style and layout options for constraints.
+		 * Calculates optimal content size for the provided content using the provided style and layout options for 
+		 * constraints.
 		 *
-		 * @param	content			Content to calculate size for.
-		 * @param	style			Style to use for determining size constraints.
-		 * @param	dimensions		Dimension constraints of a GUI element.
-		 * @param	state			State of the GUI element in case the content changes according to state.
+		 * @param[in]	content			Content to calculate size for.
+		 * @param[in]	style			Style to use for determining size constraints.
+		 * @param[in]	dimensions		Dimension constraints of a GUI element.
+		 * @param[in]	state			State of the GUI element in case the content changes according to state.
 		 */
 		static Vector2I calcOptimalContentsSize(const GUIContent& content, const GUIElementStyle& style, 
 			const GUIDimensions& dimensions, GUIElementState state = GUIElementState::Normal);
 
 		/**
-		 * @brief	Calculates optimal content size for the provided text using the provided style and layout options for constraints.
+		 * Calculates optimal content size for the provided text using the provided style and layout options for 
+		 * constraints.
 		 *
-		 * @param	text			Text to calculate size for.
-		 * @param	style			Style to use for determining size constraints.
-		 * @param	dimensions		Dimension constraints of a GUI element.
+		 * @param[in]	text			Text to calculate size for.
+		 * @param[in]	style			Style to use for determining size constraints.
+		 * @param[in]	dimensions		Dimension constraints of a GUI element.
 		 */
-		static Vector2I calcOptimalContentsSize(const WString& text, const GUIElementStyle& style, const GUIDimensions& dimensions);
+		static Vector2I calcOptimalContentsSize(const WString& text, const GUIElementStyle& style, 
+			const GUIDimensions& dimensions);
 	};
+
+	/** @} */
+	/** @endcond */
 }

+ 85 - 160
BansheeEngine/Include/BsGUIInputBox.h

@@ -10,15 +10,17 @@
 
 namespace BansheeEngine
 {
+	/** @addtogroup GUI
+	 *  @{
+	 */
+
 	/**
-	 * @brief	Input box is a GUI element that accepts Unicode textual input. It can be
-	 *			single or multi-line and handles various types of text manipulation.
+	 * Input box is a GUI element that accepts Unicode textual input. It can be single or multi-line and handles various 
+	 * types of text manipulation.
 	 */
 	class BS_EXPORT GUIInputBox : public GUIElement
 	{
-		/**
-		 * @brief	Possible visual states the input box can be in.
-		 */
+		/**	Possible visual states the input box can be in. */
 		enum class State
 		{
 			Normal,
@@ -27,30 +29,29 @@ namespace BansheeEngine
 		};
 
 	public:
-		/**
-		 * Returns type name of the GUI element used for finding GUI element styles. 
-		 */
+		/** Returns type name of the GUI element used for finding GUI element styles.  */
 		static const String& getGUITypeName();
 
 		/**
 		 * Creates a new input box.
 		 *
-		 * @param	multiline		If true the input box can be of arbitrary height and will accept multiple lines of text.
-		 * @param	styleName		Optional style to use for the element. Style will be retrieved
-		 *							from GUISkin of the GUIWidget the element is used on. If not specified
-		 *							default style for this element is used.
+		 * @param[in]	multiline		If true the input box can be of arbitrary height and will accept multiple lines of 
+		 *								text.
+		 * @param[in]	styleName		Optional style to use for the element. Style will be retrieved from GUISkin of the
+		 *								GUIWidget the element is used on. If not specified default style for this element 
+		 *								is used.
 		 */
 		static GUIInputBox* create(bool multiline = false, const String& styleName = StringUtil::BLANK);
 
 		/**
 		 * Creates a new input box.
 		 *
-		 * @param	multiline		If true the input box can be of arbitrary height and will accept multiple lines of text.
-		 * @param	options			Options that allow you to control how is the element positioned and sized.
-		 *							This will override any similar options set by style.
-		 * @param	styleName		Optional style to use for the element. Style will be retrieved
-		 *							from GUISkin of the GUIWidget the element is used on. If not specified
-		 *							default button style is used.
+		 * @param[in]	multiline		If true the input box can be of arbitrary height and will accept multiple lines of 
+		 *								text.
+		 * @param[in]	options			Options that allow you to control how is the element positioned and sized. This will
+		 *								override any similar options set by style.
+		 * @param[in]	styleName		Optional style to use for the element. Style will be retrieved from GUISkin of the
+		 *								GUIWidget the element is used on. If not specified default button style is used.
 		 */
 		static GUIInputBox* create(bool multiline, const GUIOptions& options, const String& styleName = StringUtil::BLANK);
 
@@ -58,259 +59,181 @@ namespace BansheeEngine
 		/**
 		 * Creates a new single-line input box.
 		 *
-		 * @param	options			Options that allow you to control how is the element positioned and sized.
-		 *							This will override any similar options set by style.
-		 * @param	styleName		Optional style to use for the element. Style will be retrieved
-		 *							from GUISkin of the GUIWidget the element is used on. If not specified
-		 *							default button style is used.
+		 * @param[in]	options			Options that allow you to control how is the element positioned and sized. This will
+		 *								override any similar options set by style.
+		 * @param[in]	styleName		Optional style to use for the element. Style will be retrieved from GUISkin of the
+		 *								GUIWidget the element is used on. If not specified default button style is used.
 		 */
 		static GUIInputBox* create(const GUIOptions& options, const String& styleName = StringUtil::BLANK);
 
-		/**
-		 * @brief	Returns the text currently entered in the input box.
-		 */
+		/**	Returns the text currently entered in the input box. */
 		const WString& getText() const { return mText; }
 
-		/**
-		 * @brief	Sets the text inside the input box. This will replace any current text.
-		 */
+		/**	Sets the text inside the input box. This will replace any current text. */
 		void setText(const WString& text);
 
 		/**
-		 * @brief	Sets an optional filter that can control what is allowed to be entered into the
-		 *			input box. Filter should return true if the provided string is valid and false otherwise.
-		 *			Set the filter to null to deactivate filtering.
+		 * Sets an optional filter that can control what is allowed to be entered into the input box. Filter should return
+		 * true if the provided string is valid and false otherwise. Set the filter to null to deactivate filtering.
 		 */
 		void setFilter(std::function<bool(const WString&)> filter) { mFilter = filter; }
 
-		/**
-		 * @copydoc	GUIElement::getElementType
-		 */
+		/** @cond INTERNAL */
+
+		/** @copydoc GUIElement::getElementType */
 		virtual ElementType _getElementType() const override { return ElementType::InputBox; }
 
-		/**
-		 * @copydoc	GUIElement::_getOptimalSize
-		 */
+		/** @copydoc GUIElement::_getOptimalSize */
 		virtual Vector2I _getOptimalSize() const override;
 
-		/**
-		 * @brief	Triggered whenever input text has changed.
-		 */
+		/** @endcond */
+
+		/**	Triggered whenever input text has changed. */
 		Event<void(const WString&)> onValueChanged;
 
-		/**
-		 * @brief	Triggered when the user hits the Enter key with the input box in focus.
-		 */
+		/**	Triggered when the user hits the Enter key with the input box in focus. */
 		Event<void()> onConfirm;
 	protected:
 		GUIInputBox(const String& styleName, const GUIDimensions& dimensions, bool multiline);
 		virtual ~GUIInputBox();
 
-		/**
-		 * @copydoc GUIElement::_getNumRenderElements()
-		 */
+		/** @copydoc GUIElement::_getNumRenderElements() */
 		virtual UINT32 _getNumRenderElements() const override;
 
-		/**
-		 * @copydoc GUIElement::_getMaterial()
-		 */
+		/** @copydoc GUIElement::_getMaterial() */
 		virtual const SpriteMaterialInfo& _getMaterial(UINT32 renderElementIdx) const override;
 
-		/**
-		 * @copydoc GUIElement::_getNumQuads()
-		 */
+		/** @copydoc GUIElement::_getNumQuads() */
 		virtual UINT32 _getNumQuads(UINT32 renderElementIdx) const override;
 
-		/**
-		 * @copydoc GUIElement::_fillBuffer()
-		 */
+		/** @copydoc GUIElement::_fillBuffer() */
 		virtual void _fillBuffer(UINT8* vertices, UINT8* uv, UINT32* indices, UINT32 startingQuad, 
 			UINT32 maxNumQuads, UINT32 vertexStride, UINT32 indexStride, UINT32 renderElementIdx) const override;
 
-		/**
-		 * @copydoc GUIElement::updateRenderElementsInternal()
-		 */
+		/** @copydoc GUIElement::updateRenderElementsInternal() */
 		virtual void updateRenderElementsInternal() override;
 
-		/**
-		 * @copydoc GUIElement::updateBounds()
-		 */
+		/** @copydoc GUIElement::updateBounds() */
 		virtual void updateClippedBounds() override;
 
-		/**
-		 * @copydoc	GUIElement::mouseEvent
-		 */
+		/** @copydoc GUIElement::mouseEvent */
 		virtual bool _mouseEvent(const GUIMouseEvent& ev) override;
 
-		/**
-		 * @copydoc	GUIElement::textInputEvent
-		 */
+		/** @copydoc GUIElement::textInputEvent */
 		virtual bool _textInputEvent(const GUITextInputEvent& ev) override;
 
-		/**
-		 * @copydoc	GUIElement::commandEvent
-		 */
+		/** @copydoc GUIElement::commandEvent */
 		virtual bool _commandEvent(const GUICommandEvent& ev) override;
 
-		/**
-		 * @copydoc	GUIElement::virtualButtonEvent
-		 */
+		/** @copydoc GUIElement::virtualButtonEvent */
 		virtual bool _virtualButtonEvent(const GUIVirtualButtonEvent& ev) override;
 
 		/**
-		 * @brief	Returns how much to offset text due to scrolling.
+		 * Returns how much to offset text due to scrolling.
 		 *
-		 * @note	This is used when text is larger than the input box itself. As the
-		 *			caret moves the text will scroll so that the caret remains visible, and
-		 *			how much scroll is applied is determined by this value.
+		 * @note	
+		 * This is used when text is larger than the input box itself. As the caret moves the text will scroll so that the
+		 * caret remains visible, and how much scroll is applied is determined by this value.
 		 */
 		virtual Vector2I _getTextInputOffset() const override;
 
-		/**
-		 * @brief	Returns rectangle in which the text can be displayed, in local
-		 *			coordinates (i.e. text will start at 0, 0).
-		 */
+		/** Returns rectangle in which the text can be displayed, in local coordinates (i.e. text will start at 0, 0). */
 		virtual Rect2I _getTextInputRect() const override;
 
-		/**
-		 * @copydoc	GUIElement::_getRenderElementDepth
-		 */
+		/** @copydoc GUIElement::_getRenderElementDepth */
 		virtual UINT32 _getRenderElementDepth(UINT32 renderElementIdx) const override;
 
-		/**
-		 * @copydoc	GUIElement::_getRenderElementDepthRange
-		 */
+		/** @copydoc GUIElement::_getRenderElementDepthRange */
 		virtual UINT32 _getRenderElementDepthRange() const override;
 
-		/**
-		 * @copydoc	GUIElement::_hasCustomCursor
-		 */
+		/** @copydoc GUIElement::_hasCustomCursor */
 		virtual bool _hasCustomCursor(const Vector2I position, CursorType& type) const override;
 
-		/**
-		 * @copydoc	GUIElement::getContextMenu
-		 */
+		/** @copydoc GUIElement::getContextMenu */
 		virtual GUIContextMenuPtr _getContextMenu() const override;
 	private:
 		/**
-		 * @brief	Retrieves a sprite from a render element index, and a local render element index
-		 *			that represents render element within the returned sprite.
+		 * Retrieves a sprite from a render element index, and a local render element index that represents render element
+		 * within the returned sprite.
 		 */
 		Sprite* renderElemToSprite(UINT32 renderElemIdx, UINT32& localRenderElemIdx) const;
 
 		/**
-		 * @brief	Returns offset at which is the element with the provided render element index.
-		 *			Offset is relative to parent widget.
+		 * Returns offset at which is the element with the provided render element index. Offset is relative to parent
+		 * widget.
 		 */
 		Vector2I renderElemToOffset(UINT32 renderElemIdx) const;
 
 		/**
-		 * @brief	Returns a clip rectangle that can be used for clipping the render element
-		 *			with the provided index. Rectangle is in local coordiantes relative to
-		 *			element origin.
+		 * Returns a clip rectangle that can be used for clipping the render element with the provided index. Rectangle is
+		 * in local coordiantes relative to element origin.
 		 */
 		Rect2I renderElemToClipRect(UINT32 renderElemIdx) const;
 
-		/**
-		 * @brief	Inserts a new string into the current text at the specified index.
-		 */
+		/** Inserts a new string into the current text at the specified index. */
 		void insertString(UINT32 charIdx, const WString& string);
 
-		/**
-		 * @brief	Inserts a new character into the current text at the specified index.
-		 */
+		/**	Inserts a new character into the current text at the specified index. */
 		void insertChar(UINT32 charIdx, UINT32 charCode);
 
-		/**
-		 * @brief	Erases a single character at the specified index.
-		 */
+		/**	Erases a single character at the specified index. */
 		void eraseChar(UINT32 charIdx);
 
 		/**
-		 * @brief	Deletes text that is currently selected.
+		 * Deletes text that is currently selected.
 		 * 			
-		 * @param	internal	If internal not filter will be applied after the text is deleted, and no event will be 
-		 * 						triggered either.
+		 * @param[in]	internal	If internal not filter will be applied after the text is deleted, and no event will be 
+		 * 							triggered either.
 		 */
 		void deleteSelectedText(bool internal = false);
 
-		/**
-		 * @brief	Returns currently selected text.
-		 */
+		/**	Returns currently selected text. */
 		WString getSelectedText();
 
-		/**
-		 * @brief	Shows the input caret. You must position the caret manually after showing it.
-		 */
+		/**	Shows the input caret. You must position the caret manually after showing it. */
 		void showCaret();
 
-		/**
-		 * @brief	Hides the input caret.
-		 */
+		/**	Hides the input caret. */
 		void hideCaret();
 
 		/**
-		 * @brief	Shows selection with the specified anchor position. You must
-		 *			position selection start and end before selection will actually render.
-		 *			Anchor position determines selection behavior as the user moves the selection
-		 *			with the keyboard.
+		 * Shows selection with the specified anchor position. You must position selection start and end before selection
+		 * will actually render. Anchor position determines selection behavior as the user moves the selection with the 
+		 * keyboard.
 		 */
 		void showSelection(UINT32 anchorCaretPos);
 
-		/**
-		 * @brief	Removes any active selection.
-		 */
+		/**	Removes any active selection. */
 		void clearSelection();
 
-		/**
-		 * @brief	Adjusts the text offset (scroll) so that the caret is visible.
-		 */
+		/**	Adjusts the text offset (scroll) so that the caret is visible. */
 		void scrollTextToCaret();
 
-		/**
-		 * @brief	Clamps the text offset (scroll)	so that the text fits in the
-		 *			provided bounds nicely with minimal white space.
-		 */
+		/** Clamps the text offset (scroll)	so that the text fits in the provided bounds nicely with minimal white space. */
 		void clampScrollToBounds(Rect2I unclippedTextBounds);
 
-		/**
-		 * @brief	Returns offset at which to render the text. Relative to parent widget.
-		 */
+		/**	Returns offset at which to render the text. Relative to parent widget. */
 		Vector2I getTextOffset() const;
 
-		/**
-		 * @brief	Returns rectangle used for clipping the text. Relative to element.
-		 */
+		/**	Returns rectangle used for clipping the text. Relative to element. */
 		Rect2I getTextClipRect() const;
 
-		/**
-		 * @brief	Returns text sprite descriptor determining how is text sprite created.
-		 */
+		/**	Returns text sprite descriptor determining how is text sprite created. */
 		TEXT_SPRITE_DESC getTextDesc() const;
 
-		/**
-		 * @brief	Returns currently active input box texture, depending on active state.
-		 */
+		/**	Returns currently active input box texture, depending on active state. */
 		const HSpriteTexture& getActiveTexture() const;
 		
-		/**
-		 * @brief	Returns currently active input box text color, depending on active state.
-		 */
+		/**	Returns currently active input box text color, depending on active state. */
 		Color getActiveTextColor() const;
 
-		/**
-		 * @brief	Cuts currently selected text to clipboard.
-		 */
+		/**	Cuts currently selected text to clipboard. */
 		void cutText();
 
-		/**
-		 * @brief	Copies currently selected text to clipboard.
-		 */
+		/**	Copies currently selected text to clipboard. */
 		void copyText();
 
-		/**
-		 * @brief	Inserts text from clipboard to current caret location.
-		 */
+		/**	Inserts text from clipboard to current caret location. */
 		void pasteText();
 
 	private:
@@ -336,4 +259,6 @@ namespace BansheeEngine
 		bool mSelectionShown;
 		bool mDragInProgress;
 	};
+
+	/** @} */
 }

+ 32 - 63
BansheeEngine/Include/BsGUIInputCaret.h

@@ -8,127 +8,96 @@
 
 namespace BansheeEngine
 {
-	/**
-	 * @brief	When paired with a character index determines should the caret be placed
-	 *			before or after it.
+	/** @cond INTERNAL */
+	/** @addtogroup GUI
+	 *  @{
 	 */
+
+	/** When paired with a character index determines should the caret be placed before or after it. */
 	enum CaretPos
 	{
 		CARET_BEFORE,
 		CARET_AFTER
 	};
 
-	/**
-	 * @brief	Helper class for dealing with caret for text input boxes and similar
-	 *			controls.
-	 */
+	/** Helper class for dealing with caret for text input boxes and similar controls. */
 	class BS_EXPORT GUIInputCaret : public GUIInputTool
 	{
 	public:
 		GUIInputCaret();
 		~GUIInputCaret();
 
-		/**
-		 * @brief	Returns sprite used for rendering the caret.
-		 */
+		/**	Returns sprite used for rendering the caret. */
 		ImageSprite* getSprite() const { return mCaretSprite; }
 
-		/**
-		 * @brief	Returns offset relative to parent widget that determines placement of the
-		 *			caret sprite.
-		 */
+		/** Returns offset relative to parent widget that determines placement of the caret sprite. */
 		Vector2I getSpriteOffset() const;
 
 		/**
-		 * @brief	Returns clip rectangle relative to parent GUI element that determines
-		 *			how is caret sprite clipped.
+		 * Returns clip rectangle relative to parent GUI element that determines how is caret sprite clipped.
 		 *
-		 * @param	parentClipRect	Clip rectangle of the parent GUI element. Caret clip rectangle will additionally be
-		 *							clipped by this area. Relative to parent element.
+		 * @param[in]	parentClipRect	Clip rectangle of the parent GUI element. Caret clip rectangle will additionally be
+		 *								clipped by this area. Relative to parent element.
 		 */
 		Rect2I getSpriteClipRect(const Rect2I& parentClipRect) const;
 
-		/**
-		 * @brief	Rebuilts internal caret sprite using current properties.
-		 */
+		/**	Rebuilts internal caret sprite using current properties. */
 		void updateSprite();
 
-		/**
-		 * @brief	Moves caret to the start of text.
-		 */
+		/**	Moves caret to the start of text. */
 		void moveCaretToStart();
 
-		/**
-		 * @brief	Moves caret to the end of text.
-		 */
+		/**	Moves caret to the end of text. */
 		void moveCaretToEnd();
 
-		/**
-		 * @brief	Moves caret one character to the left, if not at start already.
-		 */
+		/**	Moves caret one character to the left, if not at start already. */
 		void moveCaretLeft();
 
-		/**
-		 * @brief	Moves caret one character to the right, if not at end already.
-		 */
+		/**	Moves caret one character to the right, if not at end already. */
 		void moveCaretRight();
 
-		/**
-		 * @brief	Moves caret one line up if possible.
-		 */
+		/**	Moves caret one line up if possible. */
 		void moveCaretUp();
 
-		/**
-		 * @brief	Moves caret one line down if possible.
-		 */
+		/**	Moves caret one line down if possible. */
 		void moveCaretDown();
 
-		/**
-		 * @brief	Moves caret to the character nearest to the specified position.
-		 *			Position is relative to parent widget.
-		 */
+		/** Moves caret to the character nearest to the specified position. Position is relative to parent widget. */
 		void moveCaretToPos(const Vector2I& pos);
 
 		/**
-		 * @brief	Moves the caret to a specific character index.
+		 * Moves the caret to a specific character index.
 		 *
-		 * @param	charIdx		Index of the character to move the caret to.
-		 * @param	caretPos	Whether to place the caret before or after the character.
+		 * @param[in]	charIdx		Index of the character to move the caret to.
+		 * @param[in]	caretPos	Whether to place the caret before or after the character.
 		 */
 		void moveCaretToChar(UINT32 charIdx, CaretPos caretPos);
 
-		/**
-		 * @brief	Returns character index after the current caret position.
-		 */
+		/**	Returns character index after the current caret position. */
 		UINT32 getCharIdxAtCaretPos() const;
 
 		/**
-		 * @brief	Returns current caret position, relative to parent widget. Requires
-		 *			you to provide offset to text the caret is used for (also relative to parent widget).
+		 * Returns current caret position, relative to parent widget. Requires you to provide offset to text the caret is
+		 * used for (also relative to parent widget).
 		 */
 		Vector2I getCaretPosition(const Vector2I& offset) const;
 
-		/**
-		 * @brief	Returns height of the caret, in pixels.
-		 */
+		/**	Returns height of the caret, in pixels. */
 		UINT32 getCaretHeight() const;
 
-		/**
-		 * @brief	Returns true if the character after the caret is  newline.
-		 */
+		/**	Returns true if the character after the caret is newline. */
 		bool isCaretAtNewline() const;
 
-		/**
-		 * @brief	Returns maximum valid caret index.
-		 */
+		/**	Returns maximum valid caret index. */
 		UINT32 getMaxCaretPos() const;
 
-		/**
-		 * @brief	Returns current caret index (not equal to character index).
-		 */
+		/**	Returns current caret index (not equal to character index). */
 		UINT32 getCaretPos() const { return mCaretPos; }
 	private:
 		UINT32 mCaretPos;
 		ImageSprite* mCaretSprite;
 	};
+
+	/** @} */
+	/** @endcond */
 }

+ 32 - 51
BansheeEngine/Include/BsGUIInputSelection.h

@@ -8,103 +8,81 @@
 
 namespace BansheeEngine
 {
-	/**
-	 * @brief	Helper class for dealing with text selection for text input boxes and similar
-	 *			controls.
+	/** @cond INTERNAL */
+	/** @addtogroup GUI
+	 *  @{
 	 */
+
+	/**	Helper class for dealing with text selection for text input boxes and similar controls. */
 	class BS_EXPORT GUIInputSelection : public GUIInputTool
 	{
 	public:
 		GUIInputSelection();
 		~GUIInputSelection();
 
-		/**
-		 * @brief	Returns sprites representing the currently selected areas
-		 */
+		/**	Returns sprites representing the currently selected areas. */
 		const Vector<ImageSprite*>& getSprites() const { return mSprites; }
 
-		/**
-		 * @brief	Returns how much to offset the sprite with the specified index, relative to
-		 *			the parent widget.
-		 */
+		/** Returns how much to offset the sprite with the specified index, relative to the parent widget. */
 		Vector2I GUIInputSelection::getSelectionSpriteOffset(UINT32 spriteIdx) const;
 
 		/**
-		 * @brief	Returns clip rectangle relative to parent GUI element for the sprite with the specified index. 
+		 * Returns clip rectangle relative to parent GUI element for the sprite with the specified index. 
 		 *
-		 * @param	spriteIdx	Index of the sprite to retrieve the clip rectangle for.
-		 * @param	parentClipRect	Clip rectangle of the parent GUI element. Selection clip rectangle will additionally be
-		 *							clipped by this area. Relative to parent element.
+		 * @param[in]	spriteIdx		Index of the sprite to retrieve the clip rectangle for.
+		 * @param[in]	parentClipRect	Clip rectangle of the parent GUI element. Selection clip rectangle will 
+		 *								additionally be clipped by this area. Relative to parent element.
 		 */
 		Rect2I GUIInputSelection::getSelectionSpriteClipRect(UINT32 spriteIdx, const Rect2I& parentClipRect) const;
 
-		/**
-		 * @brief	Recreates the selection clip sprites.
-		 */
+		/**	Recreates the selection clip sprites. */
 		void updateSprite();
 
 		/**
-		 * @brief	Shows the selection using the specified anchor. By default this will select 0 characters so you
-		 *			must manually move the selection using "moveSelectionToCaret" before anything is considered selected.
+		 * Shows the selection using the specified anchor. By default this will select 0 characters so you must manually
+		 * move the selection using moveSelectionToCaret() before anything is considered selected.
 		 *
-		 * @param	anchorCaretPos	Anchor position which to initially select. Anchor position determines selection area behavior
-		 *							when the input caret moves (determines whether left or right side of the selection will move with the caret).
+		 * @param[in]	anchorCaretPos	Anchor position which to initially select. Anchor position determines selection 
+		 *								area behavior when the input caret moves (determines whether left or right side of
+		 *								the selection will move with the caret).
 		 */
 		void showSelection(UINT32 anchorCaretPos);
 
-		/**
-		 * @brief	Clears the currently active selection.
-		 */
+		/**	Clears the currently active selection. */
 		void clearSelection();
 
 		/**
-		 * @brief	Moves the selection to caret. Selected area will be from the anchor provided in
-		 *			"showSelection" to the caret position provided here.
+		 * Moves the selection to caret. Selected area will be from the anchor provided in showSelection() to the caret
+		 * position provided here.
 		 */
 		void moveSelectionToCaret(UINT32 caretPos);
 
-		/**
-		 * @brief	Checks is anything selected.
-		 */
+		/**	Checks is anything selected. */
 		bool isSelectionEmpty() const;
 
-		/**
-		 * @brief	Selects all available text.
-		 */
+		/**	Selects all available text. */
 		void selectAll();
 
 		/**
-		 * @brief	Starts selection drag at the specified caret position. Call
-		 *			"selectionDragUpdate" and "selectionDragEnd" as the drag operation
-		 *			progresses.
+		 * Starts selection drag at the specified caret position. Call selectionDragUpdate() and selectionDragEnd() as the
+		 * drag operation progresses.
 		 */
 		void selectionDragStart(UINT32 caretPos);
 
-		/**
-		 * @brief	Updates selection drag at the specified caret position. 
-		 */
+		/**	Updates selection drag at the specified caret position. */
 		void selectionDragUpdate(UINT32 caretPos);
 
-		/**
-		 * @brief	Stops selection drag.
-		 */
+		/**	Stops selection drag. */
 		void selectionDragEnd();
 
-		/**
-		 * @brief	Gets caret index of selection start.
-		 */
+		/**	Gets caret index of selection start. */
 		UINT32 getSelectionStart() const { return mSelectionStart; }
 
-		/**
-		 * @brief	Gets caret index of selection end.
-		 */
+		/**	Gets caret index of selection end. */
 		UINT32 getSelectionEnd() const { return mSelectionEnd; }
 
 	private:
-		/**
-		 * @brief	Returns rectangles describing the currently selected areas. Rectangles
-		 *			are relative to parent GUI element.
-		 */
+		/** Returns rectangles describing the currently selected areas. Rectangles are relative to parent GUI element. */
 		Vector<Rect2I> getSelectionRects() const;
 
 	private:
@@ -116,4 +94,7 @@ namespace BansheeEngine
 		Vector<Rect2I> mSelectionRects;
 		Vector<ImageSprite*> mSprites;
 	};
+
+	/** @} */
+	/** @endcond */
 }

+ 48 - 60
BansheeEngine/Include/BsGUIInputTool.h

@@ -7,55 +7,51 @@
 
 namespace BansheeEngine
 {
-	/**
-	 * @brief	Represents a single line of text used by the input tools.
+	/** @cond INTERNAL */
+	/** @addtogroup GUI
+	 *  @{
 	 */
+
+	/**	Represents a single line of text used by the input tools. */
 	class BS_EXPORT GUIInputLineDesc
 	{
 	public:
 		/**
-		 * @brief	Constructs a new input line description.
+		 * Constructs a new input line description.
 		 *
-		 * @param	startChar		Index of the first character on the line.
-		 * @param	endChar			Index of the last character on the line.
-		 * @param	lineHeight		Height of the line in pixels.
-		 * @param	lineYStart		Vertical offset from the top of the text to the start of this line (0 for first line usually)
-		 * @param	includesNewLine	True if the lines end character is a newline character.
+		 * @param[in]	startChar		Index of the first character on the line.
+		 * @param[in]	endChar			Index of the last character on the line.
+		 * @param[in]	lineHeight		Height of the line in pixels.
+		 * @param[in]	lineYStart		Vertical offset from the top of the text to the start of this line (0 for first 
+		 *								line usually).
+		 * @param[in]	includesNewLine	True if the lines end character is a newline character.
 		 */
 		GUIInputLineDesc(UINT32 startChar, UINT32 endChar, UINT32 lineHeight, INT32 lineYStart, bool includesNewline);
 
 		/**
-		 * @brief	Returns index of the last character on the line. If lines contains a newline character it will be returned
-		 *			unless you set "includeNewLine" to false, in which case the next end-most character is returned.
-		 *			(If newline is the only character on the line, it's index will still be returned).
+		 * Returns index of the last character on the line. If lines contains a newline character it will be returned unless
+		 * you set @p includeNewLine to false, in which case the next end-most character is returned. (If newline is the 
+		 * only character on the line, its index will still be returned).
 		 */
 		UINT32 getEndChar(bool includeNewline = true) const;
 
-		/**
-		 * @brief	Returns index of the first character on the line.
-		 */
+		/**	Returns index of the first character on the line. */
 		UINT32 getStartChar() const { return mStartChar; }
 
-		/**
-		 * @brief	Returns line height in pixels.
-		 */
+		/**	Returns line height in pixels. */
 		UINT32 getLineHeight() const { return mLineHeight; }
 
-		/**
-		 * @brief	Returns vertical offset from the top of the text to the start of this line (0 for first line usually).
-		 */
+		/**	Returns vertical offset from the top of the text to the start of this line (0 for first line usually). */
 		INT32 getLineYStart() const { return mLineYStart; }
 
 		/**
-		 * @brief	Checks is the specified character index a newline. Character index is a global character index,
-		 *			not relative to the start character index of this line. If the index is out of range of this line
-		 *			character indices, it will always return false.
+		 * Checks is the specified character index a newline. Character index is a global character index, not relative to
+		 * the start character index of this line. If the index is out of range of this line character indices, it will
+		 * always return false.
 		 */
 		bool isNewline(UINT32 charIdx) const;
 
-		/**
-		 * @brief	Returns true if the last character on this line is a newline.
-		 */
+		/**	Returns true if the last character on this line is a newline. */
 		bool hasNewlineChar() const { return mIncludesNewline; }
 
 	private:
@@ -66,6 +62,7 @@ namespace BansheeEngine
 		bool mIncludesNewline;
 	};
 
+	/** Base class for input helper tools, like caret and text selection. */
 	class BS_EXPORT GUIInputTool
 	{
 	public:
@@ -73,74 +70,62 @@ namespace BansheeEngine
 		~GUIInputTool();
 
 		/**
-		 * @brief	Updates the input tool with new text descriptor and parent GUI element. These
-		 *			values will be used for all further calculations.
+		 * Updates the input tool with new text descriptor and parent GUI element. These values will be used for all 
+		 * further calculations.
 		 */
 		void updateText(const GUIElement* element, const TEXT_SPRITE_DESC& textDesc);
 	protected:
-		/**
-		 * @brief	Returns text offset relative to parent widget.
-		 */
+		/**	Returns text offset relative to parent widget. */
 		Vector2I getTextOffset() const;
 
-		/**
-		 * @brief	Returns number of lines in the current text string.
-		 */
+		/**	Returns number of lines in the current text string. */
 		UINT32 getNumLines() const { return (UINT32)mLineDescs.size(); }
 
-		/**
-		 * @brief	Returns descriptor for a line with the specified index.
-		 */
+		/**	Returns descriptor for a line with the specified index. */
 		const GUIInputLineDesc& getLineDesc(UINT32 lineIdx) const { return mLineDescs.at(lineIdx); }
 
 		/**
-		 * @brief	Returns index of a line containing the specified character.
+		 * Returns index of a line containing the specified character.
 		 *
-		 * @param	charIdx					Index of the character to look for.
-		 * @param	newlineCountsOnNextLine	If true, newline characters will return the next line
-		 *									and not the line they're actually on.
+		 * @param[in]	charIdx					Index of the character to look for.
+		 * @param[in]	newlineCountsOnNextLine	If true, newline characters will return the next line and not the line
+		 *										they're actually on.
 		 */
 		UINT32 getLineForChar(UINT32 charIdx, bool newlineCountsOnNextLine = false) const;
 
 		/**
-		 * @brief	Returns a rectangle containing position and size of the character with the provided
-		 *			index, relative to parent widget.
+		 * Returns a rectangle containing position and size of the character with the provided index, relative to parent
+		 * widget.
 		 */
 		Rect2I getCharRect(UINT32 charIdx) const;
 
 		/**
-		 * @brief	Returns a rectangle containing position and size of the character with the provided
-		 *			index, relative to parent element.
+		 * Returns a rectangle containing position and size of the character with the provided index, relative to parent 
+		 * element.
 		 */
 		Rect2I getLocalCharRect(UINT32 charIdx) const;
 
-		/**
-		 * @brief	Returns character index nearest to the specified position. Position should be relative
-		 *			to parent widget.
-		 */
+		/** Returns character index nearest to the specified position. Position should be relative to parent widget. */
 		INT32 getCharIdxAtPos(const Vector2I& pos) const;
 
-		/**
-		 * @brief	Returns true if the currently set text desctiptor is valid (has any characters).
-		 */
+		/**	Returns true if the currently set text desctiptor is valid (has any characters). */
 		bool isDescValid() const;
 
 		/**
-		 * @brief	Gets a character index after the input index. Input index represents the empty areas between the characters. 
-		 *			Newline counts as a character. (e.g. 0 is before the first character, 1 is after the first character but before 
-		 *			the second, etc.)
+		 * Gets a character index after the input index. Input index represents the empty areas between the characters. 
+		 * Newline counts as a character. (e.g. 0 is before the first character, 1 is after the first character but before 
+		 * the second, etc.)
 		 * 			
-		 * @note	This can return an out of range character index, in case the input index is specified after the last character.
+		 * @note	
+		 * This can return an out of range character index, in case the input index is specified after the last character.
 		 */
 		UINT32 getCharIdxAtInputIdx(UINT32 inputIdx) const;
 
-		/**
-		 * @brief	Checks is the specified character index a newline.
-		 */
+		/**	Checks is the specified character index a newline. */
 		bool isNewlineChar(UINT32 charIdx) const;
 
 		/**
-		 * @brief	Checks is the character after the specified input index a newline.
+		 * Checks is the character after the specified input index a newline.
 		 *
 		 * @see		getCharIdxAtInputIdx
 		 */
@@ -156,4 +141,7 @@ namespace BansheeEngine
 
 		Vector<GUIInputLineDesc> mLineDescs;
 	};
+
+	/** @} */
+	/** @endcond */
 }

+ 35 - 49
BansheeEngine/Include/BsGUILabel.h

@@ -9,102 +9,86 @@
 
 namespace BansheeEngine
 {
-	/**
-	 * @brief	GUI element that displays text and optionally a content image.
+	/** @addtogroup GUI
+	 *  @{
 	 */
+
+	/**	GUI element that displays text and optionally a content image. */
 	class BS_EXPORT GUILabel : public GUIElement
 	{
 	public:
-		/**
-		 * Returns type name of the GUI element used for finding GUI element styles. 
-		 */
+		/** Returns type name of the GUI element used for finding GUI element styles.  */
 		static const String& getGUITypeName();
 
 		/**
 		 * Creates a new label with the specified text.
 		 *
-		 * @param	text			Text to display.
-		 * @param	styleName		Optional style to use for the element. Style will be retrieved
-		 *							from GUISkin of the GUIWidget the element is used on. If not specified
-		 *							default button style is used.
+		 * @param[in]	text		Text to display.
+		 * @param[in]	styleName	Optional style to use for the element. Style will be retrieved from GUISkin of the 
+		 *							GUIWidget the element is used on. If not specified default button style is used.
 		 */
 		static GUILabel* create(const HString& text, const String& styleName = StringUtil::BLANK);
 
 		/**
 		 * Creates a new label with the specified text.
 		 *
-		 * @param	text			Text to display.
-		 * @param	options			Options that allow you to control how is the element positioned and sized.
-		 *							This will override any similar options set by style.
-		 * @param	styleName		Optional style to use for the element. Style will be retrieved
-		 *							from GUISkin of the GUIWidget the element is used on. If not specified
-		 *							default button style is used.
+		 * @param[in]	text			Text to display.
+		 * @param[in]	options			Options that allow you to control how is the element positioned and sized.
+		 *								This will override any similar options set by style.
+		 * @param[in]	styleName		Optional style to use for the element. Style will be retrieved from GUISkin of the
+		 *								GUIWidget the element is used on. If not specified default button style is used.
 		 */
 		static GUILabel* create(const HString& text, const GUIOptions& options, const String& styleName = StringUtil::BLANK);
 
 		/**
 		 * Creates a new label with the specified content (text + optional image).
 		 *
-		 * @param	text			Content to display.
-		 * @param	styleName		Optional style to use for the element. Style will be retrieved
-		 *							from GUISkin of the GUIWidget the element is used on. If not specified
-		 *							default button style is used.
+		 * @param[in]	text			Content to display.
+		 * @param[in]	styleName		Optional style to use for the element. Style will be retrieved from GUISkin of the
+		 *								GUIWidget the element is used on. If not specified default button style is used.
 		 */
 		static GUILabel* create(const GUIContent& content, const String& styleName = StringUtil::BLANK);
 
 		/**
 		 * Creates a new label with the specified content (text + optional image).
 		 *
-		 * @param	text			Content to display.
-		 * @param	options			Options that allow you to control how is the element positioned and sized.
-		 *							This will override any similar options set by style.
-		 * @param	styleName		Optional style to use for the element. Style will be retrieved
-		 *							from GUISkin of the GUIWidget the element is used on. If not specified
-		 *							default button style is used.
+		 * @param[in]	text			Content to display.
+		 * @param[in]	options			Options that allow you to control how is the element positioned and sized. This will
+		 *								override any similar options set by style.
+		 * @param[in]	styleName		Optional style to use for the element. Style will be retrieved from GUISkin of the
+		 *								GUIWidget the element is used on. If not specified default button style is used.
 		 */
 		static GUILabel* create(const GUIContent& content, const GUIOptions& options, const String& styleName = StringUtil::BLANK);
 
-		/**
-		 * Changes the active content of the label.
-		 */
+		/** Changes the active content of the label. */
 		void setContent(const GUIContent& content);
 
-		/**
-		 * @copydoc	GUIElement::_getOptimalSize
-		 */
+		/** @cond INTERNAL */
+
+		/** @copydoc GUIElement::_getOptimalSize */
 		virtual Vector2I _getOptimalSize() const override;
 
-		/**
-		 * @copydoc	GUIElement::getElementType
-		 */
+		/** @copydoc GUIElement::getElementType */
 		virtual ElementType _getElementType() const override { return ElementType::Label; }
+
+		/** @endcond */
 	protected:
 		~GUILabel();
 
-		/**
-		 * @copydoc GUIElement::_getNumRenderElements
-		 */
+		/** @copydoc GUIElement::_getNumRenderElements */
 		virtual UINT32 _getNumRenderElements() const override;
 
-		/**
-		 * @copydoc GUIElement::_getMaterial
-		 */
+		/** @copydoc GUIElement::_getMaterial */
 		virtual const SpriteMaterialInfo& _getMaterial(UINT32 renderElementIdx) const override;
 
-		/**
-		 * @copydoc GUIElement::_getNumQuads
-		 */
+		/** @copydoc GUIElement::_getNumQuads */
 		virtual UINT32 _getNumQuads(UINT32 renderElementIdx) const override;
 
-		/**
-		 * @copydoc GUIElement::_fillBuffer
-		 */
+		/** @copydoc GUIElement::_fillBuffer */
 		virtual void _fillBuffer(UINT8* vertices, UINT8* uv, UINT32* indices, UINT32 startingQuad, 
 			UINT32 maxNumQuads, UINT32 vertexStride, UINT32 indexStride, UINT32 renderElementIdx) const override;
 
-		/**
-		 * @copydoc GUIElement::updateRenderElementsInternal
-		 */
+		/** @copydoc GUIElement::updateRenderElementsInternal */
 		virtual void updateRenderElementsInternal() override;
 
 	private:
@@ -115,4 +99,6 @@ namespace BansheeEngine
 
 		TEXT_SPRITE_DESC mDesc;
 	};
+
+	/** @} */
 }

+ 27 - 44
BansheeEngine/Include/BsGUILayout.h

@@ -8,9 +8,13 @@
 
 namespace BansheeEngine
 {
+	/** @addtogroup Implementation
+	 *  @{
+	 */
+
 	/**
-	 * @brief	Base class for layout GUI element. Layout element positions and sizes
-	 *			any child elements according to element styles and layout options.
+	 * Base class for layout GUI element. Layout element positions and sizes any child elements according to element styles
+	 * and layout options.
 	 */
 	class BS_EXPORT GUILayout : public GUIElementBase
 	{
@@ -19,9 +23,7 @@ namespace BansheeEngine
 		GUILayout();
 		virtual ~GUILayout();
 
-		/**
-		 * @brief	Creates a new element and adds it to the layout after all existing elements.
-		 */
+		/**	Creates a new element and adds it to the layout after all existing elements. */
 		template<class Type, class... Args>
 		Type* addNewElement(Args &&...args)
 		{
@@ -30,9 +32,7 @@ namespace BansheeEngine
 			return elem;
 		}
 
-		/**
-		 * @brief	Creates a new element and inserts it before the element at the specified index.
-		 */
+		/**	Creates a new element and inserts it before the element at the specified index. */
 		template<class Type, class... Args>
 		Type* insertNewElement(UINT32 idx, Args &&...args)
 		{
@@ -41,70 +41,53 @@ namespace BansheeEngine
 			return elem;
 		}
 
-		/**
-		 * @brief	Adds a new element to the layout after all existing elements.
-		 */
+		/**	Adds a new element to the layout after all existing elements. */
 		void addElement(GUIElementBase* element);
 
-		/**
-		 * @brief	Removes the specified element from the layout.
-		 */
+		/**	Removes the specified element from the layout. */
 		void removeElement(GUIElementBase* element);
 
-		/**
-		 * @brief	Removes a child element at the specified index.
-		 */
+		/**	Removes a child element at the specified index. */
 		void removeElementAt(UINT32 idx);
 
-		/**
-		 * @brief	Inserts a GUI element before the element at the specified index.
-		 */
+		/**	Inserts a GUI element before the element at the specified index. */
 		void insertElement(UINT32 idx, GUIElementBase* element);
 
-		/**
-		 * @brief	Returns number of child elements in the layout.
-		 */
+		/**	Returns number of child elements in the layout. */
 		UINT32 getNumChildren() const { return (UINT32)mChildren.size(); }
 
-		/**
-		 * @copydoc		GUIElementBase::_getLayoutSizeRange
-		 */
+		/** @cond INTERNAL */
+
+		/** @copydoc GUIElementBase::_getLayoutSizeRange */
 		LayoutSizeRange _getLayoutSizeRange() const override { return _getCachedSizeRange(); }
 
-		/**
-		 * @brief	Returns a size range that was cached during the last 
-		 *			GUIElementBase::_updateOptimalLayoutSizes call.
-		 */
+		/** Returns a size range that was cached during the last GUIElementBase::_updateOptimalLayoutSizes call. */
 		LayoutSizeRange _getCachedSizeRange() const { return mSizeRange; }
 
 		/**
-		 * @brief	Returns a size ranges for all children that was cached during the last 
-		 *			GUIElementBase::_updateOptimalLayoutSizes call.
+		 * Returns a size ranges for all children that was cached during the last GUIElementBase::_updateOptimalLayoutSizes
+		 * call.
 		 */
 		const Vector<LayoutSizeRange>& _getCachedChildSizeRanges() const { return mChildSizeRanges; }
 
-		/**
-		 * @copydoc	GUIElementBase::_getOptimalSize
-		 */
+		/** @copydoc GUIElementBase::_getOptimalSize */
 		Vector2I _getOptimalSize() const override { return mSizeRange.optimal; }
 
-		/**
-		 * @copydoc	GUIElementBase::_getPadding
-		 */
+		/** @copydoc GUIElementBase::_getPadding */
 		const RectOffset& _getPadding() const override;
 
-		/**
-		 * @copydoc	GUIElementBase::_getType
-		 */
+		/** @copydoc GUIElementBase::_getType */
 		virtual Type _getType() const override { return GUIElementBase::Type::Layout; }
 
-		/**
-		 * @brief	Destroy the layout. Removes it from parent and widget, and deletes it.
-		 */	
+		/** @endcond */
+
+		/**	Destroy the layout. Removes it from parent and widget, and deletes it. */	
 		static void destroy(GUILayout* layout);
 
 	protected:
 		Vector<LayoutSizeRange> mChildSizeRanges;
 		LayoutSizeRange mSizeRange;
 	};
+
+	/** @} */
 }

+ 15 - 20
BansheeEngine/Include/BsGUILayoutData.h

@@ -7,10 +7,14 @@
 
 namespace BansheeEngine
 {
+	/** @cond INTERNAL */
+	/** @addtogroup GUI
+	 *  @{
+	 */
+
 	/**
-	 * @brief	Contains all attributes that are output by GUI layouts and
-	 *			assigned to GUI elements. This includes element position,
-	 *			size and depth.
+	 * Contains all attributes that are output by GUI layouts and assigned to GUI elements. This includes element position,
+	 * size and depth.
 	 */
 	struct BS_EXPORT GUILayoutData
 	{
@@ -20,9 +24,7 @@ namespace BansheeEngine
 			setPanelDepth(0);
 		}
 
-		/**
-		 * @brief	Set widget part of element depth. (Most significant part)
-		 */
+		/**	Set widget part of element depth (Most significant part). */
 		void setWidgetDepth(UINT8 widgetDepth)
 		{
 			UINT32 shiftedDepth = widgetDepth << 24;
@@ -30,10 +32,7 @@ namespace BansheeEngine
 			depth = shiftedDepth | (depth & 0x00FFFFFF);
 		}
 
-		/**
-		 * @brief	Set panel part of element depth. Less significant than widget
-		 *			depth but more than custom element depth.
-		 */
+		/** Set panel part of element depth. Less significant than widget depth but more than custom element depth. */
 		void setPanelDepth(INT16 panelDepth)
 		{
 			UINT32 signedDepth = ((INT32)panelDepth + 32768) << 8;
@@ -41,26 +40,19 @@ namespace BansheeEngine
 			depth = signedDepth | (depth & 0xFF0000FF);;
 		}
 
-		/**
-		 * @brief	Retrieve widget part of element depth. (Most significant part)
-		 */
+		/**	Retrieve widget part of element depth (Most significant part). */
 		UINT8 getWidgetDepth() const
 		{
 			return (depth >> 24) & 0xFF;
 		}
 
-		/**
-		 * @brief	Retrieve panel part of element depth. Less significant than widget
-		 *			depth but more than custom element depth.
-		 */
+		/** Retrieve panel part of element depth. Less significant than widget depth but more than custom element depth. */
 		INT16 getPanelDepth() const
 		{
 			return (((INT32)depth >> 8) & 0xFFFF) - 32768;
 		}
 
-		/**
-		 * @brief	Returns a clip rectangle that is relative to the current bounds.
-		 */
+		/**	Returns a clip rectangle that is relative to the current bounds. */
 		Rect2I getLocalClipRect() const
 		{
 			Rect2I localClipRect = clipRect;
@@ -76,4 +68,7 @@ namespace BansheeEngine
 		UINT16 depthRangeMin;
 		UINT16 depthRangeMax;
 	};
+
+	/** @} */
+	/** @endcond */
 }

+ 21 - 16
BansheeEngine/Include/BsGUILayoutUtility.h

@@ -8,10 +8,12 @@
 
 namespace BansheeEngine
 {
-	/**
-	 * Helper class that performs various operations related to
-	 * GUILayout and GUI element sizing/placement.
+	/** @cond INTERNAL */
+	/** @addtogroup GUI
+	 *  @{
 	 */
+
+	/** Helper class that performs various operations related to GUILayout and GUI element sizing/placement. */
 	class BS_EXPORT GUILayoutUtility
 	{
 	public:
@@ -22,27 +24,30 @@ namespace BansheeEngine
 		static Vector2I calcOptimalSize(const GUIElementBase* elem);
 
 		/**
-		 * @brief	Calculates the size of elements in a layout of the specified size.
+		 * Calculates the size of elements in a layout of the specified size.
 		 * 
-		 * @param	width				Width of the layout.
-		 * @param	height				Height of the layout.
-		 * @param	layout				Parent layout of the children to calculate the area for.
-		 * @param	updateOptimalSizes	Optimization (doesn't change the results). Set to false if
-		 *								GUIElementBase::_updateOptimalLayoutSizes was already called and optimal sizes are 
-		 *								up to date to avoid recalculating them. (Normally that is true if this is being 
-		 *								called during GUI layout update)
+		 * @param[in]	width				Width of the layout.
+		 * @param[in]	height				Height of the layout.
+		 * @param[in]	layout				Parent layout of the children to calculate the area for.
+		 * @param[in]	updateOptimalSizes	Optimization (doesn't change the results). Set to false if 
+		 *									GUIElementBase::_updateOptimalLayoutSizes was already called and optimal sizes
+		 *									are up to date to avoid recalculating them. (Normally that is true if this is 
+		 *									being called during GUI layout update)
 		 */
 		static Vector2I calcActualSize(UINT32 width, UINT32 height, GUILayout* layout, bool updateOptimalSizes = true);
 
 	private:
 		/**
-		 * @brief	Calculates the size of elements in a layout of the specified size. Assumes the layout and all its children
-		 *			have updated optimal sizes.
+		 * Calculates the size of elements in a layout of the specified size. Assumes the layout and all its children
+		 * have updated optimal sizes.
 		 * 
-		 * @param	width				Width of the layout.
-		 * @param	height				Height of the layout.
-		 * @param	layout				Parent layout of the children to calculate the area for.
+		 * @param[in]	width				Width of the layout.
+		 * @param[in]	height				Height of the layout.
+		 * @param[in]	layout				Parent layout of the children to calculate the area for.
 		 */
 		static Vector2I calcActualSizeInternal(UINT32 width, UINT32 height, GUILayout* layout);
 	};
+
+	/** @} */
+	/** @endcond */
 }

+ 1 - 1
BansheePhysX/Source/BsPhysX.cpp

@@ -22,7 +22,7 @@ namespace BansheeEngine
 	public:
 		void* allocate(size_t size, const char*, const char*, int) override
 		{
-			void* ptr = bs_alloc_aligned16(size);
+			void* ptr = bs_alloc_aligned16((UINT32)size);
 			PX_ASSERT((reinterpret_cast<size_t>(ptr) & 15) == 0);
 			return ptr;
 		}