38 template <
typename CharPtr>
75 template <
typename CharPtr>
122 template <
typename Iter>
142 template <
typename CharPtr>
154 const auto move = [&] (
auto b,
auto e,
auto iter)
158 const auto start = [&]
166 ? std::find_if (nudged,
e, isSpace)
167 : std::find_if_not (nudged,
e, isSpace);
171 ? std::find_if_not (
start,
e, isSpace)
172 : std::find_if (
start,
e, isSpace);
178 : -move (std::make_reverse_iterator (
end),
179 std::make_reverse_iterator (
begin),
180 std::make_reverse_iterator (
ptr));
186 template <
typename CharPtr>
197 const auto findNewline = [] (
auto from,
auto to) {
return std::find (from, to,
juce_wchar {
'\n' }); };
204 const auto newline = findNewline (
ptr,
end);
208 const auto rbegin = std::make_reverse_iterator (
ptr);
209 const auto rend = std::make_reverse_iterator (
begin);
236 const auto currentClamped =
jlimit (0, numCharacters, currentPosition);
243 : (isForwards ? 1 : -1);
244 return jlimit (0, numCharacters, currentPosition + offset);
249 const auto str = textInterface.
getText ({ 0, numCharacters });
252 str.begin() + currentClamped,
260 const auto str = textInterface.
getText ({ 0, numCharacters });
263 str.begin() + currentClamped,
269 return isForwards ? numCharacters : 0;
293 return { cursorPos, cursorPos };
295 const auto currentSelection = textInterface.
getSelection();
296 const auto start = currentSelection.getStart();
297 const auto end = currentSelection.getEnd();
long rend
Definition adlibemu.c:105
Definition juce_AccessibilityTextHelpers.h:40
constexpr CharPtrIteratorAdapter & operator--()
Definition juce_AccessibilityTextHelpers.h:59
std::bidirectional_iterator_tag iterator_category
Definition juce_AccessibilityTextHelpers.h:46
value_type reference
Definition juce_AccessibilityTextHelpers.h:45
value_type * pointer
Definition juce_AccessibilityTextHelpers.h:44
constexpr CharPtrIteratorAdapter & operator++()
Definition juce_AccessibilityTextHelpers.h:53
decltype(*std::declval< CharPtr >()) value_type
Definition juce_AccessibilityTextHelpers.h:43
CharPtr ptr
Definition juce_AccessibilityTextHelpers.h:72
int difference_type
Definition juce_AccessibilityTextHelpers.h:42
constexpr auto operator*() const
Definition juce_AccessibilityTextHelpers.h:51
constexpr CharPtrIteratorAdapter(CharPtr arg)
Definition juce_AccessibilityTextHelpers.h:49
CharPtrIteratorAdapter()=default
Definition juce_AccessibilityTextInterface.h:39
virtual int getTextInsertionOffset() const =0
virtual int getTotalNumCharacters() const =0
virtual String getText(Range< int > range) const =0
virtual Range< int > getSelection() const =0
static bool isWhitespace(char character) noexcept
Definition juce_CharacterFunctions.cpp:59
Definition juce_Range.h:40
static constexpr Range between(const ValueType position1, const ValueType position2) noexcept
Definition juce_Range.h:59
* e
Definition inflate.c:1404
virtual ASIOError start()=0
Definition carla_juce.cpp:31
jack_client_t client jack_client_t client jack_client_t client jack_client_t JackInfoShutdownCallback void * arg
Definition juce_linux_JackAudio.cpp:63
@ no
Definition juce_AlertWindow.cpp:567
@ yes
Definition juce_AlertWindow.cpp:567
RangedDirectoryIterator end(const RangedDirectoryIterator &)
Definition juce_RangedDirectoryIterator.h:184
Type jlimit(Type lowerLimit, Type upperLimit, Type valueToConstrain) noexcept
Definition juce_MathsFunctions.h:262
wchar_t juce_wchar
Definition juce_CharacterFunctions.h:42
jack_client_t client jack_client_t client jack_client_t client jack_client_t JackInfoShutdownCallback void arg jack_client_t jack_port_t port void func jack_client_t const char const char unsigned long flags const jack_port_t port jack_client_t jack_port_id_t port_id const jack_port_t const char port_name const jack_port_t port void * ptr
Definition juce_linux_JackAudio.cpp:79
RangedDirectoryIterator begin(const RangedDirectoryIterator &it)
Definition juce_RangedDirectoryIterator.h:179
short word
Definition private.h:22
Definition juce_AccessibilityTextHelpers.h:30
BoundaryType
Definition juce_AccessibilityTextHelpers.h:82
@ line
Definition juce_AccessibilityTextHelpers.h:85
@ character
Definition juce_AccessibilityTextHelpers.h:83
@ word
Definition juce_AccessibilityTextHelpers.h:84
@ document
Definition juce_AccessibilityTextHelpers.h:86
static int findNextWordEndOffset(CharPtr beginIn, CharPtr endIn, CharPtr ptrIn, Direction direction, IncludeThisBoundary includeBoundary, IncludeWhitespaceAfterWords includeWhitespace)
Definition juce_AccessibilityTextHelpers.h:143
static int countDifference(Iter from, Iter to)
Definition juce_AccessibilityTextHelpers.h:123
ExtendSelection
Definition juce_AccessibilityTextHelpers.h:96
@ no
Definition juce_AccessibilityTextHelpers.h:97
static auto makeCharPtrIteratorAdapter(CharPtr ptr)
Definition juce_AccessibilityTextHelpers.h:76
static int findNextLineOffset(CharPtr beginIn, CharPtr endIn, CharPtr ptrIn, Direction direction, IncludeThisBoundary includeBoundary)
Definition juce_AccessibilityTextHelpers.h:187
static Range< int > findNewSelectionRangeAndroid(const AccessibilityTextInterface &textInterface, BoundaryType boundaryType, ExtendSelection extend, Direction direction)
Definition juce_AccessibilityTextHelpers.h:279
IncludeThisBoundary
Definition juce_AccessibilityTextHelpers.h:105
@ no
Definition juce_AccessibilityTextHelpers.h:106
@ yes
Definition juce_AccessibilityTextHelpers.h:107
Direction
Definition juce_AccessibilityTextHelpers.h:90
@ forwards
Definition juce_AccessibilityTextHelpers.h:91
static int findTextBoundary(const AccessibilityTextInterface &textInterface, int currentPosition, BoundaryType boundary, Direction direction, IncludeThisBoundary includeBoundary, IncludeWhitespaceAfterWords includeWhitespace)
Definition juce_AccessibilityTextHelpers.h:227
IncludeWhitespaceAfterWords
Definition juce_AccessibilityTextHelpers.h:114
@ no
Definition juce_AccessibilityTextHelpers.h:115
@ yes
Definition juce_AccessibilityTextHelpers.h:116
return c
Definition crypt.c:175
typedef int(UZ_EXP MsgFn)()