@@ -183,96 +183,7 @@ typedef enum COREWEBVIEW2_FIND_DIRECTION {
183183 /// Specifies a backwards find in the document.
184184 COREWEBVIEW2_FIND_DIRECTION_BACKWARD
185185} COREWEBVIEW2_FIND_DIRECTION;
186- /// Interface defining the find configuration.
187- /// This interface provides the necessary methods and properties to configure a find operation.
188- [uuid(4A6ED732-DF08-4449-8949-3632A4DEBFCD), object, pointer_default(unique)]
189- interface ICoreWebView2FindConfiguration : IUnknown {
190- /// Gets the find term used for the find operation.
191- /// \return The find term.
192- [propget] HRESULT FindTerm([out, retval] LPWSTR* value);
193- /// Sets the find term to be used for the find operation.
194- /// \param[in] value The find term.
195- [propput] HRESULT FindTerm([in] LPCWSTR value);
196- /// Gets the direction of the find operation (forward or backward).
197- /// \return The find direction.
198- [propget] HRESULT FindDirection([out, retval] COREWEBVIEW2_FIND_DIRECTION* value);
199- /// Sets the direction for the find operation.
200- /// \param[in] value The find direction.
201- [propput] HRESULT FindDirection([in] COREWEBVIEW2_FIND_DIRECTION value);
202- /// Determines if the find operation is case sensitive.
203- /// \return TRUE if the find is case sensitive, FALSE otherwise.
204- [propget] HRESULT IsCaseSensitive([out, retval] BOOL* value);
205- /// Sets whether the find operation should be case sensitive.
206- /// \param[in] value TRUE to make the find case sensitive, FALSE otherwise.
207- [propput] HRESULT IsCaseSensitive([in] BOOL value);
208- /// Determines if only whole words should be matched during the find operation.
209- /// \return TRUE if only whole words should be matched, FALSE otherwise.
210- [propget] HRESULT ShouldMatchWord([out, retval] BOOL* value);
211- /// Sets whether to only match whole words during the find operation.
212- [propput] HRESULT ShouldMatchWord([in] BOOL value);
213- /// Gets the state of whether all matches are highlighted.
214- /// \return TRUE if all matches are highlighted, FALSE otherwise.
215- [propget] HRESULT ShouldHighlightAllMatches([out, retval] BOOL* value);
216- /// Sets the state to either highlight all matches or not.
217- [propput] HRESULT ShouldHighlightAllMatches([in] BOOL value);
218- /// Determines if the currently active match is highlighted.
219- /// \return TRUE if the active match is highlighted, FALSE otherwise.
220- [propget] HRESULT ShouldHighlightActiveMatch([out, retval] BOOL* value);
221- /// Sets whether to highlight the currently active match.
222- [propput] HRESULT ShouldHighlightActiveMatch([in] BOOL value);
223- /// Checks if a custom user interface is desired by end developer.
224- /// If TRUE, the default Find bar is not displayed.
225- /// \return TRUE if using a custom UI, FALSE if using the default.
226- [propget] HRESULT UseCustomUI([out, retval] BOOL* value);
227- /// Sets whether to use a custom UI for the Find operation.
228- [propput] HRESULT UseCustomUI([in] BOOL value);
229- /// Gets the index of the currently active match.
230- /// If there's no active find session but an attempt is made to change the active match index:
231- /// The function might crash if the global_match_id isn't found in the map.
232- /// It will clear any active match highlighting if there's a previously active frame.
233- /// It will either select a new active match or return an error through the callback if the frame associated with the match isn't valid.
234- /// \return The active match index.
235- [propget] HRESULT ActiveMatchIndex([out, retval] LONG* value);
236- /// Sets the index for the active match.
237- [propput] HRESULT ActiveMatchIndex([in] LONG value);
238- /// Gets the total count of matches found in the current document based on the last find criteria.
239- /// \return The total count of matches.
240- [propget] HRESULT MatchesCount([out, retval] LONG* value);
241- /**
242- * Passes the current highlighting settings to the underlying Mojo.
243- *
244- * This function retrieves the current text highlighting settings set by the user
245- * or the default system and ensures that they are used during any subsequent text
246- * find or highlight operations. This includes settings related to highlighting
247- * all matches, the active match, and any custom UI preferences.
248- *
249- * Users should call this function after changing any highlight settings to ensure
250- * that they are applied properly in the system.
251- */
252- HRESULT PassHighlightSettings();
253- }
254- /// Handles the event that's fired when the match count changes.
255- [uuid(623EFBFB-A19E-43C4-B309-D578511D24AB), object, pointer_default(unique)]
256- interface ICoreWebView2FindMatchCountChangedEventHandler : IUnknown {
257- /// Provides the event args when the match count changes.
258- HRESULT Invoke(LONG matchesCount);
259- }
260- /// Handles the event that's fired when the active match index changes.
261- [uuid(623EFBF9-A19E-43C4-B309-D578511D24A9), object, pointer_default(unique)]
262- interface ICoreWebView2FindActiveMatchIndexChangedEventHandler : IUnknown {
263- /// Provides the event args when the active match index changes.
264- /// \param sender The sender of this event, representing the current instance of ICoreWebView2Find.
265- /// \param args The event args that contain the new active match index.
266- HRESULT Invoke(
267- [in] ICoreWebView2* sender,
268- [in] ICoreWebView2FindActiveMatchIndexChangedEventArgs* args);
269- }
270- /// Handles the event that's fired when the find operation completes.
271- [uuid(2604789D-9553-4246-8E21-B9C74EFAD04F), object, pointer_default(unique)]
272- interface ICoreWebView2FindOperationCompletedHandler : IUnknown {
273- /// Provides the event args when the find operation completes.
274- HRESULT Invoke(HRESULT value, LONG activeMatchIndex, LONG matchesCount);
275- }
186+
276187// Interface defining the find configuration.
277188[uuid(4A6ED732-DF08-4449-8949-3632A4DEBFCD), object, pointer_default(unique)]
278189interface ICoreWebView2FindConfiguration : IUnknown {
@@ -329,6 +240,31 @@ interface ICoreWebView2FindConfiguration : IUnknown {
329240 */
330241 HRESULT PassHighlightSettings();
331242}
243+
244+ /// Handles the event that's fired when the match count changes.
245+ [uuid(623EFBFB-A19E-43C4-B309-D578511D24AB), object, pointer_default(unique)]
246+ interface ICoreWebView2FindMatchCountChangedEventHandler : IUnknown {
247+ /// Provides the event args when the match count changes.
248+ HRESULT Invoke(LONG matchesCount);
249+ }
250+
251+ /// Handles the event that's fired when the active match index changes.
252+ [uuid(623EFBF9-A19E-43C4-B309-D578511D24A9), object, pointer_default(unique)]
253+ interface ICoreWebView2FindActiveMatchIndexChangedEventHandler : IUnknown {
254+ /// Provides the event args when the active match index changes.
255+ /// \param sender The sender of this event, representing the current instance of ICoreWebView2Find.
256+ /// \param args The event args that contain the new active match index.
257+ HRESULT Invoke(
258+ [in] ICoreWebView2* sender,
259+ [in] ICoreWebView2FindActiveMatchIndexChangedEventArgs* args);
260+ }
261+ /// Handles the event that's fired when the find operation completes.
262+ [uuid(2604789D-9553-4246-8E21-B9C74EFAD04F), object, pointer_default(unique)]
263+ interface ICoreWebView2FindOperationCompletedHandler : IUnknown {
264+ /// Provides the event args when the find operation completes.
265+ HRESULT Invoke(HRESULT value, LONG activeMatchIndex, LONG matchesCount);
266+ }
267+
332268// Interface providing methods and properties for finding and navigating through text in the web view.
333269[uuid(7C49A8AA-2A17-4846-8207-21D1520AABC0), object, pointer_default(unique)]
334270interface ICoreWebView2Find : IUnknown {
0 commit comments