Even more documentation.
This commit is contained in:
@@ -3,8 +3,19 @@ using Microsoft.Xna.Framework.Graphics;
|
||||
|
||||
namespace RecrownedAthenaeum.DataTypes
|
||||
{
|
||||
/// <summary>
|
||||
/// A wrapper that makes sure anything implementing can be drawn with options.
|
||||
/// </summary>
|
||||
public interface ISpecialDrawable
|
||||
{
|
||||
/// <summary>
|
||||
/// Should draw whatever implements this.
|
||||
/// </summary>
|
||||
/// <param name="spriteBatch">The batch to be used.</param>
|
||||
/// <param name="destination">The location and dimensions to draw to.</param>
|
||||
/// <param name="color">The color tint to draw with.</param>
|
||||
/// <param name="rotation">The rotation to be used.</param>
|
||||
/// <param name="origin">The origin for the rotation.</param>
|
||||
void Draw(SpriteBatch spriteBatch, Rectangle destination, Color color, float rotation = 0f, Vector2 origin = default(Vector2));
|
||||
}
|
||||
}
|
||||
|
@@ -4,9 +4,18 @@ using System;
|
||||
|
||||
namespace RecrownedAthenaeum.DataTypes
|
||||
{
|
||||
/// <summary>
|
||||
/// An object that represents a ninepatch.
|
||||
/// </summary>
|
||||
public class NinePatch : ISpecialDrawable
|
||||
{
|
||||
/// <summary>
|
||||
/// color of 9patch.
|
||||
/// </summary>
|
||||
public Color color;
|
||||
/// <summary>
|
||||
/// Dimensions in ninepatch. May also represent position in texture atlas.
|
||||
/// </summary>
|
||||
public Rectangle textureRegion;
|
||||
readonly Texture2D texture;
|
||||
readonly int left, right, bottom, top;
|
||||
@@ -33,6 +42,11 @@ namespace RecrownedAthenaeum.DataTypes
|
||||
color = Color.White;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draws the ninepatch.
|
||||
/// </summary>
|
||||
/// <param name="spriteBatch">Batch to use.</param>
|
||||
/// <param name="destination">Where to the patch.</param>
|
||||
public void Draw(SpriteBatch spriteBatch, Rectangle destination)
|
||||
{
|
||||
Rectangle sourceRectangle;
|
||||
@@ -175,6 +189,14 @@ namespace RecrownedAthenaeum.DataTypes
|
||||
spriteBatch.Draw(texture, drawnRectangle, sourceRectangle, color);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draw with more options.
|
||||
/// </summary>
|
||||
/// <param name="spriteBatch">Spritebatch to use.</param>
|
||||
/// <param name="destination">The destination to draw the patch.</param>
|
||||
/// <param name="color">The tint for each patch.</param>
|
||||
/// <param name="rotation">Not considered for 9patches.</param>
|
||||
/// <param name="origin">Not considered for 9patches.</param>
|
||||
public void Draw(SpriteBatch spriteBatch, Rectangle destination, Color color, float rotation = 0, Vector2 origin = default(Vector2))
|
||||
{
|
||||
this.color = color;
|
||||
|
@@ -2,30 +2,50 @@
|
||||
|
||||
namespace RecrownedAthenaeum.DataTypes
|
||||
{
|
||||
public class Resolution : IComparable<Resolution>
|
||||
/// <summary>
|
||||
/// Holds a width and height while allowing for easier comparison between other <see cref="Resolution"/>s.
|
||||
/// </summary>
|
||||
public struct Resolution : IComparable<Resolution>
|
||||
{
|
||||
/// <summary>
|
||||
/// Dimensions of resolution.
|
||||
/// </summary>
|
||||
public int Width, Height;
|
||||
|
||||
/// <summary>
|
||||
/// Constructs resolution given the dimensions.
|
||||
/// </summary>
|
||||
/// <param name="width">Width of resolution.</param>
|
||||
/// <param name="height">Height of resolution.</param>
|
||||
public Resolution(int width, int height)
|
||||
{
|
||||
Width = width;
|
||||
Height = height;
|
||||
}
|
||||
|
||||
public Resolution()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Compares area of this resolution to another.
|
||||
/// </summary>
|
||||
/// <param name="other">The other resolution to compare to.</param>
|
||||
/// <returns>A value less than 0 for this being the smaller resolution, 0 for the two being the same in area, and larger for this being the larger in area.</returns>
|
||||
public int CompareTo(Resolution other)
|
||||
{
|
||||
return Area() - other.Area();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets a string representation of this resolution.
|
||||
/// </summary>
|
||||
/// <returns>"WidthxHeight"</returns>
|
||||
public override string ToString()
|
||||
{
|
||||
return Width + "x" + Height;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Calculates area of resolution.
|
||||
/// </summary>
|
||||
/// <returns>Area of resolution.</returns>
|
||||
public int Area()
|
||||
{
|
||||
return Width * Height;
|
||||
|
Reference in New Issue
Block a user