aboutsummaryrefslogtreecommitdiffstats
path: root/src/3rdparty/python/lib/python2.7/site-packages/dmgbuild/badge.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/python/lib/python2.7/site-packages/dmgbuild/badge.py')
-rw-r--r--src/3rdparty/python/lib/python2.7/site-packages/dmgbuild/badge.py143
1 files changed, 0 insertions, 143 deletions
diff --git a/src/3rdparty/python/lib/python2.7/site-packages/dmgbuild/badge.py b/src/3rdparty/python/lib/python2.7/site-packages/dmgbuild/badge.py
deleted file mode 100644
index 159a53708..000000000
--- a/src/3rdparty/python/lib/python2.7/site-packages/dmgbuild/badge.py
+++ /dev/null
@@ -1,143 +0,0 @@
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-from Quartz import *
-import math
-
-_REMOVABLE_DISK_PATH = '/System/Library/Extensions/IOStorageFamily.kext/Contents/Resources/Removable.icns'
-
-def badge_disk_icon(badge_file, output_file):
- # Load the Removable disk icon
- url = CFURLCreateWithFileSystemPath(None, _REMOVABLE_DISK_PATH,
- kCFURLPOSIXPathStyle, False)
- backdrop = CGImageSourceCreateWithURL(url, None)
- backdropCount = CGImageSourceGetCount(backdrop)
-
- # Load the badge
- url = CFURLCreateWithFileSystemPath(None, badge_file,
- kCFURLPOSIXPathStyle, False)
- badge = CGImageSourceCreateWithURL(url, None)
- assert badge is not None, 'Unable to process image file: %s' % badge_file
- badgeCount = CGImageSourceGetCount(badge)
-
- # Set up a destination for our target
- url = CFURLCreateWithFileSystemPath(None, output_file,
- kCFURLPOSIXPathStyle, False)
- target = CGImageDestinationCreateWithURL(url, 'com.apple.icns',
- backdropCount, None)
-
- # Get the RGB colorspace
- rgbColorSpace = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB)
-
- # Scale
- scale = 1.0
-
- # Perspective transform
- corners = ((0.2, 0.95), (0.8, 0.95), (0.85, 0.35), (0.15, 0.35))
-
- # Translation
- position = (0.5, 0.5)
-
- for n in range(backdropCount):
- props = CGImageSourceCopyPropertiesAtIndex(backdrop, n, None)
- width = props['PixelWidth']
- height = props['PixelHeight']
- dpi = props['DPIWidth']
- depth = props['Depth']
-
- # Choose the best sized badge image
- bestWidth = None
- bestHeight = None
- bestBadge = None
- bestDepth = None
- bestDPI = None
- for m in range(badgeCount):
- badgeProps = CGImageSourceCopyPropertiesAtIndex(badge, m, None)
- badgeWidth = badgeProps['PixelWidth']
- badgeHeight = badgeProps['PixelHeight']
- badgeDPI = badgeProps['DPIWidth']
- badgeDepth = badgeProps['Depth']
-
- if bestBadge is None or (badgeWidth <= width
- and (bestWidth > width
- or badgeWidth > bestWidth
- or (badgeWidth == bestWidth
- and badgeDPI == dpi
- and badgeDepth <= depth
- and (bestDepth is None
- or badgeDepth > bestDepth)))):
- bestBadge = m
- bestWidth = badgeWidth
- bestHeight = badgeHeight
- bestDPI = badgeDPI
- bestDepth = badgeDepth
-
- badgeImage = CGImageSourceCreateImageAtIndex(badge, bestBadge, None)
- badgeCI = CIImage.imageWithCGImage_(badgeImage)
-
- backgroundImage = CGImageSourceCreateImageAtIndex(backdrop, n, None)
- backgroundCI = CIImage.imageWithCGImage_(backgroundImage)
-
- compositor = CIFilter.filterWithName_('CISourceOverCompositing')
- lanczos = CIFilter.filterWithName_('CILanczosScaleTransform')
- perspective = CIFilter.filterWithName_('CIPerspectiveTransform')
- transform = CIFilter.filterWithName_('CIAffineTransform')
-
- lanczos.setValue_forKey_(badgeCI, kCIInputImageKey)
- lanczos.setValue_forKey_(scale * float(width)/bestWidth, kCIInputScaleKey)
- lanczos.setValue_forKey_(1.0, kCIInputAspectRatioKey)
-
- topLeft = (width * scale * corners[0][0],
- width * scale * corners[0][1])
- topRight = (width * scale * corners[1][0],
- width * scale * corners[1][1])
- bottomRight = (width * scale * corners[2][0],
- width * scale * corners[2][1])
- bottomLeft = (width * scale * corners[3][0],
- width * scale * corners[3][1])
-
- out = lanczos.valueForKey_(kCIOutputImageKey)
- if width >= 16:
- perspective.setValue_forKey_(out, kCIInputImageKey)
- perspective.setValue_forKey_(CIVector.vectorWithX_Y_(*topLeft),
- 'inputTopLeft')
- perspective.setValue_forKey_(CIVector.vectorWithX_Y_(*topRight),
- 'inputTopRight')
- perspective.setValue_forKey_(CIVector.vectorWithX_Y_(*bottomRight),
- 'inputBottomRight')
- perspective.setValue_forKey_(CIVector.vectorWithX_Y_(*bottomLeft),
- 'inputBottomLeft')
- out = perspective.valueForKey_(kCIOutputImageKey)
-
- tfm = NSAffineTransform.transform()
- tfm.translateXBy_yBy_(math.floor((position[0] - 0.5 * scale) * width),
- math.floor((position[1] - 0.5 * scale) * height))
-
- transform.setValue_forKey_(out, kCIInputImageKey)
- transform.setValue_forKey_(tfm, 'inputTransform')
- out = transform.valueForKey_(kCIOutputImageKey)
-
- compositor.setValue_forKey_(out, kCIInputImageKey)
- compositor.setValue_forKey_(backgroundCI, kCIInputBackgroundImageKey)
-
- result = compositor.valueForKey_(kCIOutputImageKey)
-
- cgContext = CGBitmapContextCreate(None,
- width,
- height,
- 8,
- 0,
- rgbColorSpace,
- kCGImageAlphaPremultipliedLast)
- context = CIContext.contextWithCGContext_options_(cgContext, None)
-
- context.drawImage_inRect_fromRect_(result,
- ((0, 0), (width, height)),
- ((0, 0), (width, height)))
-
- image = CGBitmapContextCreateImage(cgContext)
-
- CGImageDestinationAddImage(target, image, props)
-
- CGImageDestinationFinalize(target)
-