Пример #1
0
        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);
        }
Пример #2
0
 public static int GetHeight(this ItemSizeType s) => Dictionary.TryGetValue(s, out var val) ? val.Height : 2;
Пример #3
0
 public ItemSize(ItemSizeType type)
 {
     SizeType = type;
 }
Пример #4
0
 public static int GetWidth(this ItemSizeType s) => Dictionary.TryGetValue(s, out var val) ? val.Width : 2;