protected void SetImageToGui(string imageFilePath)
{
if (string.IsNullOrEmpty(imageFilePath)) return;
if (Show == null || Episode == null)
return;
// determine the overlay to add to poster
MainOverlayImage mainOverlay = MainOverlayImage.None;
// don't show watchlist overlay in personal watchlist window
if (WindowID == (int)TraktGUIWindows.WatchedListEpisodes)
{
if ((GUIWatchListEpisodes.CurrentUser != TraktSettings.Username) && Episode.IsWatchlisted())
mainOverlay = MainOverlayImage.Watchlist;
else if (Episode.IsWatched(Show))
mainOverlay = MainOverlayImage.Seenit;
}
else
{
if (Episode.IsWatchlisted())
mainOverlay = MainOverlayImage.Watchlist;
else if (Episode.IsWatched(Show))
mainOverlay = MainOverlayImage.Seenit;
}
// add additional overlay if applicable
if (Episode.IsCollected(Show))
mainOverlay |= MainOverlayImage.Library;
RatingOverlayImage ratingOverlay = GUIImageHandler.GetRatingOverlay(Episode.UserRating(Show));
// get a reference to a MediaPortal Texture Identifier
string suffix = mainOverlay.ToString().Replace(", ", string.Empty) + Enum.GetName(typeof(RatingOverlayImage), ratingOverlay);
string texture = GUIImageHandler.GetTextureIdentFromFile(imageFilePath, suffix);
// build memory image, resize thumbnail in case its a fanart
Image memoryImage = null;
if (mainOverlay != MainOverlayImage.None || ratingOverlay != RatingOverlayImage.None)
{
memoryImage = GUIImageHandler.DrawOverlayOnEpisodeThumb(imageFilePath, mainOverlay, ratingOverlay, new Size(400, 225));
if (memoryImage == null) return;
// load texture into facade item
if (GUITextureManager.LoadFromMemory(memoryImage, texture, 0, 0, 0) > 0)
{
ThumbnailImage = texture;
IconImage = texture;
IconImageBig = texture;
}
}
else
{
ThumbnailImage = imageFilePath;
IconImage = imageFilePath;
IconImageBig = imageFilePath;
}
// if selected and is current window force an update of thumbnail
this.UpdateItemIfSelected(WindowID, ItemId);
}