43 if (passwordCharacter == 0)
52 if (passwordCharacter == 0)
82 if (! other.
atoms.isEmpty())
86 if (!
atoms.isEmpty())
88 auto& lastAtom =
atoms.getReference (
atoms.size() - 1);
92 auto& first = other.
atoms.getReference(0);
96 lastAtom.atomText += first.atomText;
97 lastAtom.numChars = (
uint16) (lastAtom.numChars + first.numChars);
106 while (
i < other.
atoms.size())
119 for (
int i = 0;
i <
atoms.size(); ++
i)
121 auto& atom =
atoms.getReference(
i);
122 auto nextIndex = index + atom.numChars;
124 if (index == indexToBreakAt)
127 section2->atoms.add (
atoms.getUnchecked (
j));
133 if (indexToBreakAt >= index && indexToBreakAt < nextIndex)
140 section2->atoms.add (secondAtom);
142 atom.atomText = atom.atomText.substring (0, indexToBreakAt - index);
144 atom.numChars = (
uint16) (indexToBreakAt - index);
146 for (
int j =
i + 1;
j <
atoms.size(); ++
j)
147 section2->atoms.add (
atoms.getUnchecked (
j));
161 for (
auto& atom :
atoms)
169 for (
auto& atom :
atoms)
171 auto nextIndex = index + atom.numChars;
175 if (range.
getEnd() <= index)
178 auto r = (range - index).getIntersectionWith ({ 0, (
int) atom.numChars });
181 mo << atom.atomText.substring (
r.getStart(),
r.getEnd());
192 for (
auto& atom :
atoms)
193 total += atom.numChars;
205 for (
auto& atom :
atoms)
221 while (!
text.isEmpty())
227 if (
text.isWhitespace() && *
text !=
'\r' && *
text !=
'\n')
234 while (
text.isWhitespace() && *
text !=
'\r' && *
text !=
'\n');
249 else if (*
text ==
'\n')
256 while (! (
text.isEmpty() ||
text.isWhitespace()))
315 bool forceNewLine =
false;
334 if (! lastAtom.isWhitespace())
344 auto*
s =
sections.getUnchecked (section);
346 if (
s->atoms.size() == 0)
349 auto& nextAtom =
s->atoms.getReference (0);
351 if (nextAtom.isWhitespace())
354 right += nextAtom.width;
356 lineHeight2 =
jmax (lineHeight2,
s->font.getHeight());
357 maxDescent2 =
jmax (maxDescent2,
s->font.getDescent());
368 if (
s->atoms.size() > 1)
375 bool isInPreviousAtom =
false;
382 if (
atom->isNewLine())
385 isInPreviousAtom =
true;
394 if (
atom->isWhitespace())
423 auto* section =
sections.getUnchecked (tempSectionIndex);
428 float nextLineWidth = (
atom !=
nullptr) ?
atom->width : 0.0f;
432 lineWidth = nextLineWidth;
434 if (tempSectionIndex >=
sections.size())
437 bool checkSize =
false;
439 if (tempAtomIndex >= section->atoms.size())
441 if (++tempSectionIndex >=
sections.size())
445 section =
sections.getUnchecked (tempSectionIndex);
452 auto& nextAtom = section->atoms.getReference (tempAtomIndex);
453 nextLineWidth += nextAtom.width;
455 if (
shouldWrap (nextLineWidth) || nextAtom.isNewLine())
499 ga.
draw (
g, transform);
510 g.addTransform (transform);
511 g.reduceClipRegion ({ startX, baselineY, endX - startX, 1 });
534 ga2.
draw (
g, transform);
544 ga2.
draw (
g, transform);
547 g.setColour (selectedTextColour);
548 ga.
draw (
g, transform);
574 if (xToFind <= atomX || atom == nullptr || atom->isNewLine())
585 auto numGlyphs =
g.getNumGlyphs();
588 for (
j = 0;
j < numGlyphs; ++
j)
590 auto& pg =
g.getGlyph(
j);
592 if ((pg.getLeft() + pg.getRight()) / 2 > xToFind)
633 return bottom * 0.5f;
642 if (
atom !=
nullptr &&
atom->isNewLine())
650 float maxWidth = 0.0f;
688 if (numRemaining <= 0)
698 for (split = 0; split <
g.getNumGlyphs(); ++split)
702 const auto numChars =
jmax (1, split);
704 longAtom.width =
g.getGlyph (numChars - 1).getRight();
708 if (shouldStartNewLine)
710 if (split == numRemaining)
726 if (
atom->isNewLine())
747 const Font& newFont,
Colour newColour,
int oldCaret,
int newCaret)
772 return text.length() + 16;
791 range (rangeToRemove),
816 n +=
s->getTotalLength();
841 owner.getTextValue().addListener (
this);
846 owner.getTextValue().removeListener (
this);
861 owner.timerCallbackInt();
866 owner.textWasChangedByValue();
890 auto wordWrapWidth =
owner.getWordWrapWidth();
942 viewport->setWantsKeyboardFocus (
false);
943 viewport->setScrollBarsShown (
false,
false);
994 const bool shouldWordWrap)
997 ||
wordWrap != (shouldWordWrap && shouldBeMultiLine))
1000 wordWrap = shouldWordWrap && shouldBeMultiLine;
1033 peer->refreshTextInputTarget();
1092 if (changeCurrentFont)
1100 uts->colour = overallColour;
1112 uts->colour = newColour;
1114 if (changeCurrentTextColour)
1151 if (
caret ==
nullptr)
1166 if (
caret !=
nullptr
1223 viewport->setScrollBarThickness (newThicknessPixels);
1236 auto newLength = newText.
length();
1240 if (! sendTextChangeMessage)
1260 if (sendTextChangeMessage)
1291 if (
textValue.getValueSource().getReferenceCount() > 1)
1303 if (
textValue.getValueSource().getReferenceCount() > 1)
1361 i.getCharPosition (range.
getStart(), anchor, lh);
1363 auto y1 = std::trunc (anchor.
y);
1372 i.getCharPosition (range.
getEnd(), anchor, lh);
1373 y2 = (
int) (anchor.
y + lh * 2.0f);
1376 auto offset =
i.getYOffset();
1384 if (newCaretPos < 0)
1420 const int desiredCaretY)
1426 auto vx = caretRect.getX() - desiredCaretX;
1427 auto vy = caretRect.getY() - desiredCaretY;
1444 if (desiredCaretY < 0)
1445 vy =
jmax (0, desiredCaretY + vy);
1446 else if (desiredCaretY >
jmax (0,
viewport->getMaximumVisibleHeight() - caretRect.getHeight()))
1447 vy += desiredCaretY + 2 + caretRect.getHeight() -
viewport->getMaximumVisibleHeight();
1450 viewport->setViewPosition (vx, vy);
1464 return { anchor.
x, anchor.
y, 2.0f, cursorHeight };
1470 auto yOffset =
i.getYOffset();
1484 i.indexInText + i.atom->numChars }))
1486 boundingBox.
add (
i.getTextBounds (textRange));
1501 : std::numeric_limits<int>::max();
1519 const auto textRight =
jmax (
viewport->getMaximumVisibleWidth(),
1565 auto viewPos =
viewport->getViewPosition();
1567 auto relativeCursor = caretRect.getPosition() - viewPos;
1573 else if (relativeCursor.x >
jmax (0,
viewport->getMaximumVisibleWidth() - (
wordWrap ? 2 : 10)))
1584 else if (relativeCursor.y < 0)
1586 viewPos.y =
jmax (0, relativeCursor.y + viewPos.y);
1588 else if (relativeCursor.y >
jmax (0,
viewport->getMaximumVisibleHeight() - caretRect.getHeight()))
1590 viewPos.y += relativeCursor.y + 2 + caretRect.getHeight() -
viewport->getMaximumVisibleHeight();
1593 viewport->setViewPosition (viewPos);
1646 (
float) (
y - offset.y));
1654 newText = newText.
replace (
"\r\n",
"\n");
1658 const int insertIndex =
selection.getStart();
1659 const int newCaretPos = insertIndex + newText.
length();
1662 newText.
isNotEmpty() ? newCaretPos - 1 : newCaretPos);
1683 if (selectedText.isNotEmpty())
1694 if (clip.isNotEmpty())
1714 auto clip =
g.getClipBounds();
1723 clip.setY (
roundToInt ((
float) clip.getY() - yOffset));
1727 Colour selectedTextColour;
1738 g.fillPath (boundingBox.toPath(), transform);
1743 while (
i.next() &&
i.lineY < (
float) clip.getBottom())
1745 if (
i.lineY +
i.lineHeight >= (
float) clip.getY())
1747 if (
selection.intersects ({ i.indexInText, i.indexInText + i.atom->numChars }))
1749 i.drawSelectedText (
g,
selection, selectedTextColour, transform);
1750 lastSection =
nullptr;
1754 i.draw (
g, lastSection, transform);
1763 while (i2.
next() && i2.
lineY < (
float) clip.getBottom())
1766 && underlinedSection.intersects ({ i2.indexInText, i2.indexInText + i2.atom->numChars }))
1856 e.mods.isShiftDown());
1859 peer->closeInputMethodContext();
1872 if (
auto* editor = safeThis.getComponent())
1874 editor->menuActive =
false;
1876 if (menuResult != 0)
1877 editor->performPopupMenuAction (menuResult);
1917 if (
e.getNumberOfClicks() > 3)
1926 while (tokenEnd < totalLength)
1928 auto c =
t[tokenEnd];
1937 tokenStart = tokenEnd;
1939 while (tokenStart > 0)
1941 auto c =
t[tokenStart - 1];
1950 if (
e.getNumberOfClicks() > 2)
1952 while (tokenEnd < totalLength)
1954 auto c =
t[tokenEnd];
1956 if (
c !=
'\r' &&
c !=
'\n')
1962 while (tokenStart > 0)
1964 auto c =
t[tokenStart - 1];
1966 if (
c !=
'\r' &&
c !=
'\n')
1983 if (!
viewport->useMouseWheelMoveIfNeeded (
e, wheel))
1994 peer->closeInputMethodContext();
2003 if (moveInWholeWordSteps)
2015 if (moveInWholeWordSteps)
2061 viewport->getVerticalScrollBar().moveScrollbarInSteps (deltaLines);
2100 if (moveInWholeWordSteps)
2183 else if (
key.getTextCharacter() >=
' '
2274 listeners.callChecked (checker, [
this] (
Listener&
l) {
l.textEditorTextChanged (*
this); });
2282 listeners.callChecked (checker, [
this] (
Listener&
l) {
l.textEditorReturnKeyPressed (*
this); });
2290 listeners.callChecked (checker, [
this] (
Listener&
l) {
l.textEditorEscapeKeyPressed (*
this); });
2332 if (
text.isNotEmpty())
2352 nextIndex = index +
sections.getUnchecked (
i)->getTotalLength();
2354 if (insertIndex == index)
2360 if (insertIndex > index && insertIndex < nextIndex)
2370 if (nextIndex == insertIndex)
2392 nextIndex = index +
sections.getUnchecked (
i)->getTotalLength();
2394 if (insertIndex == index)
2396 for (
int j = sectionsToInsert.
size(); --
j >= 0;)
2402 if (insertIndex > index && insertIndex < nextIndex)
2406 for (
int j = sectionsToInsert.
size(); --
j >= 0;)
2415 if (nextIndex == insertIndex)
2416 for (
auto*
s : sectionsToInsert)
2432 auto nextIndex = index +
sections.getUnchecked(
i)->getTotalLength();
2439 else if (range.
getEnd() > index && range.
getEnd() < nextIndex)
2448 if (index > range.
getEnd())
2464 auto nextIndex = index + section->getTotalLength();
2476 caretPositionToMoveTo, removedSections));
2480 auto remainingRange = range;
2484 auto* section =
sections.getUnchecked (
i);
2485 auto nextIndex = index + section->getTotalLength();
2487 if (remainingRange.getStart() <= index && remainingRange.getEnd() >= nextIndex)
2490 remainingRange.setEnd (remainingRange.getEnd() - (nextIndex - index));
2492 if (remainingRange.isEmpty())
2522 s->appendAllText (
mo);
2539 auto nextIndex = index +
s->getTotalLength();
2543 if (range.
getEnd() <= index)
2546 s->appendSubstring (
mo, range - index);
2591 anchor = {
i.getJustificationOffsetX (0), 0 };
2596 i.getCharPosition (index, anchor, lineHeight);
2607 if (
y <
i.lineY +
i.lineHeight)
2610 return jmax (0,
i.indexInText - 1);
2613 return i.indexInText;
2615 if (
x <
i.atomRight)
2616 return i.xToIndex (
x);
2628 auto totalLength =
t.length();
2642 return position +
i;
2650 auto startOfBuffer =
jmax (0, position - 512);
2653 int i = position - startOfBuffer;
2667 return startOfBuffer +
i;
2677 sections.getUnchecked (sectionIndex)->split (charToSplitAt));
2685 auto* s2 =
sections.getUnchecked (
i + 1);
2687 if (s1->font == s2->font
2688 && s1->colour == s2->colour)
2705 { std::make_unique<TextEditorTextInterface> (textEditorToWrap) }),
2706 textEditor (textEditorToWrap)
2738 const auto cursorAtStart =
r.getEnd() ==
textEditor.getHighlightedRegion().getStart()
2739 ||
r.getEnd() ==
textEditor.getHighlightedRegion().getEnd();
2740 textEditor.moveCaretTo (cursorAtStart ?
r.getEnd() :
r.getStart(),
false);
2741 textEditor.moveCaretTo (cursorAtStart ?
r.getStart() :
r.getEnd(),
true);
2763 auto localRects =
textEditor.getTextBounds (textRange);
2766 std::for_each (localRects.begin(), localRects.end(),
2767 [&] (
const Rectangle<int>&
r) { globalRects.add (textEditor.localAreaToGlobal (r)); });
2774 auto localPoint =
textEditor.getLocalPoint (
nullptr, point);
2775 return textEditor.getTextIndexAt (localPoint.x, localPoint.y);
2793 return std::make_unique<EditorAccessibilityHandler> (*
this);
#define copy(x)
Definition ADnoteParameters.cpp:1011
Type jmin(const Type a, const Type b)
Definition MathsFunctions.h:60
Type jmax(const Type a, const Type b)
Definition MathsFunctions.h:48
#define noexcept
Definition DistrhoDefines.h:72
#define nullptr
Definition DistrhoDefines.h:75
CAdPlugDatabase::CRecord::RecordType type
Definition adplugdb.cpp:93
static String repeatedString(StringRef stringToRepeat, int numberOfTimesToRepeat)
Definition String.cpp:1028
AccessibilityHandler(Component &componentToWrap, AccessibilityRole accessibilityRole, AccessibilityActions actions={}, Interfaces interfaces={})
Definition juce_AccessibilityHandler.cpp:55
Definition juce_AccessibilityTextInterface.h:39
Definition juce_Array.h:56
void add(const ElementType &newElement)
Definition juce_Array.h:418
Definition juce_BorderSize.h:42
static bool isWhitespace(char character) noexcept
Definition juce_CharacterFunctions.cpp:59
static bool isLetterOrDigit(char character) noexcept
Definition juce_CharacterFunctions.cpp:90
Definition juce_Colour.h:38
Definition juce_Component.h:2331
bool shouldBailOut() const noexcept
Definition juce_Component.cpp:3252
Definition juce_Component.h:2287
int proportionOfWidth(float proportion) const noexcept
Definition juce_Component.cpp:1111
void setInterceptsMouseClicks(bool allowClicksOnThisComponent, bool allowClicksOnChildComponents) noexcept
Definition juce_Component.cpp:1420
int getHeight() const noexcept
Definition juce_Component.h:274
void addAndMakeVisible(Component *child, int zOrder=-1)
Definition juce_Component.cpp:1554
FocusChangeType
Definition juce_Component.h:1890
@ focusChangedByMouseClick
Definition juce_Component.h:1891
bool hasKeyboardFocus(bool trueIfChildIsFocused) const
Definition juce_Component.cpp:3086
bool isCurrentlyBlockedByAnotherModalComponent() const
Definition juce_Component.cpp:1832
AccessibilityHandler * getAccessibilityHandler()
Definition juce_Component.cpp:3302
void setMouseCursor(const MouseCursor &cursorType)
Definition juce_Component.cpp:1859
void postCommandMessage(int commandId)
Definition juce_Component.cpp:2361
void repaint()
Definition juce_Component.cpp:1917
Component() noexcept
Definition juce_Component.cpp:517
void setColour(int colourID, Colour newColour)
Definition juce_Component.cpp:2242
void setWantsKeyboardFocus(bool wantsFocus) noexcept
Definition juce_Component.cpp:2842
Colour findColour(int colourID, bool inheritFromParent=false) const
Definition juce_Component.cpp:2219
static std::unique_ptr< AccessibilityHandler > createIgnoredAccessibilityHandler(Component &)
Definition juce_Component.cpp:3292
int getWidth() const noexcept
Definition juce_Component.h:271
void mouseWheelMove(const MouseEvent &event, const MouseWheelDetails &wheel) override
Definition juce_Component.cpp:2303
static void JUCE_CALLTYPE beginDragAutoRepeat(int millisecondsBetweenCallbacks)
Definition juce_Component.cpp:2745
bool isEnabled() const noexcept
Definition juce_Component.cpp:3104
ComponentPeer * getPeer() const
Definition juce_Component.cpp:801
LookAndFeel & getLookAndFeel() const noexcept
Definition juce_Component.cpp:2173
void invalidateAccessibilityHandler()
Definition juce_Component.cpp:3297
void addGlobalMouseListener(MouseListener *listener)
Definition juce_Desktop.cpp:245
void removeGlobalMouseListener(MouseListener *listener)
Definition juce_Desktop.cpp:252
Definition juce_Font.h:42
float getHeight() const noexcept
Definition juce_Font.cpp:735
float getStringWidthFloat(const String &text) const
Definition juce_Font.cpp:747
Definition juce_GlyphArrangement.h:117
void addLineOfText(const Font &font, const String &text, float x, float y)
Definition juce_GlyphArrangement.cpp:144
void draw(const Graphics &) const
Definition juce_GlyphArrangement.cpp:706
void removeRangeOfGlyphs(int startIndex, int numGlyphs)
Definition juce_GlyphArrangement.cpp:138
Definition juce_GraphicsContext.h:660
Definition juce_GraphicsContext.h:45
Definition juce_Justification.h:41
@ horizontallyCentred
Definition juce_Justification.h:115
@ bottom
Definition juce_Justification.h:122
@ top
Definition juce_Justification.h:119
@ right
Definition juce_Justification.h:111
Definition juce_KeyPress.h:40
static const int F4Key
Definition juce_KeyPress.h:210
static const int escapeKey
Definition juce_KeyPress.h:190
static const int returnKey
Definition juce_KeyPress.h:191
Definition juce_MemoryOutputStream.h:36
static ModifierKeys currentModifiers
Definition juce_ModifierKeys.h:189
@ commandModifier
Definition juce_ModifierKeys.h:147
@ altModifier
Definition juce_ModifierKeys.h:127
@ IBeamCursor
Definition juce_MouseCursor.h:51
@ ParentCursor
Definition juce_MouseCursor.h:45
Definition juce_MouseEvent.h:39
Definition juce_OwnedArray.h:51
int size() const noexcept
Definition juce_OwnedArray.h:130
ObjectClass * getUnchecked(int index) const noexcept
Definition juce_OwnedArray.h:160
Definition juce_Point.h:42
ValueType y
Definition juce_Point.h:247
ValueType x
Definition juce_Point.h:246
Definition juce_Range.h:40
constexpr ValueType getStart() const noexcept
Definition juce_Range.h:80
constexpr bool isEmpty() const noexcept
Definition juce_Range.h:89
constexpr bool intersects(Range other) const noexcept
Definition juce_Range.h:227
constexpr ValueType getEnd() const noexcept
Definition juce_Range.h:86
JUCE_NODISCARD static constexpr Range emptyRange(const ValueType start) noexcept
Definition juce_Range.h:73
static constexpr Range between(const ValueType position1, const ValueType position2) noexcept
Definition juce_Range.h:59
constexpr ValueType getLength() const noexcept
Definition juce_Range.h:83
Definition juce_Rectangle.h:67
Rectangle< int > getSmallestIntegerContainer() const noexcept
Definition juce_Rectangle.h:840
bool isEmpty() const noexcept
Definition juce_Rectangle.h:121
Definition juce_RectangleList.h:43
void offsetAll(Point< ValueType > offset) noexcept
Definition juce_RectangleList.h:589
void add(RectangleType rect)
Definition juce_RectangleList.h:110
Definition juce_ScopedValueSetter.h:55
Definition juce_String.h:53
CharPointerType getCharPointer() const noexcept
Definition juce_String.h:1153
int length() const noexcept
Definition juce_String.cpp:511
String replace(StringRef stringToReplace, StringRef stringToInsertInstead, bool ignoreCase=false) const
Definition juce_String.cpp:1279
String replaceCharacters(StringRef charactersToReplace, StringRef charactersToInsertInstead) const
Definition juce_String.cpp:1367
static String charToString(juce_wchar character)
Definition juce_String.cpp:359
String substring(int startIndex, int endIndex) const
Definition juce_String.cpp:1498
bool containsAnyOf(StringRef charactersItMightContain) const noexcept
Definition juce_String.cpp:1805
bool isNotEmpty() const noexcept
Definition juce_String.h:316
static String getTextFromClipboard()
Definition juce_linux_Windowing.cpp:798
static void copyTextToClipboard(const String &text)
Definition juce_linux_Windowing.cpp:793
int getTotalNumCharacters() const override
Definition juce_TextEditor.cpp:2724
TextEditorTextInterface(TextEditor &editor)
Definition juce_TextEditor.cpp:2716
void setText(const String &newText) override
Definition juce_TextEditor.cpp:2754
bool isDisplayingProtectedText() const override
Definition juce_TextEditor.cpp:2721
int getOffsetAtPoint(Point< int > point) const override
Definition juce_TextEditor.cpp:2772
bool isReadOnly() const override
Definition juce_TextEditor.cpp:2722
RectangleList< int > getTextBounds(Range< int > textRange) const override
Definition juce_TextEditor.cpp:2761
void setSelection(Range< int > r) override
Definition juce_TextEditor.cpp:2727
Range< int > getSelection() const override
Definition juce_TextEditor.cpp:2725
int getTextInsertionOffset() const override
Definition juce_TextEditor.cpp:2759
TextEditor & textEditor
Definition juce_TextEditor.cpp:2779
String getText(Range< int > r) const override
Definition juce_TextEditor.cpp:2745
Definition juce_TextEditor.cpp:2699
TextEditor & textEditor
Definition juce_TextEditor.cpp:2785
String getHelp() const override
Definition juce_TextEditor.cpp:2710
EditorAccessibilityHandler(TextEditor &textEditorToWrap)
Definition juce_TextEditor.cpp:2701
Definition juce_TextEditor.h:611
Definition juce_TextEditor.h:627
LengthAndCharacterRestriction(int maxNumChars, const String &allowedCharacters)
Definition juce_TextEditor.cpp:1178
int maxLength
Definition juce_TextEditor.h:641
String filterNewText(TextEditor &, const String &) override
Definition juce_TextEditor.cpp:1183
String allowedCharacters
Definition juce_TextEditor.h:640
Definition juce_TextEditor.h:315
Definition juce_TextEditor.cpp:67
void initialiseAtoms(const String &textToParse)
Definition juce_TextEditor.cpp:217
void setFont(const Font &newFont, const juce_wchar passwordCharToUse)
Definition juce_TextEditor.cpp:198
UniformTextSection * split(int indexToBreakAt)
Definition juce_TextEditor.cpp:114
juce_wchar passwordChar
Definition juce_TextEditor.cpp:214
void append(UniformTextSection &other)
Definition juce_TextEditor.cpp:80
void appendSubstring(MemoryOutputStream &mo, Range< int > range) const
Definition juce_TextEditor.cpp:165
UniformTextSection(const UniformTextSection &)=default
void appendAllText(MemoryOutputStream &mo) const
Definition juce_TextEditor.cpp:159
Font font
Definition juce_TextEditor.cpp:211
UniformTextSection(UniformTextSection &&)=default
Array< TextAtom > atoms
Definition juce_TextEditor.cpp:213
Colour colour
Definition juce_TextEditor.cpp:212
int getTotalLength() const noexcept
Definition juce_TextEditor.cpp:188
UniformTextSection(const String &text, const Font &f, Colour col, juce_wchar passwordCharToUse)
Definition juce_TextEditor.cpp:69
void paint(Graphics &) override
Definition juce_TextEditor.cpp:1775
int findWordBreakBefore(int position) const
Definition juce_TextEditor.cpp:2645
void scrollEditorToPositionCaret(int desiredCaretX, int desiredCaretY)
Definition juce_TextEditor.cpp:1419
int getMaximumTextHeight() const
Definition juce_TextEditor.cpp:1509
int getMaximumTextWidth() const
Definition juce_TextEditor.cpp:1504
RectangleList< int > getTextBounds(Range< int > textRange)
Definition juce_TextEditor.cpp:1476
void handleCommandMessage(int) override
Definition juce_TextEditor.cpp:2267
DragType dragType
Definition juce_TextEditor.h:812
void clearInternal(UndoManager *)
Definition juce_TextEditor.cpp:2324
void repaintText(Range< int >)
Definition juce_TextEditor.cpp:1347
bool isTextInputActive() const override
Definition juce_TextEditor.cpp:1047
bool selectAllTextWhenFocused
Definition juce_TextEditor.h:776
void setScrollbarsShown(bool shouldBeEnabled)
Definition juce_TextEditor.cpp:1015
Range< int > selection
Definition juce_TextEditor.h:790
void setMultiLine(bool shouldBeMultiLine, bool shouldWordWrap=true)
Definition juce_TextEditor.cpp:993
@ highlightColourId
Definition juce_TextEditor.h:217
@ textColourId
Definition juce_TextEditor.h:212
@ highlightedTextColourId
Definition juce_TextEditor.h:221
bool moveCaretLeft(bool moveInWholeWordSteps, bool selecting)
Definition juce_TextEditor.cpp:1999
void setCaretPosition(int newIndex)
Definition juce_TextEditor.cpp:1409
int getCaretPosition() const
Definition juce_TextEditor.cpp:1404
bool isEmpty() const
Definition juce_TextEditor.cpp:2573
bool keyStateChanged(bool) override
Definition juce_TextEditor.cpp:2199
int leftIndent
Definition juce_TextEditor.h:791
Array< Range< int > > underlinedSections
Definition juce_TextEditor.h:815
Colour colourForTextWhenEmpty
Definition juce_TextEditor.h:798
bool tabKeyUsed
Definition juce_TextEditor.h:780
OptionalScopedPointer< InputFilter > inputFilter
Definition juce_TextEditor.h:800
UndoManager * getUndoManager() noexcept
Definition juce_TextEditor.cpp:2319
void setBorder(BorderSize< int > border)
Definition juce_TextEditor.cpp:1543
int findWordBreakAfter(int position) const
Definition juce_TextEditor.cpp:2625
void moveCaret(int newCaretPos)
Definition juce_TextEditor.cpp:1382
void reinsert(int insertIndex, const OwnedArray< UniformTextSection > &)
Definition juce_TextEditor.cpp:2385
void mouseWheelMove(const MouseEvent &, const MouseWheelDetails &) override
Definition juce_TextEditor.cpp:1978
void applyColourToAllText(const Colour &newColour, bool changeCurrentTextColour=true)
Definition juce_TextEditor.cpp:1109
Rectangle< int > getCaretRectangle() override
Definition juce_TextEditor.cpp:1453
int getTextWidth() const
Definition juce_TextEditor.cpp:1528
std::unique_ptr< AccessibilityHandler > createAccessibilityHandler() override
Definition juce_TextEditor.cpp:2791
bool clicksOutsideDismissVirtualKeyboard
Definition juce_TextEditor.h:786
String textToShowWhenEmpty
Definition juce_TextEditor.h:797
bool undoOrRedo(bool shouldUndo)
Definition juce_TextEditor.cpp:969
void setIndents(int newLeftIndent, int newTopIndent)
Definition juce_TextEditor.cpp:1531
void insertTextAtCaret(const String &textToInsert) override
Definition juce_TextEditor.cpp:1649
bool returnKeyStartsNewLine
Definition juce_TextEditor.h:774
bool pasteFromClipboard()
Definition juce_TextEditor.cpp:2133
virtual void escapePressed()
Definition juce_TextEditor.cpp:1325
void mouseDown(const MouseEvent &) override
Definition juce_TextEditor.cpp:1841
std::unique_ptr< CaretComponent > caret
Definition juce_TextEditor.h:789
~TextEditor() override
Definition juce_TextEditor.cpp:951
void setPasswordCharacter(juce_wchar passwordCharacter)
Definition juce_TextEditor.cpp:1212
int getTotalNumChars() const
Definition juce_TextEditor.cpp:2560
void newTransaction()
Definition juce_TextEditor.cpp:963
void setSelection(Range< int >) noexcept
Definition juce_TextEditor.cpp:1313
bool deleteBackwards(bool moveInWholeWordSteps)
Definition juce_TextEditor.cpp:2098
std::unique_ptr< Viewport > viewport
Definition juce_TextEditor.h:765
bool scrollDown()
Definition juce_TextEditor.cpp:2064
bool isReadOnly() const noexcept
Definition juce_TextEditor.cpp:1042
void setTemporaryUnderlining(const Array< Range< int > > &) override
Definition juce_TextEditor.cpp:2312
bool wasFocused
Definition juce_TextEditor.h:778
const Font & getFont() const noexcept
Definition juce_TextEditor.h:257
std::function< void()> onFocusLost
Definition juce_TextEditor.h:354
std::function< void()> onEscapeKey
Definition juce_TextEditor.h:351
bool keepCaretOnScreen
Definition juce_TextEditor.h:779
void drawContent(Graphics &)
Definition juce_TextEditor.cpp:1709
bool undo()
Definition juce_TextEditor.cpp:989
void insert(const String &, int insertIndex, const Font &, Colour, UndoManager *, int newCaretPos)
Definition juce_TextEditor.cpp:2329
void setFont(const Font &newFont)
Definition juce_TextEditor.cpp:1084
void remove(Range< int >, UndoManager *, int caretPositionToMoveTo)
Definition juce_TextEditor.cpp:2424
void focusGained(FocusChangeType) override
Definition juce_TextEditor.cpp:2219
Point< int > getTextOffset() const noexcept
Definition juce_TextEditor.cpp:1467
bool wordWrap
Definition juce_TextEditor.h:773
void clear()
Definition juce_TextEditor.cpp:1227
bool moveCaretRight(bool moveInWholeWordSteps, bool selecting)
Definition juce_TextEditor.cpp:2011
void copy()
Definition juce_TextEditor.cpp:1677
bool scrollUp()
Definition juce_TextEditor.cpp:2070
void updateCaretPosition()
Definition juce_TextEditor.cpp:1164
void recreateCaret()
Definition juce_TextEditor.cpp:1147
bool copyToClipboard()
Definition juce_TextEditor.cpp:2118
String getHighlightedText() const
Definition juce_TextEditor.cpp:2555
bool cutToClipboard()
Definition juce_TextEditor.cpp:2125
@ draggingSelectionStart
Definition juce_TextEditor.h:808
@ draggingSelectionEnd
Definition juce_TextEditor.h:809
@ notDragging
Definition juce_TextEditor.h:807
void enablementChanged() override
Definition juce_TextEditor.cpp:1132
std::function< void()> onReturnKey
Definition juce_TextEditor.h:348
bool moveCaretToTop(bool selecting)
Definition juce_TextEditor.cpp:2076
bool moveCaretDown(bool selecting)
Definition juce_TextEditor.cpp:2032
void checkFocus()
Definition juce_TextEditor.cpp:1341
int getLeftIndent() const noexcept
Definition juce_TextEditor.h:504
bool caretVisible
Definition juce_TextEditor.h:771
int totalNumChars
Definition juce_TextEditor.h:794
void setText(const String &newText, bool sendTextChangeMessage=true)
Definition juce_TextEditor.cpp:1234
bool pageDown(bool selecting)
Definition juce_TextEditor.cpp:2050
int getTextHeight() const
Definition juce_TextEditor.cpp:1529
bool moveCaretToEndOfLine(bool selecting)
Definition juce_TextEditor.cpp:2092
void paintOverChildren(Graphics &) override
Definition juce_TextEditor.cpp:1780
bool mouseDownInEditor
Definition juce_TextEditor.h:785
void addListener(Listener *newListener)
Definition juce_TextEditor.cpp:1327
void textWasChangedByValue()
Definition juce_TextEditor.cpp:1289
void mouseDrag(const MouseEvent &) override
Definition juce_TextEditor.cpp:1884
int caretPosition
Definition juce_TextEditor.h:795
void setReadOnly(bool shouldBeReadOnly)
Definition juce_TextEditor.cpp:1024
juce_wchar passwordCharacter
Definition juce_TextEditor.h:799
void moveCaretTo(int newPosition, bool isSelecting)
Definition juce_TextEditor.cpp:1597
int getTextIndexAt(int x, int y) const
Definition juce_TextEditor.cpp:1641
void setEscapeAndReturnKeysConsumed(bool shouldBeConsumed) noexcept
Definition juce_TextEditor.cpp:2149
void coalesceSimilarSections()
Definition juce_TextEditor.cpp:2680
bool popupMenuEnabled
Definition juce_TextEditor.h:775
void setClicksOutsideDismissVirtualKeyboard(bool)
Definition juce_TextEditor.cpp:1037
String getTextInRange(const Range< int > &textRange) const override
Definition juce_TextEditor.cpp:2527
int indexAtPosition(float x, float y) const
Definition juce_TextEditor.cpp:2601
int getTopIndent() const noexcept
Definition juce_TextEditor.h:499
void lookAndFeelChanged() override
Definition juce_TextEditor.cpp:1120
virtual void addPopupMenuItems(PopupMenu &menuToAddTo, const MouseEvent *mouseClickEvent)
Definition juce_TextEditor.cpp:1802
void moveCaretToEnd()
Definition juce_TextEditor.cpp:1414
void checkLayout()
Definition juce_TextEditor.cpp:1514
unsigned int lastTransactionTime
Definition juce_TextEditor.h:792
Range< int > getHighlightedRegion() const override
Definition juce_TextEditor.h:460
virtual void returnPressed()
Definition juce_TextEditor.cpp:1324
void resized() override
Definition juce_TextEditor.cpp:2254
void setJustification(Justification newJustification)
Definition juce_TextEditor.cpp:1072
bool consumeEscAndReturnKeys
Definition juce_TextEditor.h:783
void scrollToMakeSureCursorIsVisible()
Definition juce_TextEditor.cpp:1559
void mouseDoubleClick(const MouseEvent &) override
Definition juce_TextEditor.cpp:1909
void textChanged()
Definition juce_TextEditor.cpp:1296
void setTextToShowWhenEmpty(const String &text, Colour colourToUse)
Definition juce_TextEditor.cpp:1206
bool menuActive
Definition juce_TextEditor.h:781
void setInputFilter(InputFilter *newFilter, bool takeOwnership)
Definition juce_TextEditor.cpp:1196
virtual void performPopupMenuAction(int menuItemID)
Definition juce_TextEditor.cpp:1825
void focusLost(FocusChangeType) override
Definition juce_TextEditor.cpp:2238
bool redo()
Definition juce_TextEditor.cpp:990
void scrollByLines(int deltaLines)
Definition juce_TextEditor.cpp:2059
void setInputRestrictions(int maxTextLength, const String &allowedCharacters=String())
Definition juce_TextEditor.cpp:1201
bool selectAll()
Definition juce_TextEditor.cpp:2140
BorderSize< int > borderSize
Definition juce_TextEditor.h:767
void getCharPosition(int index, Point< float > &, float &lineHeight) const
Definition juce_TextEditor.cpp:2578
bool moveCaretToStartOfLine(bool selecting)
Definition juce_TextEditor.cpp:2081
bool multiline
Definition juce_TextEditor.h:772
Value & getTextValue()
Definition juce_TextEditor.cpp:1283
bool valueTextNeedsUpdating
Definition juce_TextEditor.h:782
bool isCaretVisible() const noexcept
Definition juce_TextEditor.h:145
void setHighlightedRegion(const Range< int > &newSelection) override
Definition juce_TextEditor.cpp:1670
std::function< void()> onTextChange
Definition juce_TextEditor.h:345
void setCaretVisible(bool shouldBeVisible)
Definition juce_TextEditor.cpp:1138
TextHolderComponent * textHolder
Definition juce_TextEditor.h:766
ListenerList< Listener > listeners
Definition juce_TextEditor.h:814
bool readOnly
Definition juce_TextEditor.h:770
void setPopupMenuEnabled(bool menuEnabled)
Definition juce_TextEditor.cpp:1062
TextEditor(const String &componentName=String(), juce_wchar passwordCharacter=0)
Definition juce_TextEditor.cpp:933
void cut()
Definition juce_TextEditor.cpp:1699
void setTabKeyUsedAsCharacter(bool shouldTabKeyBeUsed)
Definition juce_TextEditor.cpp:1057
bool keyPressed(const KeyPress &) override
Definition juce_TextEditor.cpp:2154
void setReturnKeyStartsNewLine(bool shouldStartNewLine)
Definition juce_TextEditor.cpp:1052
void mouseUp(const MouseEvent &) override
Definition juce_TextEditor.cpp:1894
int topIndent
Definition juce_TextEditor.h:791
bool isMultiLine() const
Definition juce_TextEditor.cpp:1010
bool moveCaretWithTransaction(int newPos, bool selecting)
Definition juce_TextEditor.cpp:1988
OwnedArray< UniformTextSection > sections
Definition juce_TextEditor.h:796
bool pageUp(bool selecting)
Definition juce_TextEditor.cpp:2041
UndoManager undoManager
Definition juce_TextEditor.h:788
bool scrollbarVisible
Definition juce_TextEditor.h:777
String getText() const
Definition juce_TextEditor.cpp:2516
void parentHierarchyChanged() override
Definition juce_TextEditor.cpp:1127
BorderSize< int > getBorder() const
Definition juce_TextEditor.cpp:1549
bool moveCaretUp(bool selecting)
Definition juce_TextEditor.cpp:2023
Rectangle< float > getCaretRectangleFloat() const
Definition juce_TextEditor.cpp:1458
void updateValueFromText()
Definition juce_TextEditor.cpp:1274
void splitSection(int sectionIndex, int charToSplitAt)
Definition juce_TextEditor.cpp:2672
void removeListener(Listener *listenerToRemove)
Definition juce_TextEditor.cpp:1328
void paste()
Definition juce_TextEditor.cpp:1688
Font currentFont
Definition juce_TextEditor.h:793
bool deleteForwards(bool moveInWholeWordSteps)
Definition juce_TextEditor.cpp:2109
void setSelectAllWhenFocused(bool shouldSelectAll)
Definition juce_TextEditor.cpp:1067
void applyFontToAllText(const Font &newFont, bool changeCurrentFont=true)
Definition juce_TextEditor.cpp:1090
void setScrollBarThickness(int newThicknessPixels)
Definition juce_TextEditor.cpp:1221
void setScrollToShowCursor(bool shouldScrollToShowCaret)
Definition juce_TextEditor.cpp:1554
Justification justification
Definition juce_TextEditor.h:768
Value textValue
Definition juce_TextEditor.h:801
int getWordWrapWidth() const
Definition juce_TextEditor.cpp:1498
void timerCallbackInt()
Definition juce_TextEditor.cpp:1331
static uint32 getApproximateMillisecondCounter() noexcept
Definition juce_Time.cpp:261
Timer() noexcept
Definition juce_Timer.cpp:316
void startTimer(int intervalInMilliseconds) noexcept
Definition juce_Timer.cpp:332
Definition juce_UndoManager.h:52
bool perform(UndoableAction *action)
Definition juce_UndoManager.cpp:111
int getNumActionsInCurrentTransaction() const
Definition juce_UndoManager.cpp:360
Definition juce_Value.h:139
Definition juce_Value.h:51
Viewport(const String &componentName=String())
Definition juce_Viewport.cpp:160
* e
Definition inflate.c:1404
int * l
Definition inflate.c:1579
unsigned * m
Definition inflate.c:1559
struct huft * t
Definition inflate.c:943
register unsigned j
Definition inflate.c:1576
int y
Definition inflate.c:1588
int g
Definition inflate.c:1573
register unsigned i
Definition inflate.c:1575
static ZCONST unsigned border[]
Definition inflate.c:749
unsigned s
Definition inflate.c:1555
unsigned x[BMAX+1]
Definition inflate.c:1586
unsigned f
Definition inflate.c:1572
struct @113205115357366127300225113341150224053346037032::@137033172036070230260373056156374243321245367362 right
static const char * name
Definition pugl.h:1582
static int int height
Definition pugl.h:1594
virtual ASIOError start()=0
#define JUCE_LEAK_DETECTOR(OwnerClass)
Definition juce_LeakedObjectDetector.h:138
#define TRANS(stringLiteral)
Definition juce_LocalisedStrings.h:208
const Colour transparentBlack
Definition juce_Colours.h:40
@ paste
Definition juce_ApplicationCommandID.h:74
@ del
Definition juce_ApplicationCommandID.h:65
@ redo
Definition juce_ApplicationCommandID.h:86
@ undo
Definition juce_ApplicationCommandID.h:83
@ cut
Definition juce_ApplicationCommandID.h:68
@ copy
Definition juce_ApplicationCommandID.h:71
@ selectAll
Definition juce_ApplicationCommandID.h:77
Definition juce_TextEditor.cpp:917
const int escapeKeyMessageId
Definition juce_TextEditor.cpp:920
const int textChangeMessageId
Definition juce_TextEditor.cpp:918
const int returnKeyMessageId
Definition juce_TextEditor.cpp:919
const int focusLossMessageId
Definition juce_TextEditor.cpp:921
const int maxActionsPerTransaction
Definition juce_TextEditor.cpp:923
static int getCharacterCategory(juce_wchar character) noexcept
Definition juce_TextEditor.cpp:925
Definition carla_juce.cpp:31
unsigned short uint16
Definition juce_MathsFunctions.h:41
constexpr Type jmin(Type a, Type b)
Definition juce_MathsFunctions.h:106
constexpr Type jmax(Type a, Type b)
Definition juce_MathsFunctions.h:94
Type jlimit(Type lowerLimit, Type upperLimit, Type valueToConstrain) noexcept
Definition juce_MathsFunctions.h:262
@ textChanged
Definition juce_AccessibilityEvent.h:71
@ textSelectionChanged
Definition juce_AccessibilityEvent.h:64
wchar_t juce_wchar
Definition juce_CharacterFunctions.h:42
constexpr int rightEdgeSpace
Definition juce_TextEditor.cpp:1496
bool isPositiveAndBelow(Type1 valueToTest, Type2 upperLimit) noexcept
Definition juce_MathsFunctions.h:279
int roundToInt(const FloatType value) noexcept
Definition juce_MathsFunctions.h:465
AccessibilityRole
Definition juce_AccessibilityRole.h:37
@ staticText
Definition juce_AccessibilityRole.h:45
@ editableText
Definition juce_AccessibilityRole.h:46
Definition juce_MouseEvent.h:392
Definition juce_TextEditor.cpp:31
String atomText
Definition juce_TextEditor.cpp:33
String getTrimmedText(const juce_wchar passwordCharacter) const
Definition juce_TextEditor.cpp:50
bool isNewLine() const noexcept
Definition juce_TextEditor.cpp:39
bool isWhitespace() const noexcept
Definition juce_TextEditor.cpp:38
String getText(juce_wchar passwordCharacter) const
Definition juce_TextEditor.cpp:41
int numChars
Definition juce_TextEditor.cpp:35
float width
Definition juce_TextEditor.cpp:34
Definition juce_TextEditor.cpp:745
InsertAction(TextEditor &ed, const String &newText, int insertPos, const Font &newFont, Colour newColour, int oldCaret, int newCaret)
Definition juce_TextEditor.cpp:746
const String text
Definition juce_TextEditor.cpp:777
int getSizeInUnits() override
Definition juce_TextEditor.cpp:770
const Colour colour
Definition juce_TextEditor.cpp:780
const Font font
Definition juce_TextEditor.cpp:779
bool undo() override
Definition juce_TextEditor.cpp:764
TextEditor & owner
Definition juce_TextEditor.cpp:776
const int oldCaretPos
Definition juce_TextEditor.cpp:778
const int insertIndex
Definition juce_TextEditor.cpp:778
bool perform() override
Definition juce_TextEditor.cpp:758
const int newCaretPos
Definition juce_TextEditor.cpp:778
Definition juce_TextEditor.cpp:277
int indexInText
Definition juce_TextEditor.cpp:667
const float wordWrapWidth
Definition juce_TextEditor.cpp:678
const juce_wchar passwordCharacter
Definition juce_TextEditor.cpp:679
float atomX
Definition juce_TextEditor.cpp:669
void drawSelectedText(Graphics &g, Range< int > selected, Colour selectedTextColour, AffineTransform transform) const
Definition juce_TextEditor.cpp:515
float lineY
Definition juce_TextEditor.cpp:668
float maxDescent
Definition juce_TextEditor.cpp:668
Iterator(const TextEditor &ed)
Definition juce_TextEditor.cpp:278
void moveToEndOfLastAtom()
Definition juce_TextEditor.cpp:720
float getJustificationOffsetX(float lineWidth) const
Definition juce_TextEditor.cpp:470
Iterator(const Iterator &)=default
const float lineSpacing
Definition juce_TextEditor.cpp:680
const TextAtom * atom
Definition juce_TextEditor.cpp:670
const Point< float > bottomRight
Definition juce_TextEditor.cpp:677
TextAtom longAtom
Definition juce_TextEditor.cpp:682
bool chunkLongAtom(bool shouldStartNewLine)
Definition juce_TextEditor.cpp:684
const OwnedArray< UniformTextSection > & sections
Definition juce_TextEditor.cpp:673
int atomIndex
Definition juce_TextEditor.cpp:675
Rectangle< int > getTextBounds(Range< int > range) const
Definition juce_TextEditor.cpp:658
int getTotalTextHeight()
Definition juce_TextEditor.cpp:636
float atomRight
Definition juce_TextEditor.cpp:669
float getYOffset()
Definition juce_TextEditor.cpp:617
void draw(Graphics &g, const UniformTextSection *&lastSection, AffineTransform transform) const
Definition juce_TextEditor.cpp:479
int sectionIndex
Definition juce_TextEditor.cpp:675
void drawUnderline(Graphics &g, Range< int > underline, Colour colour, AffineTransform transform) const
Definition juce_TextEditor.cpp:503
void beginNewLine()
Definition juce_TextEditor.cpp:416
float lineHeight
Definition juce_TextEditor.cpp:668
bool shouldWrap(const float x) const noexcept
Definition juce_TextEditor.cpp:734
float indexToX(int indexToFind) const
Definition juce_TextEditor.cpp:553
bool getCharPosition(int index, Point< float > &anchor, float &lineHeightFound)
Definition juce_TextEditor.cpp:600
int getTextRight()
Definition juce_TextEditor.cpp:648
int xToIndex(float xToFind) const
Definition juce_TextEditor.cpp:572
bool next()
Definition juce_TextEditor.cpp:304
Justification justification
Definition juce_TextEditor.cpp:676
const UniformTextSection * currentSection
Definition juce_TextEditor.cpp:674
const bool underlineWhitespace
Definition juce_TextEditor.cpp:681
Definition juce_TextEditor.cpp:787
RemoveAction(TextEditor &ed, Range< int > rangeToRemove, int oldCaret, int newCaret, const Array< UniformTextSection * > &oldSections)
Definition juce_TextEditor.cpp:788
const int newCaretPos
Definition juce_TextEditor.cpp:824
OwnedArray< UniformTextSection > removedSections
Definition juce_TextEditor.cpp:825
bool perform() override
Definition juce_TextEditor.cpp:798
const int oldCaretPos
Definition juce_TextEditor.cpp:824
int getSizeInUnits() override
Definition juce_TextEditor.cpp:811
const Range< int > range
Definition juce_TextEditor.cpp:823
bool undo() override
Definition juce_TextEditor.cpp:804
TextEditor & owner
Definition juce_TextEditor.cpp:822
Definition juce_TextEditor.cpp:882
std::unique_ptr< AccessibilityHandler > createAccessibilityHandler() override
Definition juce_TextEditor.cpp:903
int lastWordWrapWidth
Definition juce_TextEditor.cpp:909
TextEditor & owner
Definition juce_TextEditor.cpp:908
bool reentrant
Definition juce_TextEditor.cpp:910
TextEditorViewport(TextEditor &ed)
Definition juce_TextEditor.cpp:883
void visibleAreaChanged(const Rectangle< int > &) override
Definition juce_TextEditor.cpp:885
Definition juce_TextEditor.cpp:834
TextEditor & owner
Definition juce_TextEditor.cpp:869
std::unique_ptr< AccessibilityHandler > createAccessibilityHandler() override
Definition juce_TextEditor.cpp:872
TextHolderComponent(TextEditor &ed)
Definition juce_TextEditor.cpp:835
~TextHolderComponent() override
Definition juce_TextEditor.cpp:844
void paint(Graphics &g) override
Definition juce_TextEditor.cpp:849
void restartTimer()
Definition juce_TextEditor.cpp:854
void timerCallback() override
Definition juce_TextEditor.cpp:859
void valueChanged(Value &) override
Definition juce_TextEditor.cpp:864
static bool invokeKeyFunction(CallbackClass &target, const KeyPress &key)
Definition juce_TextEditorKeyMapper.h:43
const char * text
Definition swell-functions.h:167
int n
Definition crypt.c:458
return c
Definition crypt.c:175
ZCONST char * key
Definition crypt.c:587
int r
Definition crypt.c:458
void handler(int signal)
Definition fileio.c:1632
typedef int(UZ_EXP MsgFn)()
mo
Definition zipinfo.c:2287
#define const
Definition zconf.h:137