/// <summary> /// Returns item size for the given view mode. /// </summary> /// <param name="view">The view mode for which the item measurement should be made.</param> /// <returns>The item size.</returns> public override Size MeasureItem(ImageGlass.ImageListView.View view) { Size itemSize = new Size(); // Reference text height int textHeight = ImageListView.Font.Height; if (view == ImageGlass.ImageListView.View.Details) return base.MeasureItem(view); else { // Calculate item size Size itemPadding = new Size(4, 4); itemSize = ImageListView.ThumbnailSize + itemPadding + itemPadding; itemSize.Height += textHeight + System.Math.Max(4, textHeight / 3) + itemPadding.Height; // textHeight / 3 = vertical space between thumbnail and text return itemSize; } }
/// <summary> /// Returns item size for the given view mode. /// </summary> /// <param name="view">The view mode for which the item measurement should be made.</param> /// <returns>The item size.</returns> public override Size MeasureItem(ImageGlass.ImageListView.View view) { if (view == ImageGlass.ImageListView.View.Thumbnails) return ImageListView.ThumbnailSize + new Size(8, 8); else return base.MeasureItem(view); }
/// <summary> /// Returns item size for the given view mode. /// </summary> /// <param name="view">The view mode for which the item measurement should be made.</param> /// <returns>The item size.</returns> public override Size MeasureItem(ImageGlass.ImageListView.View view) { if (view == ImageGlass.ImageListView.View.Thumbnails) { Size itemSize = new Size(); mTextHeight = (int)(5.8f * (float)CaptionFont.Height); // Calculate item size Size itemPadding = new Size(4, 4); itemSize.Width = ImageListView.ThumbnailSize.Width + 4 * itemPadding.Width + mTileWidth; itemSize.Height = Math.Max(mTextHeight, ImageListView.ThumbnailSize.Height) + 2 * itemPadding.Height; return itemSize; } else return base.MeasureItem(view); }