[vlc-commits] macosx/image view: add API to disable rounded corner masking

Felix Paul Kühne git at videolan.org
Sun Nov 3 19:32:43 CET 2019


vlc | branch: master | Felix Paul Kühne <felix at feepk.net> | Sun Nov  3 18:44:36 2019 +0100| [bcef1373d83e76e094aa4474a24b918cf1c08fa9] | committer: Felix Paul Kühne

macosx/image view: add API to disable rounded corner masking

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=bcef1373d83e76e094aa4474a24b918cf1c08fa9
---

 modules/gui/macosx/views/VLCImageView.h |  1 +
 modules/gui/macosx/views/VLCImageView.m | 22 +++++++++++++++++++---
 2 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/modules/gui/macosx/views/VLCImageView.h b/modules/gui/macosx/views/VLCImageView.h
index 4008d299da..9bb3094f04 100644
--- a/modules/gui/macosx/views/VLCImageView.h
+++ b/modules/gui/macosx/views/VLCImageView.h
@@ -41,6 +41,7 @@ typedef NS_ENUM(NSInteger, VLCImageViewContentGravity) {
 
 @property (readwrite, retain, nonatomic, nullable) NSImage *image;
 @property (readwrite) VLCImageViewContentGravity contentGravity;
+ at property (readwrite) BOOL cropsImagesToRoundedCorners;
 
 - (void)setImageURL:(NSURL * _Nonnull)url placeholderImage:(NSImage * _Nullable)image;
 
diff --git a/modules/gui/macosx/views/VLCImageView.m b/modules/gui/macosx/views/VLCImageView.m
index bd4184cbfd..53294a0c2e 100644
--- a/modules/gui/macosx/views/VLCImageView.m
+++ b/modules/gui/macosx/views/VLCImageView.m
@@ -49,12 +49,28 @@
     self.layer = [[CALayer alloc] init];
     self.contentGravity = VLCImageViewContentGravityResizeAspectFill;
     self.wantsLayer = YES;
-    self.layer.cornerRadius = 5.;
-    self.layer.masksToBounds = YES;
-    self.layer.borderWidth = 1.;
+    [self setCropsImagesToRoundedCorners:YES];
     [self setupBorderColor];
 }
 
+- (void)setCropsImagesToRoundedCorners:(BOOL)cropsImagesToRoundedCorners
+{
+    if (cropsImagesToRoundedCorners) {
+        self.layer.cornerRadius = 5.;
+        self.layer.masksToBounds = YES;
+        self.layer.borderWidth = 1.;
+    } else {
+        self.layer.cornerRadius = 0.;
+        self.layer.masksToBounds = NO;
+        self.layer.borderWidth = 0.;
+    }
+}
+
+- (BOOL)cropsImagesToRoundedCorners
+{
+    return self.layer.masksToBounds;
+}
+
 - (void)setupBorderColor
 {
     self.layer.borderColor = self.shouldShowDarkAppearance ? [NSColor VLClibrarySeparatorDarkColor].CGColor : [NSColor VLClibrarySeparatorLightColor].CGColor;



More information about the vlc-commits mailing list