Update: 2026-06-21 18:58:05

This commit is contained in:
Hamza-Ayed
2026-06-21 18:58:13 +03:00
parent b492b5076b
commit e73be65a72
8755 changed files with 92977 additions and 99 deletions

View File

@@ -0,0 +1,602 @@
€ópoint direction==toStringhashCode_currentOffset _currentLine_currentTextPosition _lineMetrics _editable_isValidisValid_positionCache_getTextPositionForLinecurrentmoveNext movePrevious moveByOffset_foregroundRenderObject_backgroundRenderObjectdispose_updateForegroundPainterforegroundPainter_foregroundPainter_updatePainterpainter_painter
_caretPainter_selectionPainter_autocorrectHighlightPainter_builtInForegroundPainters _cachedBuiltInForegroundPainters _createBuiltInForegroundPainters_builtInPainters_cachedBuiltInPainters_createBuiltInPainters
ignorePointertextHeightBehaviortextWidthBasisdevicePixelRatio_devicePixelRatioobscuringCharacter_obscuringCharacter obscureText _obscureTextselectionHeightStyleselectionWidthStyletextSelectionDelegateselectionStartInViewport_selectionStartInViewportselectionEndInViewport_selectionEndInViewport_getTextPositionVerticalgetLineAtOffsetgetWordBoundarygetTextPositionAbovegetTextPositionBelow!_updateSelectionExtentsVisibility_setTextEditingValue
_setSelectionmarkNeedsPaintsystemFontsDidChange plainTexttext _textPainter_cachedAttributedValue_cachedCombinedSemanticsInfos_textIntrinsicsCache_textIntrinsics textAlign
textDirectionlocale
strutStyle cursorColorbackgroundCursorColor_disposeShowCursor
showCursor _showCursor_showHideCursorhasFocus _hasFocus forceLine
_forceLinereadOnly _readOnlymaxLines _maxLinesminLines _minLinesexpands_expandsselectionColortextScaleFactor
textScaler selection
_selectionoffset_offset cursorWidth _cursorWidth cursorHeight
_cursorHeightpaintCursorAboveText_paintCursorOnTop cursorOffset cursorRadiusstartHandleLayerLink_startHandleLayerLinkendHandleLayerLink_endHandleLayerLinkfloatingCursorAddedMarginfloatingCursorOn_floatingCursorOn_floatingCursorTextPositionenableInteractiveSelection_enableInteractiveSelectionselectionEnabledpromptRectColorsetPromptRectRangemaxScrollExtent_maxScrollExtent _caretMargin clipBehavior
_clipBehavior_semanticsInfo_cachedChildNodesgetBoxesForSelectiondescribeSemanticsConfiguration_handleSetTextassembleSemanticsNode_createShowOnScreenFor_handleSetSelection#_handleMoveCursorForwardByCharacter$_handleMoveCursorBackwardByCharacter_handleMoveCursorForwardByWord_handleMoveCursorBackwardByWord _getNextWord_getPreviousWord_onlyWhitespaceattachdetachredepthChildren
visitChildren _isMultiline
_viewportAxis _paintOffset_viewportExtent_getMaxScrollExtent_hasVisualOverflowgetEndpointsForSelectiongetRectForComposingRangegetPositionForPointgetLocalRectForCaretcomputeMinIntrinsicWidthcomputeMaxIntrinsicWidthpreferredLineHeight_cachedLineBreakCount_countHardLineBreaks_preferredHeightcomputeMinIntrinsicHeightcomputeMaxIntrinsicHeightcomputeDistanceToActualBaseline hitTestSelfhitTestChildren_tap
_longPress handleEvent_lastTapDownPosition_lastSecondaryTapDownPositionlastSecondaryTapDownPositionhandleSecondaryTapDown
handleTapDown_handleTapDown handleTap
_handleTaphandleDoubleTaphandleLongPress_handleLongPressselectPositionselectPositionAtwordBoundaries
selectWordselectWordsInRangeselectWordEdgegetWordAtOffset_placeholderDimensions_adjustConstraints_computeTextMetricsIfNeeded_caretPrototype_computeCaretPrototype_snapToPhysicalPixelcomputeDryLayoutcomputeDryBaseline
performLayout_relativeOrigin_previousOffset_shouldResetOrigin_resetOriginOnLeft_resetOriginOnRight_resetOriginOnTop_resetOriginOnBottom"_resetFloatingCursorAnimationValue_calculateAdjustedCursorOffset$calculateBoundedFloatingCursorOffsetsetFloatingCursor_lineNumberForstartVerticalCaretMovement_paintContents_leaderLayerHandler_paintHandleLayersapplyPaintTransformpaint_clipRectLayerdescribeApproximatePaintClipdebugFillPropertiesdebugDescribeChildrenparentisRepaintBoundary
sizedByParent
shouldRepainthighlightPainthighlightColor_highlightColorhighlightedRange_highlightedRange_selectionHeightStyle_selectionWidthStyle shouldPaint _shouldPaintshowRegularCaret
caretPaintfloatingCursorPaint
caretColor _caretColor
_cursorRadius
_cursorOffset_backgroundCursorColorfloatingCursorRect_floatingCursorRectpaintRegularCursorpainters addListenerremoveListener
_kCaretGap_kCaretHeightOffset_kFloatingCursorSizeIncrease_kFloatingCursorRadius6_kShortestDistanceSquaredWithFloatingAndRegularCursorsTextSelectionPointVerticalCaretMovementRunRenderEditable_RenderEditableCustomPaintRenderEditablePainter_TextHighlightPainter
_CaretPainter_CompositeRenderEditablePainter<65>žBoxHeightStyle
BoxWidthStyle LineMetricsSemanticsInputTypeTextBoxdouble
EdgeInsets symmetric
horizontalverticalRadiuscircular immutableOffset
TextDirectionoverrideboolObject identical runtimeTypepoint directionStringltrrtlinthash TextPositioncurrentIteratorList _textPaintercomputeLineMetricsMapMapEntrydxbaselinegetPositionForOffsetlengthkeyvaluedy RenderBox"RelayoutWhenSystemFontsChangeMixinContainerRenderObjectMixinTextParentData%RenderInlineChildrenContainerDefaultsTextLayoutMetrics TextAlignstartViewportOffsetzero
InlineSpanColor
ValueNotifier LayerLink
StrutStyle
Deprecated
TextScaler noScaling
TextSelectionTextHeightBehaviorTextWidthBasisparentLocalemaxfromLTRB TextRangeCliphardEdge
characters TextPaintertext textAlign
textDirection
textScalerlinearlocalemaxLines
strutStyletextHeightBehaviortextWidthBasishighlightColorhighlightedRangeselectionHeightStyleselectionWidthStylepromptRectRange
caretColor cursorRadius cursorOffsetbackgroundCursorColoraddAllchildrenvoidlayerdisposepainterspainter
adoptChildmarkNeedsLayoutmarkNeedsSemanticsUpdateTextSelectionDelegateValueListenablegetOffsetForCaret translategetLineBoundary
baseOffset extentOffsetendgetWordBoundarypreferredLineHeightisValidRectsizeoffsetaffinityinflatecontainsTextEditingValueSelectionChangedCauseuserUpdateTextEditingValuetextEditingValuecopyWithmin selectionmarkNeedsPaintsystemFontsDidChange plainTextAttributedStringInlineSpanSemanticsInformationellipsisjustifyCupertinoColors inactiveGrayFloatingCursorDragStateattachedremoveListener addListener shouldPainttextScaleFactorCompositedTransformTargetKey
SemanticsNodegetBoxesForSelectionboxHeightStyle
boxWidthStylemap fromLTRBDtextBoxlefttoprightbottomtoListSemanticsConfigurationdescribeSemanticsConfigurationgetSemanticsInformationanyinfo
recognizerdefaultTargetPlatformTargetPlatformmacOSisSemanticBoundaryexplicitChildNodes StringBufferStringAttributesemanticsLabelstringAttributes
infoAttributerangeaddcopywritetoString
attributesattributedValue
isObscured isMultiline isFocused isFocusable isTextField
isReadOnly inputTypeonSetSelection onSetText
textSelectiongetOffsetBeforeonMoveCursorBackwardByWordonMoveCursorBackwardByCharactergetOffsetAfteronMoveCursorForwardByWordonMoveCursorForwardByCharacter collapsedkeyboardIterable
isNotEmpty
firstChildcombineSemanticsInfo
isPlaceholder elementAtisTagged PlaceholderSpanIndexSemanticsTag
parentData
childAfterisEmptyfirsttoRectskipexpandToIncludefromLTWHwidth constraintsmaxWidthheight maxHeight
floorToDouble ceilToDoublesortKeyOrdinalSortKeyattributedLabelTapGestureRecognizer VoidCallbackDoubleTapGestureRecognizerhandleronTapisLinkLongPressGestureRecognizerGestureLongPressCallback onLongPressparentPaintClipRect intersectisHiddenremovekeys UniqueKey showOnScreen
updateWithconfigrectchildrenInInversePaintOrder
descendantextent isCollapsedi
codeUnitAt isWhitespace
PipelineOwnerattach
debugOwner onTapDowndetach RenderObject redepthChildredepthChildrenRenderObjectVisitor
visitChildrenAxispixelshasSizeSize clampDoublelastfoldaccumincomingshift
globalToLocalgetFullHeightForCaretiOS
heightDiffandroidfuchsialinuxwindows caretHeighttopLeftPlaceholderDimensionslayoutInlineChildreninfinityBoxConstraintschildgetMinIntrinsicWidthChildLayoutHelpergetDryBaselinesetPlaceholderDimensionslayoutminWidthminIntrinsicWidthgetMaxIntrinsicWidthmaxIntrinsicWidthindexminLinesgetMaxIntrinsicHeightdryLayoutChild TextBaselinecomputeDistanceToActualBaseline protectedBoxHitTestResultposition GlyphInfogetClosestGlyphForOffsetgraphemeClusterLayoutBoundsgetSpanForPositiongraphemeClusterCodeUnitRange
HitTestTarget HitTestEntryspanhitTestInlineChildren PointerEventBoxHitTestEntrydebugHandleEventPointerDownEventdebugNeedsLayout
addPointerTapDownDetailsglobalPositioncausetap onDoubleTap doubleTap longPress EditableTextTextEditingControllerfromto WordBoundarywordBoundariesbase TextAffinityupstreamvisibleForTesting fromPosition
downstream
localToGlobalisFiniteroundconstrainWidthconstrainHeight layoutChild getBaselinepositionInlineChildreninlinePlaceholderBoxestightapplyViewportDimensionapplyContentDimensionsshouldResetOriginEndresetLerpValuelerpfloatingCursorRect inflateRectshowRegularCaret lineMetrics
lineNumberdescent_PaintingContext
paintChildpaintcanvaspaintInlineChildren LayerHandle LeaderLayerlink pushLayerMatrix4defaultApplyPaintTransformnone pushClipRectneedsCompositing clipBehavioroldLayer
ClipRectLayer antiAliasantiAliasWithSaveLayerDiagnosticPropertiesBuilderdebugFillProperties
ColorPropertyDiagnosticsProperty IntProperty defaultValueDiagnosticsNodetoDiagnosticsNodenamestyleDiagnosticsTreeStyle
transition
shouldRepaint_computeTextMetricsIfNeededbiggestnotifyListenersforegroundPainter
CustomPainterRenderCustomPaintChangeNotifierCanvasPaintcolorSettoSetdrawRectbox _paintOffsetgetLocalRectForCaretcenterdistanceSquaredRRectfromRectAndRadius drawRRect_floatingCursorTextPosition withOpacityiteratormoveNextIterator RenderBox"RelayoutWhenSystemFontsChangeMixinContainerRenderObjectMixin%RenderInlineChildrenContainerDefaultsTextLayoutMetricsChangeNotifierRenderEditablePainteryZ5Œ(¸úÔûqþìâ€á€ó€ömath€ö dart:math<01><13>_BoxHeightStyle
BoxWidthStyle LineMetricsSemanticsInputTypeTextBox€ý<00>
<EFBFBD>ui<75>dart:ui<00>c"package:characters/characters.dart<00><>package:flutter/foundation.dart<00>ºpackage:flutter/gestures.dart<00>âpackage:flutter/semantics.dart package:flutter/services.dart4box.dartGcustom_paint.dartc
layer.dartxlayout_helper.dart‚• object.dart‚«paragraph.dart‚Äviewport_offset.dartÀ½ÀÂJŒU<€†€¤€¥€Ö€ß€à€ü<E282AC>a<EFBFBD>b<EFBFBD><62><EFBFBD>¹<EFBFBD>á
23FbwªÃâムƒ>ƒ?ƒ<>ƒÀ„„*„-„.„e„¡„¢……D…<44>…І†l†m†¶‡‡)‡D‡€‡¸‡¹ˆˆDˆZˆ[ˆ–ˆ¸ˆ¹ˆÅˆè‰
‰#‰O‰c‰i‰É‰Í‰Î‰Ú‰ðŠŠ9ŠbŠzŠ<7A>Š…Š†ŠŠÇŠÉŠÊd|‹€‹ÊŒŒdŒ³<C592><04>Q<EFBFBD>}<7D><><EFBFBD>ÏŽŽn޽<C5BD> <0B>)<29>-<2D>T<EFBFBD>^<5E>f<EFBFBD>p<EFBFBD>À<EFBFBD>
<EFBFBD>\<5C>¬<EFBFBD>ùGX\ªùFlƒÄ““^“¯“ë“ï”D”^”b”°••N•j•­•˕ߕö,EJKdx<78>žÉëì——G—M——±—·˜˜C˜X˜m˜<6D>˜˜ä™4™p™¤™¼™Â™×™Û™ÜššMšNš™š®šË"Dag<67><EFBFBD>äœEœœÁœÖœÚœÛœç<C593><04><19>:<3A>><3E>?<3F>K<EFBFBD>_<EFBFBD>t<EFBFBD>§<EFBFBD>»<EFBFBD>Áž ž7žZž…žžšžžÄžÊŸŸŸ/ŸLŸ`ŸfŸÅŸÜŸÿ * ; ? @ ‚ › ¡ ç í¡%¡J¡{¡”¡Ò¡í¡þ¢¢¢¢[¢z¢¢•¢<E280A2>¢£¢Ï¢Ó¢Õ¢Ö£#£L£P£š£ê¤¤¤f¤µ¥¥S¥¢¥¹¥½¦
¦^¦¢¦É¦Ò¦þ§=§k§Ž§à§æ¨$¨*¨y¨¨Í©©^©d©­©¾©Ñ©çªª<ªTªvªª¯ªÜ«««1«K«g««“«´¬#¬_¬e¬‡¬¹¬×¬û­­6­Q­}­¸­Ý­û®®-®G®a®ˆ®¯®Ò¯¯W¯}¯É¯é°°,°U°y°§°Æ°÷±(±7±„±¸±Â±Ñ²²S²]²l²¼³³&³`³ƒ³¿³â³÷´´=´u´§´Â´Ûµµ)µZµƒµ<C692>µÌµé¶¶!¶@¶Y¶|¶¡¶Ò··@·u·¦·×·ú¸¸6¸[¸<>¸²¸é¸ê¹!¹U¹˜¹Ù¹Úººbºcº<63>º¾ºí».»/»`»}»“»—»˜»³»ê¼!¼"¼.¼A¼g¼<67>¼³¼Û¼ÿ½ ½Q½x½¡½È½ô¾¾2¾N¾s¾¾®¾Ð¾Ö¾ë¾ï¾ð¿5¿…¿ª¿ÕÀ@,À@9À@:À@eÀ@ÁÀ@ëÀA#ÀA0ÀAkÀAqÀAÀAšÀAÀAÜÀBÀB ÀBUÀBÀBÆÀC ÀC9ÀCvÀC¢ÀC°ÀC¶ÀCàÀCäÀCåÀD ÀDpÀDÀD¶ÀEÀEÀEÀE<ÀE˜ÀEÂÀEúÀFÀFBÀFHÀFcÀFgÀFhÀF°ÀF×ÀFÝÀG)ÀGtÀG<>ÀGÁÀGäÀHÀH9ÀHGÀHMÀHmÀHqÀHrÀH‡ÀHÑÀI
ÀIÀI,ÀIwÀIÍÀIÎÀJÀJaÀJ¦ÀJíÀKÀKkÀKrÀKvÀKwÀK±ÀKìÀL'ÀLdÀL<>ÀL¹ÀLßÀLúÀM,ÀM5ÀM<ÀM@ÀMAÀMŒÀMœÀM¢ÀMïÀN:ÀNjÀNpÀN¿ÀNÿÀOÀO8ÀONÀOOÀOyÀOÊÀPÀP4ÀPBÀPHÀPuÀPŒÀP<>ÀPÀPÌÀQÀQ=ÀQmÀQ{ÀQ<>ÀQªÀQÁÀQÅÀQÆÀQóÀQùÀRCÀRwÀR“ÀRºÀRßÀRíÀRóÀSÀS)ÀS-ÀS.ÀSpÀSvÀSŸÀS×ÀSõÀTÀTFÀTTÀTZÀT„ÀT¥ÀT¼ÀTÀÀTÁÀUÀU,ÀUAÀUaÀUÀU<>ÀUÀU°ÀUÓÀUóÀU÷ÀUøÀVBÀVHÀV‡ÀVßÀWÀWIÀWMÀWNÀW˜ÀWžÀWÜÀX1ÀXeÀX˜ÀXœÀX<>ÀXëÀY+ÀY1ÀYÀY¥ÀYÔÀYÕÀZ,ÀZ2ÀZ~ÀZÎÀ[À[,À[2À[À[ÊÀ[çÀ\:À\<5C>À\ŽÀ\ãÀ\éÀ]5À]~À]ÍÀ]çÀ]íÀ^:À^…À^¢À^ñÀ_BÀ_CÀ_ƒÀ_ÛÀ`5À`ŠÀ`ÏÀ`ÓÀ`ÔÀ`òÀ`óÀa5ÀaAÀazÀa½Àb
Àb!ÀblÀbrÀb¼ÀbÀÀbÁÀbýÀc Àc>ÀcqÀcuÀcvÀc½ÀcÉÀdÀdPÀdÀdÚÀe#ÀeaÀe Àe¤Àe¥ÀeìÀeøÀf5ÀfÀfÊÀg ÀgRÀg<>ÀgÎÀgÒÀgÓÀgïÀgðÀh3ÀhRÀhqÀh ÀhÍÀhÛÀháÀiÀiÀiTÀi¡Ài¸Ài¿ÀjÀjVÀj¤ÀjÞÀk/Àk|ÀkŸÀkÓÀk÷Àl)Àl*ÀlgÀl²ÀlÉÀlÐÀmÀm&ÀmVÀmZÀm[Àm±ÀmøÀmüÀmýÀnNÀnoÀn½Ào ÀoYÀo¥ÀoöÀp.Àp7ÀpˆÀpÙÀqÀqKÀq“ÀqœÀq¢Àq¼Àr
ÀrÀr!Àr%Àr&Àr2ÀrLÀrhÀr°ÀrßÀsÀsÀsÀsÀs?ÀsaÀs…Às‰ÀsŠÀsËÀsÑÀtÀt>Àt‰Àt»Àt¼ÀtüÀuÀuHÀuuÀu—ÀuÃÀv
Àv*ÀvPÀv^ÀvdÀv†Àv¥ÀvÈÀvòÀw Àw)Àw-Àw.ÀwSÀwwÀw«ÀwÌÀw÷Àx*ÀxWÀx€Àx©ÀxÎÀxûÀy0ÀynÀyrÀysÀy¦ÀyÛÀyþÀz)Àz7Àz=ÀzaÀzxÀz|Àz}Àz£Àz©ÀzìÀ{-À{3À{<7B>À{ÐÀ|À|gÀ|·À|ÇÀ}À}MÀ}•À}×À~À~1À~?À~EÀ~mÀ~„À~¤À~¨À~©À~úÀÀ À¯ÀÿÀ€'À€-À€yÀ€‰À€¶À€ÔÀ€üÀ<00>
À<00>À<00><00><00><00><00>•À<00>·À<00>ðÀÀ‚’À‚–À‚—À‚ÈÀ‚þÀƒ ÀƒFÀƒJÀƒKÀƒ•ÀƒºÀƒÀÀÀ À„HÀ„NÀ„^À„dÀ„³À„ÇÀÀ…>À…oÀ…sÀ…tÀ<>À<>À…³À…èÀ À†9À†YÀ†gÀ†mÀ<>À†´À†ºÀ†ØÀ†õÀÀÀ‡6À‡JÀ‡cÀ‡“À‡™À<>À‡žÀ‡¹À‡ëÀ‡ïÀ‡ðÀˆˆˆˆˆ˜Àˆ¦Àˆ¬ÀˆÃÀˆãÀˆçÀˆèÀ‰=À‰aÀ‰|À‰šÀ‰¹À‰ÇÀ‰ÍÀ‰åÀ‰üÀŠÀŠÀŠ3ÀŠUÀŠoÀŠŒÀŠªÀЏÀоÀŠÕÀŠõÀŠùÀŠúÀ‹™À‹µÀ‹»À‹üÀŒÀŒPÀŒ ÀŒÝÀŒÿÀ<00>À<00>À<00><00>À<00>ªÀ<00>ÇÀ<00>ÕÀ<00>ÛÀ<00>òÀ<00>óÀŽCÀŽ“À޽ÀŽðÀ<00>À<00> À<00> À<00><00><00><00><00>ÉÀ<00>æÀ<00>À<00><00><00><00><00><00><00><00>¦À<00>ÆÀ<00>×À<00>óÀÀÀ‘‰À‘ÊÀ‘ïÀÀ’„À’ŠÀ’ÂÀ’ÈÀÀ“8À“GÀ“fÀ“ÓÀ
ÀÀ”OÀ”^À”}À”êÀ•$À•(À•NÀ•yÀ•}À•~À•µÀ•íÀÀ–ŽÀ–’À–“À–ÆÀ–ÌÀÀÀ—XÀ—ƒÀ—±À—ÎÀ—öÀ˜À˜˜˜˜˜‡À˜§À˜«À˜¬À˜âÀ˜èÀ™8À™„À™ÌÀ™ôÀšÀš3ÀšOÀš]ÀšcÀšwÀš¥Àš«ÀšÀÀšÔÀšÿÀÀÀ À›ŒÀ›®À›ÏÀ›ÝÀ›ãÀ›ýÀœÀœÀœÀœ<ÀœBÀœŸÀœ¥À<00>À<00><00>»À<00>þÀžÀž;Àž]ÀžkÀžqÀžŒÀž£Àž§Àž¨ÀžðÀŸ;ÀŸAÀŸ<>ÀŸµÀŸÊÀ À À     œÀ ÜÀ¡ À¡,À¡rÀ¡¤À¡ÂÀ¡ÆÀ¡ÇÀ¢À¢UÀ¢[À¢ŸÀ¢èÀ£9À£<>À£–À£ÏÀ£òÀ¤À¤À¤À¤VÀ¤\À¤<>À¤ÇÀ¤ëÀ¥À¥À¥À¥IÀ¥OÀ¥šÀ¥ðÀ¦/À¦RÀ¦€À¦ªÀ¦¸À¦¾À¦áÀ¦÷À¦ûÀ¦üÀ§+À§1À§|À§ÐÀ¨ À¨,À¨XÀ¨€À¨ŽÀ¨”À¨µÀ¨ËÀ¨ÏÀ¨ÐÀ©À©=À©CÀ©<>À©•À©¥À©«À©úÀªÀª6Àª7Àª~Àª°ÀªÒÀ«À«À«=À«CÀ«‡À«ÊÀ«òÀ¬0À¬sÀ¬¨À¬®À¬òÀ­­­…À­ÌÀ­ñÀ®!À®QÀ®_À®eÀ®ŽÀ®¥À®ÅÀ®ÉÀ®ÊÀ¯À¯GÀ¯MÀ¯‘À¯ÔÀ¯üÀ°:À°}À°²À°¸À±À±,À±2À±…À±ÎÀ±ÔÀ²À²]À²¤À²âÀ³À³7À³;À³<À³pÀ³vÀ³ÅÀ´À´´²À´ÿÀµ(ÀµdÀµhÀµiÀµÆÀÀÀ¶WÀ¶]À¶ºÀ· À·<À·zÀ·~À·À··À·½À¸À¸¸¸ À¸¿À¸ÀÀ¸÷À¸øÀ¹.À¹4À¹WÀ¹<>À¹§À¹ÈÀ¹êÀºÀºÀºAÀºGÀºKÀºLÀº<>Àº¬ÀºäÀºåÀ»1À»€À»¿À»éÀ¼À¼À¼cÀ¼ªÀ¼×À¼ÝÀ½À½\À½À½—À½¶À½ËÀ½ûÀ¾)À¾3À¾AÀ¾sÀ¾ŸÀ¾ÊÀ¾÷À¿%À¿DÀ¿QÀ¿[À¿nÀ¿rÀ¿sÀ¿À¿ÆÀ¿øÀÀ;ÀÀŠÀÀØÀÀ÷ÀÁ.ÀÁ<>ÀÁÈÀÁðÀÂAÀÂgÀÂtÀ˜À½ÀÂËÀÂÑÀÂûÀÃÀÃnÀÃ}ÀäÀüÀÃìÀÄ9ÀÄzÀÄÉÀÅ
ÀÅ&ÀÅHÀÅjÀÅ¡ÀÅÔÀÅçÀÅøÀÆÀÆÀÆ2ÀÆTÀÆ^ÀƼÀÆÄÀÆÊÀÆÕÀÇÀÇ(ÀÇKÀÇqÀÇŽÀÇ©ÀÇÄÀÇâÀÈ/ÀÈiÀÈ™ÀÈšÀÈÂÀÈõÀÈûÀÈüÀÉÀÉFÀÉLÀÉMÀÉŠÀɲÀÉýÀÊ ÀÊUÀÊ©ÀʱÀÊûÀË
ÀËQÀË£ÀË«À˱À˵À˶ÀËÛÀÌÀÌ)ÀÌ=ÀÌ~À̇ÀÌ­ÀÌ´À̸À̹ÀÌÅÀÌãÀÌûÀÍÀÍDÀÍJÀÍŒÀÍ·ÀÍëÀÎÀÎÀÎ+ÀÎIÀÎaÀ΄ÀζÀÏÀÏ[ÀϽÀÏÞÀÏßÀÏÿÀÐMÀДÀÐÃÀÐØÀÐÿÀÑPÀÑšÀÑÝÀÒ
ÀÒ0ÀÒKÀÒUÀÒyÀÒ˜ÀÒ§ÀÒÚÀÓ/ÀÓLÀÓ`ÀÓjÀÓ”ÀÓÆÀÔÀÔ9ÀÔiÀÔsÀÔ¶ÀÔúÀÕÀÕ<ÀÕ_ÀÕ•ÀÕÍÀÕØÀÖ&ÀÖwÀÖœÀÖÇÀÖñÀ×À××׊À׺À×çÀØÀØEÀØtÀØ<>ÀؤÀØíÀÙBÀÙeÀÙ’ÀÙ½ÀÙËÀÚ0ÀÚWÀÚŽÀÚœÀÚ±ÀÚÄÀÚ×ÀÛ&ÀÛ0ÀÛ`ÀÛ³ÀÜÀÜ ÀÜ6ÀÜlÀܼÀÜÍÀÜðÀÝIÀÝSÀÝdÀÝ’ÀݲÀÝãÀÞÀÞÀÞÀÞ;ÀÞŠÀÞŽÀÞ<>ÀÞÁÀÞÑÀß ÀßCÀßJÀßNÀßOÀß–ÀßÖÀàÀàÀàSÀà‘Àà•Àà–ÀàÙÀàøÀáLÀálÀázÀá€ÀáÔÀáçÀâ0ÀâVÀâ]ÀâaÀâbÀâ¦ÀâÅÀãÀã:ÀãHÀãNÀã¢ÀãµÀãþÀä$Àä+Àä/Àä0ÀänÀä<>ÀäàÀåÀå;ÀåIÀåOÀå¤Àå·ÀæÀæ(Àæ/Àæ3Àæ4ÀæsÀæ’ÀæåÀç2ÀçRÀç`ÀçfÀç¿ÀçÒÀè!ÀèGÀèNÀèRÀèSÀè{ÀèŽÀèèÀéÀé.Àé6Àé[ÀéqÀéyÀé“Àé™Àé<>ÀéžÀéÊÀéäÀê>ÀêoÀê„ÀêŒÀê±ÀêÇÀêÏÀêïÀêõÀëÀë
Àë ÀëUÀëfÀëkÀë¯ÀìÀìCÀìmÀì¡ÀìÒÀí ÀíÀí'Àí-Àí>ÀíBÀíCÀíOÀítÀí<>Àí¹ÀíåÀíæÀîÀî;ÀîWÀî¶ÀîßÀîöÀï$Àï(Àï)Àï5ÀïGÀï[ÀïuÀï¡ÀïÒÀïæÀð
Àð4Àð8Àð9ÀðEÀð`Àð£ÀðæÀñ Àñ.Àñ4ÀñWÀñ|Àñ‚ÀñŸÀñ£Àñ¤Àñ°ÀñäÀò'ÀòjÀò<>Àò­Àò³ÀòÖÀòöÀòüÀóÀó"Àó#ÀóMÀóNÀóšÀó›ÀóÑÀôÀô7Àô<Àô=Àô\ÀôqÀô•ÀôºÀôÞÀôåÀôéÀôêÀõÀõ0ÀõTÀõœÀõäÀõëÀõïÀõðÀöCÀö’ÀöèÀöéÀ÷6À÷<À÷<>À÷ÝÀø*ÀøvÀøÂÀøÈÀøØÀøÞÀùÀùXÀù§ÀùÊÀùËÀùøÀùùÀú2ÀúKÀúxÀú<>ÀúÁÀúñÀúþÀûÀûaÀûÅÀüÀübÀüoÀüŠÀüíÀýÀýÀý|Àý“Àý¶ÀýðÀþ'Àþ0Àþ6Àþ:Àþ;ÀþŠÀþ»ÀþÁÀÿÀÿÀÿ$ÀÿuÀÿ—ÀÿËÀÿúÀ
ÀÀÄÀðÀÀÍÀ×ÀöÀúÀûÀ§ÀÙÀ†À©ÀÀ À
À„ÀËÀÀ˜ÀÞÀýÀ‹ÀéÀŒÀ<07>À´ÀÊÀÓÀÀ
À¯ÀÔÀóÀ À ŒÀ ¯À ÉÀ óÀ
À




œÀ
¿À À  ·À èÀ À   ˜À ØÀ óÀ
À
À
À
À

<EFBFBD>À
”À
•À
¡À
ÔÀ¸ÀàÀçÀ„ÀÀÀÜÀàÀáÀíÀ À‹ÀÏÀÀ—À¿ÀÆÀ À§ÀÈÀÞÀâÀãÀ½À¾ÀÜÀÀŒÀÇÀïÀ
À…À À»ÀÑÀÙÀßÀ À
ÀÀ–ÀÚÀÀÀÔÀãÀŸÀ§ÀÚÀàÀáÀ‹À¤ÀóÀ<1A>À×À¯ÀÀÀ<1C>À”À˜À™À¥À÷ÀøÀÀ<1D>À<1D>ÀºÀäÀíÀôÀÀÀÀŽÀÑÀÕÀÖÀâÀÀÀÀµÀ À ©À øÀ!<À!fÀ!†À!ÝÀ"À"ZÀ"fÀ"vÀ"<22>À"²À"ÚÀ"ïÀ"ýÀ#>À#DÀ#HÀ#IÀ#kÀ#™À#šÀ#¦À#æÀ$À$7À$XÀ$YÀ$uÀ$´À$ÔÀ$úÀ%À%À% À%
À%-À%VÀ%WÀ%§À%óÀ&À&À&bÀ&cÀ&—À&<26>À&ëÀ'À'FÀ'yÀ'µÀ'¹À'ºÀ(À(QÀ(aÀ(gÀ(²À(ÜÀ) À)>À)BÀ)CÀ)sÀ)<29>À)«À)¯À)°À)þÀ*CÀ*SÀ*YÀ*¤À*ÉÀ*ÞÀ+À+À+À+/À+KÀ+\À+`À+aÀ+¯À,À,À,À,dÀ,<2C>À,¨À,àÀ,äÀ,åÀ-3À-„À-”À-šÀ-æÀ.À.,À.dÀ.hÀ.iÀ.…À.¡À.¸À.¼À.½À.øÀ.þÀ/@À/ŽÀ/ÜÀ0+À01À0wÀ0¾À0ÓÀ1À1TÀ1XÀ1YÀ1™À1ŸÀ1ðÀ2À2À2¢À2ëÀ3À3À3LÀ3[À3ªÀ3«À3ÛÀ4#À4$À4LÀ4jÀ4ŒÀ4³À4ºÀ4»À4ãÀ4çÀ4èÀ5#À5eÀ5fÀ5¤À5ªÀ5éÀ6%À6hÀ6lÀ6mÀ6ÊÀ6ÐÀ7+À71À7{À7«À7±À7ðÀ8 À8&À86À8`À8gÀ8ŠÀ8ÓÀ8ýÀ9À9FÀ9uÀ9ŒÀ9ÛÀ:À:*À:QÀ:–À:—À:ªÀ:¿À;À;uÀ;šÀ;£À;°À;·À;»À;¼À;øÀ;þÀ<=À<}À< À<ÊÀ=À=JÀ=QÀ=”À=¹À=âÀ>$À>1À>’À>˜À>ÀÀ>ÄÀ>ÅÀ? À?"À?7À?pÀ?ÀÀ?ïÀ@À@iÀ@rÀ@xÀ@ÇÀ@ÞÀA)ÀA/ÀArÀAÀA²ÀAÔÀBÀBDÀBhÀB“ÀB™ÀB»ÀB¼ÀC ÀCYÀCÀC™ÀCèÀD9ÀDNÀDmÀD¾ÀEÀE)ÀEJÀEpÀE²ÀEÖÀFÀF+ÀF†ÀFÀFñÀGÀG0ÀGXÀG¼ÀGÊÀH+ÀH7ÀH\ÀHÀH¢ÀHÇÀHØÀHàÀHæÀHçÀI1ÀI5ÀI6ÀIÀI‡ÀIÖÀJ&ÀJmÀJ¤ÀJ¥ÀJßÀJúÀK!ÀK(ÀKuÀKÁÀKÎÀLÀLAÀLHÀLLÀLMÀLžÀL­ÀL²ÀMÀMLÀMÀMæÀMöÀMûÀNLÀNÀNäÀOÀORÀOWÀO£ÀOóÀP<ÀPWÀP~ÀPÁÀPçÀQ
ÀQÀQUÀQYÀQZÀQwÀQxÀQÅÀQÊÀRÀR_ÀRqÀR“ÀR¸ÀR×ÀRøÀSJÀSmÀS<>ÀS±ÀSÔÀSýÀT ÀT+ÀTBÀTvÀT<>ÀT‡ÀTÀTŒÀTÚÀTùÀU.ÀUkÀU¥ÀU¸ÀU×ÀV/ÀV>ÀV]ÀVµÀVÄÀVËÀVÏÀVÐÀVÜÀVéÀW)ÀWlÀWÀW¸ÀW¿ÀWÓÀWõÀXÀX3ÀX_ÀXÀXÀXžÀXÖÀXùÀYÀYiÀYÆÀYÊÀYËÀY×ÀZ2ÀZuÀZÀZÁÀZÈÀZÜÀZþÀ[À[<À[hÀ[”À[ŸÀ[§À[ßÀ\%À\)À\*À\6À\OÀ\ˆÀ\»À\×À\üÀ]!À](À]kÀ]‘À]·À]¾À]ÏÀ^À^@À^‚À^ À^¡À^ÄÀ^ãÀ_,À_eÀ_œÀ_ðÀ`À`9À`VÀ`ŒÀ`´À`½À`ÄÀ`ÅÀa ÀaaÀabÀa¤Àa¥ÀaÞÀbÀbÀbQÀb…Àb¿ÀbÃÀbÄÀcÀcfÀcªÀcÒÀcíÀdÀd2ÀdVÀdxÀd<>ÀdËÀdÌÀe Àe~ÀeÜÀfÀf Àf
Àf]ÀfcÀfsÀfyÀfÈÀfÜÀg?ÀggÀg£ÀgÂÀg÷ÀhÀh?Àh}ÀhÀhïÀiFÀiGÀilÀišÀi Ài¡ÀiÀÀj
ÀjÀjÀj7ÀjqÀjwÀjxÀjÌÀkÀkIÀk¦ÀkÈÀlÀldÀl‡Àl<>ÀlÂÀmÀm?Àm~ÀmÝÀnÀnÀnÀnMÀnÀnÔÀnöÀo ÀoÀoÀoTÀouÀo¾ÀoàÀoæÀp&ÀpFÀp<>Àp³Àp¹ÀpºÀpáÀpâÀpýÀqÀqÀqNÀqkÀqqÀq<>Àq‡ÀqÖÀqêÀrÀr'ÀrAÀrfÀrÀr‰Àr¹ÀrÞÀrüÀsÀsAÀsbÀs…Às©Às¯ÀsíÀt&ÀtCÀtyÀtÂÀuÀu]Àu‡Àu¿ÀuçÀvÀvÀvDÀvJÀvÀvŸÀv ÀwÀwHÀw|ÀwÐÀwùÀx'ÀxMÀxoÀx¢Àx­ÀxµÀx»ÀyÀy2ÀyYÀy»ÀyÂÀyÆÀyÇÀzÀzMÀzSÀz¤Àz½ÀzÃÀ{ À{À{cÀ{§À{­À{ùÀ|AÀ|…À|ÙÀ}%À}{À}¢À}®À}½À}ÒÀ}éÀ~À~ À~
À~À~NÀ~ˆÀ~‰À~¼À~öÀ~üÀ~ýÀÆÀÀ€3À€fÀ€lÀ€mÀ€¦À€ÙÀ€ÚÀ€ýÀ<01><01><01><01><01>ŽÀ<01><>À<01>ªÀ<01>ÇÀ<01>ïÀÀÀ‚€À‚´À‚»À‚èÀƒ
Àƒ-Àƒ4Àƒ<>Àƒ¢ÀƒÎÀƒçÀÀ„NÀ„WÀ„pÀ„ºÀ„ÏÀ„äÀ„íÀÀ…/À…{À<>À…¥À…®À…´À…¸À…¹À…ÅÀÀ†VÀ†dÀ†jÀ†œÀ† À†¡À†­À†äÀÀ‡BÀ‡uÀ<>À‡ŸÀ‡»À‡ÓÀ‡÷ÀˆÀˆˆˆˆÀˆ…ÀˆºÀˆìÀ‰<À‰BÀ‰FÀ‰GÀ‰™À‰šÀ‰¦À‰áÀ‰ýÀŠÀŠ(ÀŠBÀŠ]ÀŠ…ÀŠÄÀŠÊÀŠÎÀŠÏÀŠÛÀ À‹ŠÀ‹âÀŒÀŒPÀŒ¨ÀŒíÀ<01>À<01><01><01>ÄÀŽÀŽ_ÀŽcÀŽdÀŽpÀŽ¢ÀŽÀÀŽØÀ<01><01><01><01><01><01><01>ÐÀ<01>ÑÀ<01>ÝÀ<01>À<01>À<01><01><01><01><01>€À<01><>À<01>³À<01>ÖÀÀ‘‹À‘ŒÀ‘ÃÀ‘ÛÀ‘áÀ‘âÀ‘öÀ’£À’ÓÀ’ïÀ“(À“UÀ<>À“´À“ºÀ“¾À“¿À“ËÀ“ðÀ” À”4À”8À”9À”EÀ”WÀ”…À”™À<>À”žÀ”ªÀ”·À
ÀÀÀ•ZÀ•xÀ•|À•ËÀÀ–¼À
À—4À—8À—zÀ—ÇÀ˜À˜˜˜À˜<>À˜‘À˜âÀ™(À™oÀ™µÀšÀšFÀš”Àš½ÀšÃÀ À›©À›éÀ›ïÀœ;Àœ€ÀœÐÀœÝÀ<01>À<01>À<01><01><01>¤À<01>òÀž=ÀžCÀž”ÀžãÀŸÀŸbÀŸdÀŸeÀŸ¡ÀŸïÀ À     <>À ·À ßÀ¡À¡À¡À¡:À¡QÀ¡UÀ¡VÀ¡ŽÀ¡®À¡ÜÀ¢À¢À¢À¢;À¢RÀ¢VÀ¢WÀ¢¡À¢§À¢æÀ£-À£rÀ£¨À£ÒÀ£àÀ£æÀ¤ À¤ À¤$À¤%À¤oÀ¤uÀ¤³À¤÷À¥9À¥mÀ¥–À¥¤À¥ªÀ¥ÌÀ¥ãÀ¥çÀ¥èÀ¥ôÀ¦<À¦kÀ¦”À¦ÓÀ¦áÀ¦çÀ¦èÀ§
À§KÀ§vÀ§•À§àÀ¨À¨>À¨HÀ¨ZÀ¨[À¨zÀ¨‘À¨<>À¨³À¨ãÀ©7À©OÀ©XÀ©^À©bÀ©cÀ©oÀ©ªÀ©ÒÀ©æÀ©ìÀª ÀªLÀªRÀª†Àª¾ÀªúÀ«>À«~À«‚À«„À«…À«¹À«ÌÀ«ÍÀ«õÀ¬À¬1À¬QÀ¬_À¬eÀ¬À¬–À¬šÀ¬›À¬ÚÀ¬òÀ¬÷À­­­€À­<>À­¥À­×À­ØÀ®À®À®7À®dÀ®rÀ®xÀ®yÀ®’À®©À®­À®®À®ÛÀ®ôÀ¯À¯:À¯HÀ¯NÀ¯iÀ¯€À¯„À¯…À¯±À¯×À¯úÀ°À°*À°0À°KÀ°bÀ°fÀ°gÀ°¥À°ÆÀ°òÀ±*À±8À±>À±?À±cÀ±À±˜À±žÀ±¢À±£À±ÚÀ±÷À²À²GÀ²UÀ²[À²|À²“À²—À²˜À²³À²ÆÀ²éÀ²ÿÀ³À³$À³uÀ³ŒÀ³´À³ÛÀ´´ƒÀ´•À´ŸÀ´§À´ÒÀ´÷ÀµÀµFÀµUÀµŸÀµÑÀµÙÀµßÀµãÀµäÀµðÀ¶8À¶|À¶}À¶¼À¶½À·
À·À·À·À·]À·^À·—À·±À·ÌÀ·ìÀ·üÀ¸¸¸“À¸”À¸²À¹À¹ À¹
À¹UÀ¹mÀ¹ÂÀ¹ÐÀ¹ÖÀ¹×À¹íÀº8ÀºpÀºwÀº{Àº|ÀºˆÀºÃÀºëÀºÿÀ»À»À»%À»?À»EÀ»qÀ»£À»ßÀ¼À¼CÀ¼wÀ¼½À¼ûÀ¼ÿÀ½À½À½HÀ½…À½†À½´À½µÀ½ÁÀ½íÀ¾)À¾NÀ¾TÀ¾XÀ¾YÀ¾eÀ¾”À¾ÐÀ¾øÀ¾þÀ¿À¿À¿À¿WÀ¿“À¿ÆÀ¿ÌÀ¿ÐÀ¿ÑÀ¿ÝÀÀÀÀ@ÀÀTÀÀZÀÀ•ÀÀÏÀÀâÀÀèÀÀéÀÁ@ÀÁ‹ÀÁÊÀÂÀÂ#ÀÂ+ÀÂ1ÀÂ2ÀÂDÀÂHÀÂJ0/// @docImport 'package:flutter/cupertino.dart';€à€ö€ü<01><01><13>_<EFBFBD>b<00><><00>¹<00>á
3Fbw‚”‚ª‚Lj‡š‡›‡›
‡ ‡§‡§‡¬‡F‡Fq9/// Creates a description of a point in a text selection.ˆS‡»€<C2BB>ˆS€†/// Coordinates of the lower left or lower right corner of the selection,
/// relative to the top left of the [RenderEditable] object.ˆ­ˆ]Yˆ­8/// Direction of the text at this edge of the selection.ŠˆŠ‰ŠˆŠˆ>ŠœˆØˆØ ˆßˆ»ˆ¼ˆ»ˆ»<CB86>ˆÕ‰Ð‰Ñ‰Ð‰Ð€´‰ã†m†m„[‡/€°/// Represents the coordinates of the point in a selection, and the text
/// direction at that point, relative to top left of the [RenderEditable] that
/// holds the selection.•¯•Ǖɕϕϕԕã•ã•è•ú•ú•ÿ005•¯•¯€š•ÈTMTjfjz!–‡–»– '–»–à–Ë–à–þ–ó–î–ó
šIšJš$šHš%š*š2šGš3š;š
™Þmš
‚Ó˜N<CB9C>//// Whether this [VerticalCaretMovementRun] can still continue.
///
/// A [VerticalCaretMovementRun] run is valid if the underlying text layout
/// hasn't changed.
///
/// The [current] value and the [movePrevious], [moveNext] and [moveByOffset]
/// methods must not be accessed when [isValid] is false.œÝœÞœÝœÝ`œúš‡š‡š‹šPšPšo<02>A<EFBFBD>B<EFBFBD>A<EFBFBD>A<EFBFBD>X<01>Rž<>ž<EFBFBD><C5BE>¡Ÿ `/// Move back to the previous element.
///
/// Returns true and updates [current] if successful.¡9¡9
¡@ B B<42>¡,€Ø/// Move forward or backward by a number of elements determined
/// by pixel [offset].
///
/// If [offset] is negative, move backward; otherwise move forward.
///
/// Returns true and updates [current] if successful.ŠÊŠÊ˜
•pŠŸ/// The consecutive sequence of [TextPosition]s that the caret should move to
/// when the user navigates the paragraph using the upward arrow key or the
/// downward arrow key.
///
/// {@template flutter.rendering.RenderEditable.verticalArrowKeyMovement}
/// When the user presses the upward arrow key or the downward arrow key, on
/// many platforms (macOS for instance), the caret will move to the previous
/// line or the next line, while maintaining its original horizontal location.
/// When it encounters a shorter line, the caret moves to the closest horizontal
/// location within that line, and restores the original horizontal location
/// when a long enough line is encountered.
///
/// Additionally, the caret will move to the beginning of the document if the
/// upward arrow key is pressed and the caret is already on the first line. If
/// the downward arrow key is pressed next, the caret will restore its original
/// horizontal location and move to the second line. Similarly the caret moves
/// to the end of the document if the downward arrow key is pressed when it's
/// already on the last line.
///
/// Consider a left-aligned paragraph:
/// aa|
/// a
/// aaa
/// where the caret was initially placed at the end of the first line. Pressing
/// the downward arrow key once will move the caret to the end of the second
/// line, and twice the arrow key moves to the third line after the second "a"
/// on that line. Pressing the downward arrow key again, the caret will move to
/// the end of the third line (the end of the document). Pressing the upward
/// arrow key in this state will result in the caret moving to the end of the
/// second line.
///
/// Vertical caret runs are typically interrupted when the layout of the text
/// changes (including when the text itself changes), or when the selection is
/// changed by other input events or programmatically (for example, when the
/// user pressed the left arrow key).
/// {@endtemplate}
///
/// The [movePrevious] method moves the caret location (which is
/// [VerticalCaretMovementRun.current]) to the previous line, and in case
/// the caret is already on the first line, the method does nothing and returns
/// false. Similarly the [moveNext] method moves the caret to the next line, and
/// returns false if the caret is already on the last line.
///
/// The [moveByOffset] method takes a pixel offset from the current position to move
/// the caret up or down.
///
/// If the underlying paragraph's layout changes, [isValid] becomes false and
/// the [VerticalCaretMovementRun] must not be used. The [isValid] property must
/// be checked before calling [movePrevious], [moveNext] and [moveByOffset],
/// or accessing [current].©À©Î+©Õ©Õ©á©ë©ë$ªªª%ªª@ª@ªGªXªXª_ªzªzª<>ªŸªŸª¥ª³ª³'ªÆªàªà%ªó« « ««"«"
«'«5«5«:«O«O«[«k«k«r«†«†€ÿ¬p¬‹¬‹,¬–¬½¬½¬Ì¬Û¬Û¬ó¬ÿ¬ÿ­­­­$­:­:­?­U­U&­i­<>­<EFBFBD>5­<>­¼­¼­Ã­á­á­æ­ÿ­ÿ®®®®®1®1®9®K®K®S®e®e!®j®Œ®Œ!®“®³®³®º®Ö®Ö>®è¯¯;¯+¯[¯[ ¯a¯<>¯<EFBFBD>F¯†¯Í¯Í¯Ø¯í¯í¯ô° ° !°°0°0#°>°Y°Y°p°}°}(°”°«°«°¼<00>ª+ª4ª5««D«†«‡«¬c«™«º¬)¬‚¬£¬­¬®­­/­K­¡­¯­°­Ø­ô®(®<>®¢®¨®©®Í®ÿ¯¯¯¯¯A¯C¯D¯Q¯R¯¢¯¨¯²¯³¯»¯Æ¯¼¯¿¯Â¯Å°°!°"°Í°Ó°ô°å°Ý°Ô°à°ñ°è°ó°þ±±%±±±±±"±±$±/±5±±¿±i±S±@±Q±J±A±M±V±g±`±W±c±l±<6C>±v±m±y±<79>±É±Ï² ²Z±ã±Ú±Û±æ² ±ø±ð±ç±ó²±û²²²d²j²º³#²¡²u²~²Ÿ²²‹²•²–²´²¤²·²Å³-³3³]³Y³4³F³G³Q³R³\³g³m³€³z³n³}³Š³<C5A0>³¼³¦³ž³³¡³¶³©³¹³Ó³Æ³Õ³àµŠ³ï³ë³ñ´ ´´ ´,´´.´P´F´´´´]´R´`´j´k´´Ž´<C5BD>´´¥´´´Ñ´Ë´Ó´ì´ä´üµ´÷´î´ú´þµµµµµDµ2µFµqµcµsµ µ”µ­µ¢µ°µ½µÂµ¾µÃµÉµÄµÝµÓµßµúµðµü¶
¶3¶(¶5¶O¶G¶Q¶m¶`¶o¶¶ƒ¶“¶º¶¨¶¼¶õ¶Ù¶÷·,··.·]·G·_·<5F>·|·’·Á·­·Ã·ë·Þ·í¸ ¸¸
¸)¸¸+¸K¸=¸M¸l¸b¸w¸n¸z¸¸ˆ¸¨¸<C2A8>¸«§<C2AB>§<EFBFBD>/// Creates a render object that implements the visual aspects of a text field.
///
/// The [textAlign] argument defaults to [TextAlign.start].
///
/// If [showCursor] is not specified, then it defaults to hiding the cursor.
///
/// The [maxLines] property can be set to null to remove the restriction on
/// the number of lines. By default, it is 1, meaning this is a single-line
/// text field. If it is not null, it must be greater than zero.
///
/// Use [ViewportOffset.zero] for the [offset] if there is no need for
/// scrolling.<»Ñ»šN»Ñ/// Child render objects¼»ì3¼ÀC%ÀC)ÀC%ÀGÚÀÀÀHüÀI ÀI
ÀHìÀHÓ8ÀÀI^ÀIsÀItÀIJÀI.GÀIJÀI´ÀIÉÀIÊÀI•ÀIyRÀI•ÀJ„ÀJcAÀJ„ÀLÀKî7ÀLÀO?ÀMC ÀO?<3F>à/// Whether the [handleEvent] will propagate pointer events to selection
/// handlers.
///
/// If this property is true, the [handleEvent] assumes that this renderer
/// will be notified of input gestures via [handleTapDown], [handleTap],
/// [handleDoubleTap], and [handleLongPress].
///
/// If there are any gesture recognizers in the text span, the [handleEvent]
/// will still propagate pointer events to those recognizers.
///
/// The default value of this property is false.ÀR€ÀRyÀR€ÀSàÀÀÀU3ÀU.ÀU3ÀY½À<58>3ÀY½€ý/// The object that controls the text selection, used by this render object
/// for implementing cut, copy, and paste keyboard shortcuts.
///
/// It will make cut, copy and paste functionality work with the most recently
/// set [TextSelectionDelegate].À\rÀ\À\„À\€À\…À\ŠÀ\†À\VÀ\<OÀ\VÀ_'À_4À_9À_5À_:À_?À_;À_
À^óMÀ_
Àu‰ÀuwÀu‰Àu«Àu™(ÀÀuëÀuÅCÀÀw=Àw0!Àw=À…{À…vÀ…{À…þÀ…êÀ…þÀˆˆˆEÀˆJÀ‰uÀ‰hÀ‰cÀ‰hÀŠhÀŠ\ÀŠWÀŠ\À<00>À<00>À<00>À<00><00>eÀ<00>jÀ<00>ÍÀ<00>È
À<00>ÍÀ—ÂÀ—³À—ÂÀšÀ™öÀšÀ›‡ÀqÀxÀžÀžÀžÀ À À À¦;À¦1À¦;À¨À¨
À¨ÀªÀ¨Ò<C2A8>bÀª<1B>+/// The padding applied to text field. Used to determine the bounds when
/// moving the floating cursor.
///
/// Defaults to a padding with left, top and right set to 4, bottom to 5.
///
/// See also:
///
/// * [FloatingCursorDragState], which explains the floating cursor feature
/// in detail.ÀªËÀª·Àª²Àª·ÀªæÀªÔ-ÀªæÀ­ÔÀ­Î!À­ÔÀ¸¼À¸©À¸¢À¸©À¹˜À¹œÀ¹<>À¹ˆÀ¹ƒ"À¹ˆÀºÔÀºN€”ÀºÔ[/// Collected during [describeSemanticsConfiguration], used by
/// [assembleSemanticsNode].À¼À»ë*À¼ÀÅÀÀÀÅÀ#eÀ#KÀ#eÀ#<23>À#m*À#<23>À%À%À%À%7À%/%À%7ÀJŒÀJo3ÀÀQfÀQ\ÀQfÀcÅÀcËÀcÌÀc³Àc¬$ÀÀcÜÀÀÀd ÀcôÀÀÀd+ÀdÀdÀdÀdOÀd9Àd4 Àd9ÀdqÀd]ÀdXÀd]ÀdÀdÀdz!ÀdÀd§ÀdŸ*ÀÀ<01><01><01>‰À<01><01>ŠÀ<01>À<01><01>=OÀ<01>\À‰{À‰†À‰”À‰‡À‰•À‰–À‰jÀ‰INÀ‰j8ÀA<>ÀA<><41>nÀ<42>/// The [RenderEditablePainter] to use for painting above this
/// [RenderEditable]'s text content.
///
/// The new [RenderEditablePainter] will replace the previously specified
/// foreground painter, and schedule a repaint if the new painter's
/// `shouldRepaint` method returns true.ÀFjÀFj<46>VÀ<47>/// Sets the [RenderEditablePainter] to use for painting beneath this
/// [RenderEditable]'s text content.
///
/// The new [RenderEditablePainter] will replace the previously specified
/// painter, and schedule a repaint if the new painter's `shouldRepaint`
/// method returns true.ÀIÐÀIЀ<C390>ÀÀKyÀKyrÀK<>ÀOQÀOQxÀO“'/// {@macro dart.ui.textHeightBehavior}ÀP“ÀP“|ÀPá8/// {@macro flutter.painting.textPainter.textWidthBasis}ÀQÈÀQÈ€®ÀRPv/// The pixel ratio of the current device.
///
/// Should be obtained by querying MediaQuery for the devicePixelRatio.ÀS0ÀS0€¦ÀS¬j/// Character used for obscuring text if [obscureText] is true.
///
/// Must have a length of exactly one.ÀTÃÀTÃhÀU@/// Whether to hide the text being edited (e.g., for passwords).ÀUúÀUú€äÀVŸ€ˆ/// Controls how tall the selection highlight boxes are computed to be.
///
/// See [ui.BoxHeightStyle] for details on available styles.ÀWPÀWP€àÀWó€‡/// Controls how wide the selection highlight boxes are computed to be.
///
/// See [ui.BoxWidthStyle] for details on available styles.ÀY×ÀY×bÀ\<03>ý/// Track whether position of the start of the selected text is within the viewport.
///
/// For example, if the text contains "Hello World", and the user selects
/// "Hello", then scrolls so only "World" is visible, this will become false.
/// If the user scrolls back so that the "H" is visible again, this will
/// become true.
///
/// This bool indicates whether the text is scrolled so that the handle is
/// inside the text field viewport, as opposed to whether it is actually
/// visible on the screen.À\<5C>À\<5C>`À<>ÿ/// Track whether position of the end of the selected text is within the viewport.
///
/// For example, if the text contains "Hello World", and the user selects
/// "World", then scrolls so only "Hello" is visible, this will become
/// 'false'. If the user scrolls back so that the "d" is visible again, this
/// will become 'true'.
///
/// This bool indicates whether the text is scrolled so that the handle is
/// inside the text field viewport, as opposed to whether it is actually
/// visible on the screen.ÀsŒÀ<73>.Àt€ô/// Returns a plain text version of the text in [TextPainter].
///
/// If [obscureText] is true, returns the obscured text. See
/// [obscureText] and [obscuringCharacter].
/// In order to get the styled text as an [InlineSpan] tree, use [text].Àt¾Àt¾€¶ÀuZ€…/// The text to paint in the form of a tree of [InlineSpan]s.
///
/// In order to get the plain text representation, use [plainText].ÀwUÀwUÀweÀyuÀyueÀy¶0/// How the text should be aligned horizontally.ÀzÀzƒWÀ3/// The directionality of the text.
///
/// This decides how the [TextAlign.start], [TextAlign.end], and
/// [TextAlign.justify] values of [textAlign] are interpreted.
///
/// This is also used to disambiguate how to render bidirectional text. For
/// example, if the [text] is an English phrase followed by a Hebrew phrase,
/// in a [TextDirection.ltr] context the English phrase will be on the left
/// and the Hebrew phrase to its right, while in a [TextDirection.rtl]
/// context, the English phrase will be on the right and the Hebrew phrase on
/// its left.À~«À~«‚
À€—<E282AC>Í/// Used by this renderer's internal [TextPainter] to select a locale-specific
/// font.
///
/// In some cases the same Unicode character may be rendered differently depending
/// on the locale. For example the '骨' character is rendered differently in
/// the Chinese and Japanese locales. In these cases the [locale] may be used
/// to select a locale-specific font.
///
/// If this value is null, a system-dependent algorithm is used to select
/// the font.À<00><00>O€ À<00>Ée/// The [StrutStyle] used by the renderer's internal [TextPainter] to
/// determine the strut to use.À‚™À™dÀ‚Õ./// The color to use when painting the cursor.ÀƒMÀƒM<C692>ÄÀ„Ô<E2809E>e/// The color to use when painting the cursor aligned to the text while
/// rendering the floating cursor.
///
/// Typically this would be set to [CupertinoColors.inactiveGray].
///
/// If this is null, the background cursor is not painted.
///
/// See also:
///
/// * [FloatingCursorDragState], which explains the floating cursor feature
/// in detail.À…’ÀUÀ…Í /// Whether to paint the cursor.À‡òÀ‡òPÀˆ,./// Whether the editable is currently focused.ÀˆêÀˆêvÀ‰HR/// Whether this rendering object will take a full line regardless the text width.ÀŠÀŠQÀŠ>//// Whether this rendering object is read only.ÀŠüÀŠü‚ÀŒè<C592>Î/// The maximum number of lines for the text to span, wrapping if necessary.
///
/// If this is 1 (the default), the text will not wrap, but will extend
/// indefinitely instead.
///
/// If this is null, there is no limit to the number of lines.
///
/// When this is not null, the intrinsic height of the render object is the
/// height of one line of text multiplied by this value. In other words, this
/// also controls the height of the actual editing widget.À<00>À<00>TÀ<00>L2/// {@macro flutter.widgets.editableText.minLines}À<00><00>tQÀ<00>±1/// {@macro flutter.widgets.editableText.expands}ÀWrÀ1/// The color to use when painting the selection.À“:À“;À“EÀÀ“KÀ“jÀ“×À$*À<1E>/// Deprecated. Will be removed in a future version of Flutter. Use
/// [textScaler] instead.
///
/// The number of font pixels for each logical pixel.
///
/// For example, if the text scale factor is 1.5, text will be 50% larger than
/// the specified font size.À•€À•€lÀ•Æ4/// {@macro flutter.painting.textPainter.textScaler}À–•À<E28093>À—˜€ã/// The region of text that is selected, if any.
///
/// The caret position is represented by a collapsed selection.
///
/// If [selection] is null, there is no selection and attempts to
/// manipulate the selection will throw.À˜®À˜®<CB9C>EÀ™á<E284A2>/// The offset at which the text should be painted.
///
/// If the text content is larger than the editable line itself, the editable
/// line clips the text. This property controls which part of the text is
/// visible by shifting the text by the given offset before clipping.À#KÀR!/// How thick the cursor will be.ÀœÀœ<1B>âÀ<00>È<EFBFBD>)/// How tall the cursor will be.
///
/// This can be null, in which case the getter will actually return [preferredLineHeight].
///
/// Setting this to itself fixes the value to the current [preferredLineHeight]. Setting
/// this to null returns the behavior of deferring to [preferredLineHeight].ÀžªÀžª<C5BE>UÀŸÕ<C5B8>/// {@template flutter.rendering.RenderEditable.paintCursorAboveText}
/// If the cursor should be painted on top of the text or underneath it.
///
/// By default, the cursor should be painted on top for iOS platforms and
/// underneath for Android platforms.
/// {@endtemplate}À¡ÉÀ¡É‚À££<C2A3>¾/// {@template flutter.rendering.RenderEditable.cursorOffset}
/// The offset that is used, in pixels, when painting the cursor on screen.
///
/// By default, the cursor position should be set to an offset of
/// (-[cursorWidth] * 0.5, 0.0) on iOS platforms and (0, 0) on Android
/// platforms. The origin from where the offset is applied to is the arbitrary
/// location where the cursor ends up being rendered from by default.
/// {@endtemplate}À¤!À¤!€¥À¤g/// How rounded the corners of the cursor should be.
///
/// A null value is the same as [Radius.zero].À¥À¥<1A>À¦€Ï/// The [LayerLink] of start selection handle.
///
/// [RenderEditable] is responsible for calculating the [Offset] of this
/// [LayerLink], which will be used as [CompositedTransformTarget] of start handle.À¦þÀ¦þ<C2A6> À§à€Ë/// The [LayerLink] of end selection handle.
///
/// [RenderEditable] is responsible for calculating the [Offset] of this
/// [LayerLink], which will be used as [CompositedTransformTarget] of end handle.Àª9Àª9vÀª‰D/// Returns true if the floating cursor is visible, false otherwise.À«À«‚ÅÀ­f/// Whether to allow the user to change the selection.
///
/// Since [RenderEditable] does not handle selection manipulation
/// itself, this actually only affects whether the accessibility
/// hints provided to the system (via
/// [describeSemanticsConfiguration]) will enable selection
/// manipulation. It's the responsibility of this object's owner
/// to provide selection manipulation affordances.
///
/// This field is used by [selectionEnabled] (which then controls
/// the accessibility hints mentioned above). When null,
/// [obscureText] is used to determine the value of
/// [selectionEnabled] instead.À®ÌÀ®Ì„nÀ²íƒï/// Whether interactive selection are enabled based on the values of
/// [enableInteractiveSelection] and [obscureText].
///
/// Since [RenderEditable] does not handle selection manipulation
/// itself, this actually only affects whether the accessibility
/// hints provided to the system (via
/// [describeSemanticsConfiguration]) will enable selection
/// manipulation. It's the responsibility of this object's owner
/// to provide selection manipulation affordances.
///
/// By default, [enableInteractiveSelection] is null, [obscureText] is false,
/// and this getter returns true.
///
/// If [enableInteractiveSelection] is null and [obscureText] is true, then this
/// getter returns false. This is the common case for password fields.
///
/// If [enableInteractiveSelection] is non-null then its value is
/// returned. An application might [enableInteractiveSelection] to
/// true to enable interactive selection for a password field, or to
/// false to unconditionally disable interactive selection.À³>À³><3E>ÀÀ´¿€‚/// The color used to paint the prompt rectangle.
///
/// The prompt rectangle will only be requested on non-web iOS applications.À·<>À·<><C2B7>À¸{€ä/// The maximum amount the text is allowed to scroll.
///
/// This value is only valid after layout and can change as additional
/// text is entered or removed in order to accommodate expanding when
/// [expands] is set to true.À¸ÂÀ¸Â4À¸ÍÀ¸úÀ¸ú€†À¹bX/// {@macro flutter.material.Material.clipBehavior}
///
/// Defaults to [Clip.hardEdge].Àó%Àó%'Àó.ÀóPÀóPIÀóYÀó<>Àó<>€žÀó¨Àô?Àô?€©ÀôJÀö”Àö”SÀö<>ÀåÀå€×À„€<E2809E>/// An estimate of the height of a line in the text. See [TextPainter.preferredLineHeight].
/// This does not require the layout to be updated.À%YÀ%Y<>À&#€µ/// {@template flutter.rendering.RenderEditable.lastSecondaryTapDownPosition}
/// The position of the most recent secondary tap down event on this text
/// input.
/// {@endtemplate}À4êÀ4êzÀ568/// {@macro flutter.painting.TextPainter.wordBoundaries}&ÀCQÀCQ!ÀChÀC;ÀC;€¨ÀC?ÀGòÀGò!ÀH ÀGæÀG怊ÀÀOãÀÀÀOÌÀOÌ€ÃÀÀQ%ÀQ%ÀQ4ÀQÀQ€²ÀQÀRªÀ ÀÀR•ÀR•€—ÀR™ÀTÀT ÀTÀS÷ÀS÷€ÈÀÀUSÀUS
ÀUXÀUCÀUC€³ÀUGÀVúÀÀW ÀVáÀVákÀÀXKÀXKÀX\ÀX3ÀX3hÀX7ÀvÀvÀv!Àv Àv <0C> ÀvÀyëÀÀÀyÝÀyÝ€žÀÀ}ëÀÀÀ}ÙÀ}Ù€ÎÀÀ€ÃÀ€Ã
À€ËÀ€¸À€¸€“À€¼ÀÀÀ
À<00>òÀ<00>ò€£À<00>öÀƒÀƒ ÀƒÀƒÀƒIÀƒÀ….À…. À…5ÀÀ^ÀÀÀÀ†0À
À
<EFBFBD><EFBFBD>ÀÀˆˆl
ÀˆqÀˆˆ_€‡ÀˆcÀ‰ŒÀ‰Œ
À‰‘À‰~À‰~€<>À‰‚ÀŠ~ÀŠ~
ÀŠƒÀŠqÀŠq€‡ÀŠuÀ<00><00>t
À<00>yÀ<00>À<00><14>öÀ<00>kP/// The value may be null. If it is not null, then it must be greater than zero.À<00>ØÀ<00>Ø
À<00>ÝÀ<00><00>x€øÀ<00>ÏP/// The value may be null. If it is not null, then it must be greater than zero.À<00>åÀ<00>å
À<00>êÀ<00>ÙÀ<00>ÙzÀ<00>ÝÀ‘ßÀ‘ß À‘æÀ‘ÌÀÌTÀ‘ÐÀ•>À•> À•EÀ”QÀ”RÀ”\À•&À”bÀ<>À”îÀ”QÀ”Q<E2809D>+À•.À•þÀ•þÀ À•ïÀ•À•óÀ—ÞÀ—ÞÀ—íÀ—ÐÀ—ЀÚÀ—ÔÀšÀšÀš*ÀšÀš<10>ÀšÀ›žÀ›ž À›¥À›ŽÀ›Ž€‰ÀÀž*Àž*
Àž2ÀžÀž<>ÀžÀ  5
À :À À <1C>©À  À£âÀ£â À£éÀ£ÑÀ£ÑLÀ£ÕÀ¤ÚÀ¤Ú
À¤âÀ¤ÉÀ¤ÉMÀ¤ÍÀ¦mÀ¦mÀ¦wÀ¦TÀ¦T€¦À¦XÀ¨EÀ¨EÀ¨OÀ¨.À¨.€ À¨2À®À® À®À­óÀ­ó€ÕÀ­÷ÀµÀµÀµÀµÀµfÀµÀ¹ºÀ¹º
À¹¿À¹©À¹©€¡À¹­R¼$¼%¼$¼$‚ʼ5¿¿!¿'¾ò¾ò‚§¾÷ÀCûÀCû!ÀDÀCçÀÀÀJ¨ÀJ¨€ÍÀÀL)ÀL)<29>ÀLIÀ_«ÀÀ_¸À_ÂÀÀÀ_EÀ_E<5F><45>À_=/// Returns the TextPosition above or below the given offset.ÀaaÀaaÀanÀa7Àa8À`õÀ<>ÊÀaQ?/// {@macro flutter.services.TextLayoutMetrics.getLineAtOffset}Àc%Àc%Àc2ÀbÿÀcÀbÃÀbÀ±Àc9/// {@macro flutter.painting.TextPainter.getWordBoundary}ÀcíÀÀÀc¿ÀcÀÀcxÀcx+ÀcØD/// {@macro flutter.services.TextLayoutMetrics.getTextPositionAbove}ÀfÀfÀf)ÀeîÀeïÀe§À*ÀfD/// {@macro flutter.services.TextLayoutMetrics.getTextPositionBelow}ÀhÀhÀh ÀgòÀgò…gÀÀmwÀmwÀmˆÀmÀmÀÀm]Àm]€žÀmbÀnÀnÀn Àn/Àn/ÀnEÀmÿÀmÿ„%ÀnÀr(Àr)Àr(Àr(€éÀr9ÀsÀsÀsÀssÀs&À‡ À NÀ‡¥À·%À·%À·0ÀµkÀµkÀ·<12>D/// Dismisses the currently displayed prompt rectangle and displays a new prompt rectangle
/// over [newRange] in the given color [promptRectColor].
///
/// The prompt rectangle will only be requested on non-web iOS applications.
///
/// When set to null, the currently displayed prompt rectangle (if any) will be dismissed.À½AÀ½AÀ½OÀ¼À¼ƒWÀ½,€ù/// Returns a list of rects that bound the given selection, and the text
/// direction. The text direction is used by the engine to calculate
/// the closest position to a given point.
///
/// See [TextPainter.getBoxesForSelection] for more details.À¿¥À¿¥À¿¼À¿uÀ¿vÀ¿uÀ¿uŒ?À¿†ÀËÌÀËÌ ÀËÓÀ˸À˸€ÿÀ˽ÀÌçÀÌçÀÌõÀÌÿÀÌÿÀÍÀÍ"ÀÍ" ÀÍ:ÀÌ»À̼ÀÌ»ÀÌ»‘ÒÀÌÌÀÞ¶ÀÞ¶ÀÞºÀÞ‘ÀÞ‘€¼ÀÞŸÀà8Àà8ÀàFÀàÀàuÀà$ÀàÁÀàÁÀàÆÀà˜Àà˜<C3A0>ÈÀà<>ÀâŽÀâŽÀâ“ÀâdÀâd<C3A2>ÊÀâiÀäVÀäVÀä[Àä2Àä2Àä7Àæ[Àæ[Àæ`Àæ6Àæ6Àæ;ÀèmÀèm
ÀèqÀèUÀèU<C3A8>GÀè`Àé¼Àé¼
ÀéÀÀé Àé <C3A9>iÀé«ÀìZÀìZÀìdÀìEÀìE€üÀìJÀí]Àí]ÀíkÀíEÀíFÀíEÀíE<C3AD>âÀíVÀï+Àï,Àï+Àï+<2B> Àï<Àð;Àð<Àð;Àð;<3B>gÀðLÀñÅÀñÅÀñÙÀñ¦Àñ§Àñ¦Àñ¦<C3B1>{Àñ·ÀõÀõÀõ ÀôìÀôì<C3B4>ÀôóÀùŒÀùŒÀùšÀöëÀöë‡NÀùsV/// Returns the local coordinates of the endpoints of the given selection.
///
/// If the selection is collapsed (and therefore occupies a single point), the
/// returned list is of length one. Otherwise, the selection is not collapsed
/// and the returned list is of length two. In this case, however, the two
/// points might actually be co-located (e.g., because of a bidirectional
/// selection that contains some text but whose ends meet in the middle).
///
/// See also:
///
/// * [getLocalRectForCaret], which is the equivalent but for
/// a [TextPosition] rather than a [TextSelection].Àÿ¸Àÿ¸ÀÿÂÀþ=Àþ=ƒ¼ÀÿŸ<C3BF>K/// Returns the smallest [Rect], in the local coordinate system, that covers
/// the text within the [TextRange] specified.
///
/// This method is used to calculate the approximate position of the IME bar
/// on iOS.
///
/// Returns null if [TextRange.isValid] is false for the given `range`, or the
/// given `range` is collapsed.ÀmÀtÀýÀý‚ ÀY<>>/// Returns the position in the text for the given global coordinate.
///
/// See also:
///
/// * [getLocalRectForCaret], which is the reverse operation, taking
/// a [TextPosition] and returning a [Rect].
/// * [TextPainter.getPositionForOffset], which is the equivalent method
/// for a [TextPainter] object.ÀÀÀ&À À ‰‡À<04>Ü/// Returns the [Rect] in local coordinates for the caret at the given text
/// position.
///
/// See also:
///
/// * [getPositionForPoint], which is the reverse operation, taking
/// an [Offset] in global coordinates and returning a [TextPosition].
/// * [getEndpointsForSelection], which is the equivalent but for
/// a selection rather than a particular text position.
/// * [TextPainter.getOffsetForCaret], the equivalent method for a
/// [TextPainter] object.À
ÃÀ
Ã
À
ÊÀ
—À
˜À
—À
HÀ
ªÀÀ
ÀÀãÀäÀãÀã‚þÀöÀ÷À÷ ÀþÀÞÀÞ‚.ÀâÀ( À/ÀÀ†‡ÀÀÈÀÈ ÀÏÀ›ÀœÀ›À[À®À' À.ÀúÀûÀúÀú<>!À
ÀRÀ_ÀÀ ÀÀ€µÀ2ÀõÀõÀüÀØÀÙÀØÀØ6ÀéÀ@ÀQÀZÀjÀÀÀÀÀÀ„5À0À#¹ÀÀÀ#ÍÀÀÀ#œÀ#<23>À#œÀ<>oÀ#­À',À',À';À&eÀ&e<>SÀ'€¢/// Tracks the position of a secondary tap event.
///
/// Should be called before attempting to change the selection based on the
/// position of a secondary tap.À(ñÀÀ)À'¼À<>À<>/// If [ignorePointer] is false (the default) then this method is called by
/// the internal gesture recognizer's [TapGestureRecognizer.onTapDown]
/// callback.
///
/// When [ignorePointer] is true, an ancestor widget must respond to tap
/// down events by calling this method.À)YÀ)YÀ)hÀ)EÀ)EiÀ)JÀ)²À<>eÀ<> /// If [ignorePointer] is false (the default) then this method is called by
/// the internal gesture recognizer's [TapGestureRecognizer.onTap]
/// callback.
///
/// When [ignorePointer] is true, an ancestor widget must respond to tap
/// events by calling this method.À+À+DÀ+ À+cÀ+c<>À,”<>/// If [ignorePointer] is false (the default) then this method is called by
/// the internal gesture recognizer's [DoubleTapGestureRecognizer.onDoubleTap]
/// callback.
///
/// When [ignorePointer] is true, an ancestor widget must respond to double
/// tap events by calling this method.À,çÀ<>À.<18>/// If [ignorePointer] is false (the default) then this method is called by
/// the internal gesture recognizer's [LongPressGestureRecognizer.onLongPress]
/// callback.
///
/// When [ignorePointer] is true, an ancestor widget must respond to long
/// press events by calling this method.À.kÀ.kPÀ.pÀ0êÀ0ê$À1 À.¿À.¿‚˜À/// Move selection to the location of the last tap down.
///
/// {@template flutter.rendering.RenderEditable.selectPosition}
/// This method is mainly used to translate user inputs in global positions
/// into a [TextSelection]. When used in conjunction with a [EditableText],
/// the selection change is fed back into [TextEditingController.selection].
///
/// If you have a [TextEditingController], it's generally easier to
/// programmatically manipulate its `value` or `selection` directly.
/// {@endtemplate}À24À24À2DÀ2JÀ2J
À2RÀ2VÀ2V$À2uÀ1[À1[ƒ‹À2"€¹/// Select text between the global positions [from] and [to].
///
/// [from] corresponds to the [TextSelection.baseOffset], and [to] corresponds
/// to the [TextSelection.extentOffset].À5üÀ5ü$À6À5hÀ5h<35>À5ð|/// Select a word around the location of the last tap down.
///
/// {@macro flutter.rendering.RenderEditable.selectPosition}À8À8À8 À8*À8*
À82À8:À8:$À8YÀ6oÀ6o…KÀ<37>r/// Selects the set words of a paragraph that intersect a given range of global positions.
///
/// The set of words selected are not strictly bounded by the range of global positions.
///
/// The first and last endpoints of the selection will always be at the
/// beginning and end of a word respectively.
///
/// {@macro flutter.rendering.RenderEditable.selectPosition}À<TÀ<T$À<sÀ;¾À;¾ƒÀ<Dz/// Move the selection to the beginning or end of a word.
///
/// {@macro flutter.rendering.RenderEditable.selectPosition}À?WÀ?WÀ?dÀ?$À?%À>ÇÀ>ÇŠmÀ?GX/// Returns a [TextSelection] that encompasses the word at the given
/// [TextPosition].ÀJãÀÀÀJþÀJþ!ÀKÀJõÀKÀKÀKÀJ§À<4A>¤ÀÀPYÀPY€ÿÀP^ÀQÌÀ¾ÀRx€ /// On iOS, the cursor is taller than the cursor on Android. The height
/// of the cursor for iOS is approximate and obtained through an eyeball
/// comparison.ÀUÀUÀUÀTûÀ<54>ÓÀUÀWÀW$ÀWÀVÒÀVÓÀVÞÀVßÀVÒÀ÷ÀÀYóÀYó$ÀZ ÀZÀZÀZ&ÀYÍÀYÎÀYÍÀ[ÀÀ\,À\-À\,À\,†–À\=ÀdûÀ
ÀeÀe
Àe
ÀeÀdÎÀ<64>:ÀÀg
Àg
ÀgÀg#Àg#Àg)Àf Àf ŠôÀfå€Å/// Returns the position within the text field closest to the raw cursor offset.
///
/// See also:
///
/// * [FloatingCursorDragState], which explains the floating cursor feature
/// in detail.ÀrÀrÀr Àr+Àr+Àr2ÀrEÀrEÀrRÀrjÀrjÀrrÀqÀq…šÀqñ€Ù/// Sets the screen position of the floating cursor and the text position
/// closest to the cursor.
///
/// See also:
///
/// * [FloatingCursorDragState], which explains the floating cursor feature
/// in detail.ÀvÇÀÀÀvãÀÀÀv¢Àv¢ƒ#Àv¸À|»ÀÀÀyÉÀyÉ„CÀ| ‚¡/// Starts a [VerticalCaretMovementRun] at the given location in the text, for
/// handling consecutive vertical caret movements.
///
/// This can be used to handle consecutive upward/downward arrow key movements
/// in an input field.
///
/// {@macro flutter.rendering.RenderEditable.verticalArrowKeyMovement}
///
/// The [VerticalCaretMovementRun.isValid] property indicates whether the text
/// layout has changed and the vertical caret run is invalidated.
///
/// The caller should typically discard a [VerticalCaretMovementRun] when
/// its [VerticalCaretMovementRun.isValid] becomes false, or on other
/// occasions where the vertical caret run should be interrupted.À~$À~$À~4À~=À~=
À~DÀ~À~ƒ)À~À<01>®À<01>®À<01>¾À<01>ËÀ<01>Ë"À<01>äÀ<01>óÀ<01>ó
À<01>úÀ<01>À<01>„&À<01>À…àÀ…àÀ…êÀ…ñÀ…ñÀ…ùÀ…»À…¼À…»À…»€äÀ…ÌÀ†ºÀ†ºÀ†ÊÀ†ÓÀ†Ó
À†ÚÀ†£À†¤À†£À†£‚¢À†´À‰ËÀ‰ËÀ‰ØÀ‰œÀ<>À‰œÀ‰œ<E280B0>1À‰®ÀŠöÀŠö&ÀÀŠÑÀŠÒÀŠÑÀŠÑƒ‘ÀŠâÀŽfÀŽgÀŽfÀŽf€ÓÀŽˆ¢Ö¢ÖÀle¦¨ƒË/// Displays some text in a scrollable container with a potentially blinking
/// cursor and with gesture recognizers.
///
/// This is the renderer for an editable text field. It does not directly
/// provide affordances for editing the text, but it does handle text selection
/// and manipulation of the text cursor.
///
/// The [text] is displayed, scrolled by the given [offset], aligned according
/// to [textAlign]. The [maxLines] property controls whether the text displays
/// on one line or many. The [selection], if it is not collapsed, is painted in
/// the [selectionColor]. If it _is_ collapsed, then it represents the cursor
/// position. The cursor is shown while [showCursor] is true. It is painted in
/// the [cursorColor].
///
/// Keyboard handling, IME handling, scrolling, toggling the [showCursor] value
/// to actually blink the cursor, and other features not mentioned above are the
/// responsibility of higher layers and not handled by this object.À<01>tÀ<01>ŽÀ<01><>À<01><>À<01>§À<01>¼À<01>³À<01>¾À<01>ÇÀ<01>ÌÀ<01>ÍÀ<01><01>t[À<01>ÌÀ<01>µÀ<01>ÌÀ<01>ÓÀ<01>ÔÀ<01>ÓÀ<01>ÓJÀ<01>óÀ<01><01><01><01>!/À<01>6À<01><01><01><01>T+À<01>iÀ<01>ƒÀ<01>ƒ/À<01>žÀ<01>äÀ<01>äÀ<01>ûÀ<01>ØÀ<01>Ø<EFBFBD>À<01>ÜÀyÀ’‰À’’À
À’™Àb<E28099>[ÀsÀ“ÙÀ“ÙÀ“çÀ“ÁÀ“ÂÀ“ÁÀ“ÁvÀ“ÒÀ”;À”<À”;À”;aÀ”LÀ”ÏÀ”Ï$À”èÀ” À”¡À”¬À”­À” À lÀ”¾À<01><01>=…ÑÀ<01>CÀœòÀœò"À<01> ÀšHÀšHÎÀœä‚~/// Determines whether repaint is needed when a new [RenderEditablePainter]
/// is provided to a [RenderEditable].
///
/// If the new instance represents different information than the old
/// instance, then the method should return true, otherwise it should return
/// false. When [oldDelegate] is null, this method should always return true
/// unless the new painter initially does not paint anything.
///
/// If the method returns false, then the [paint] call might be optimized
/// away. However, the [paint] method will get called whenever the
/// [RenderEditable]s it attaches to repaint, even if [shouldRepaint] returns
/// false.ÀŸ(ÀŸ(
ÀŸ/ÀŸ7ÀŸ7 ÀŸ<ÀŸBÀŸBÀŸQÀ<01>À<01>GÀŸ"<22>ð/// Paints within the bounds of a [RenderEditable].
///
/// The given [Canvas] has the same coordinate space as the [RenderEditable],
/// which may be different from the coordinate space the [RenderEditable]'s
/// [TextPainter] uses, when the text moves inside the [RenderEditable].
///
/// Paint operations performed outside of the region defined by the [canvas]'s
/// origin and the [size] parameter may get clipped, when [RenderEditable]'s
/// [RenderEditable.clipBehavior] is not [Clip.none].ÀÀŠSÀš„÷/// An interface that paints within a [RenderEditable]'s bounds, above or
/// beneath its text content.
///
/// This painter is typically used for painting auxiliary content that depends

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 B

File diff suppressed because it is too large Load Diff