//********************************** Banshee Engine (www.banshee3d.com) **************************************************//
//************** Copyright (c) 2016-2019 Marko Pintera (marko.pintera@gmail.com). All rights reserved. *******************//
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using bs;
namespace bs.Editor
{
/** @addtogroup Importer
* @{
*/
/// Contains import options you may use to control how is a texture imported.
[ShowInInspector]
public partial class TextureImportOptions : ImportOptions
{
private TextureImportOptions(bool __dummy0) { }
/// Creates a new import options object that allows you to customize how are textures imported.
public TextureImportOptions()
{
Internal_create(this);
}
/// Pixel format to import as.
[ShowInInspector]
[NativeWrapper]
public PixelFormat Format
{
get { return Internal_getformat(mCachedPtr); }
set { Internal_setformat(mCachedPtr, value); }
}
/// Enables or disables mipmap generation for the texture.
[ShowInInspector]
[NativeWrapper]
public bool GenerateMips
{
get { return Internal_getgenerateMips(mCachedPtr); }
set { Internal_setgenerateMips(mCachedPtr, value); }
}
///
/// Maximum mip level to generate when generating mipmaps. If 0 then maximum amount of mip levels will be generated.
///
[ShowInInspector]
[NativeWrapper]
public int MaxMip
{
get { return Internal_getmaxMip(mCachedPtr); }
set { Internal_setmaxMip(mCachedPtr, value); }
}
/// Determines whether the texture data is also stored in main memory, available for fast CPU access.
[ShowInInspector]
[NativeWrapper]
public bool CpuCached
{
get { return Internal_getcpuCached(mCachedPtr); }
set { Internal_setcpuCached(mCachedPtr, value); }
}
///
/// Determines whether the texture data should be treated as if its in sRGB (gamma) space. Such texture will be
/// converted by hardware to linear space before use on the GPU.
///
[ShowInInspector]
[NativeWrapper]
public bool SRGB
{
get { return Internal_getsRGB(mCachedPtr); }
set { Internal_setsRGB(mCachedPtr, value); }
}
///
/// Determines should the texture be imported as a cubemap. See setCubemapSource to choose how will the source texture be
/// converted to a cubemap.
///
[ShowInInspector]
[NativeWrapper]
public bool Cubemap
{
get { return Internal_getcubemap(mCachedPtr); }
set { Internal_setcubemap(mCachedPtr, value); }
}
///
/// Determines how should the source texture be interpreted when generating a cubemap. Only relevant when is set to true.
///
[ShowInInspector]
[NativeWrapper]
public CubemapSourceType CubemapSourceType
{
get { return Internal_getcubemapSourceType(mCachedPtr); }
set { Internal_setcubemapSourceType(mCachedPtr, value); }
}
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern PixelFormat Internal_getformat(IntPtr thisPtr);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_setformat(IntPtr thisPtr, PixelFormat value);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern bool Internal_getgenerateMips(IntPtr thisPtr);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_setgenerateMips(IntPtr thisPtr, bool value);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern int Internal_getmaxMip(IntPtr thisPtr);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_setmaxMip(IntPtr thisPtr, int value);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern bool Internal_getcpuCached(IntPtr thisPtr);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_setcpuCached(IntPtr thisPtr, bool value);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern bool Internal_getsRGB(IntPtr thisPtr);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_setsRGB(IntPtr thisPtr, bool value);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern bool Internal_getcubemap(IntPtr thisPtr);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_setcubemap(IntPtr thisPtr, bool value);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern CubemapSourceType Internal_getcubemapSourceType(IntPtr thisPtr);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_setcubemapSourceType(IntPtr thisPtr, CubemapSourceType value);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_create(TextureImportOptions managedInstance);
}
/** @} */
}