Size GetItemSize(Graphics g, OutlookBarBand band, int itemIndex, ItemSizeType itemSizeType) { Size iconSize = new Size(0,0); Size labelSize = new Size(0,0); if ( itemSizeType == ItemSizeType.Icon || itemSizeType == ItemSizeType.All ) { iconSize = GetIconSize(band); if (itemSizeType == ItemSizeType.Icon) return iconSize; } if ( itemSizeType == ItemSizeType.Label || itemSizeType == ItemSizeType.All ) { labelSize = GetLabelSize(g, band, itemIndex); if ( itemSizeType == ItemSizeType.Label ) return labelSize; } if ( itemSizeType == ItemSizeType.All ) { if ( band.IconView == IconView.Small ) return new Size(iconSize.Width + labelSize.Width + X_SMALLICON_LABEL_OFFSET, iconSize.Height > labelSize.Height?iconSize.Height:labelSize.Height); else return new Size(iconSize.Width>labelSize.Width?iconSize.Width:labelSize.Width, iconSize.Height + labelSize.Height + Y_LARGEICON_LABEL_OFFSET + Y_LARGEICON_SPACING); } return new Size(0,0); }
public static int GetHeight(this ItemSizeType s) => Dictionary.TryGetValue(s, out var val) ? val.Height : 2;
public ItemSize(ItemSizeType type) { SizeType = type; }
public static int GetWidth(this ItemSizeType s) => Dictionary.TryGetValue(s, out var val) ? val.Width : 2;