+ Texture.Aspect

+ Transformation.ApplyTextureSize(Texture texture) & Transformation.ApplyTextureSize(Texture texture, float width)
This commit is contained in:
Michel Fedde 2020-12-13 13:34:30 +01:00
parent 1a0148ff90
commit 57fb71d01b
4 changed files with 34 additions and 4 deletions

View file

@ -25,6 +25,22 @@ namespace SM.Base.Textures
/// </summary>
public Bitmap Map;
/// <inheritdoc />
public override int Width
{
get => Map.Width;
protected set
{ }
}
/// <inheritdoc />
public override int Height
{
get => Map.Height;
protected set {}
}
public float Aspect { get; private set; }
/// <summary>
/// Empty constructor
/// </summary>
@ -50,6 +66,9 @@ namespace SM.Base.Textures
public Texture(Bitmap map, TextureMinFilter filter, TextureWrapMode wrapMode)
{
Map = map;
Aspect = (float)map.Width / map.Height;
Filter = filter;
WrapMode = wrapMode;
}

View file

@ -32,12 +32,12 @@ namespace SM.OGL.Texture
/// <summary>
/// The Width of the texture
/// </summary>
public int Width { get; protected set; }
public virtual int Width { get; protected set; }
/// <summary>
/// The height of the texture
/// </summary>
public int Height { get; protected set; }
public virtual int Height { get; protected set; }
public override void Dispose()
{

View file

@ -1,8 +1,10 @@
#region usings
using System;
using OpenTK;
using SM.Base.Drawing;
using SM.Base.Scene;
using SM.Base.Textures;
using SM.Base.Types;
using SM.Utility;
@ -38,5 +40,15 @@ namespace SM2D.Types
vec.Normalize();
return vec.Xy;
}
public void ApplyTextureSize(Texture texture)
{
Size.Set(texture.Width, texture.Height);
}
public void ApplyTextureSize(Texture texture, float width)
{
Size.Set(width, width / texture.Aspect);
}
}
}