Files
ZuneShell.dll/ZuneShell/ZuneUI/ProfileImage.cs
T

150 lines
4.4 KiB
C#

// Decompiled with JetBrains decompiler
// Type: ZuneUI.ProfileImage
// Assembly: ZuneShell, Version=4.7.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
// MVID: FC8028F3-A47B-4FB4-B35B-11D1752D8264
// Assembly location: C:\Program Files\Zune\ZuneShell.dll
using Microsoft.Zune.Util;
using MicrosoftZuneLibrary;
namespace ZuneUI
{
public class ProfileImage
{
private ProfileImageType m_type;
private string m_typeName;
private SafeBitmapWithData m_image;
private string m_source;
private static Size s_defaultTileSize;
private static Size s_defaultBackgroundSize;
public ProfileImage(ProfileImageType type, SafeBitmapWithData image)
{
this.m_type = type;
this.m_image = image;
}
public ProfileImage(
ProfileImageType type,
SafeBitmapWithData image,
int srcX,
int srcY,
int srcWidth,
int srcHeight)
{
this.m_type = type;
this.m_image = image.Clone(srcX, srcY, srcWidth, srcHeight, this.Width, this.Height);
}
public ProfileImage(ProfileImageType type, string source)
{
this.m_type = type;
this.m_source = source;
}
public ProfileImageType Type => this.m_type;
public string TypeName
{
get
{
if (this.m_typeName == null)
this.m_typeName = this.m_type != ProfileImageType.Background ? (this.m_type != ProfileImageType.Tile ? string.Empty : "usertile") : "background";
return this.m_typeName;
}
}
public SafeBitmapWithData Image => this.m_image;
public string ResourceId
{
get
{
string str = null;
int startIndex = -1;
if (!string.IsNullOrEmpty(this.Source))
startIndex = this.Source.IndexOf('!') + 1;
if (startIndex > 0 && this.Source.Length > startIndex)
str = this.Source.Substring(startIndex);
return str;
}
}
public string Source => this.m_source;
public int Width
{
get
{
int num = 0;
if (this.m_type == ProfileImageType.Background)
num = DefaultBackgroundSize.Width;
else if (this.m_type == ProfileImageType.Tile)
num = DefaultTileSize.Width;
return num;
}
}
public int Height
{
get
{
int num = 0;
if (this.m_type == ProfileImageType.Background)
num = DefaultBackgroundSize.Height;
else if (this.m_type == ProfileImageType.Tile)
num = DefaultTileSize.Height;
return num;
}
}
public static Size DefaultTileSize
{
get
{
if (s_defaultTileSize == null)
s_defaultTileSize = new Size(64, 64);
return s_defaultTileSize;
}
}
public static Size DefaultBackgroundSize
{
get
{
if (s_defaultBackgroundSize == null)
s_defaultBackgroundSize = new Size(535, 196);
return s_defaultBackgroundSize;
}
}
public static string[] SupportedFileTypes
{
get
{
string str1 = Shell.LoadString(StringId.IDS_IMAGE_ALL_FILTER_NAME);
string str2 = Shell.LoadString(StringId.IDS_IMAGE_JPEG_FILTER_NAME);
string str3 = Shell.LoadString(StringId.IDS_IMAGE_PNG_FILTER_NAME);
string str4 = Shell.LoadString(StringId.IDS_IMAGE_BITMAP_FILTER_NAME);
string str5 = Shell.LoadString(StringId.IDS_IMAGE_GIF_FILTER_NAME);
string str6 = Shell.LoadString(StringId.IDS_IMAGE_TIFF_FILTER_NAME);
return new string[12]
{
str1,
"*.jpg;*.jpeg;*.jpe;*.jfif;*.png;*.bmp;*.dip;*.gif;*.tif;*.tiff",
str4,
"*.bmp;*.dib",
str2,
"*.jpg;*.jpeg;*.jpe;*.jfif",
str5,
"*.gif",
str6,
"*.tif;*.tiff",
str3,
"*.png"
};
}
}
}
}