SameBoy | Accurate GB/GBC emulator |
| download: https://git.y1.nz/archives/sameboy.tar.gz | |
| README | Files | Log | Refs | LICENSE |
commit 3f744254fd32819ea5cbf795c3c4cd33f8ebfd0f parent 7abedaed4c20319543d7e9705818e22d4fe8d026 Author: Lior Halphon <LIJI32@gmail.com> Date: Fri, 27 Jun 2025 17:02:55 +0300 Update iOS settings icons, add liquid glass overlay Diffstat:
13 files changed, 23 insertions(+), 5 deletions(-)
diff --git a/iOS/GBSettingsViewController.m b/iOS/GBSettingsViewController.m @@ -24,6 +24,24 @@ static NSString const *typeLightTemp = @"typeLightTemp"; NSArray<NSArray<GBTheme *> *> *_themes; // For prewarming } ++ (UIImage *)settingsImageNamed:(NSString *)name +{ + UIImage *base = [UIImage imageNamed:name]; + UIGraphicsBeginImageContextWithOptions(base.size, false, base.scale); + UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:(CGRect){{0, 0}, base.size} cornerRadius:8]; + CGContextSaveGState(UIGraphicsGetCurrentContext()); + [path addClip]; + [base drawInRect:path.bounds]; + if (@available(iOS 19.0, *)) { + CGContextRestoreGState(UIGraphicsGetCurrentContext()); + UIImage *overlay = [UIImage imageNamed:@"settingsOverlay"]; + [overlay drawInRect:path.bounds]; + } + UIImage *ret = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + return ret; +} + + (NSArray<NSDictionary *> *)rootStructure { #define QUICK_SUBMENU(title, ...) @{@"type": typeOptionSubmenu, @"title": title, @"submenu": @[@{@"items": __VA_ARGS__}]} @@ -365,31 +383,31 @@ static NSString const *typeLightTemp = @"typeLightTemp"; @"title": @"Emulation", @"type": typeSubmenu, @"submenu": emulationMenu, - @"image": [UIImage imageNamed:@"emulationSettings"], + @"image": [self settingsImageNamed:@"emulationSettings"], }, @{ @"title": @"Video", @"type": typeSubmenu, @"submenu": videoMenu, - @"image": [UIImage imageNamed:@"videoSettings"], + @"image": [self settingsImageNamed:@"videoSettings"], }, @{ @"title": @"Audio", @"type": typeSubmenu, @"submenu": audioMenu, - @"image": [UIImage imageNamed:@"audioSettings"], + @"image": [self settingsImageNamed:@"audioSettings"], }, @{ @"title": @"Controls", @"type": typeSubmenu, @"submenu": controlsMenu, - @"image": [UIImage imageNamed:@"controlsSettings"], + @"image": [self settingsImageNamed:@"controlsSettings"], }, @{ @"title": @"Themes", @"type": typeSubmenu, @"class": [GBThemesViewController class], - @"image": [UIImage imageNamed:@"themeSettings"], + @"image": [self settingsImageNamed:@"themeSettings"], }, ]; diff --git a/iOS/audioSettings@2x.png b/iOS/audioSettings@2x.png Binary files differ. diff --git a/iOS/audioSettings@3x.png b/iOS/audioSettings@3x.png Binary files differ. diff --git a/iOS/controlsSettings@2x.png b/iOS/controlsSettings@2x.png Binary files differ. diff --git a/iOS/controlsSettings@3x.png b/iOS/controlsSettings@3x.png Binary files differ. diff --git a/iOS/emulationSettings@2x.png b/iOS/emulationSettings@2x.png Binary files differ. diff --git a/iOS/emulationSettings@3x.png b/iOS/emulationSettings@3x.png Binary files differ. diff --git a/iOS/settingsOverlay@2x.png b/iOS/settingsOverlay@2x.png Binary files differ. diff --git a/iOS/settingsOverlay@3x.png b/iOS/settingsOverlay@3x.png Binary files differ. diff --git a/iOS/themeSettings@2x.png b/iOS/themeSettings@2x.png Binary files differ. diff --git a/iOS/themeSettings@3x.png b/iOS/themeSettings@3x.png Binary files differ. diff --git a/iOS/videoSettings@2x.png b/iOS/videoSettings@2x.png Binary files differ. diff --git a/iOS/videoSettings@3x.png b/iOS/videoSettings@3x.png Binary files differ.
This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.