예제 #1
0
        protected override Size ArrangeOverride(Size finalSize)
        {
            Psize size;

            DwmUtils.DwmQueryThumbnailSourceSize(this.thumb, out size);

            // scale to fit whatever size we were allocated
            double scale = finalSize.Width / size.Width;

            scale = Math.Min(scale, finalSize.Height / size.Height);

            return(new Size(size.Width * scale, size.Height * scale));
        }
예제 #2
0
        protected override Size MeasureOverride(Size availableSize)
        {
            Psize size;

            DwmUtils.DwmQueryThumbnailSourceSize(this.thumb, out size);

            double scale = 1;

            // our preferred size is the thumbnail source size
            // if less space is available, we scale appropriately
            if (size.Width > availableSize.Width)
            {
                scale = availableSize.Width / size.Width;
            }
            if (size.Height > availableSize.Height)
            {
                scale = Math.Min(scale, availableSize.Height / size.Height);
            }

            return(new Size(size.Width * scale, size.Height * scale));

            ;
        }