<|start_filename|>NEBeauty/Android/Beauty-Android-Java/app/src/main/java/com/netease/nmc/nertcsample/beauty/module/NEMakeupEnum.java<|end_filename|>
package com.netease.nmc.nertcsample.beauty.module;

import com.netease.nertcbeautysample.R;

import java.util.HashMap;

public enum NEMakeupEnum {
    EYESHADOW(R.id.rb_makeup_eyeshadow, "makeup");
    private int resId;
    private String name;

    NEMakeupEnum(int resId, String name) {
        this.resId = resId;
        this.name = name;
    }

   public static HashMap<Integer, NEMakeup> getMakeups() {
        NEMakeupEnum[] makeupEnums = NEMakeupEnum.values();
        HashMap<Integer, NEMakeup> makeups = new HashMap<>();
        for (NEMakeupEnum makeup : makeupEnums) {
            makeups.put(makeup.resId, new NEMakeup(makeup.resId, makeup.name));
        }

        return makeups;
   }
}


<|start_filename|>NEBeauty/iOS/Beauty-iOS-ObjC/Beauty-iOS-ObjC/NEBeauty/UI/NEBeautyConfigView.h<|end_filename|>
//
//  NEBeautyConfigView.h
//  Beauty-iOS-ObjC
//
//  Created by zhangchenliang on 2021/10/12.
//  Copyright © 2021 NetEase. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "NEBeautyMacro.h"
#import "NECollectionView.h"
#import "NETitleDisplayModel.h"
#import "NEBeautySliderDisplayModel.h"

typedef NS_ENUM(NSInteger, NEBeautyConfigViewType) {
    // 美颜
    NEBeautyConfigViewTypeBeauty = 0,
    // 滤镜
    NEBeautyConfigViewTypeFilter,
    // 贴纸
    NEBeautyConfigViewTypeSticker,
    // 美妆
    NEBeautyConfigViewTypeMakeup
};

@protocol NEBeautyConfigViewDelegate <NSObject>

// 重置操作触发的回调
- (void)didTriggerResetActionWithConfigViewType:(NEBeautyConfigViewType)type;

// 滤镜、贴纸和美妆切换的回调
- (void)didSelectItemWithConfigViewType:(NEBeautyConfigViewType)type model:(NECollectionViewDisplayModel *)model;

// 美颜slider滑动时的回调
- (void)didChangeSliderValueWithType:(NEBeautySliderType)type value:(float)value;

@end

@protocol NEBeautyConfigViewDataSource <NSObject>

// 标题tab数据源
- (NSArray<NETitleDisplayModel *> *)titleModelArrayForConfigViewWithType:(NEBeautyConfigViewType)type;

// 滤镜、贴纸和美妆的数据源
- (NSArray<NECollectionViewDisplayModel *> *)itemModelArrayForConfigViewWithType:(NEBeautyConfigViewType)type effectType:(NEBeautyEffectType)effectType;

// 美颜的数据源
- (NSArray<NEBeautySliderDisplayModel *> *)sliderModelArrayForTitleType:(NEBeautyEffectType)type;

// 滤镜强度的数据源
- (NEBeautySliderDisplayModel *)sliderModelForFilterStrength;

@end

@interface NEBeautyConfigView : UIView

- (instancetype)initWithType:(NEBeautyConfigViewType)type
                  dataSource:(id<NEBeautyConfigViewDataSource>)dataSource
                    delegate:(id<NEBeautyConfigViewDelegate>)delegate;

- (void)displayWithContainer:(UIView *)container;

@end


<|start_filename|>NEBeauty/Android/Beauty-Android-Java/app/src/main/java/com/netease/nmc/nertcsample/beauty/module/NEMakeup.java<|end_filename|>
package com.netease.nmc.nertcsample.beauty.module;

public class NEMakeup {
    private int resId;
    private String name;

    public NEMakeup(int resId, String name) {
        this.resId = resId;
        this.name = name;
    }

    public int getResId() {
        return resId;
    }

    public void setResId(int resId) {
        this.resId = resId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}


<|start_filename|>NEBeauty/iOS/Beauty-iOS-ObjC/Beauty-iOS-ObjC/NEBeauty/NEBeautyManager.h<|end_filename|>
//
//  NEBeautyManager.h
//  Beauty-iOS-ObjC
//
//  Created by zhangchenliang on 2021/10/12.
//  Copyright © 2021 NetEase. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface NEBeautyManager : NSObject

+ (instancetype)sharedManager;

- (void)prepareResource;

- (void)initNEBeauty;

- (void)destroyNEBeauty;

- (void)enableNEBeauty:(BOOL)enable;

- (void)displayBeautyMenuWithContainer:(UIView *)container;

- (void)displayFilterMenuWithContainer:(UIView *)container;

- (void)displayStickerMenuWithContainer:(UIView *)container;

- (void)displayMakeupMenuWithContainer:(UIView *)container;

@end
