[vlc-commits] [Git][videolan/vlc][master] macosx: replace imageFromRes with NSImage additions

Steve Lhomme (@robUx4) gitlab at videolan.org
Sat Jul 4 09:32:51 UTC 2026



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
bcdaec39 by Serhii Bykov at 2026-07-04T09:21:38+00:00
macosx: replace imageFromRes with NSImage additions

- - - - -


6 changed files:

- modules/gui/macosx/extensions/NSImage+VLCAdditions.h
- modules/gui/macosx/extensions/NSImage+VLCAdditions.m
- modules/gui/macosx/extensions/NSString+Helpers.h
- modules/gui/macosx/extensions/NSString+Helpers.m
- modules/gui/macosx/windows/controlsbar/VLCControlsBarCommon.m
- modules/gui/macosx/windows/controlsbar/VLCMainWindowControlsBar.m


Changes:

=====================================
modules/gui/macosx/extensions/NSImage+VLCAdditions.h
=====================================
@@ -52,7 +52,15 @@ NS_ASSUME_NONNULL_BEGIN
 @property (class, readonly) NSImage *VLCGenericImage;
 
 // Playback control images
+ at property (class, readonly) NSImage *VLCPlayTemplateImage;
+ at property (class, readonly) NSImage *VLCPauseTemplateImage;
+ at property (class, readonly) NSImage *VLCBackwardTemplateImage;
+ at property (class, readonly) NSImage *VLCForwardTemplateImage;
+ at property (class, readonly) NSImage *VLCFullscreenOffTemplateImage;
+ at property (class, readonly) NSImage *VLCVolumeOnTemplateImage;
 @property (class, readonly) NSImage *VLCVolumeOffTemplateImage;
+ at property (class, readonly) NSImage *VLCStopImage;
+ at property (class, readonly) NSImage *VLCStopPressedImage;
 @property (class, readonly) NSImage *VLCShuffleOffImage;
 @property (class, readonly) NSImage *VLCShuffleOnImage;
 @property (class, readonly) NSImage *VLCRepeatAllImage;


=====================================
modules/gui/macosx/extensions/NSImage+VLCAdditions.m
=====================================
@@ -112,11 +112,51 @@
     return [NSImage imageNamed:@"generic"];
 }
 
++ (NSImage *)VLCPlayTemplateImage
+{
+    return [NSImage imageNamed:@"VLCPlayTemplate"];
+}
+
++ (NSImage *)VLCPauseTemplateImage
+{
+    return [NSImage imageNamed:@"VLCPauseTemplate"];
+}
+
++ (NSImage *)VLCBackwardTemplateImage
+{
+    return [NSImage imageNamed:@"VLCBackwardTemplate"];
+}
+
++ (NSImage *)VLCForwardTemplateImage
+{
+    return [NSImage imageNamed:@"VLCForwardTemplate"];
+}
+
++ (NSImage *)VLCFullscreenOffTemplateImage
+{
+    return [NSImage imageNamed:@"VLCFullscreenOffTemplate"];
+}
+
++ (NSImage *)VLCVolumeOnTemplateImage
+{
+    return [NSImage imageNamed:@"VLCVolumeOnTemplate"];
+}
+
 + (NSImage *)VLCVolumeOffTemplateImage
 {
     return [NSImage imageNamed:@"VLCVolumeOffTemplate"];
 }
 
++ (NSImage *)VLCStopImage
+{
+    return [NSImage imageNamed:@"stop"];
+}
+
++ (NSImage *)VLCStopPressedImage
+{
+    return [NSImage imageNamed:@"stop-pressed"];
+}
+
 + (NSImage *)VLCShuffleOffImage
 {
     return [NSImage imageNamed:@"shuffleOff"];


=====================================
modules/gui/macosx/extensions/NSString+Helpers.h
=====================================
@@ -72,11 +72,6 @@ unsigned int CocoaKeyToVLC(unichar i_key);
  */
 bool fixIntfSettings(void);
 
-/**
- * Gets an image resource
- */
-NSImage *imageFromRes(NSString *name);
-
 @interface NSString (Helpers)
 
 /**


=====================================
modules/gui/macosx/extensions/NSString+Helpers.m
=====================================
@@ -301,11 +301,6 @@ NSString *toNSStr(const char *str) {
     return str != NULL ? [NSString stringWithUTF8String:str] : @"";
 }
 
-NSImage *imageFromRes(NSString *name)
-{
-    return [NSImage imageNamed:name];
-}
-
 bool fixIntfSettings(void)
 {
     NSMutableString * o_workString;


=====================================
modules/gui/macosx/windows/controlsbar/VLCControlsBarCommon.m
=====================================
@@ -193,15 +193,15 @@
             }
         }
     } else {
-        _playImage = imageFromRes(@"VLCPlayTemplate");
-        _pressedPlayImage = imageFromRes(@"VLCPlayTemplate");
-        _pauseImage = imageFromRes(@"VLCPauseTemplate");
-        _pressedPauseImage = imageFromRes(@"VLCPauseTemplate");
-        _backwardImage = imageFromRes(@"VLCBackwardTemplate");
-        _forwardImage = imageFromRes(@"VLCForwardTemplate");
-        _fullscreenImage = imageFromRes(@"VLCFullscreenOffTemplate");
-        _mutedVolumeImage = imageFromRes(@"VLCVolumeOffTemplate");
-        _unmutedVolumeImage = imageFromRes(@"VLCVolumeOnTemplate");
+        _playImage = NSImage.VLCPlayTemplateImage;
+        _pressedPlayImage = NSImage.VLCPlayTemplateImage;
+        _pauseImage = NSImage.VLCPauseTemplateImage;
+        _pressedPauseImage = NSImage.VLCPauseTemplateImage;
+        _backwardImage = NSImage.VLCBackwardTemplateImage;
+        _forwardImage = NSImage.VLCForwardTemplateImage;
+        _fullscreenImage = NSImage.VLCFullscreenOffTemplateImage;
+        _mutedVolumeImage = NSImage.VLCVolumeOffTemplateImage;
+        _unmutedVolumeImage = NSImage.VLCVolumeOnTemplateImage;
     }
 
     self.backwardButton.image = _backwardImage;


=====================================
modules/gui/macosx/windows/controlsbar/VLCMainWindowControlsBar.m
=====================================
@@ -115,9 +115,9 @@
     } else {
         _alwaysMuteImage = NSImage.VLCVolumeOffTemplateImage;
 
-        [self.stopButton setImage: imageFromRes(@"stop")];
-        [self.stopButton setAlternateImage: imageFromRes(@"stop-pressed")];
-        [self.volumeUpButton setImage: imageFromRes(@"VLCVolumeOnTemplate")];
+        [self.stopButton setImage:NSImage.VLCStopImage];
+        [self.stopButton setAlternateImage:NSImage.VLCStopPressedImage];
+        [self.volumeUpButton setImage:NSImage.VLCVolumeOnTemplateImage];
     }
 
     [self updateMuteVolumeButtonImage];



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/bcdaec3988a3b1bdad1e1bb1bb65cd0a052bb386

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/bcdaec3988a3b1bdad1e1bb1bb65cd0a052bb386
You're receiving this email because of your account on code.videolan.org. Manage all notifications: https://code.videolan.org/-/profile/notifications | Help: https://code.videolan.org/help




More information about the vlc-commits mailing list