Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d03f052253e8b2d8eaad250db4245cb898106220
https://github.com/WebKit/WebKit/commit/d03f052253e8b2d8eaad250db4245cb898106220
Author: Richard Robinson <[email protected]>
Date: 2024-10-21 (Mon, 21 Oct 2024)
Changed paths:
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Source/WebKit/WebKitSwift/TextAnimation/TextAnimationManager.swift
A
Source/WebKit/WebKitSwift/WritingTools/PlatformIntelligenceTextEffectView.swift
Log Message:
-----------
[Intelligence Effects] Add a platform abstraction layer to be able to use
intelligence effects in a platform-agnostic manner
https://bugs.webkit.org/show_bug.cgi?id=281801
rdar://138225697
Reviewed by Abrar Rahman Protyasha.
The interface for creating intelligence effects on macOS compared to iOS is
quite different. To make
this difference easier to manage, a high level abstraction type is created
which mostly abstracts away
all the platform-specific parts so that it may be consumed without the client
having to worry about
making any logic changes platform-dependent.
The abstraction layer's interface attempts to be as similar to iOS as possible,
since abstracting the
macOS interface in terms of iOS was more elegant.
This will soon be adopted and used by an upcoming intelligence effects
coordinator type.
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
*
Source/WebKit/WebKitSwift/WritingTools/PlatformIntelligenceTextEffectView.swift:
Added.
(PlatformIntelligenceTextEffect.chunk):
(PlatformIntelligenceTextEffectViewSource.textPreview(for:)):
(PlatformIntelligenceTextEffectViewSource.updateTextChunkVisibility(_:visible:)):
(PlatformIntelligenceTextEffectViewSource.performReplacementAndGeneratePreview(for:effect:animation:)):
(PlatformIntelligenceTextEffectViewSource.replacementEffectWillBegin(_:)):
(PlatformIntelligenceTextEffectViewSource.replacementEffectDidComplete(_:)):
(UITextEffectViewSourceAdapter.wrapped):
(UITextEffectViewSourceAdapter.targetedPreview(for:)):
(UITextEffectViewSourceAdapter.updateTextChunkVisibilityForAnimation(_:visible:)):
(UIReplacementTextEffectDelegateAdapter.view):
(UIReplacementTextEffectDelegateAdapter.replacementEffectDidComplete(_:)):
(UIReplacementTextEffectDelegateAdapter.performReplacementAndGeneratePreview(for:effect:animation:)):
(WTTextPreviewAsyncSourceAdapter.textPreviews(for:)):
(WTTextPreviewAsyncSourceAdapter.textPreview(for:)):
(WTTextPreviewAsyncSourceAdapter.updateIsTextVisible(_:for:)):
(PlatformIntelligenceTextEffectView.wrappedEffectIDToPlatformEffects):
(PlatformIntelligenceTextEffectView.platformEffectIDToWrappedEffectIDs):
(PlatformIntelligenceTextEffectView.updateFrame):
(PlatformIntelligenceTextEffectView.removeEffect(_:)):
(PlatformIntelligenceTextEffectView.removeAllEffects):
Canonical link: https://commits.webkit.org/285512@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes