SVRadialGradientLayer.m 909 B

12345678910111213141516171819202122232425
  1. //
  2. // SVRadialGradientLayer.m
  3. // SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD
  4. //
  5. // Copyright (c) 2014-2018 Tobias Tiemerding. All rights reserved.
  6. //
  7. #import "SVRadialGradientLayer.h"
  8. @implementation SVRadialGradientLayer
  9. - (void)drawInContext:(CGContextRef)context {
  10. size_t locationsCount = 2;
  11. CGFloat locations[2] = {0.0f, 1.0f};
  12. CGFloat colors[8] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.75f};
  13. CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
  14. CGGradientRef gradient = CGGradientCreateWithColorComponents(colorSpace, colors, locations, locationsCount);
  15. CGColorSpaceRelease(colorSpace);
  16. float radius = MIN(self.bounds.size.width , self.bounds.size.height);
  17. CGContextDrawRadialGradient (context, gradient, self.gradientCenter, 0, self.gradientCenter, radius, kCGGradientDrawsAfterEndLocation);
  18. CGGradientRelease(gradient);
  19. }
  20. @end