You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

143 lines
2.9 KiB

// Copyright Epic Games, Inc. All Rights Reserved.
// This file is automatically generated. Changes to this file may be overwritten.
namespace Epic.OnlineServices.Ecom
{
/// <summary>
/// Contains information about a key image used by the catalog. Instances of this structure are
/// created by <see cref="EcomInterface.CopyItemImageInfoByIndex" />. They must be passed to <see cref="EcomInterface.Release" />.
/// A Key Image is defined within Dev Portal and is associated with a Catalog Item. A Key Image is
/// intended to be used to provide imagery for an in-game store.
/// <seealso cref="EcomInterface.CopyItemImageInfoByIndex" />
/// <seealso cref="EcomInterface.Release" />
/// </summary>
public struct KeyImageInfo
{
/// <summary>
/// Describes the usage of the image (ex: home_thumbnail)
/// </summary>
public Utf8String Type { get; set; }
/// <summary>
/// The URL of the image
/// </summary>
public Utf8String Url { get; set; }
/// <summary>
/// The expected width in pixels of the image
/// </summary>
public uint Width { get; set; }
/// <summary>
/// The expected height in pixels of the image
/// </summary>
public uint Height { get; set; }
internal void Set(ref KeyImageInfoInternal other)
{
Type = other.Type;
Url = other.Url;
Width = other.Width;
Height = other.Height;
}
}
[System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)]
internal struct KeyImageInfoInternal : IGettable<KeyImageInfo>, ISettable<KeyImageInfo>, System.IDisposable
{
private int m_ApiVersion;
private System.IntPtr m_Type;
private System.IntPtr m_Url;
private uint m_Width;
private uint m_Height;
public Utf8String Type
{
get
{
Utf8String value;
Helper.Get(m_Type, out value);
return value;
}
set
{
Helper.Set(value, ref m_Type);
}
}
public Utf8String Url
{
get
{
Utf8String value;
Helper.Get(m_Url, out value);
return value;
}
set
{
Helper.Set(value, ref m_Url);
}
}
public uint Width
{
get
{
return m_Width;
}
set
{
m_Width = value;
}
}
public uint Height
{
get
{
return m_Height;
}
set
{
m_Height = value;
}
}
public void Set(ref KeyImageInfo other)
{
m_ApiVersion = EcomInterface.KeyimageinfoApiLatest;
Type = other.Type;
Url = other.Url;
Width = other.Width;
Height = other.Height;
}
public void Set(ref KeyImageInfo? other)
{
if (other.HasValue)
{
m_ApiVersion = EcomInterface.KeyimageinfoApiLatest;
Type = other.Value.Type;
Url = other.Value.Url;
Width = other.Value.Width;
Height = other.Value.Height;
}
}
public void Dispose()
{
Helper.Dispose(ref m_Type);
Helper.Dispose(ref m_Url);
}
public void Get(out KeyImageInfo output)
{
output = new KeyImageInfo();
output.Set(ref this);
}
}
}