// // KMEnumExtensions.swift // PDF Reader Pro // // Created by tangchao on 2023/7/14. // import Foundation protocol KMSubscribeWaterMarkTypeConvertProtocol { func toSubscribeWaterMarkType() -> KMSubscribeWaterMarkType } extension KMToolbarType: KMSubscribeWaterMarkTypeConvertProtocol { func toSubscribeWaterMarkType() -> KMSubscribeWaterMarkType { switch self { case .word: return .toWord case .excel: return .toExcel case .ppt: return .toPPT case .rtf: return .toRTF case .csv: return .toCSV case .html: return .toHTML case .conversion_text: return .toText case .conversion_image: return .toImage case .compress: return .compress case .merge: return .merge default: return .none } } } extension KMPDFConvertType: KMSubscribeWaterMarkTypeConvertProtocol { func toSubscribeWaterMarkType() -> KMSubscribeWaterMarkType { switch self { case .word: return .toWord case .excel: return .toExcel case .ppt: return .toPPT case .rtf: return .toRTF case .csv: return .toCSV case .html: return .toHTML case .text: return .toText case .image: return .toImage default: return .none } } } extension KMItemKey: KMSubscribeWaterMarkTypeConvertProtocol { func toSubscribeWaterMarkType() -> KMSubscribeWaterMarkType { switch self { case .leftRotate: return .rotate case .rightRotate: return .rotate case .paste: return .copy case .delete: return .delete default: return .none } } } extension KMPageEditType: KMSubscribeWaterMarkTypeConvertProtocol { func toSubscribeWaterMarkType() -> KMSubscribeWaterMarkType { switch self { case .leftRotate: return .rotate case .rightRotate: return .rotate case .insert: return .insert case .extract: return .extract case .replace: return .replace case .split: return .split case .reverse: return .none case .delete: return .delete case .paste: return .copy default: return .none } } }