UGCKitTheme.h 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313
  1. // Copyright (c) 2019 Tencent. All rights reserved.
  2. #import <UIKit/UIKit.h>
  3. #import <TCBeautyPanel/TCBeautyPanel.h>
  4. NS_ASSUME_NONNULL_BEGIN
  5. @interface UGCKitTheme : NSObject <TCBeautyPanelThemeProtocol>
  6. + (instancetype)sharedTheme;
  7. #pragma mark - Common
  8. /// 标题颜色
  9. @property (nonatomic, strong) UIColor *titleColor;
  10. /// 后退按钮
  11. @property (strong, nonatomic) UIImage *backIcon;
  12. /// 圆角按钮背景图
  13. @property (strong, nonatomic) UIImage *nextIcon;
  14. /// 背景色
  15. @property (strong, nonatomic) UIColor *backgroundColor;
  16. /// 进度条tintColor
  17. @property (strong, nonatomic) UIColor *progressColor;
  18. @property (strong, nonatomic) UIImage *closeIcon;
  19. @property (strong, nonatomic) UIImage *progressTrackImage;
  20. /// 滑杆配置
  21. @property (strong, nonatomic) UIColor *sliderMinColor;
  22. @property (strong, nonatomic) UIColor *sliderMaxColor;
  23. @property (strong, nonatomic) UIColor *sliderValueColor;
  24. @property (strong, nonatomic) UIImage *sliderThumbImage;
  25. @property (strong, nonatomic) UIImage *rightArrowIcon;
  26. #pragma mark - Media Picker
  27. @property (strong, nonatomic) UIColor *pickerSelectionBorderColor;
  28. #pragma mark - Edit
  29. @property (strong, nonatomic) UIImage *editRotateIcon; // 旋转
  30. /// 播放图标
  31. @property (strong, nonatomic) UIImage *editPlayIcon;
  32. /// 播放图标(高亮)
  33. @property (strong, nonatomic) UIImage *editPlayHighlightedIcon;
  34. /// 暂停图标
  35. @property (strong, nonatomic) UIImage *editPauseIcon;
  36. /// 暂停图标(高亮)
  37. @property (strong, nonatomic) UIImage *editPauseHighlightedIcon;
  38. /// 更换视频按钮背景图
  39. @property (strong, nonatomic) UIImage *editChooseVideoIcon;
  40. /// 按钮背景图
  41. @property (strong, nonatomic) UIImage *confirmIcon;
  42. /// 贴纸、字幕的增加按钮
  43. @property (strong, nonatomic) UIImage *editPanelAddPasterIcon;
  44. @property (strong, nonatomic) UIColor *editPanelBackgroundColor;
  45. @property (strong, nonatomic) UIColor *editPanelTextColor;
  46. @property (strong, nonatomic) UIImage *editPanelCloseIcon;
  47. @property (strong, nonatomic) UIImage *editPanelConfirmIcon;
  48. @property (strong, nonatomic) UIColor *editPasterBorderColor;
  49. /// 编辑菜单音乐按钮
  50. @property (strong, nonatomic) UIImage *editPanelMusicIcon;
  51. /// 编辑菜单特效按钮
  52. @property (strong, nonatomic) UIImage *editPanelEffectIcon;
  53. /// 编辑菜单速度按钮
  54. @property (strong, nonatomic) UIImage *editPanelSpeedIcon;
  55. /// 编辑菜单滤镜按钮
  56. @property (strong, nonatomic) UIImage *editPanelFilterIcon;
  57. /// 编辑菜单贴纸按钮
  58. @property (strong, nonatomic) UIImage *editPanelPasterIcon;
  59. /// 编辑菜单字幕按钮
  60. @property (strong, nonatomic) UIImage *editPanelSubtitleIcon;
  61. /// 编辑菜单音乐按钮(高亮)
  62. @property (strong, nonatomic) UIImage *editPanelMusicHighlightedIcon;
  63. /// 编辑菜单特效按钮(高亮)
  64. @property (strong, nonatomic) UIImage *editPanelEffectHighlightedIcon;
  65. /// 编辑菜单速度按钮(高亮)
  66. @property (strong, nonatomic) UIImage *editPanelSpeedHighlightedIcon;
  67. /// 编辑菜单滤镜按钮(高亮)
  68. @property (strong, nonatomic) UIImage *editPanelFilterHighlightedIcon;
  69. /// 编辑菜单贴纸按钮(高亮)
  70. @property (strong, nonatomic) UIImage *editPanelPasterHighlightedIcon;
  71. /// 编辑菜单字幕按钮(高亮)
  72. @property (strong, nonatomic) UIImage *editPanelSubtitleHighlightedIcon;
  73. /// 删除按钮图标
  74. @property (strong, nonatomic) UIImage *editPanelDeleteIcon;
  75. /// 删除按钮图标(高亮)
  76. @property (strong, nonatomic) UIImage *editPanelDeleteHighlightedIcon;
  77. /// 按钮背景图(高亮)
  78. @property (strong, nonatomic) UIImage *confirmHighlightedIcon;
  79. /// 时间轴位置指示器图标
  80. @property (strong, nonatomic) UIImage *editTimelineIndicatorIcon;
  81. /// 编辑菜单-时间效果-无效果图标
  82. @property (strong, nonatomic) UIImage *editTimeEffectNormalIcon;
  83. /// 编辑菜单-时间效果-倒放图标
  84. @property (strong, nonatomic) UIImage *editTimeEffectReveseIcon;
  85. /// 编辑菜单-时间效果-重复图标
  86. @property (strong, nonatomic) UIImage *editTimeEffectRepeatIcon;
  87. /// 编辑菜单-时间效果-慢动作图标
  88. @property (strong, nonatomic) UIImage *editTimeEffectSlowMotionIcon;
  89. /// 视频裁剪条当前位置图标
  90. @property (strong, nonatomic) UIImage *editTimeEffectIndicatorIcon;
  91. #pragma mark Video Cut
  92. /// 视频裁剪条左边图标
  93. @property (strong, nonatomic) UIImage *editCutSliderLeftIcon;
  94. /// 视频裁剪条右边图标
  95. @property (strong, nonatomic) UIImage *editCutSliderRightIcon;
  96. /// 视频裁剪条当前位置图标
  97. @property (strong, nonatomic) UIImage *editCutSliderCenterIcon;
  98. /// 视频裁剪条边界颜色
  99. @property (strong, nonatomic) UIColor *editCutSliderBorderColor;
  100. /// 音乐选取条左边图标
  101. @property (strong, nonatomic) UIImage *editMusicSliderRightIcon;
  102. /// 音乐选取条右边图标
  103. @property (strong, nonatomic) UIImage *editMusicSliderLeftIcon;
  104. /// 视频裁剪条边界颜色
  105. @property (strong, nonatomic) UIColor *editMusicSliderBorderColor;
  106. #pragma mark Paster
  107. /// 贴纸删除图标
  108. @property (strong, nonatomic) UIImage *editPasterDeleteIcon;
  109. /// 贴纸旋转图标
  110. @property (strong, nonatomic) UIImage *editTextPasterRotateIcon;
  111. /// 贴纸文字编辑图标
  112. @property (strong, nonatomic) UIImage *editTextPasterEditIcon;
  113. /// 贴纸文字编辑确认图标
  114. @property (strong, nonatomic) UIImage *editTextPasterConfirmIcon;
  115. #pragma mark Filter
  116. /// 滤镜选中图标
  117. @property (strong, nonatomic) UIImage *editFilterSelectionIcon;
  118. #pragma mark Photo Transition
  119. /// 图片转场-左右转场图标
  120. @property (strong, nonatomic) UIImage *transitionLeftRightIcon;
  121. /// 图片转场-上下转场图标
  122. @property (strong, nonatomic) UIImage *transitionUpDownIcon;
  123. /// 图片转场-放大转场图标
  124. @property (strong, nonatomic) UIImage *transitionZoomInIcon;
  125. /// 图片转场-缩小转场图标
  126. @property (strong, nonatomic) UIImage *transitionZoomOutIcon;
  127. /// 图片转场-旋转转场图标
  128. @property (strong, nonatomic) UIImage *transitionRotateIcon;
  129. /// 图片转场-淡入淡出转场图标
  130. @property (strong, nonatomic) UIImage *transitionFadeInOutIcon;
  131. #pragma mark - Video Cut
  132. /// 录制-音乐图标
  133. @property (strong, nonatomic) UIImage *recordMusicIcon;
  134. /// 录制-4:3屏比图标
  135. @property (strong, nonatomic) UIImage *recordAspect43Icon;
  136. /// 录制-3:4屏比图标
  137. @property (strong, nonatomic) UIImage *recordAspect34Icon;
  138. /// 录制-1:1屏比图标
  139. @property (strong, nonatomic) UIImage *recordAspect11Icon;
  140. /// 录制-16:9屏比图标
  141. @property (strong, nonatomic) UIImage *recordAspect169Icon;
  142. /// 录制-9:16屏比图标
  143. @property (strong, nonatomic) UIImage *recordAspect916Icon;
  144. /// 录制-美颜图标
  145. @property (strong, nonatomic) UIImage *recordBeautyIcon;
  146. /// 录制-音效图标
  147. @property (strong, nonatomic) UIImage *recordAudioEffectIcon;
  148. /// 录制-倒计时图标
  149. @property (strong, nonatomic) UIImage *recordCountDownIcon;
  150. /// 录制-闪光灯打开图标
  151. @property (strong, nonatomic) UIImage *recordTorchOnIcon;
  152. /// 录制-闪光灯打开高亮图标
  153. @property (strong, nonatomic) UIImage *recordTorchOnHighlightedIcon;
  154. /// 录制-闪光灯关闭图标
  155. @property (strong, nonatomic) UIImage *recordTorchOffIcon;
  156. /// 录制-闪光灯关闭高亮图标
  157. @property (strong, nonatomic) UIImage *recordTorchOffHighlightedIcon;
  158. /// 录制-闪光灯禁用图标
  159. @property (strong, nonatomic) UIImage *recordTorchDisabledIcon;
  160. /// 录制-摄像头切换图标
  161. @property (strong, nonatomic) UIImage *recordSwitchCameraIcon;
  162. /// 录制-速度切换选中文字颜色
  163. @property (strong, nonatomic) UIColor *recordSpeedSelectedTitleColor;
  164. /// 录制-速度切换选中图标
  165. @property (strong, nonatomic) UIImage *recordSpeedCenterIcon;
  166. /// 录制-速度切换左侧圆角图标
  167. @property (strong, nonatomic) UIImage *recordSpeedLeftIcon;
  168. /// 录制-速度切换右侧圆角图标
  169. @property (strong, nonatomic) UIImage *recordSpeedRightIcon;
  170. /// 录制-音乐片段图标
  171. @property (strong, nonatomic) UIImage *recordMusicSampleImage;
  172. /// 录制-音乐切换图标
  173. @property (strong, nonatomic) UIImage *recordMusicSwitchIcon;
  174. /// 录制-音乐删除图标
  175. @property (strong, nonatomic) UIImage *recordMusicDeleteIcon;
  176. /// 录制-音乐下载图标
  177. @property (strong, nonatomic) UIImage *recordMusicDownloadIcon;
  178. /// 录制-点击录制按钮图标
  179. @property (strong, nonatomic) UIImage *recordButtonTapModeIcon;
  180. /// 录制-拍照按钮图标
  181. @property (strong, nonatomic) UIImage *recordButtonPhotoModeIcon;
  182. /// 录制-录制按钮背景图片
  183. @property (strong, nonatomic) UIImage *recordButtonPhotoModeBackgroundImage;
  184. /// 录制-录制按钮暂停状态图标
  185. @property (strong, nonatomic) UIImage *recordButtonPauseInnerIcon;
  186. /// 录制-录制按钮暂停状态背景
  187. @property (strong, nonatomic) UIImage *recordButtonPauseBackgroundImage;
  188. /// 录制进度条颜色
  189. @property (strong, nonatomic) UIColor *recordTimelineColor;
  190. /// 录制进度条高亮颜色
  191. @property (strong, nonatomic) UIColor *recordTimelineSelectionColor;
  192. /// 录制进度条分段块颜色
  193. @property (strong, nonatomic) UIColor *recordTimelineSeperatorColor;
  194. /// 录制片段删除按钮图标
  195. @property (strong, nonatomic) UIImage *recordDeleteIcon;
  196. /// 录制片段删除按钮高亮图标
  197. @property (strong, nonatomic) UIImage *recordDeleteHighlightedIcon;
  198. /// 录制方式切换指示图标
  199. @property (strong, nonatomic) UIImage *recordButtonModeSwitchIndicatorIcon;
  200. #pragma mark - Beauty Panel
  201. /// 美颜面板 - 美颜图标
  202. @property (strong, nonatomic) UIImage *beautyPanelSmoothBeautyStyleIcon;
  203. /// 美颜面板 - 大眼图标
  204. @property (strong, nonatomic) UIImage *beautyPanelEyeScaleIcon;
  205. /// 美颜面板 - P图风格美颜图标
  206. @property (strong, nonatomic) UIImage *beautyPanelPTuBeautyStyleIcon;
  207. /// 美颜面板 - 自然风格图标
  208. @property (strong, nonatomic) UIImage *beautyPanelNatureBeautyStyleIcon;
  209. /// 美颜面板 - 红润图标
  210. @property (strong, nonatomic) UIImage *beautyPanelRuddyIcon;
  211. /// 美颜面板 - 绿幕图标
  212. @property (strong, nonatomic) UIImage *beautyPanelBgRemovalIcon;
  213. /// 美颜面板 - 美白图标
  214. @property (strong, nonatomic) UIImage *beautyPanelWhitnessIcon;
  215. /// 美颜面板 - 瘦脸图标
  216. @property (strong, nonatomic) UIImage *beautyPanelFaceSlimIcon;
  217. /// 美颜面板 - AI抠图图标
  218. @property (strong, nonatomic) UIImage *beautyPanelGoodLuckIcon;
  219. /// 美颜面板 - 下巴调整图标
  220. @property (strong, nonatomic) UIImage *beautyPanelChinIcon;
  221. /// 美颜面板 - V脸图标
  222. @property (strong, nonatomic) UIImage *beautyPanelFaceVIcon;
  223. /// 美颜面板 - 瘦脸图标
  224. @property (strong, nonatomic) UIImage *beautyPanelFaceScaleIcon;
  225. /// 美颜面板 - 瘦鼻图标
  226. @property (strong, nonatomic) UIImage *beautyPanelNoseSlimIcon;
  227. /// 美颜面板 - 白牙图标
  228. @property (strong, nonatomic) UIImage *beautyPanelToothWhitenIcon;
  229. /// 美颜面板 - 眼距图标
  230. @property (strong, nonatomic) UIImage *beautyPanelEyeDistanceIcon;
  231. /// 美颜面板 - 发际线图标
  232. @property (strong, nonatomic) UIImage *beautyPanelForeheadIcon;
  233. /// 美颜面板 - 脸型图标
  234. @property (strong, nonatomic) UIImage *beautyPanelFaceBeautyIcon;
  235. /// 美颜面板 - 眼睛角度图标
  236. @property (strong, nonatomic) UIImage *beautyPanelEyeAngleIcon;
  237. /// 美颜面板 - 鼻翼图标
  238. @property (strong, nonatomic) UIImage *beautyPanelNoseWingIcon;
  239. /// 美颜面板 - 嘴唇厚度图标
  240. @property (strong, nonatomic) UIImage *beautyPanelLipsThicknessIcon;
  241. /// 美颜面板 - 袪皱图标
  242. @property (strong, nonatomic) UIImage *beautyPanelWrinkleRemoveIcon;
  243. /// 美颜面板 - 嘴形图标
  244. @property (strong, nonatomic) UIImage *beautyPanelMouthShapeIcon;
  245. /// 美颜面板 - 袪眼袋图标
  246. @property (strong, nonatomic) UIImage *beautyPanelPounchRemoveIcon;
  247. /// 美颜面板 - 嘴形图标
  248. @property (strong, nonatomic) UIImage *beautyPanelSmileLinesRemoveIcon;
  249. /// 美颜面板 - 亮眼图标
  250. @property (strong, nonatomic) UIImage *beautyPanelEyeLightenIcon;
  251. /// 美颜面板 - 鼻子位置图标
  252. @property (strong, nonatomic) UIImage *beautyPanelNosePositionIcon;
  253. /// 美颜面板 - 关闭效果图标
  254. @property (strong, nonatomic) UIImage *menuDisableIcon;
  255. /// 菜单选中背景图片
  256. @property (strong, nonatomic) UIImage *beautyPanelMenuSelectionBackgroundImage;
  257. /// 菜单文字颜色
  258. @property (strong, nonatomic) UIColor *beautyPanelTitleColor;
  259. /// 菜单文字选中颜色
  260. @property (strong, nonatomic) UIColor *beautyPanelSelectionColor;
  261. /// 录制速度选中文字颜色
  262. @property (strong, nonatomic) UIColor *speedControlSelectedTitleColor;
  263. #pragma mark - Audio Effect
  264. @property (strong, nonatomic) UIImage *audioEffectReverbKTVIcon;
  265. @property (strong, nonatomic) UIImage *audioEffectVoiceChangerHeavyMachineryIcon;
  266. @property (strong, nonatomic) UIImage *audioEffectVoiceChangerHeavyMetalIcon;
  267. @property (strong, nonatomic) UIImage *audioEffectVoiceChangerForeignerIcon;
  268. @property (strong, nonatomic) UIImage *audioEffectVoiceChangerFattyIcon;
  269. @property (strong, nonatomic) UIImage *audioEffectVoiceChangerUncleIcon;
  270. @property (strong, nonatomic) UIImage *audioEffectVoiceChangerLoliIcon;
  271. @property (strong, nonatomic) UIImage *audioEffectVoiceChangerBadBoyIcon;
  272. @property (strong, nonatomic) UIImage *audioEffectVoiceChangerElectricIcon;
  273. @property (strong, nonatomic) UIImage *audioEffectVoiceChangerBeastIcon;
  274. @property (strong, nonatomic) UIImage *audioEffectVoiceChangerEtherealIcon;
  275. @property (strong, nonatomic) UIImage *audioEffectReverbHallIcon;
  276. @property (strong, nonatomic) UIImage *audioEffectReverbRoomIcon;
  277. @property (strong, nonatomic) UIImage *audioEffectReverbMetalIcon;
  278. @property (strong, nonatomic) UIImage *audioEffectReverbLowIcon;
  279. @property (strong, nonatomic) UIImage *audioEffectReverbMagneticIcon;
  280. @property (strong, nonatomic) UIImage *audioEffectReverbSonorousIcon;
  281. @property (readonly, nonatomic) NSBundle *resourceBundle;
  282. - (UIImage *)iconForFilter:(nullable NSString *)filter;
  283. - (void)setIcon:(UIImage *)icon forFilter:(TCFilterIdentifier)identifier;
  284. - (NSString *)localizedString:(NSString *)key __attribute__((annotate("returns_localized_nsstring")));
  285. - (UIImage *)imageNamed:(NSString *)name;
  286. /// 编辑 - 动效图标
  287. - (UIImage *)effectIconWithName:(NSString *)name;
  288. /// 绿幕背景视频路径
  289. - (NSURL *)goodLuckVideoFilePath;
  290. @end
  291. NS_ASSUME_NONNULL_END