1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 #ifndef nsIWordBreaker_h__
6 #define nsIWordBreaker_h__
8 #include "nsISupports.h"
12 #define NS_WORDBREAKER_NEED_MORE_TEXT -1
14 // {E86B3379-BF89-11d2-B3AF-00805F8A6670}
15 #define NS_IWORDBREAKER_IID \
16 { 0xe86b3379, 0xbf89, 0x11d2, \
17 { 0xb3, 0xaf, 0x0, 0x80, 0x5f, 0x8a, 0x66, 0x70 } }
24 class nsIWordBreaker
: public nsISupports
27 NS_DECLARE_STATIC_IID_ACCESSOR(NS_IWORDBREAKER_IID
)
29 virtual bool BreakInBetween(const char16_t
* aText1
, uint32_t aTextLen1
,
30 const char16_t
* aText2
,
31 uint32_t aTextLen2
) = 0;
32 virtual nsWordRange
FindWord(const char16_t
* aText1
, uint32_t aTextLen1
,
33 uint32_t aOffset
) = 0;
34 virtual int32_t NextWord(const char16_t
* aText
, uint32_t aLen
,
39 NS_DEFINE_STATIC_IID_ACCESSOR(nsIWordBreaker
, NS_IWORDBREAKER_IID
)
41 #endif /* nsIWordBreaker_h__ */