Files
MapLibreParticleLab/platform/macos/app/StyleLayerIconTransformer.m
Bart Louwers e4a4b9ec67 macOS Metal + AppKit app (#2205)
Co-authored-by: mwilsnd <mwilsnd@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-04-02 01:52:19 +02:00

48 lines
1.4 KiB
Objective-C

#import "StyleLayerIconTransformer.h"
#import <Mapbox.h>
@implementation StyleLayerIconTransformer
+ (Class)transformedValueClass {
return [NSString class];
}
+ (BOOL)allowsReverseTransformation {
return NO;
}
- (id)transformedValue:(MLNStyleLayer *)layer {
if ([layer isKindOfClass:[MLNBackgroundStyleLayer class]]) {
return [NSImage imageNamed:@"background"];
}
if ([layer isKindOfClass:[MLNCircleStyleLayer class]]) {
return [NSImage imageNamed:@"circle"];
}
if ([layer isKindOfClass:[MLNFillStyleLayer class]]) {
return [NSImage imageNamed:@"fill"];
}
if ([layer isKindOfClass:[MLNFillExtrusionStyleLayer class]]) {
return [NSImage imageNamed:@"fill-extrusion"];
}
if ([layer isKindOfClass:[MLNLineStyleLayer class]]) {
return [NSImage imageNamed:@"NSListViewTemplate"];
}
if ([layer isKindOfClass:[MLNRasterStyleLayer class]]) {
return [[NSWorkspace sharedWorkspace] iconForFileType:@"jpg"];
}
if ([layer isKindOfClass:[MLNSymbolStyleLayer class]]) {
return [NSImage imageNamed:@"symbol"];
}
if ([layer isKindOfClass:[MLNHeatmapStyleLayer class]]) {
return [NSImage imageNamed:@"heatmap"];
}
if ([layer isKindOfClass:[MLNHillshadeStyleLayer class]]) {
return [NSImage imageNamed:@"hillshade"];
}
return nil;
}
@end