# View API Migration Table (OC -> LN Swift)

## Player View

| OC Class | OC API | Swift Class | Swift API | Status |
|---|---|---|---|---|
| `UIView(VAP)` | `playHWDMP4:repeatCount:delegate:` | `LNVAPPlayerView` | `lnPlay(filePath:repeatCount:)` | Done (runtime bridge) |
| `UIView(VAP)` | `playHWDMp4:` / `playHWDMP4:delegate:` | `LNVAPPlayerView` | `lnPlay(filePath:)` + `delegate` property | Done (runtime bridge) |
| `UIView(VAP)` | `stopHWDMP4` | `LNVAPPlayerView` | `lnStop()` | Done (runtime bridge) |
| `UIView(VAP)` | `pauseHWDMP4` / `resumeHWDMP4` | `LNVAPPlayerView` | `lnPause()` / `lnResume()` | Done (runtime bridge) |
| `UIView(VAP)` | `setMute:` | `LNVAPPlayerView` | `lnSetMute(_:)` | Done (runtime bridge) |
| `UIView(VAP)` | `enableOldVersion:` | `LNVAPPlayerView` | `lnEnableOldVersion(_:)` | Done (runtime bridge) |
| `UIView(VAP)` | `hwd_fps` / `hwd_renderByOpenGL` / `hwd_enterBackgroundOP` | `LNVAPPlayerView` | `fps` / `renderByOpenGL` / `enterBackgroundOperation` | Done (runtime bridge) |
| `UIView(VAPGesture)` | `addVapTapGesture:` / `addVapGesture:callback:` | `LNVAPPlayerView` | `lnAddVapTapGesture(_:)` / `lnAddVapGesture(_:callback:)` | Done (runtime bridge + fallback) |

## Wrap View

| OC Class | OC API | Swift Class | Swift API | Status |
|---|---|---|---|---|
| `QGVAPWrapView` | `playHWDMP4:repeatCount:delegate:` | `LNVAPWrapView` | `lnPlay(filePath:repeatCount:)` | Done (runtime bridge) |
| `QGVAPWrapView` | `playHWDMP4:...` 单次默认播放 | `LNVAPWrapView` | `lnPlay(filePath:)` | Done (runtime bridge) |
| `QGVAPWrapView` | `stopHWDMP4` / `pauseHWDMP4` / `resumeHWDMP4` | `LNVAPWrapView` | `lnStop()` / `lnPause()` / `lnResume()` | Done (runtime bridge) |
| `QGVAPWrapView` | `setMute:` | `LNVAPWrapView` | `lnSetMute(_:)` | Done (runtime bridge) |
| `QGVAPWrapView` | `contentMode` / `autoDestoryAfterFinish` | `LNVAPWrapView` | `contentModeOption` / `autoDestroyAfterFinish` | Done (runtime bridge) |
| `QGVAPWrapView` | `addVapTapGesture:` / `addVapGesture:callback:` | `LNVAPWrapView` | `lnAddVapTapGesture(_:)` / `lnAddVapGesture(_:callback:)` | Done (runtime bridge + fallback) |
| `HWDMP4PlayDelegate` | `shouldStart/start/play/stop/finish/fail + content/loadImage` | `LNVAPPlaybackDelegate` | `lnPlayerShouldStart/.../lnPlayerLoadImage` | Done |
| `VAPWrapViewDelegate` | `shouldStart/start/play/stop/finish/fail + content/loadImage` | `LNVAPWrapPlaybackDelegate` | `lnWrapViewShouldStart/.../lnWrapViewLoadImage` | Done |

## Files

- `/Users/yanxuyao/Vap/QGVAPlayer/QGVAPlayer/LNSwift/View/LNVAPPlayerView.swift`
- `/Users/yanxuyao/Vap/QGVAPlayer/QGVAPlayer/LNSwift/View/LNVAPWrapView.swift`
