Build Information
Successful build of Shaft, reference 0.2.2 (e1fafe), with Swift 6.2 for macOS (SPM) on 22 Oct 2025 20:03:29 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.0.0.app xcrun swift build --arch arm64Build Log
656 | case insert = 0x0007_0049
657 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/home'
--> Sources/Shaft/Core/KeyboardKey.swift:660:28-660:39
658 | /// Represents the location of the "Home" key on a generalized keyboard.
659 | ///
660 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
661 | case home = 0x0007_004a
662 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/pageUp'
--> Sources/Shaft/Core/KeyboardKey.swift:665:28-665:39
663 | /// Represents the location of the "Page Up" key on a generalized keyboard.
664 | ///
665 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
666 | case pageUp = 0x0007_004b
667 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/delete'
--> Sources/Shaft/Core/KeyboardKey.swift:670:28-670:39
668 | /// Represents the location of the "Delete" key on a generalized keyboard.
669 | ///
670 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
671 | case delete = 0x0007_004c
672 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/end'
--> Sources/Shaft/Core/KeyboardKey.swift:675:28-675:39
673 | /// Represents the location of the "End" key on a generalized keyboard.
674 | ///
675 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
676 | case end = 0x0007_004d
677 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/pageDown'
--> Sources/Shaft/Core/KeyboardKey.swift:680:28-680:39
678 | /// Represents the location of the "Page Down" key on a generalized keyboard.
679 | ///
680 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
681 | case pageDown = 0x0007_004e
682 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/arrowRight'
--> Sources/Shaft/Core/KeyboardKey.swift:686:28-686:39
684 | /// keyboard.
685 | ///
686 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
687 | case arrowRight = 0x0007_004f
688 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/arrowLeft'
--> Sources/Shaft/Core/KeyboardKey.swift:691:28-691:39
689 | /// Represents the location of the "Arrow Left" key on a generalized keyboard.
690 | ///
691 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
692 | case arrowLeft = 0x0007_0050
693 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/arrowDown'
--> Sources/Shaft/Core/KeyboardKey.swift:696:28-696:39
694 | /// Represents the location of the "Arrow Down" key on a generalized keyboard.
695 | ///
696 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
697 | case arrowDown = 0x0007_0051
698 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/arrowUp'
--> Sources/Shaft/Core/KeyboardKey.swift:701:28-701:39
699 | /// Represents the location of the "Arrow Up" key on a generalized keyboard.
700 | ///
701 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
702 | case arrowUp = 0x0007_0052
703 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numLock'
--> Sources/Shaft/Core/KeyboardKey.swift:706:28-706:39
704 | /// Represents the location of the "Num Lock" key on a generalized keyboard.
705 | ///
706 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
707 | case numLock = 0x0007_0053
708 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpadDivide'
--> Sources/Shaft/Core/KeyboardKey.swift:712:28-712:39
710 | /// keyboard.
711 | ///
712 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
713 | case numpadDivide = 0x0007_0054
714 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpadMultiply'
--> Sources/Shaft/Core/KeyboardKey.swift:718:28-718:39
716 | /// keyboard.
717 | ///
718 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
719 | case numpadMultiply = 0x0007_0055
720 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpadSubtract'
--> Sources/Shaft/Core/KeyboardKey.swift:724:28-724:39
722 | /// keyboard.
723 | ///
724 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
725 | case numpadSubtract = 0x0007_0056
726 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpadAdd'
--> Sources/Shaft/Core/KeyboardKey.swift:729:28-729:39
727 | /// Represents the location of the "Numpad Add" key on a generalized keyboard.
728 | ///
729 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
730 | case numpadAdd = 0x0007_0057
731 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpadEnter'
--> Sources/Shaft/Core/KeyboardKey.swift:735:28-735:39
733 | /// keyboard.
734 | ///
735 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
736 | case numpadEnter = 0x0007_0058
737 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpad1'
--> Sources/Shaft/Core/KeyboardKey.swift:740:28-740:39
738 | /// Represents the location of the "Numpad 1" key on a generalized keyboard.
739 | ///
740 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
741 | case numpad1 = 0x0007_0059
742 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpad2'
--> Sources/Shaft/Core/KeyboardKey.swift:745:28-745:39
743 | /// Represents the location of the "Numpad 2" key on a generalized keyboard.
744 | ///
745 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
746 | case numpad2 = 0x0007_005a
747 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpad3'
--> Sources/Shaft/Core/KeyboardKey.swift:750:28-750:39
748 | /// Represents the location of the "Numpad 3" key on a generalized keyboard.
749 | ///
750 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
751 | case numpad3 = 0x0007_005b
752 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpad4'
--> Sources/Shaft/Core/KeyboardKey.swift:755:28-755:39
753 | /// Represents the location of the "Numpad 4" key on a generalized keyboard.
754 | ///
755 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
756 | case numpad4 = 0x0007_005c
757 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpad5'
--> Sources/Shaft/Core/KeyboardKey.swift:760:28-760:39
758 | /// Represents the location of the "Numpad 5" key on a generalized keyboard.
759 | ///
760 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
761 | case numpad5 = 0x0007_005d
762 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpad6'
--> Sources/Shaft/Core/KeyboardKey.swift:765:28-765:39
763 | /// Represents the location of the "Numpad 6" key on a generalized keyboard.
764 | ///
765 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
766 | case numpad6 = 0x0007_005e
767 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpad7'
--> Sources/Shaft/Core/KeyboardKey.swift:770:28-770:39
768 | /// Represents the location of the "Numpad 7" key on a generalized keyboard.
769 | ///
770 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
771 | case numpad7 = 0x0007_005f
772 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpad8'
--> Sources/Shaft/Core/KeyboardKey.swift:775:28-775:39
773 | /// Represents the location of the "Numpad 8" key on a generalized keyboard.
774 | ///
775 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
776 | case numpad8 = 0x0007_0060
777 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpad9'
--> Sources/Shaft/Core/KeyboardKey.swift:780:28-780:39
778 | /// Represents the location of the "Numpad 9" key on a generalized keyboard.
779 | ///
780 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
781 | case numpad9 = 0x0007_0061
782 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpad0'
--> Sources/Shaft/Core/KeyboardKey.swift:785:28-785:39
783 | /// Represents the location of the "Numpad 0" key on a generalized keyboard.
784 | ///
785 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
786 | case numpad0 = 0x0007_0062
787 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpadDecimal'
--> Sources/Shaft/Core/KeyboardKey.swift:791:28-791:39
789 | /// keyboard.
790 | ///
791 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
792 | case numpadDecimal = 0x0007_0063
793 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/intlBackslash'
--> Sources/Shaft/Core/KeyboardKey.swift:797:28-797:39
795 | /// keyboard.
796 | ///
797 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
798 | case intlBackslash = 0x0007_0064
799 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/contextMenu'
--> Sources/Shaft/Core/KeyboardKey.swift:803:28-803:39
801 | /// keyboard.
802 | ///
803 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
804 | case contextMenu = 0x0007_0065
805 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/power'
--> Sources/Shaft/Core/KeyboardKey.swift:808:28-808:39
806 | /// Represents the location of the "Power" key on a generalized keyboard.
807 | ///
808 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
809 | case power = 0x0007_0066
810 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpadEqual'
--> Sources/Shaft/Core/KeyboardKey.swift:814:28-814:39
812 | /// keyboard.
813 | ///
814 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
815 | case numpadEqual = 0x0007_0067
816 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/f13'
--> Sources/Shaft/Core/KeyboardKey.swift:819:28-819:39
817 | /// Represents the location of the "F13" key on a generalized keyboard.
818 | ///
819 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
820 | case f13 = 0x0007_0068
821 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/f14'
--> Sources/Shaft/Core/KeyboardKey.swift:824:28-824:39
822 | /// Represents the location of the "F14" key on a generalized keyboard.
823 | ///
824 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
825 | case f14 = 0x0007_0069
826 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/f15'
--> Sources/Shaft/Core/KeyboardKey.swift:829:28-829:39
827 | /// Represents the location of the "F15" key on a generalized keyboard.
828 | ///
829 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
830 | case f15 = 0x0007_006a
831 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/f16'
--> Sources/Shaft/Core/KeyboardKey.swift:834:28-834:39
832 | /// Represents the location of the "F16" key on a generalized keyboard.
833 | ///
834 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
835 | case f16 = 0x0007_006b
836 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/f17'
--> Sources/Shaft/Core/KeyboardKey.swift:839:28-839:39
837 | /// Represents the location of the "F17" key on a generalized keyboard.
838 | ///
839 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
840 | case f17 = 0x0007_006c
841 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/f18'
--> Sources/Shaft/Core/KeyboardKey.swift:844:28-844:39
842 | /// Represents the location of the "F18" key on a generalized keyboard.
843 | ///
844 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
845 | case f18 = 0x0007_006d
846 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/f19'
--> Sources/Shaft/Core/KeyboardKey.swift:849:28-849:39
847 | /// Represents the location of the "F19" key on a generalized keyboard.
848 | ///
849 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
850 | case f19 = 0x0007_006e
851 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/f20'
--> Sources/Shaft/Core/KeyboardKey.swift:854:28-854:39
852 | /// Represents the location of the "F20" key on a generalized keyboard.
853 | ///
854 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
855 | case f20 = 0x0007_006f
856 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/f21'
--> Sources/Shaft/Core/KeyboardKey.swift:859:28-859:39
857 | /// Represents the location of the "F21" key on a generalized keyboard.
858 | ///
859 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
860 | case f21 = 0x0007_0070
861 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/f22'
--> Sources/Shaft/Core/KeyboardKey.swift:864:28-864:39
862 | /// Represents the location of the "F22" key on a generalized keyboard.
863 | ///
864 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
865 | case f22 = 0x0007_0071
866 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/f23'
--> Sources/Shaft/Core/KeyboardKey.swift:869:28-869:39
867 | /// Represents the location of the "F23" key on a generalized keyboard.
868 | ///
869 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
870 | case f23 = 0x0007_0072
871 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/f24'
--> Sources/Shaft/Core/KeyboardKey.swift:874:28-874:39
872 | /// Represents the location of the "F24" key on a generalized keyboard.
873 | ///
874 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
875 | case f24 = 0x0007_0073
876 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/open'
--> Sources/Shaft/Core/KeyboardKey.swift:879:28-879:39
877 | /// Represents the location of the "Open" key on a generalized keyboard.
878 | ///
879 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
880 | case open = 0x0007_0074
881 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/help'
--> Sources/Shaft/Core/KeyboardKey.swift:884:28-884:39
882 | /// Represents the location of the "Help" key on a generalized keyboard.
883 | ///
884 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
885 | case help = 0x0007_0075
886 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/select'
--> Sources/Shaft/Core/KeyboardKey.swift:889:28-889:39
887 | /// Represents the location of the "Select" key on a generalized keyboard.
888 | ///
889 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
890 | case select = 0x0007_0077
891 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/again'
--> Sources/Shaft/Core/KeyboardKey.swift:894:28-894:39
892 | /// Represents the location of the "Again" key on a generalized keyboard.
893 | ///
894 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
895 | case again = 0x0007_0079
896 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/undo'
--> Sources/Shaft/Core/KeyboardKey.swift:899:28-899:39
897 | /// Represents the location of the "Undo" key on a generalized keyboard.
898 | ///
899 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
900 | case undo = 0x0007_007a
901 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/cut'
--> Sources/Shaft/Core/KeyboardKey.swift:904:28-904:39
902 | /// Represents the location of the "Cut" key on a generalized keyboard.
903 | ///
904 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
905 | case cut = 0x0007_007b
906 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/copy'
--> Sources/Shaft/Core/KeyboardKey.swift:909:28-909:39
907 | /// Represents the location of the "Copy" key on a generalized keyboard.
908 | ///
909 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
910 | case copy = 0x0007_007c
911 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/paste'
--> Sources/Shaft/Core/KeyboardKey.swift:914:28-914:39
912 | /// Represents the location of the "Paste" key on a generalized keyboard.
913 | ///
914 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
915 | case paste = 0x0007_007d
916 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/find'
--> Sources/Shaft/Core/KeyboardKey.swift:919:28-919:39
917 | /// Represents the location of the "Find" key on a generalized keyboard.
918 | ///
919 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
920 | case find = 0x0007_007e
921 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/audioVolumeMute'
--> Sources/Shaft/Core/KeyboardKey.swift:925:28-925:39
923 | /// keyboard.
924 | ///
925 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
926 | case audioVolumeMute = 0x0007_007f
927 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/audioVolumeUp'
--> Sources/Shaft/Core/KeyboardKey.swift:931:28-931:39
929 | /// keyboard.
930 | ///
931 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
932 | case audioVolumeUp = 0x0007_0080
933 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/audioVolumeDown'
--> Sources/Shaft/Core/KeyboardKey.swift:937:28-937:39
935 | /// keyboard.
936 | ///
937 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
938 | case audioVolumeDown = 0x0007_0081
939 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpadComma'
--> Sources/Shaft/Core/KeyboardKey.swift:943:28-943:39
941 | /// keyboard.
942 | ///
943 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
944 | case numpadComma = 0x0007_0085
945 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/intlRo'
--> Sources/Shaft/Core/KeyboardKey.swift:948:28-948:39
946 | /// Represents the location of the "Intl Ro" key on a generalized keyboard.
947 | ///
948 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
949 | case intlRo = 0x0007_0087
950 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/kanaMode'
--> Sources/Shaft/Core/KeyboardKey.swift:953:28-953:39
951 | /// Represents the location of the "Kana Mode" key on a generalized keyboard.
952 | ///
953 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
954 | case kanaMode = 0x0007_0088
955 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/intlYen'
--> Sources/Shaft/Core/KeyboardKey.swift:958:28-958:39
956 | /// Represents the location of the "Intl Yen" key on a generalized keyboard.
957 | ///
958 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
959 | case intlYen = 0x0007_0089
960 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/convert'
--> Sources/Shaft/Core/KeyboardKey.swift:963:28-963:39
961 | /// Represents the location of the "Convert" key on a generalized keyboard.
962 | ///
963 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
964 | case convert = 0x0007_008a
965 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/nonConvert'
--> Sources/Shaft/Core/KeyboardKey.swift:969:28-969:39
967 | /// keyboard.
968 | ///
969 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
970 | case nonConvert = 0x0007_008b
971 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/lang1'
--> Sources/Shaft/Core/KeyboardKey.swift:974:28-974:39
972 | /// Represents the location of the "Lang 1" key on a generalized keyboard.
973 | ///
974 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
975 | case lang1 = 0x0007_0090
976 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/lang2'
--> Sources/Shaft/Core/KeyboardKey.swift:979:28-979:39
977 | /// Represents the location of the "Lang 2" key on a generalized keyboard.
978 | ///
979 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
980 | case lang2 = 0x0007_0091
981 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/lang3'
--> Sources/Shaft/Core/KeyboardKey.swift:984:28-984:39
982 | /// Represents the location of the "Lang 3" key on a generalized keyboard.
983 | ///
984 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
985 | case lang3 = 0x0007_0092
986 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/lang4'
--> Sources/Shaft/Core/KeyboardKey.swift:989:28-989:39
987 | /// Represents the location of the "Lang 4" key on a generalized keyboard.
988 | ///
989 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
990 | case lang4 = 0x0007_0093
991 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/lang5'
--> Sources/Shaft/Core/KeyboardKey.swift:994:28-994:39
992 | /// Represents the location of the "Lang 5" key on a generalized keyboard.
993 | ///
994 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
995 | case lang5 = 0x0007_0094
996 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/abort'
--> Sources/Shaft/Core/KeyboardKey.swift:999:28-999:39
997 | /// Represents the location of the "Abort" key on a generalized keyboard.
998 | ///
999 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1000 | case abort = 0x0007_009b
1001 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/props'
--> Sources/Shaft/Core/KeyboardKey.swift:1004:28-1004:39
1002 | /// Represents the location of the "Props" key on a generalized keyboard.
1003 | ///
1004 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1005 | case props = 0x0007_00a3
1006 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpadParenLeft'
--> Sources/Shaft/Core/KeyboardKey.swift:1010:28-1010:39
1008 | /// keyboard.
1009 | ///
1010 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1011 | case numpadParenLeft = 0x0007_00b6
1012 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpadParenRight'
--> Sources/Shaft/Core/KeyboardKey.swift:1016:28-1016:39
1014 | /// keyboard.
1015 | ///
1016 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1017 | case numpadParenRight = 0x0007_00b7
1018 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpadBackspace'
--> Sources/Shaft/Core/KeyboardKey.swift:1022:28-1022:39
1020 | /// keyboard.
1021 | ///
1022 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1023 | case numpadBackspace = 0x0007_00bb
1024 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpadMemoryStore'
--> Sources/Shaft/Core/KeyboardKey.swift:1028:28-1028:39
1026 | /// keyboard.
1027 | ///
1028 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1029 | case numpadMemoryStore = 0x0007_00d0
1030 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpadMemoryRecall'
--> Sources/Shaft/Core/KeyboardKey.swift:1034:28-1034:39
1032 | /// keyboard.
1033 | ///
1034 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1035 | case numpadMemoryRecall = 0x0007_00d1
1036 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpadMemoryClear'
--> Sources/Shaft/Core/KeyboardKey.swift:1040:28-1040:39
1038 | /// keyboard.
1039 | ///
1040 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1041 | case numpadMemoryClear = 0x0007_00d2
1042 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpadMemoryAdd'
--> Sources/Shaft/Core/KeyboardKey.swift:1046:28-1046:39
1044 | /// keyboard.
1045 | ///
1046 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1047 | case numpadMemoryAdd = 0x0007_00d3
1048 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpadMemorySubtract'
--> Sources/Shaft/Core/KeyboardKey.swift:1052:28-1052:39
1050 | /// generalized keyboard.
1051 | ///
1052 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1053 | case numpadMemorySubtract = 0x0007_00d4
1054 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpadSignChange'
--> Sources/Shaft/Core/KeyboardKey.swift:1058:28-1058:39
1056 | /// keyboard.
1057 | ///
1058 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1059 | case numpadSignChange = 0x0007_00d7
1060 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpadClear'
--> Sources/Shaft/Core/KeyboardKey.swift:1064:28-1064:39
1062 | /// keyboard.
1063 | ///
1064 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1065 | case numpadClear = 0x0007_00d8
1066 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/numpadClearEntry'
--> Sources/Shaft/Core/KeyboardKey.swift:1070:28-1070:39
1068 | /// keyboard.
1069 | ///
1070 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1071 | case numpadClearEntry = 0x0007_00d9
1072 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/controlLeft'
--> Sources/Shaft/Core/KeyboardKey.swift:1076:28-1076:39
1074 | /// keyboard.
1075 | ///
1076 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1077 | case controlLeft = 0x0007_00e0
1078 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/shiftLeft'
--> Sources/Shaft/Core/KeyboardKey.swift:1081:28-1081:39
1079 | /// Represents the location of the "Shift Left" key on a generalized keyboard.
1080 | ///
1081 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1082 | case shiftLeft = 0x0007_00e1
1083 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/altLeft'
--> Sources/Shaft/Core/KeyboardKey.swift:1086:28-1086:39
1084 | /// Represents the location of the "Alt Left" key on a generalized keyboard.
1085 | ///
1086 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1087 | case altLeft = 0x0007_00e2
1088 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/metaLeft'
--> Sources/Shaft/Core/KeyboardKey.swift:1091:28-1091:39
1089 | /// Represents the location of the "Meta Left" key on a generalized keyboard.
1090 | ///
1091 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1092 | case metaLeft = 0x0007_00e3
1093 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/controlRight'
--> Sources/Shaft/Core/KeyboardKey.swift:1097:28-1097:39
1095 | /// keyboard.
1096 | ///
1097 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1098 | case controlRight = 0x0007_00e4
1099 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/shiftRight'
--> Sources/Shaft/Core/KeyboardKey.swift:1103:28-1103:39
1101 | /// keyboard.
1102 | ///
1103 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1104 | case shiftRight = 0x0007_00e5
1105 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/altRight'
--> Sources/Shaft/Core/KeyboardKey.swift:1108:28-1108:39
1106 | /// Represents the location of the "Alt Right" key on a generalized keyboard.
1107 | ///
1108 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1109 | case altRight = 0x0007_00e6
1110 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/metaRight'
--> Sources/Shaft/Core/KeyboardKey.swift:1113:28-1113:39
1111 | /// Represents the location of the "Meta Right" key on a generalized keyboard.
1112 | ///
1113 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1114 | case metaRight = 0x0007_00e7
1115 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/info'
--> Sources/Shaft/Core/KeyboardKey.swift:1118:28-1118:39
1116 | /// Represents the location of the "Info" key on a generalized keyboard.
1117 | ///
1118 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1119 | case info = 0x000c_0060
1120 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/closedCaptionToggle'
--> Sources/Shaft/Core/KeyboardKey.swift:1124:28-1124:39
1122 | /// generalized keyboard.
1123 | ///
1124 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1125 | case closedCaptionToggle = 0x000c_0061
1126 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/brightnessUp'
--> Sources/Shaft/Core/KeyboardKey.swift:1130:28-1130:39
1128 | /// keyboard.
1129 | ///
1130 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1131 | case brightnessUp = 0x000c_006f
1132 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/brightnessDown'
--> Sources/Shaft/Core/KeyboardKey.swift:1136:28-1136:39
1134 | /// keyboard.
1135 | ///
1136 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1137 | case brightnessDown = 0x000c_0070
1138 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/brightnessToggle'
--> Sources/Shaft/Core/KeyboardKey.swift:1142:28-1142:39
1140 | /// keyboard.
1141 | ///
1142 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1143 | case brightnessToggle = 0x000c_0072
1144 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/brightnessMinimum'
--> Sources/Shaft/Core/KeyboardKey.swift:1148:28-1148:39
1146 | /// keyboard.
1147 | ///
1148 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1149 | case brightnessMinimum = 0x000c_0073
1150 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/brightnessMaximum'
--> Sources/Shaft/Core/KeyboardKey.swift:1154:28-1154:39
1152 | /// keyboard.
1153 | ///
1154 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1155 | case brightnessMaximum = 0x000c_0074
1156 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/brightnessAuto'
--> Sources/Shaft/Core/KeyboardKey.swift:1160:28-1160:39
1158 | /// keyboard.
1159 | ///
1160 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1161 | case brightnessAuto = 0x000c_0075
1162 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/kbdIllumUp'
--> Sources/Shaft/Core/KeyboardKey.swift:1166:28-1166:39
1164 | /// keyboard.
1165 | ///
1166 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1167 | case kbdIllumUp = 0x000c_0079
1168 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/kbdIllumDown'
--> Sources/Shaft/Core/KeyboardKey.swift:1172:28-1172:39
1170 | /// keyboard.
1171 | ///
1172 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1173 | case kbdIllumDown = 0x000c_007a
1174 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/mediaLast'
--> Sources/Shaft/Core/KeyboardKey.swift:1177:28-1177:39
1175 | /// Represents the location of the "Media Last" key on a generalized keyboard.
1176 | ///
1177 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1178 | case mediaLast = 0x000c_0083
1179 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/launchPhone'
--> Sources/Shaft/Core/KeyboardKey.swift:1183:28-1183:39
1181 | /// keyboard.
1182 | ///
1183 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1184 | case launchPhone = 0x000c_008c
1185 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/programGuide'
--> Sources/Shaft/Core/KeyboardKey.swift:1189:28-1189:39
1187 | /// keyboard.
1188 | ///
1189 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1190 | case programGuide = 0x000c_008d
1191 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/exit'
--> Sources/Shaft/Core/KeyboardKey.swift:1194:28-1194:39
1192 | /// Represents the location of the "Exit" key on a generalized keyboard.
1193 | ///
1194 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1195 | case exit = 0x000c_0094
1196 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/channelUp'
--> Sources/Shaft/Core/KeyboardKey.swift:1199:28-1199:39
1197 | /// Represents the location of the "Channel Up" key on a generalized keyboard.
1198 | ///
1199 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1200 | case channelUp = 0x000c_009c
1201 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/channelDown'
--> Sources/Shaft/Core/KeyboardKey.swift:1205:28-1205:39
1203 | /// keyboard.
1204 | ///
1205 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1206 | case channelDown = 0x000c_009d
1207 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/mediaPlay'
--> Sources/Shaft/Core/KeyboardKey.swift:1210:28-1210:39
1208 | /// Represents the location of the "Media Play" key on a generalized keyboard.
1209 | ///
1210 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1211 | case mediaPlay = 0x000c_00b0
1212 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/mediaPause'
--> Sources/Shaft/Core/KeyboardKey.swift:1216:28-1216:39
1214 | /// keyboard.
1215 | ///
1216 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1217 | case mediaPause = 0x000c_00b1
1218 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/mediaRecord'
--> Sources/Shaft/Core/KeyboardKey.swift:1222:28-1222:39
1220 | /// keyboard.
1221 | ///
1222 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1223 | case mediaRecord = 0x000c_00b2
1224 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/mediaFastForward'
--> Sources/Shaft/Core/KeyboardKey.swift:1228:28-1228:39
1226 | /// keyboard.
1227 | ///
1228 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1229 | case mediaFastForward = 0x000c_00b3
1230 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/mediaRewind'
--> Sources/Shaft/Core/KeyboardKey.swift:1234:28-1234:39
1232 | /// keyboard.
1233 | ///
1234 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1235 | case mediaRewind = 0x000c_00b4
1236 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/mediaTrackNext'
--> Sources/Shaft/Core/KeyboardKey.swift:1240:28-1240:39
1238 | /// keyboard.
1239 | ///
1240 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1241 | case mediaTrackNext = 0x000c_00b5
1242 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/mediaTrackPrevious'
--> Sources/Shaft/Core/KeyboardKey.swift:1246:28-1246:39
1244 | /// keyboard.
1245 | ///
1246 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1247 | case mediaTrackPrevious = 0x000c_00b6
1248 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/mediaStop'
--> Sources/Shaft/Core/KeyboardKey.swift:1251:28-1251:39
1249 | /// Represents the location of the "Media Stop" key on a generalized keyboard.
1250 | ///
1251 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1252 | case mediaStop = 0x000c_00b7
1253 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/eject'
--> Sources/Shaft/Core/KeyboardKey.swift:1256:28-1256:39
1254 | /// Represents the location of the "Eject" key on a generalized keyboard.
1255 | ///
1256 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1257 | case eject = 0x000c_00b8
1258 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/mediaPlayPause'
--> Sources/Shaft/Core/KeyboardKey.swift:1262:28-1262:39
1260 | /// keyboard.
1261 | ///
1262 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1263 | case mediaPlayPause = 0x000c_00cd
1264 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/speechInputToggle'
--> Sources/Shaft/Core/KeyboardKey.swift:1268:28-1268:39
1266 | /// keyboard.
1267 | ///
1268 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1269 | case speechInputToggle = 0x000c_00cf
1270 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/bassBoost'
--> Sources/Shaft/Core/KeyboardKey.swift:1273:28-1273:39
1271 | /// Represents the location of the "Bass Boost" key on a generalized keyboard.
1272 | ///
1273 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1274 | case bassBoost = 0x000c_00e5
1275 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/mediaSelect'
--> Sources/Shaft/Core/KeyboardKey.swift:1279:28-1279:39
1277 | /// keyboard.
1278 | ///
1279 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1280 | case mediaSelect = 0x000c_0183
1281 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/launchWordProcessor'
--> Sources/Shaft/Core/KeyboardKey.swift:1285:28-1285:39
1283 | /// generalized keyboard.
1284 | ///
1285 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1286 | case launchWordProcessor = 0x000c_0184
1287 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/launchSpreadsheet'
--> Sources/Shaft/Core/KeyboardKey.swift:1291:28-1291:39
1289 | /// keyboard.
1290 | ///
1291 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1292 | case launchSpreadsheet = 0x000c_0186
1293 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/launchMail'
--> Sources/Shaft/Core/KeyboardKey.swift:1297:28-1297:39
1295 | /// keyboard.
1296 | ///
1297 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1298 | case launchMail = 0x000c_018a
1299 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/launchContacts'
--> Sources/Shaft/Core/KeyboardKey.swift:1303:28-1303:39
1301 | /// keyboard.
1302 | ///
1303 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1304 | case launchContacts = 0x000c_018d
1305 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/launchCalendar'
--> Sources/Shaft/Core/KeyboardKey.swift:1309:28-1309:39
1307 | /// keyboard.
1308 | ///
1309 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1310 | case launchCalendar = 0x000c_018e
1311 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/launchApp2'
--> Sources/Shaft/Core/KeyboardKey.swift:1315:28-1315:39
1313 | /// keyboard.
1314 | ///
1315 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1316 | case launchApp2 = 0x000c_0192
1317 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/launchApp1'
--> Sources/Shaft/Core/KeyboardKey.swift:1321:28-1321:39
1319 | /// keyboard.
1320 | ///
1321 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1322 | case launchApp1 = 0x000c_0194
1323 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/launchInternetBrowser'
--> Sources/Shaft/Core/KeyboardKey.swift:1327:28-1327:39
1325 | /// generalized keyboard.
1326 | ///
1327 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1328 | case launchInternetBrowser = 0x000c_0196
1329 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/logOff'
--> Sources/Shaft/Core/KeyboardKey.swift:1332:28-1332:39
1330 | /// Represents the location of the "Log Off" key on a generalized keyboard.
1331 | ///
1332 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1333 | case logOff = 0x000c_019c
1334 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/lockScreen'
--> Sources/Shaft/Core/KeyboardKey.swift:1338:28-1338:39
1336 | /// keyboard.
1337 | ///
1338 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1339 | case lockScreen = 0x000c_019e
1340 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/launchControlPanel'
--> Sources/Shaft/Core/KeyboardKey.swift:1344:28-1344:39
1342 | /// keyboard.
1343 | ///
1344 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1345 | case launchControlPanel = 0x000c_019f
1346 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/selectTask'
--> Sources/Shaft/Core/KeyboardKey.swift:1350:28-1350:39
1348 | /// keyboard.
1349 | ///
1350 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1351 | case selectTask = 0x000c_01a2
1352 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/launchDocuments'
--> Sources/Shaft/Core/KeyboardKey.swift:1356:28-1356:39
1354 | /// keyboard.
1355 | ///
1356 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1357 | case launchDocuments = 0x000c_01a7
1358 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/spellCheck'
--> Sources/Shaft/Core/KeyboardKey.swift:1362:28-1362:39
1360 | /// keyboard.
1361 | ///
1362 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1363 | case spellCheck = 0x000c_01ab
1364 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/launchKeyboardLayout'
--> Sources/Shaft/Core/KeyboardKey.swift:1368:28-1368:39
1366 | /// generalized keyboard.
1367 | ///
1368 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1369 | case launchKeyboardLayout = 0x000c_01ae
1370 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/launchScreenSaver'
--> Sources/Shaft/Core/KeyboardKey.swift:1374:28-1374:39
1372 | /// keyboard.
1373 | ///
1374 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1375 | case launchScreenSaver = 0x000c_01b1
1376 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/launchAudioBrowser'
--> Sources/Shaft/Core/KeyboardKey.swift:1380:28-1380:39
1378 | /// keyboard.
1379 | ///
1380 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1381 | case launchAudioBrowser = 0x000c_01b7
1382 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/launchAssistant'
--> Sources/Shaft/Core/KeyboardKey.swift:1386:28-1386:39
1384 | /// keyboard.
1385 | ///
1386 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1387 | case launchAssistant = 0x000c_01cb
1388 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/newKey'
--> Sources/Shaft/Core/KeyboardKey.swift:1391:28-1391:39
1389 | /// Represents the location of the "New Key" key on a generalized keyboard.
1390 | ///
1391 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1392 | case newKey = 0x000c_0201
1393 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/close'
--> Sources/Shaft/Core/KeyboardKey.swift:1396:28-1396:39
1394 | /// Represents the location of the "Close" key on a generalized keyboard.
1395 | ///
1396 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1397 | case close = 0x000c_0203
1398 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/save'
--> Sources/Shaft/Core/KeyboardKey.swift:1401:28-1401:39
1399 | /// Represents the location of the "Save" key on a generalized keyboard.
1400 | ///
1401 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1402 | case save = 0x000c_0207
1403 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/print'
--> Sources/Shaft/Core/KeyboardKey.swift:1406:28-1406:39
1404 | /// Represents the location of the "Print" key on a generalized keyboard.
1405 | ///
1406 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1407 | case print = 0x000c_0208
1408 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/browserSearch'
--> Sources/Shaft/Core/KeyboardKey.swift:1412:28-1412:39
1410 | /// keyboard.
1411 | ///
1412 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1413 | case browserSearch = 0x000c_0221
1414 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/browserHome'
--> Sources/Shaft/Core/KeyboardKey.swift:1418:28-1418:39
1416 | /// keyboard.
1417 | ///
1418 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1419 | case browserHome = 0x000c_0223
1420 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/browserBack'
--> Sources/Shaft/Core/KeyboardKey.swift:1424:28-1424:39
1422 | /// keyboard.
1423 | ///
1424 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1425 | case browserBack = 0x000c_0224
1426 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/browserForward'
--> Sources/Shaft/Core/KeyboardKey.swift:1430:28-1430:39
1428 | /// keyboard.
1429 | ///
1430 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1431 | case browserForward = 0x000c_0225
1432 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/browserStop'
--> Sources/Shaft/Core/KeyboardKey.swift:1436:28-1436:39
1434 | /// keyboard.
1435 | ///
1436 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1437 | case browserStop = 0x000c_0226
1438 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/browserRefresh'
--> Sources/Shaft/Core/KeyboardKey.swift:1442:28-1442:39
1440 | /// keyboard.
1441 | ///
1442 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1443 | case browserRefresh = 0x000c_0227
1444 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/browserFavorites'
--> Sources/Shaft/Core/KeyboardKey.swift:1448:28-1448:39
1446 | /// keyboard.
1447 | ///
1448 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1449 | case browserFavorites = 0x000c_022a
1450 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/zoomIn'
--> Sources/Shaft/Core/KeyboardKey.swift:1453:28-1453:39
1451 | /// Represents the location of the "Zoom In" key on a generalized keyboard.
1452 | ///
1453 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1454 | case zoomIn = 0x000c_022d
1455 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/zoomOut'
--> Sources/Shaft/Core/KeyboardKey.swift:1458:28-1458:39
1456 | /// Represents the location of the "Zoom Out" key on a generalized keyboard.
1457 | ///
1458 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1459 | case zoomOut = 0x000c_022e
1460 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/zoomToggle'
--> Sources/Shaft/Core/KeyboardKey.swift:1464:28-1464:39
1462 | /// keyboard.
1463 | ///
1464 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1465 | case zoomToggle = 0x000c_0232
1466 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/redo'
--> Sources/Shaft/Core/KeyboardKey.swift:1469:28-1469:39
1467 | /// Represents the location of the "Redo" key on a generalized keyboard.
1468 | ///
1469 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1470 | case redo = 0x000c_0279
1471 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/mailReply'
--> Sources/Shaft/Core/KeyboardKey.swift:1474:28-1474:39
1472 | /// Represents the location of the "Mail Reply" key on a generalized keyboard.
1473 | ///
1474 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1475 | case mailReply = 0x000c_0289
1476 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/mailForward'
--> Sources/Shaft/Core/KeyboardKey.swift:1480:28-1480:39
1478 | /// keyboard.
1479 | ///
1480 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1481 | case mailForward = 0x000c_028b
1482 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/mailSend'
--> Sources/Shaft/Core/KeyboardKey.swift:1485:28-1485:39
1483 | /// Represents the location of the "Mail Send" key on a generalized keyboard.
1484 | ///
1485 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1486 | case mailSend = 0x000c_028c
1487 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/keyboardLayoutSelect'
--> Sources/Shaft/Core/KeyboardKey.swift:1491:28-1491:39
1489 | /// generalized keyboard.
1490 | ///
1491 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1492 | case keyboardLayoutSelect = 0x000c_029d
1493 |
warning: 'RawKeyEvent' doesn't exist at '/Shaft/PhysicalKeyboardKey/showAllWindows'
--> Sources/Shaft/Core/KeyboardKey.swift:1497:28-1497:39
1495 | /// keyboard.
1496 | ///
1497 + /// See the function ``RawKeyEvent/physicalKey`` for more information.
1498 | case showAllWindows = 0x000c_029f
1499 | }
warning: 'PlatformDispatcher' doesn't exist at '/Shaft/Locale'
--> Sources/Shaft/Core/Locale.swift:16:10-16:28
14 | /// See also:
15 | ///
16 + /// * ``PlatformDispatcher/locale``, which specifies the system's currently selected
17 | /// ``Locale``.
18 | public struct Locale: Equatable, Hashable {
warning: 'fromSubtags' doesn't exist at '/Shaft/Locale'
--> Sources/Shaft/Core/Locale.swift:49:21-49:32
47 | /// See also:
48 | ///
49 + /// * ``Locale/fromSubtags``, which also allows a ``scriptCode`` to be
50 | /// specified.
51 | public init(
warning: 'fromSubtags' doesn't exist at '/Shaft/Locale'
--> Sources/Shaft/Core/Locale.swift:115:21-115:32
113 | /// See also:
114 | ///
115 + /// * ``Locale/fromSubtags``, which describes the conventions for creating
116 | /// ``Locale`` objects.
117 | public var languageCode: String {
warning: 'fromSubtags' doesn't exist at '/Shaft/Locale'
--> Sources/Shaft/Core/Locale.swift:216:21-216:32
214 | /// See also:
215 | ///
216 + /// * ``Locale/fromSubtags``, which describes the conventions for creating
217 | /// ``Locale`` objects.
218 | public let scriptCode: String?
warning: 'fromSubtags' doesn't exist at '/Shaft/Locale'
--> Sources/Shaft/Core/Locale.swift:237:21-237:32
235 | /// See also:
236 | ///
237 + /// * ``Locale/fromSubtags``, which describes the conventions for creating
238 | /// ``Locale`` objects.
239 | public var countryCode: String? {
warning: 'defaultTargetPlatform' doesn't exist at '/Shaft/TargetPlatform'
--> Sources/Shaft/Core/TargetPlatform.swift:11:11-11:32
9 | /// The platform that user interaction should adapt to target.
10 | ///
11 + /// The ``defaultTargetPlatform`` getter returns the current platform.
12 | ///
13 | /// When using the "flutter run" command, the "o" key will toggle between
warning: 'debugDefaultTargetPlatformOverride' doesn't exist at '/Shaft/TargetPlatform'
--> Sources/Shaft/Core/TargetPlatform.swift:14:41-14:75
12 | ///
13 | /// When using the "flutter run" command, the "o" key will toggle between
14 + /// values of this enum when updating ``debugDefaultTargetPlatformOverride``.
15 | /// This lets one test how the application will work on various platforms
16 | /// without having to switch emulators or physical devices.
warning: 'nil' doesn't exist at '/Shaft/TextEditingValue/selection'
--> Sources/Shaft/Core/TextEditing.swift:74:43-74:46
72 | /// caret position.
73 | ///
74 + /// If the current ``selection`` is ``nil``, then the text currently does not
75 | /// have a selection or a caret location, and most text editing operations
76 | /// that rely on the current selection (for instance, insert a character at
warning: 'value' doesn't exist at '/Shaft/TextEditingDelta/apply(to:)'
--> Sources/Shaft/Core/TextEditing.swift:199:35-199:40
197 | /// state as a result of text editing.
198 | public protocol TextEditingDelta {
199 + /// Get a copy of the given ``value`` with the change applied to it.
200 | func apply(to value: TextEditingValue) -> TextEditingValue
201 | }
warning: 'extendTo' doesn't exist at '/Shaft/TextSelection/expandTo(_:extentAtIndex:)'
--> Sources/Shaft/Core/TextEditing.swift:443:30-443:38
441 | /// ``TextSelection/baseOffset``. Otherwise, their order will be preserved.
442 | ///
443 + /// ## Difference with ``extendTo``
| ╰─suggestion: Replace 'extendTo' with 'Difference-with-extendTo'
444 | /// In contrast with this method, ``extendTo`` is a pivot; it holds
445 | /// ``TextSelection/baseOffset`` fixed while moving ``TextSelection/extentOffset``
warning: 'extendTo' doesn't exist at '/Shaft/TextSelection/expandTo(_:extentAtIndex:)'
--> Sources/Shaft/Core/TextEditing.swift:444:41-444:49
442 | ///
443 | /// ## Difference with ``extendTo``
444 + /// In contrast with this method, ``extendTo`` is a pivot; it holds
| ╰─suggestion: Replace 'extendTo' with 'Difference-with-extendTo'
445 | /// ``TextSelection/baseOffset`` fixed while moving ``TextSelection/extentOffset``
446 | /// to the given ``TextPosition``. It doesn't strictly grow the selection and
warning: 'expandTo' doesn't exist at '/Shaft/TextSelection/extendTo(_:)'
--> Sources/Shaft/Core/TextEditing.swift:490:30-490:38
488 | /// size of the selection may shrink.
489 | ///
490 + /// ## Difference with ``expandTo``
| ╰─suggestion: Replace 'expandTo' with 'Difference-with-expandTo'
491 | /// In contrast with this method, ``expandTo`` is strictly growth; the
492 | /// selection is grown to include the given ``TextPosition`` and will never
warning: 'expandTo' doesn't exist at '/Shaft/TextSelection/extendTo(_:)'
--> Sources/Shaft/Core/TextEditing.swift:491:41-491:49
489 | ///
490 | /// ## Difference with ``expandTo``
491 + /// In contrast with this method, ``expandTo`` is strictly growth; the
| ╰─suggestion: Replace 'expandTo' with 'Difference-with-expandTo'
492 | /// selection is grown to include the given ``TextPosition`` and will never
493 | /// shrink.
warning: 'value' doesn't exist at '/Shaft/TextSelectionDelegate/userUpdateTextEditingValue(_:cause:)'
--> Sources/Shaft/Core/TextEditing.swift:515:35-515:40
513 |
514 | /// Indicates that the user has requested the delegate to replace its current
515 + /// text editing state with ``value``.
516 | ///
517 | /// The new ``value`` is treated as user input and thus may subject to input
warning: 'value' doesn't exist at '/Shaft/TextSelectionDelegate/userUpdateTextEditingValue(_:cause:)'
--> Sources/Shaft/Core/TextEditing.swift:517:19-517:24
515 | /// text editing state with ``value``.
516 | ///
517 + /// The new ``value`` is treated as user input and thus may subject to input
518 | /// formatting.
519 | ///
warning: 'userUpdateTextEditingValue' doesn't exist at '/Shaft/EditableTextState'
--> Sources/Shaft/Core/TextEditing.swift:522:31-522:57
520 | /// See also:
521 | ///
522 + /// * ``EditableTextState/userUpdateTextEditingValue``: an implementation that
| ╰─suggestion: Replace 'userUpdateTextEditingValue' with 'userUpdateTextEditingValue(_:cause:)'
523 | /// applies additional pre-processing to the specified ``value``, before
524 | /// updating the text editing state.
warning: 'value' doesn't exist at '/Shaft/TextSelectionDelegate/userUpdateTextEditingValue(_:cause:)'
--> Sources/Shaft/Core/TextEditing.swift:523:64-523:69
521 | ///
522 | /// * ``EditableTextState/userUpdateTextEditingValue``: an implementation that
523 + /// applies additional pre-processing to the specified ``value``, before
524 | /// updating the text editing state.
525 | func userUpdateTextEditingValue(_ value: TextEditingValue, cause: SelectionChangedCause?)
warning: 'italic' doesn't exist at '/Shaft/FontVariation'
--> Sources/Shaft/Core/TextTypes.swift:63:25-63:31
61 | ///
62 | /// Some modern fonts allow this to be selected in a more fine-grained manner.
63 + /// See ``FontVariation/italic`` for details.
| ╰─suggestion: Replace 'italic' with 'italic(_:)'
64 | ///
65 | /// Italic type is distinct from slanted glyphs. To control the slant of a
warning: 'slant' doesn't exist at '/Shaft/FontVariation'
--> Sources/Shaft/Core/TextTypes.swift:66:41-66:46
64 | ///
65 | /// Italic type is distinct from slanted glyphs. To control the slant of a
66 + /// glyph, consider the ``FontVariation/slant`` font feature.
| ╰─suggestion: Replace 'slant' with 'slant(_:)'
67 | public enum FontStyle {
68 | /// Use the upright ("Roman") glyphs.
warning: 'weight' doesn't exist at '/Shaft/FontVariation'
--> Sources/Shaft/Core/TextTypes.swift:104:25-104:31
102 | ///
103 | /// Some modern fonts allow the weight to be adjusted in arbitrary increments.
104 + /// See ``FontVariation/weight`` for details.
| ╰─suggestion: Replace 'weight' with 'weight(_:)'
105 | public struct FontWeight: Equatable {
106 | private init(_ index: Int, _ value: Int) {
warning: 'binary32' doesn't exist at '/Shaft/FontVariation/value'
--> Sources/Shaft/Core/TextTypes.swift:420:12-420:20
418 | ///
419 | /// While this property is represented as a Float in this API
420 + /// (``binary32``(https://en.wikipedia.org/wiki/Single-precision_floating-point_format)),
421 | /// fonts use the fixed-point 16.16 format to represent the value of font
422 | /// variations. This means that the actual range is -32768.0 to approximately
warning: 'leading' doesn't exist at '/Shaft/TextLeadingDistribution/proportional'
--> Sources/Shaft/Core/TextTypes.swift:682:27-682:34
680 | /// used with a ``TextStyle/height`` much smaller than 1.0.
681 | public enum TextLeadingDistribution {
682 + /// Distributes the ``leading``(https://en.wikipedia.org/wiki/Leading)
683 | /// of the text proportionally above and below the text, to the font's
684 | /// ascent/descent ratio.
warning: 'String.Index' doesn't exist at '/Shaft/TextIndex'
--> Sources/Shaft/Core/TextTypes.swift:710:55-710:67
708 | /// rendering library and system APIs still use UTF-16. Therefore, UTF-16
709 | /// offsets are used to represent text positions in the framework, with some
710 + /// helpful utilities to convert between UTF-16 and ``String.Index``.
711 | public struct TextIndex: Equatable {
712 | public init(utf16Offset: Int) {
warning: 'offset' doesn't exist at '/Shaft/TextRange/collapsed(_:)'
--> Sources/Shaft/Core/TextTypes.swift:860:15-860:21
858 | /// A text range that starts and ends at offset.
859 | ///
860 + /// The ``offset`` argument must be non-null and greater than or equal to -1.
861 | public static func collapsed(_ offset: TextIndex) -> Self {
862 | return Self(start: offset, end: offset)
warning: 'typesetting strut' doesn't exist at '/Shaft/StrutStyle'
--> Sources/Shaft/Core/TextTypes.swift:981:7-981:24
979 | /// paragraph. This imaginary space is 'shaped' according the properties
980 | /// defined in this class. Flutter's strut is based on
981 + /// ``typesetting strut``(https://en.wikipedia.org/wiki/Strut_(typesetting))
982 | /// and CSS's ``line-height``(https://www.w3.org/TR/CSS2/visudet.html#line-height).
983 | ///
warning: 'line-height' doesn't exist at '/Shaft/StrutStyle'
--> Sources/Shaft/Core/TextTypes.swift:982:17-982:28
980 | /// defined in this class. Flutter's strut is based on
981 | /// ``typesetting strut``(https://en.wikipedia.org/wiki/Strut_(typesetting))
982 + /// and CSS's ``line-height``(https://www.w3.org/TR/CSS2/visudet.html#line-height).
983 | ///
984 | /// No lines may be shorter than the strut. The ascent and descent of the
warning: 'fontFamily' doesn't exist at '/Shaft/StrutStyle/fontFamilies'
--> Sources/Shaft/Core/TextTypes.swift:998:33-998:43
996 | /// provided.
997 | ///
998 + /// The value provided in ``fontFamily`` will act as the preferred/first font
999 | /// family that will be searched for, followed in order by the font families
1000 | /// in ``fontFamilyFallback``. If all font families are exhausted and no match
warning: 'fontFamilyFallback' doesn't exist at '/Shaft/StrutStyle/fontFamilies'
--> Sources/Shaft/Core/TextTypes.swift:1000:14-1000:32
998 | /// The value provided in ``fontFamily`` will act as the preferred/first font
999 | /// family that will be searched for, followed in order by the font families
1000 + /// in ``fontFamilyFallback``. If all font families are exhausted and no match
1001 | /// was found, the default platform font family will be used instead. Unlike
1002 | /// ``TextStyle/fontFamilyFallback``, the font does not need to contain the
warning: 'leadingDistribution' doesn't exist at '/Shaft/StrutStyle/leading'
--> Sources/Shaft/Core/TextTypes.swift:1047:55-1047:74
1045 |
1046 | /// The additional leading to apply to the strut as a multiple of
1047 + /// ``fontSize``, independent of ``height`` and ``leadingDistribution``.
1048 | ///
1049 | /// Leading is additional spacing between lines. Half of the leading is
warning: 'leadingDistribution' doesn't exist at '/Shaft/StrutStyle/leading'
--> Sources/Shaft/Core/TextTypes.swift:1052:55-1052:74
1050 | /// added to the top and the other half to the bottom of the line. This
1051 | /// differs from ``height`` since the spacing is always equally distributed
1052 + /// above and below the baseline, regardless of ``leadingDistribution``.
1053 | ///
1054 | /// The default leading is null, which will use the font-specified leading.
warning: 'layout' doesn't exist at '/Shaft/Paragraph'
--> Sources/Shaft/Core/TextTypes.swift:1125:35-1125:41
1123 | /// after the first one that overflows the width constraints are dropped.
1124 | /// The width constraints are those set in the ``ParagraphConstraints`` object
1125 + /// passed to the ``Paragraph/layout`` method.
| ╰─suggestion: Replace 'layout' with 'layout(_:)'
1126 | public var maxLines: Int?
1127 |
warning: 'layout' doesn't exist at '/Shaft/Paragraph'
--> Sources/Shaft/Core/TextTypes.swift:1134:21-1134:27
1132 | /// constraints, and subsequent lines are dropped. The width constraints are
1133 | /// those set in the ``ParagraphConstraints`` object passed to the
1134 + /// ``Paragraph/layout`` method. The empty string and the null value are
| ╰─suggestion: Replace 'layout' with 'layout(_:)'
1135 | /// considered equivalent and turn off this behavior.
1136 | public var ellipsis: String?
warning: 'pop' doesn't exist at '/Shaft/ParagraphBuilder/pushStyle(_:)'
--> Sources/Shaft/Core/TextTypes.swift:1156:59-1156:62
1154 |
1155 | public protocol ParagraphBuilder: AnyObject {
1156 + /// Applies the given style to the added text until ``pop`` is called.
1157 | ///
1158 | /// See ``pop`` for details.
warning: 'pop' doesn't exist at '/Shaft/ParagraphBuilder/pushStyle(_:)'
--> Sources/Shaft/Core/TextTypes.swift:1158:15-1158:18
1156 | /// Applies the given style to the added text until ``pop`` is called.
1157 | ///
1158 + /// See ``pop`` for details.
1159 | func pushStyle(_ style: SpanStyle)
1160 |
warning: 'pushStyle' doesn't exist at '/Shaft/ParagraphBuilder/pop()'
--> Sources/Shaft/Core/TextTypes.swift:1161:54-1161:63
1159 | func pushStyle(_ style: SpanStyle)
1160 |
1161 + /// Ends the effect of the most recent call to ``pushStyle``.
1162 | ///
1163 | /// Internally, the paragraph builder maintains a stack of text styles. Text
warning: 'pop' doesn't exist at '/Shaft/ParagraphBuilder/pop()'
--> Sources/Shaft/Core/TextTypes.swift:1165:19-1165:22
1163 | /// Internally, the paragraph builder maintains a stack of text styles. Text
1164 | /// added to the paragraph is affected by all the styles in the stack.
1165 + /// Calling ``pop`` removes the topmost style in the stack, leaving the
1166 | /// remaining styles in effect.
1167 | func pop()
warning: 'layout' doesn't exist at '/Shaft/Paragraph'
--> Sources/Shaft/Core/TextTypes.swift:1184:65-1184:71
1182 | /// Layout constraints for ``Paragraph`` objects.
1183 | ///
1184 + /// Instances of this class are typically used with ``Paragraph/layout``.
| ╰─suggestion: Replace 'layout' with 'layout(_:)'
1185 | ///
1186 | /// The only constraint that can be specified is the ``width``. See the discussion
warning: 'width' doesn't exist at '/Shaft/ParagraphConstraints'
--> Sources/Shaft/Core/TextTypes.swift:1186:56-1186:61
1184 | /// Instances of this class are typically used with ``Paragraph/layout``.
1185 | ///
1186 + /// The only constraint that can be specified is the ``width``. See the discussion
| ╰─suggestion: Replace 'width' with 'width(_:)'
1187 | /// at ``width`` for more details.
1188 | public enum ParagraphConstraints: Equatable {
warning: 'width' doesn't exist at '/Shaft/ParagraphConstraints'
--> Sources/Shaft/Core/TextTypes.swift:1187:10-1187:15
1185 | ///
1186 | /// The only constraint that can be specified is the ``width``. See the discussion
1187 + /// at ``width`` for more details.
| ╰─suggestion: Replace 'width' with 'width(_:)'
1188 | public enum ParagraphConstraints: Equatable {
1189 | /// The width the paragraph should use whey computing the positions of glyphs.
warning: 'new' doesn't exist at '/Shaft/ParagraphStyle'
--> Sources/Shaft/Core/TextTypes.swift:1201:26-1201:29
1199 | ///
1200 | /// The width influences how ellipses are applied. See the discussion at
1201 + /// ``ParagraphStyle/new`` for more details.
1202 | ///
1203 | /// This width is also used to position glyphs according to the ``TextAlign``
warning: 'getBoxesForRange' doesn't exist at '/Shaft/Paragraph'
--> Sources/Shaft/Core/TextTypes.swift:1210:17-1210:33
1208 |
1209 | /// Defines various ways to horizontally bound the boxes returned by
1210 + /// ``Paragraph/getBoxesForRange``.
| ├─suggestion: Replace 'getBoxesForRange' with 'getBoxesForRange(_:_:boxHeightStyle:boxWidthStyle:)'
| ╰─suggestion: Replace 'getBoxesForRange' with 'getBoxesForPlaceholders()'
1211 | ///
1212 | /// See ``BoxHeightStyle`` for a similar property to control height.
warning: 'getBoxesForRange' doesn't exist at '/Shaft/Paragraph'
--> Sources/Shaft/Core/TextTypes.swift:1229:17-1229:33
1227 |
1228 | /// Defines various ways to vertically bound the boxes returned by
1229 + /// ``Paragraph/getBoxesForRange``.
| ├─suggestion: Replace 'getBoxesForRange' with 'getBoxesForRange(_:_:boxHeightStyle:boxWidthStyle:)'
| ╰─suggestion: Replace 'getBoxesForRange' with 'getBoxesForPlaceholders()'
1230 | ///
1231 | /// See ``BoxWidthStyle`` for a similar property to control width.
warning: 'drawParagraph' doesn't exist at '/Shaft/Canvas'
--> Sources/Shaft/Core/TextTypes.swift:1286:68-1286:81
1284 | /// To create a ``Paragraph`` object, use a ``ParagraphBuilder``.
1285 | ///
1286 + /// Paragraphs can be displayed on a ``Canvas`` using the ``Canvas/drawParagraph``
1287 | /// method.
1288 | public protocol Paragraph: AnyObject {
warning: 'layout' doesn't exist at '/Shaft/Paragraph/width'
--> Sources/Shaft/Core/TextTypes.swift:1291:28-1291:34
1289 | /// The amount of horizontal space this paragraph occupies.
1290 | ///
1291 + /// Valid only after ``layout`` has been called.
1292 | var width: Float { get }
1293 |
warning: 'layout' doesn't exist at '/Shaft/Paragraph/height'
--> Sources/Shaft/Core/TextTypes.swift:1296:28-1296:34
1294 | /// The amount of vertical space this paragraph occupies.
1295 | ///
1296 + /// Valid only after ``layout`` has been called.
1297 | var height: Float { get }
1298 |
warning: 'layout' doesn't exist at '/Shaft/Paragraph/longestLine'
--> Sources/Shaft/Core/TextTypes.swift:1302:28-1302:34
1300 | /// the rightmost glyph in the paragraph.
1301 | ///
1302 + /// Valid only after ``layout`` has been called.
1303 | var longestLine: Float { get }
1304 |
warning: 'layout' doesn't exist at '/Shaft/Paragraph/minIntrinsicWidth'
--> Sources/Shaft/Core/TextTypes.swift:1308:28-1308:34
1306 | /// its contents within itself.
1307 | ///
1308 + /// Valid only after ``layout`` has been called.
1309 | var minIntrinsicWidth: Float { get }
1310 |
warning: 'layout' doesn't exist at '/Shaft/Paragraph/maxIntrinsicWidth'
--> Sources/Shaft/Core/TextTypes.swift:1314:28-1314:34
1312 | /// decreases the height.
1313 | ///
1314 + /// Valid only after ``layout`` has been called.
1315 | var maxIntrinsicWidth: Float { get }
1316 |
warning: 'new' doesn't exist at '/Shaft/ParagraphStyle'
--> Sources/Shaft/Core/TextTypes.swift:1331:26-1331:29
1329 | ///
1330 | /// See the discussion of the `maxLines` and `ellipsis` arguments at
1331 + /// ``ParagraphStyle/new``.
1332 | var didExceedMaxLines: Bool { get }
1333 |
warning: 'boxHeightStyle' doesn't exist at '/Shaft/Paragraph/getBoxesForRange(_:_:boxHeightStyle:boxWidthStyle:)'
--> Sources/Shaft/Core/TextTypes.swift:1341:15-1341:29
1339 | /// Returns a list of text boxes that enclose the given text range.
1340 | ///
1341 + /// The ``boxHeightStyle`` and ``boxWidthStyle`` parameters allow customization
1342 | /// of how the boxes are bound vertically and horizontally. Both style
1343 | /// parameters default to the tight option, which will provide close-fitting
warning: 'boxWidthStyle' doesn't exist at '/Shaft/Paragraph/getBoxesForRange(_:_:boxHeightStyle:boxWidthStyle:)'
--> Sources/Shaft/Core/TextTypes.swift:1341:38-1341:51
1339 | /// Returns a list of text boxes that enclose the given text range.
1340 | ///
1341 + /// The ``boxHeightStyle`` and ``boxWidthStyle`` parameters allow customization
1342 | /// of how the boxes are bound vertically and horizontally. Both style
1343 | /// parameters default to the tight option, which will provide close-fitting
warning: 'boxHeightStyle' doesn't exist at '/Shaft/Paragraph/getBoxesForRange(_:_:boxHeightStyle:boxWidthStyle:)'
--> Sources/Shaft/Core/TextTypes.swift:1349:15-1349:29
1347 | /// where positive y values indicate down.
1348 | ///
1349 + /// The ``boxHeightStyle`` and ``boxWidthStyle`` parameters must not be null.
1350 | ///
1351 | /// See ``BoxHeightStyle`` and ``BoxWidthStyle`` for full descriptions of each option.
warning: 'boxWidthStyle' doesn't exist at '/Shaft/Paragraph/getBoxesForRange(_:_:boxHeightStyle:boxWidthStyle:)'
--> Sources/Shaft/Core/TextTypes.swift:1349:38-1349:51
1347 | /// where positive y values indicate down.
1348 | ///
1349 + /// The ``boxHeightStyle`` and ``boxWidthStyle`` parameters must not be null.
1350 | ///
1351 | /// See ``BoxHeightStyle`` and ``BoxWidthStyle`` for full descriptions of each option.
warning: 'addPlaceholder' doesn't exist at '/Shaft/ParagraphBuilder'
--> Sources/Shaft/Core/TextTypes.swift:1362:28-1362:42
1360 | ///
1361 | /// The order of the boxes are in the same order as passed in through
1362 + /// ``ParagraphBuilder/addPlaceholder``.
1363 | ///
1364 | /// Coordinates of the ``TextBox`` are relative to the upper-left corner of the paragraph,
warning: 'getBoxesForRange' doesn't exist at '/Shaft/Paragraph'
--> Sources/Shaft/Core/TextTypes.swift:1460:46-1460:62
1458 | /// The measurements here are for the line as a whole, and represent the maximum
1459 | /// extent of the line instead of per-run or per-glyph metrics. For more detailed
1460 + /// metrics, see ``TextBox`` and ``Paragraph/getBoxesForRange``.
| ├─suggestion: Replace 'getBoxesForRange' with 'getBoxesForRange(_:_:boxHeightStyle:boxWidthStyle:)'
| ╰─suggestion: Replace 'getBoxesForRange' with 'getBoxesForPlaceholders()'
1461 | ///
1462 | /// ``LineMetrics`` should be obtained directly from the [Paragraph.computeLineMetrics]
warning: 'addPlaceholder' doesn't exist at '/Shaft/ParagraphBuilder'
--> Sources/Shaft/Core/TextTypes.swift:1576:32-1576:46
1574 | /// Where to vertically align the placeholder relative to the surrounding text.
1575 | ///
1576 + /// Used by ``ParagraphBuilder/addPlaceholder``.
1577 | public enum PlaceholderAlignment {
1578 | /// Match the baseline of the placeholder with the baseline.
warning: 'ValueSetter' doesn't exist at '/Shaft/ValueChanged'
--> Sources/Shaft/Foundation/Callback.swift:20:10-20:21
18 | /// See also:
19 | ///
20 + /// * ``ValueSetter``, for callbacks that report that a value has been set.
21 | public typealias ValueChanged<T> = (T) -> Void
22 |
warning: 'transform' doesn't exist at '/Shaft/MatrixUtils/getAsTranslation(_:)'
--> Sources/Shaft/Foundation/MatrixUtils.swift:8:29-8:38
6 |
7 | public struct MatrixUtils {
8 + /// Returns the given ``transform`` matrix as an ``Offset``, if the matrix is
9 | /// nothing but a 2D translation.
10 | ///
warning: 'transform' doesn't exist at '/Shaft/MatrixUtils/getAsScale(_:)'
--> Sources/Shaft/Foundation/MatrixUtils.swift:34:29-34:38
32 | }
33 |
34 + /// Returns the given ``transform`` matrix as a ``double`` describing a uniform
35 | /// scale, if the matrix is nothing but a symmetric 2D scale transform.
36 | ///
warning: 'double' doesn't exist at '/Shaft/MatrixUtils/getAsScale(_:)'
--> Sources/Shaft/Foundation/MatrixUtils.swift:34:55-34:61
32 | }
33 |
34 + /// Returns the given ``transform`` matrix as a ``double`` describing a uniform
35 | /// scale, if the matrix is nothing but a symmetric 2D scale transform.
36 | ///
warning: 'angle' doesn't exist at '/Shaft/SwiftMath/Matrix4x4f/rotateX(_:)'
--> Sources/Shaft/Foundation/MatrixUtils.swift:544:23-544:28
542 | }
543 |
544 + /// Rotate this ``angle`` radians around X
545 | public mutating func rotateX(_ angle: Angle) {
546 | let (sin:sinAngle, cos:cosAngle) = sincos(angle)
warning: 'angle' doesn't exist at '/Shaft/SwiftMath/Matrix4x4f/rotateY(_:)'
--> Sources/Shaft/Foundation/MatrixUtils.swift:566:30-566:35
564 | }
565 |
566 + /// Rotate this matrix ``angle`` radians around Y
567 | public mutating func rotateY(_ angle: Angle) {
568 | let (sin:sinAngle, cos:cosAngle) = sincos(angle)
warning: 'angle' doesn't exist at '/Shaft/SwiftMath/Matrix4x4f/rotateZ(_:)'
--> Sources/Shaft/Foundation/MatrixUtils.swift:588:30-588:35
586 | }
587 |
588 + /// Rotate this matrix ``angle`` radians around Z
589 | public mutating func rotateZ(_ angle: Angle) {
590 | let (sin:sinAngle, cos:cosAngle) = sincos(angle)
warning: 'Vector3' doesn't exist at '/Shaft/SwiftMath/Matrix4x4f/scale(_:)'
--> Sources/Shaft/Foundation/MatrixUtils.swift:636:34-636:41
634 | }
635 |
636 + /// Scale this matrix by a ``Vector3``
637 | public mutating func scale(_ vector: Vector3f) {
638 | scale(vector.x, vector.y, vector.z)
warning: 'angle' doesn't exist at '/Shaft/SwiftMath/Matrix4x4f/rotate(_:_:)'
--> Sources/Shaft/Foundation/MatrixUtils.swift:646:23-646:28
644 | }
645 |
646 + /// Rotate this ``angle`` radians around [axis]
647 | public mutating func rotate(_ axis: Vector3f, _ angle: Angle) {
648 | let len = axis.length
warning: 'Vector3' doesn't exist at '/Shaft/SwiftMath/Matrix4x4f/translate(_:)'
--> Sources/Shaft/Foundation/MatrixUtils.swift:708:38-708:45
706 | }
707 |
708 + /// Translate this matrix by a ``Vector3``
709 | public mutating func translate(_ vector: Vector3f) {
710 | translate(vector.x, vector.y, vector.z)
warning: 'DateTime' doesn't exist at '/Shaft/Swift/Duration/secondsPerMinute'
--> Sources/Shaft/Foundation/Time.swift:30:32-30:40
28 | /// Notice that some minutes of official clock time might
29 | /// differ in length because of leap seconds.
30 + /// The ``Duration`` and ``DateTime`` classes ignore leap seconds
31 | /// and consider all minutes to have 60 seconds.
32 | public static var secondsPerMinute = 60
warning: 'acceptGesture' doesn't exist at '/Shaft/GestureArenaMember'
--> Sources/Shaft/Gestures/Arena.swift:21:54-21:67
19 | ///
20 | /// Receives callbacks from the GestureArena to notify the object when it wins
21 + /// or loses a gesture negotiation. Exactly one of ``acceptGesture`` or
| ╰─suggestion: Replace 'acceptGesture' with 'acceptGesture(pointer:)'
22 | /// ``rejectGesture`` will be called for each arena this member was added to,
23 | /// regardless of what caused the arena to be resolved. For example, if a
warning: 'rejectGesture' doesn't exist at '/Shaft/GestureArenaMember'
--> Sources/Shaft/Gestures/Arena.swift:22:7-22:20
20 | /// Receives callbacks from the GestureArena to notify the object when it wins
21 | /// or loses a gesture negotiation. Exactly one of ``acceptGesture`` or
22 + /// ``rejectGesture`` will be called for each arena this member was added to,
| ╰─suggestion: Replace 'rejectGesture' with 'rejectGesture(pointer:)'
23 | /// regardless of what caused the arena to be resolved. For example, if a
24 | /// member resolves the arena itself, that member still receives an
warning: 'acceptGesture' doesn't exist at '/Shaft/GestureArenaMember'
--> Sources/Shaft/Gestures/Arena.swift:25:7-25:20
23 | /// regardless of what caused the arena to be resolved. For example, if a
24 | /// member resolves the arena itself, that member still receives an
25 + /// ``acceptGesture`` callback.
| ╰─suggestion: Replace 'acceptGesture' with 'acceptGesture(pointer:)'
26 | public protocol GestureArenaMember: AnyObject {
27 | /// Called when this member wins the arena for the given pointer id.
warning: 'hold' doesn't exist at '/Shaft/GestureArenaManager/sweep(_:)'
--> Sources/Shaft/Gestures/Arena.swift:112:23-112:27
110 | ///
111 | /// Recognizers that wish to delay resolving an arena past ``PointerUpEvent``
112 + /// should call ``hold`` to delay sweep until ``release`` is called.
113 | ///
114 | /// See also:
warning: 'release' doesn't exist at '/Shaft/GestureArenaManager/sweep(_:)'
--> Sources/Shaft/Gestures/Arena.swift:112:53-112:60
110 | ///
111 | /// Recognizers that wish to delay resolving an arena past ``PointerUpEvent``
112 + /// should call ``hold`` to delay sweep until ``release`` is called.
113 | ///
114 | /// See also:
warning: 'hold' doesn't exist at '/Shaft/GestureArenaManager/sweep(_:)'
--> Sources/Shaft/Gestures/Arena.swift:116:14-116:18
114 | /// See also:
115 | ///
116 + /// * ``hold``
117 | /// * ``release``
118 | public func sweep(_ pointer: Int) {
warning: 'release' doesn't exist at '/Shaft/GestureArenaManager/sweep(_:)'
--> Sources/Shaft/Gestures/Arena.swift:117:14-117:21
115 | ///
116 | /// * ``hold``
117 + /// * ``release``
118 | public func sweep(_ pointer: Int) {
119 | guard let state = arenas[pointer] else {
warning: 'hold' doesn't exist at '/Shaft/GestureArenaManager/hold(_:)'
--> Sources/Shaft/Gestures/Arena.swift:142:74-142:78
140 | /// Typically, a winner is chosen in an arena after all the other
141 | /// ``PointerUpEvent`` processing by [sweep]. If a recognizer wishes to delay
142 + /// resolving an arena past ``PointerUpEvent``, the recognizer can ``hold`` the
143 | /// arena open using this function. To release such a hold and let the arena
144 | /// resolve, call ``release``.
warning: 'release' doesn't exist at '/Shaft/GestureArenaManager/hold(_:)'
--> Sources/Shaft/Gestures/Arena.swift:144:25-144:32
142 | /// resolving an arena past ``PointerUpEvent``, the recognizer can ``hold`` the
143 | /// arena open using this function. To release such a hold and let the arena
144 + /// resolve, call ``release``.
145 | ///
146 | /// See also:
warning: 'release' doesn't exist at '/Shaft/GestureArenaManager/hold(_:)'
--> Sources/Shaft/Gestures/Arena.swift:149:14-149:21
147 | ///
148 | /// * [sweep]
149 + /// * ``release``
150 | public func hold(_ pointer: Int) {
151 | guard let state = arenas[pointer] else {
warning: 'hold' doesn't exist at '/Shaft/GestureArenaManager/release(_:)'
--> Sources/Shaft/Gestures/Arena.swift:165:14-165:18
163 | ///
164 | /// * [sweep]
165 + /// * ``hold``
166 | public func release(_ pointer: Int) {
167 | guard let state = arenas[pointer] else {
warning: 'localDelta' doesn't exist at '/Shaft/PointerEvent/transform'
--> Sources/Shaft/Gestures/PointerEvents.swift:105:72-105:82
103 | /// space into the coordinate space of the event receiver.
104 | ///
105 + /// This value affects what is returned by ``localPosition`` and ``localDelta``.
106 | /// If this value is null, it is treated as the identity transformation.
107 | public let transform: Matrix4x4f?
warning: 'route' doesn't exist at '/Shaft/PointerRouter'
--> Sources/Shaft/Gestures/PointerRouter.swift:82:57-82:62
80 | /// pointer, call route.
81 | ///
82 + /// Routes added reentrantly within ``PointerRouter/route`` will take effect when
| ╰─suggestion: Replace 'route' with 'route(_:)'
83 | /// routing the next event.
84 | public func addRoute(
warning: 'route' doesn't exist at '/Shaft/PointerRouter'
--> Sources/Shaft/Gestures/PointerRouter.swift:99:59-99:64
97 | /// pointer. Requires that this route was previously added to the router.
98 | ///
99 + /// Routes removed reentrantly within ``PointerRouter/route`` will take effect
| ╰─suggestion: Replace 'route' with 'route(_:)'
100 | /// immediately.
101 | public func removeRoute(_ pointer: Int, _ handler: PointerRoute) {
warning: 'route' doesn't exist at '/Shaft/PointerRouter'
--> Sources/Shaft/Gestures/PointerRouter.swift:115:57-115:62
113 | /// Whenever this object routes a ``PointerEvent``, call route.
114 | ///
115 + /// Routes added reentrantly within ``PointerRouter/route`` will take effect when
| ╰─suggestion: Replace 'route' with 'route(_:)'
116 | /// routing the next event.
117 | public func addGlobalRoute(
warning: 'addGlobalRoute' doesn't exist at '/Shaft/PointerRouter/removeGlobalRoute(_:)'
--> Sources/Shaft/Gestures/PointerRouter.swift:128:42-128:56
126 | ///
127 | /// No longer call route when routing a ``PointerEvent``. Requires that this
128 + /// route was previously added via ``addGlobalRoute``.
129 | ///
130 | /// Routes removed reentrantly within ``PointerRouter/route`` will take effect
warning: 'route' doesn't exist at '/Shaft/PointerRouter'
--> Sources/Shaft/Gestures/PointerRouter.swift:130:59-130:64
128 | /// route was previously added via ``addGlobalRoute``.
129 | ///
130 + /// Routes removed reentrantly within ``PointerRouter/route`` will take effect
| ╰─suggestion: Replace 'route' with 'route(_:)'
131 | /// immediately.
132 | public func removeGlobalRoute(_ handler: PointerRoute) {
warning: 'isPointerAllowed' doesn't exist at '/Shaft/BaseTapGestureRecognizer'
--> Sources/Shaft/Gestures/Recongnizer/TapRecongnizer.swift:118:7-118:23
116 | /// define which buttons to accept, or what to do when a tap happens. If you
117 | /// want to build a custom tap recognizer, extend this class by overriding
118 + /// ``isPointerAllowed`` and the handler methods.
119 | ///
120 | /// See also:
warning: 'minValue' doesn't exist at '/Shaft/Velocity/clampMagnitude(minValue:maxValue:)'
--> Sources/Shaft/Gestures/VelocityTracker.swift:43:65-43:73
41 | }
42 |
43 + /// Return a velocity whose magnitude has been clamped to ``minValue``
44 | /// and ``maxValue``.
45 | ///
warning: 'maxValue' doesn't exist at '/Shaft/Velocity/clampMagnitude(minValue:maxValue:)'
--> Sources/Shaft/Gestures/VelocityTracker.swift:44:15-44:23
42 |
43 | /// Return a velocity whose magnitude has been clamped to ``minValue``
44 + /// and ``maxValue``.
45 | ///
46 | /// If the magnitude of this Velocity is less than minValue then return a new
warning: 'minValue' doesn't exist at '/Shaft/Velocity/clampMagnitude(minValue:maxValue:)'
--> Sources/Shaft/Gestures/VelocityTracker.swift:47:63-47:71
45 | ///
46 | /// If the magnitude of this Velocity is less than minValue then return a new
47 + /// Velocity with the same direction and with magnitude ``minValue``. Similarly,
48 | /// if the magnitude of this Velocity is greater than maxValue then return a
49 | /// new Velocity with the same direction and magnitude ``maxValue``.
warning: 'maxValue' doesn't exist at '/Shaft/Velocity/clampMagnitude(minValue:maxValue:)'
--> Sources/Shaft/Gestures/VelocityTracker.swift:49:62-49:70
47 | /// Velocity with the same direction and with magnitude ``minValue``. Similarly,
48 | /// if the magnitude of this Velocity is greater than maxValue then return a
49 + /// new Velocity with the same direction and magnitude ``maxValue``.
50 | ///
51 | /// If the magnitude of this Velocity is within the specified bounds then
warning: 'addPosition' doesn't exist at '/Shaft/VelocityTracker'
--> Sources/Shaft/Gestures/VelocityTracker.swift:133:45-133:56
131 | /// Computes a pointer's velocity based on data from ``PointerMoveEvent``s.
132 | ///
133 + /// The input data is provided by calling ``addPosition``. Adding data is cheap.
| ╰─suggestion: Replace 'addPosition' with 'addPosition(_:_:)'
134 | ///
135 | /// To obtain a velocity, call ``getVelocity`` or ``getVelocityEstimate``. This will
warning: 'getVelocity' doesn't exist at '/Shaft/VelocityTracker'
--> Sources/Shaft/Gestures/VelocityTracker.swift:135:34-135:45
133 | /// The input data is provided by calling ``addPosition``. Adding data is cheap.
134 | ///
135 + /// To obtain a velocity, call ``getVelocity`` or ``getVelocityEstimate``. This will
| ├─suggestion: Replace 'getVelocity' with 'getVelocity()'
| ╰─suggestion: Replace 'getVelocity' with 'getVelocityEstimate()'
136 | /// compute the velocity based on the data added so far. Only call these when
137 | /// you need to use the velocity, as they are comparatively expensive.
warning: 'getVelocityEstimate' doesn't exist at '/Shaft/VelocityTracker'
--> Sources/Shaft/Gestures/VelocityTracker.swift:135:53-135:72
133 | /// The input data is provided by calling ``addPosition``. Adding data is cheap.
134 | ///
135 + /// To obtain a velocity, call ``getVelocity`` or ``getVelocityEstimate``. This will
| ├─suggestion: Replace 'getVelocityEstimate' with 'getVelocityEstimate()'
| ╰─suggestion: Replace 'getVelocityEstimate' with 'getVelocity()'
136 | /// compute the velocity based on the data added so far. Only call these when
137 | /// you need to use the velocity, as they are comparatively expensive.
warning: 'addPosition' doesn't exist at '/Shaft/VelocityTracker/getVelocityEstimate()'
--> Sources/Shaft/Gestures/VelocityTracker.swift:178:38-178:49
176 | /// tracker given the current information available to the tracker.
177 | ///
178 + /// Information is added using ``addPosition``.
179 | ///
180 | /// Returns nil if there is no data on which to base an estimate.
warning: 'AlignmentDirectional' doesn't exist at '/Shaft/AlignmentGeometry'
--> Sources/Shaft/Painting/Alignment.swift:12:39-12:59
10 | ///
11 | /// A property or argument of this type accepts classes created either with [
12 + /// Alignment] and its variants, or ``AlignmentDirectional/new``.
13 | ///
14 | /// To convert an ``AlignmentGeometry`` object of indeterminate type into an
warning: 'resolve' doesn't exist at '/Shaft/AlignmentGeometry'
--> Sources/Shaft/Painting/Alignment.swift:15:38-15:45
13 | ///
14 | /// To convert an ``AlignmentGeometry`` object of indeterminate type into an
15 + /// ``Alignment`` object, call the ``resolve`` method.
| ╰─suggestion: Replace 'resolve' with 'resolve(_:)'
16 | public protocol AlignmentGeometry: Equatable {
17 | func resolve(_ direction: TextDirection) -> Alignment
warning: 'AlignmentDirectional' doesn't exist at '/Shaft/Alignment'
--> Sources/Shaft/Painting/Alignment.swift:47:39-47:59
45 | /// ``Alignment`` uses visual coordinates, which means increasing ``x`` moves the
46 | /// point from left to right. To support layouts with a right-to-left
47 + /// [TextDirection], consider using ``AlignmentDirectional``, in which the
| ╰─suggestion: Replace 'AlignmentDirectional' with 'AlignmentGeometry-Implementations'
48 | /// direction the point moves when increasing the horizontal value depends on
49 | /// the [TextDirection].
warning: 'compareTo' doesn't exist at '/Shaft/TextSpan'
--> Sources/Shaft/Painting/BasicTypes.swift:12:24-12:33
10 | /// it will affect the rendering.
11 | ///
12 + /// Used by ``TextSpan/compareTo`` and ``TextStyle/compareTo``.
| ╰─suggestion: Replace 'compareTo' with 'compareTo(_:)'
13 | ///
14 | /// The values in this enum are ordered such that they are in increasing order
warning: 'compareTo' doesn't exist at '/Shaft/TextStyle'
--> Sources/Shaft/Painting/BasicTypes.swift:12:52-12:61
10 | /// it will affect the rendering.
11 | ///
12 + /// Used by ``TextSpan/compareTo`` and ``TextStyle/compareTo``.
13 | ///
14 | /// The values in this enum are ordered such that they are in increasing order
warning: 'markNeedsPaint' doesn't exist at '/Shaft/RenderObject'
--> Sources/Shaft/Painting/BasicTypes.swift:32:24-32:38
30 | /// For example, only the color is changed.
31 | ///
32 + /// ``RenderObject/markNeedsPaint`` would be necessary to handle this kind of
| ├─suggestion: Replace 'markNeedsPaint' with 'markNeedsPaint()'
| ╰─suggestion: Replace 'markNeedsPaint' with 'markNeedsLayout()'
33 | /// change in a render object.
34 | case paint
warning: 'markNeedsLayout' doesn't exist at '/Shaft/RenderObject'
--> Sources/Shaft/Painting/BasicTypes.swift:42:24-42:39
40 | /// This is the most drastic level of change possible.
41 | ///
42 + /// ``RenderObject/markNeedsLayout`` would be necessary to handle this kind of
| ├─suggestion: Replace 'markNeedsLayout' with 'markNeedsLayout()'
| ├─suggestion: Replace 'markNeedsLayout' with 'markParentNeedsLayout()'
| ├─suggestion: Replace 'markNeedsLayout' with 'markNeedsPaint()'
| ╰─suggestion: Replace 'markNeedsLayout' with 'markNeedsCompositedLayerUpdate()'
43 | /// change in a render object.
44 | case layout
warning: 'canMerge' doesn't exist at '/Shaft/BorderSide/merge(_:_:)'
--> Sources/Shaft/Painting/Borders.swift:46:44-46:52
44 | /// ``BorderSide``s.
45 | ///
46 + /// It is only valid to call this if ``canMerge`` returns true for the two
47 | /// sides.
48 | ///
warning: 'ShapeDecoration' doesn't exist at '/Shaft/BoxShape'
--> Sources/Shaft/Painting/BoxBorder.swift:11:64-11:79
9 | /// The shape to use when rendering a ``Border`` or ``BoxDecoration``.
10 | ///
11 + /// Consider using ``ShapeBorder`` subclasses directly (with ``ShapeDecoration``),
12 | /// instead of using ``BoxShape`` and ``Border``, if the shapes will need to be
13 | /// interpolated or animated. The ``Border`` class cannot interpolate between
warning: 'RoundedRectangleBorder' doesn't exist at '/Shaft/BoxShape/rectangle'
--> Sources/Shaft/Painting/BoxBorder.swift:22:14-22:36
20 | /// See also:
21 | ///
22 + /// * ``RoundedRectangleBorder``, the equivalent ``ShapeBorder``.
23 | case rectangle
24 |
warning: 'border' doesn't exist at '/Shaft/BoxDecoration'
--> Sources/Shaft/Painting/BoxDecoration.swift:13:21-13:27
11 | /// The ``BoxDecoration`` class provides a variety of ways to draw a box.
12 | ///
13 + /// The box has a ``border``, a body, and may cast a ``boxShadow``.
14 | ///
15 | /// The ``shape`` of the box can be a circle or a rectangle. If it is a rectangle,
warning: 'boxShadow' doesn't exist at '/Shaft/BoxDecoration'
--> Sources/Shaft/Painting/BoxDecoration.swift:13:56-13:65
11 | /// The ``BoxDecoration`` class provides a variety of ways to draw a box.
12 | ///
13 + /// The box has a ``border``, a body, and may cast a ``boxShadow``.
14 | ///
15 | /// The ``shape`` of the box can be a circle or a rectangle. If it is a rectangle,
warning: 'shape' doesn't exist at '/Shaft/BoxDecoration'
--> Sources/Shaft/Painting/BoxDecoration.swift:15:11-15:16
13 | /// The box has a ``border``, a body, and may cast a ``boxShadow``.
14 | ///
15 + /// The ``shape`` of the box can be a circle or a rectangle. If it is a rectangle,
16 | /// then the ``borderRadius`` property controls the roundness of the corners.
17 | ///
warning: 'borderRadius' doesn't exist at '/Shaft/BoxDecoration'
--> Sources/Shaft/Painting/BoxDecoration.swift:16:16-16:28
14 | ///
15 | /// The ``shape`` of the box can be a circle or a rectangle. If it is a rectangle,
16 + /// then the ``borderRadius`` property controls the roundness of the corners.
17 | ///
18 | /// The body of the box is painted in layers. The bottom-most layer is the
warning: 'color' doesn't exist at '/Shaft/BoxDecoration'
--> Sources/Shaft/Painting/BoxDecoration.swift:19:7-19:12
17 | ///
18 | /// The body of the box is painted in layers. The bottom-most layer is the
19 + /// ``color``, which fills the box. Above that is the ``gradient``, which also fills
20 | /// the box. Finally there is the ``image``, the precise alignment of which is
21 | /// controlled by the ``DecorationImage`` class.
warning: 'gradient' doesn't exist at '/Shaft/BoxDecoration'
--> Sources/Shaft/Painting/BoxDecoration.swift:19:57-19:65
17 | ///
18 | /// The body of the box is painted in layers. The bottom-most layer is the
19 + /// ``color``, which fills the box. Above that is the ``gradient``, which also fills
20 | /// the box. Finally there is the ``image``, the precise alignment of which is
21 | /// controlled by the ``DecorationImage`` class.
warning: 'image' doesn't exist at '/Shaft/BoxDecoration'
--> Sources/Shaft/Painting/BoxDecoration.swift:20:37-20:42
18 | /// The body of the box is painted in layers. The bottom-most layer is the
19 | /// ``color``, which fills the box. Above that is the ``gradient``, which also fills
20 + /// the box. Finally there is the ``image``, the precise alignment of which is
21 | /// controlled by the ``DecorationImage`` class.
22 | ///
warning: 'DecorationImage' doesn't exist at '/Shaft/BoxDecoration'
--> Sources/Shaft/Painting/BoxDecoration.swift:21:25-21:40
19 | /// ``color``, which fills the box. Above that is the ``gradient``, which also fills
20 | /// the box. Finally there is the ``image``, the precise alignment of which is
21 + /// controlled by the ``DecorationImage`` class.
| ╰─suggestion: Replace 'DecorationImage' with 'Decoration-Implementations'
22 | ///
23 | /// The ``border`` paints over the body; the ``boxShadow``, naturally, paints below it.
warning: 'border' doesn't exist at '/Shaft/BoxDecoration'
--> Sources/Shaft/Painting/BoxDecoration.swift:23:11-23:17
21 | /// controlled by the ``DecorationImage`` class.
22 | ///
23 + /// The ``border`` paints over the body; the ``boxShadow``, naturally, paints below it.
24 | public class BoxDecoration: Decoration {
25 | public init(
warning: 'boxShadow' doesn't exist at '/Shaft/BoxDecoration'
--> Sources/Shaft/Painting/BoxDecoration.swift:23:48-23:57
21 | /// controlled by the ``DecorationImage`` class.
22 | ///
23 + /// The ``border`` paints over the body; the ``boxShadow``, naturally, paints below it.
24 | public class BoxDecoration: Decoration {
25 | public init(
warning: 'WidgetSpan' doesn't exist at '/Shaft/PlaceholderDimensions'
--> Sources/Shaft/Painting/TextPainter.swift:52:66-52:76
50 | ///
51 | /// Placeholders specify an empty space in the text layout, which is used
52 + /// to later render arbitrary inline widgets into defined by a ``WidgetSpan``.
53 | ///
54 | /// See also:
warning: 'WidgetSpan' doesn't exist at '/Shaft/PlaceholderDimensions'
--> Sources/Shaft/Painting/TextPainter.swift:56:10-56:20
54 | /// See also:
55 | ///
56 + /// * ``WidgetSpan``, a subclass of ``InlineSpan`` and ``PlaceholderSpan`` that
57 | /// represents an inline widget embedded within text. The space this
58 | /// widget takes is indicated by a placeholder.
warning: 'WidgetSpan' doesn't exist at '/Shaft/TextPainter/text'
--> Sources/Shaft/Painting/TextPainter.swift:161:49-161:59
159 | ///
160 | /// The ``InlineSpan`` this provides is in the form of a tree that may contain
161 + /// multiple instances of [TextSpan]s and ``WidgetSpan``s. To obtain a plain text
162 | /// representation of the contents of this [TextPainter], use [plainText].
163 | public var text: InlineSpan? {
warning: 'merge' doesn't exist at '/Shaft/TextStyle/inherit'
--> Sources/Shaft/Painting/TextStyle.swift:62:42-62:47
60 |
61 | /// Whether null values in this ``TextStyle`` can be replaced with their value
62 + /// in another ``TextStyle`` using ``merge``.
63 | ///
64 | /// The ``merge`` operation is not commutative: the ``inherit`` value of the
warning: 'merge' doesn't exist at '/Shaft/TextStyle/inherit'
--> Sources/Shaft/Painting/TextStyle.swift:64:15-64:20
62 | /// in another ``TextStyle`` using ``merge``.
63 | ///
64 + /// The ``merge`` operation is not commutative: the ``inherit`` value of the
65 | /// method argument decides whether the two ``TextStyle``s can be combined
66 | /// together. If it is false, the method argument ``TextStyle`` will be returned.
warning: 'merge' doesn't exist at '/Shaft/TextStyle/color'
--> Sources/Shaft/Painting/TextStyle.swift:89:14-89:19
87 | /// is shorthand for `Paint()..color = color`.
88 | ///
89 + /// In ``merge``, [apply], and [lerp], conflicts between [color] and [foreground]
90 | /// specification are resolved in [foreground]'s favor - i.e. if [foreground] is
91 | /// specified in one place, it will dominate [color] in another.
warning: 'merge' doesn't exist at '/Shaft/TextStyle/backgroundColor'
--> Sources/Shaft/Painting/TextStyle.swift:100:14-100:19
98 | /// `background: Paint()..color = backgroundColor`.
99 | ///
100 + /// In ``merge``, [apply], and [lerp], conflicts between [backgroundColor] and [background]
101 | /// specification are resolved in [background]'s favor - i.e. if [background] is
102 | /// specified in one place, it will dominate [color] in another.
warning: 'merge' doesn't exist at '/Shaft/TextStyle/foreground'
--> Sources/Shaft/Painting/TextStyle.swift:228:14-228:19
226 | /// is shorthand for `Paint()..color = color`.
227 | ///
228 + /// In ``merge``, [apply], and [lerp], conflicts between [color] and [foreground]
229 | /// specification are resolved in [foreground]'s favor - i.e. if [foreground] is
230 | /// specified in one place, it will dominate [color] in another.
warning: 'merge' doesn't exist at '/Shaft/TextStyle/background'
--> Sources/Shaft/Painting/TextStyle.swift:244:14-244:19
242 | /// `background: Paint()..color = backgroundColor`.
243 | ///
244 + /// In ``merge``, [apply], and [lerp], conflicts between [backgroundColor] and
245 | /// [background] specification are resolved in [background]'s favor - i.e. if
246 | /// [background] is specified in one place, it will dominate [backgroundColor]
warning: 'merge' doesn't exist at '/Shaft/TextStyle/debugLabel'
--> Sources/Shaft/Painting/TextStyle.swift:278:25-278:30
276 | /// This property is maintained only in debug builds.
277 | ///
278 + /// When merging (``merge``), copying ([copyWith]), modifying using [apply], or
279 | /// interpolating ([lerp]), the label of the resulting style is marked with
280 | /// the debug labels of the original styles. This helps figuring out where a
warning: 'x' doesn't exist at '/Shaft/Simulation'
--> Sources/Shaft/Physics/Simulation.swift:6:33-6:34
4 | /// forces are being applied, and exposes:
5 | ///
6 + /// * The object's position, ``x``
7 | /// * The object's velocity, ``dx``
8 | /// * Whether the simulation is "done", ``isDone``
warning: 'dx' doesn't exist at '/Shaft/Simulation'
--> Sources/Shaft/Physics/Simulation.swift:7:33-7:35
5 | ///
6 | /// * The object's position, ``x``
7 + /// * The object's velocity, ``dx``
8 | /// * Whether the simulation is "done", ``isDone``
9 | ///
warning: 'isDone' doesn't exist at '/Shaft/Simulation'
--> Sources/Shaft/Physics/Simulation.swift:8:44-8:50
6 | /// * The object's position, ``x``
7 | /// * The object's velocity, ``dx``
8 + /// * Whether the simulation is "done", ``isDone``
| ╰─suggestion: Replace 'isDone' with 'isDone(_:)'
9 | ///
10 | /// A simulation is generally "done" if the object has, to a given ``tolerance``,
warning: 'x' doesn't exist at '/Shaft/Simulation'
--> Sources/Shaft/Physics/Simulation.swift:13:11-13:12
11 | /// come to a complete rest.
12 | ///
13 + /// The ``x``, ``dx``, and ``isDone`` functions take a time argument which specifies
14 | /// the time for which they are to be evaluated. In principle, simulations can
15 | /// be stateless, and thus can be queried with arbitrary times. In practice,
warning: 'dx' doesn't exist at '/Shaft/Simulation'
--> Sources/Shaft/Physics/Simulation.swift:13:18-13:20
11 | /// come to a complete rest.
12 | ///
13 + /// The ``x``, ``dx``, and ``isDone`` functions take a time argument which specifies
14 | /// the time for which they are to be evaluated. In principle, simulations can
15 | /// be stateless, and thus can be queried with arbitrary times. In practice,
warning: 'isDone' doesn't exist at '/Shaft/Simulation'
--> Sources/Shaft/Physics/Simulation.swift:13:30-13:36
11 | /// come to a complete rest.
12 | ///
13 + /// The ``x``, ``dx``, and ``isDone`` functions take a time argument which specifies
| ╰─suggestion: Replace 'isDone' with 'isDone(_:)'
14 | /// the time for which they are to be evaluated. In principle, simulations can
15 | /// be stateless, and thus can be queried with arbitrary times. In practice,
warning: 'isDone' doesn't exist at '/Shaft/Simulation/tolerance'
--> Sources/Shaft/Physics/Simulation.swift:37:26-37:32
35 |
36 | /// How close to the actual end of the simulation a value at a particular time
37 + /// must be before ``isDone`` considers the simulation to be "done".
38 | ///
39 | /// A simulation with an asymptotic curve would never technically be "done",
warning: 'AnimatedBuilder' doesn't exist at '/Shaft/SpringSimulation'
--> Sources/Shaft/Physics/SpringSimulation.swift:93:58-93:73
91 | /// Models a particle attached to a spring that follows Hooke's law.
92 | ///
93 + /// This ``AnimationController`` could be used with an ``AnimatedBuilder`` to
94 | /// animate the position of a child as if it were attached to a spring.
95 | public struct SpringSimulation: Simulation {
warning: 'ContainerRenderObjectMixin' doesn't exist at '/Shaft/ContainerBoxParentData'
--> Sources/Shaft/Rendering/RenderBox.swift:17:7-17:33
15 |
16 | /// Abstract ``ParentData`` subclass for ``RenderBox`` subclasses that want the
17 + /// ``ContainerRenderObjectMixin``.
18 | ///
19 | /// This is a convenience class that mixes in the relevant classes with
warning: 'width' doesn't exist at '/Shaft/Size'
--> Sources/Shaft/Rendering/RenderBox.swift:31:30-31:35
29 | /// relations hold:
30 | ///
31 + /// * ``minWidth`` <= ``Size/width`` <= ``maxWidth``
32 | /// * ``minHeight`` <= ``Size/height`` <= ``maxHeight``
33 | public struct BoxConstraints: Constraints, Equatable {
warning: 'height' doesn't exist at '/Shaft/Size'
--> Sources/Shaft/Rendering/RenderBox.swift:32:31-32:37
30 | ///
31 | /// * ``minWidth`` <= ``Size/width`` <= ``maxWidth``
32 + /// * ``minHeight`` <= ``Size/height`` <= ``maxHeight``
33 | public struct BoxConstraints: Constraints, Equatable {
34 | /// Creates box constraints with the given constraints.
warning: 'constrain' doesn't exist at '/Shaft/BoxConstraints/constrainDimensions(width:height:)'
--> Sources/Shaft/Rendering/RenderBox.swift:171:52-171:61
169 | /// possible to the given width and height.
170 | ///
171 + /// When you already have a ``Size``, prefer ``constrain``, which applies the same
172 | /// algorithm to a ``Size`` directly.
173 | public func constrainDimensions(width: Float, height: Float) -> Size {
warning: 'enforce' doesn't exist at '/Shaft/BoxConstraints/hasInfiniteWidth'
--> Sources/Shaft/Rendering/RenderBox.swift:244:74-244:81
242 | /// Such a constraint is used to indicate that a box should grow as large as
243 | /// some other constraint (in this case, horizontally). If constraints are
244 + /// infinite, then they must have other (non-infinite) constraints ``enforce``d
245 | /// upon them, or must be ``tighten``ed, before they can be used to derive a
246 | /// ``Size`` for a ``RenderBox/size``.
warning: 'tighten' doesn't exist at '/Shaft/BoxConstraints/hasInfiniteWidth'
--> Sources/Shaft/Rendering/RenderBox.swift:245:33-245:40
243 | /// some other constraint (in this case, horizontally). If constraints are
244 | /// infinite, then they must have other (non-infinite) constraints ``enforce``d
245 + /// upon them, or must be ``tighten``ed, before they can be used to derive a
246 | /// ``Size`` for a ``RenderBox/size``.
247 | ///
warning: 'enforce' doesn't exist at '/Shaft/BoxConstraints/hasInfiniteHeight'
--> Sources/Shaft/Rendering/RenderBox.swift:261:74-261:81
259 | /// Such a constraint is used to indicate that a box should grow as large as
260 | /// some other constraint (in this case, vertically). If constraints are
261 + /// infinite, then they must have other (non-infinite) constraints ``enforce``d
262 | /// upon them, or must be ``tighten``ed, before they can be used to derive a
263 | /// ``Size`` for a ``RenderBox/size``.
warning: 'tighten' doesn't exist at '/Shaft/BoxConstraints/hasInfiniteHeight'
--> Sources/Shaft/Rendering/RenderBox.swift:262:33-262:40
260 | /// some other constraint (in this case, vertically). If constraints are
261 | /// infinite, then they must have other (non-infinite) constraints ``enforce``d
262 + /// upon them, or must be ``tighten``ed, before they can be used to derive a
263 | /// ``Size`` for a ``RenderBox/size``.
264 | ///
warning: 'addWithPaintTransform' doesn't exist at '/Shaft/BoxHitTestResult'
--> Sources/Shaft/Rendering/RenderBox.swift:294:32-294:53
292 | /// Method signature for hit testing a ``RenderBox``.
293 | ///
294 + /// Used by ``BoxHitTestResult/addWithPaintTransform`` to hit test children
| ╰─suggestion: Replace 'addWithPaintTransform' with 'addWithPaintTransform(transform:position:hitTest:)'
295 | /// of a ``RenderBox``.
296 | ///
warning: 'hitTest' doesn't exist at '/Shaft/RenderBox'
--> Sources/Shaft/Rendering/RenderBox.swift:299:20-299:27
297 | /// See also:
298 | ///
299 + /// * ``RenderBox/hitTest``, which documents more details around hit testing
| ├─suggestion: Replace 'hitTest' with 'hitTestSelf(_:)'
| ├─suggestion: Replace 'hitTest' with 'hitTest(_:position:)'
| ╰─suggestion: Replace 'hitTest' with 'hitTestChildren(_:position:)'
300 | /// ``RenderBox``es.
301 | public typealias BoxHitTest = (BoxHitTestResult, Offset) -> Bool
warning: 'hitTestBoxChild' doesn't exist at '/Shaft/RenderSliverSingleBoxAdapter'
--> Sources/Shaft/Rendering/RenderBox.swift:306:44-306:59
304 | /// managed position (one that is passed out-of-band).
305 | ///
306 + /// Used by ``RenderSliverSingleBoxAdapter/hitTestBoxChild`` to hit test
| ╰─suggestion: Replace 'hitTestBoxChild' with 'hitTestChildren(_:mainAxisPosition:crossAxisPosition:)'
307 | /// ``RenderBox`` children of a ``RenderSliver``.
308 | ///
warning: 'hitTest' doesn't exist at '/Shaft/RenderBox'
--> Sources/Shaft/Rendering/RenderBox.swift:311:20-311:27
309 | /// See also:
310 | ///
311 + /// * ``RenderBox/hitTest``, which documents more details around hit testing
| ├─suggestion: Replace 'hitTest' with 'hitTestSelf(_:)'
| ├─suggestion: Replace 'hitTest' with 'hitTest(_:position:)'
| ╰─suggestion: Replace 'hitTest' with 'hitTestChildren(_:position:)'
312 | /// ``RenderBox``es.
313 | public typealias BoxHitTestWithOutOfBandPosition = (BoxHitTestResult) -> Bool
warning: 'hitTest' doesn't exist at '/Shaft/RenderBox'
--> Sources/Shaft/Rendering/RenderBox.swift:317:58-317:65
315 | /// The result of performing a hit test on ``RenderBox``es.
316 | ///
317 + /// An instance of this class is provided to ``RenderBox/hitTest`` to record the
| ├─suggestion: Replace 'hitTest' with 'hitTestSelf(_:)'
| ├─suggestion: Replace 'hitTest' with 'hitTest(_:position:)'
| ╰─suggestion: Replace 'hitTest' with 'hitTestChildren(_:position:)'
318 | /// result of the hit test.
319 | public class BoxHitTestResult: HitTestResult {
warning: 'addWithPaintTransform' doesn't exist at '/Shaft/BoxHitTestResult/addWithPaintOffset(offset:position:hitTest:)'
--> Sources/Shaft/Rendering/RenderBox.swift:345:57-345:78
343 | /// `position` as argument.
344 | ///
345 + /// This method can be used as a convenience over ``addWithPaintTransform`` if
346 | /// a parent paints a child at an `offset`.
347 | ///
warning: 'zero' doesn't exist at '/Shaft/Offset'
--> Sources/Shaft/Rendering/RenderBox.swift:348:61-348:65
346 | /// a parent paints a child at an `offset`.
347 | ///
348 + /// A null value for `offset` is treated as if ``Offset/zero`` was provided.
349 | ///
350 | /// The function returns the return value of the `hitTest` callback.
warning: 'addWithPaintTransform' doesn't exist at '/Shaft/BoxHitTestResult/addWithPaintOffset(offset:position:hitTest:)'
--> Sources/Shaft/Rendering/RenderBox.swift:354:14-354:35
352 | /// See also:
353 | ///
354 + /// * ``addWithPaintTransform``, which takes a generic paint transform matrix and
355 | /// documents the intended usage of this API in more detail.
356 | public func addWithPaintOffset(
warning: 'removePerspectiveTransform' doesn't exist at '/Shaft/PointerEvent'
--> Sources/Shaft/Rendering/RenderBox.swift:381:24-381:50
379 | /// The provided paint `transform` (which describes the transform from the
380 | /// child to the parent in 3D) is processed by
381 + /// ``PointerEvent/removePerspectiveTransform`` to remove the
382 | /// perspective component and inverted before it is used to transform
383 | /// `position` from the coordinate system of the parent to the system of the
warning: 'addWithPaintOffset' doesn't exist at '/Shaft/BoxHitTestResult/addWithPaintTransform(transform:position:hitTest:)'
--> Sources/Shaft/Rendering/RenderBox.swift:401:14-401:32
399 | /// See also:
400 | ///
401 + /// * ``addWithPaintOffset``, which can be used for `transform`s that are just
402 | /// simple matrix translations by an ``Offset``.
403 | /// * ``addWithRawTransform``, which takes a transform matrix that is directly
warning: 'addWithRawTransform' doesn't exist at '/Shaft/BoxHitTestResult/addWithPaintTransform(transform:position:hitTest:)'
--> Sources/Shaft/Rendering/RenderBox.swift:403:14-403:33
401 | /// * ``addWithPaintOffset``, which can be used for `transform`s that are just
402 | /// simple matrix translations by an ``Offset``.
403 + /// * ``addWithRawTransform``, which takes a transform matrix that is directly
404 | /// used to transform the position without any pre-processing.
405 | public func addWithPaintTransform(
warning: 'addWithPaintTransform' doesn't exist at '/Shaft/BoxHitTestResult/addWithRawTransform(transform:position:hitTest:)'
--> Sources/Shaft/Rendering/RenderBox.swift:432:18-432:39
430 | /// `position` as argument.
431 | ///
432 + /// Unlike ``addWithPaintTransform``, the provided `transform` matrix is used
433 | /// directly to transform `position` without any pre-processing.
434 | ///
warning: 'addWithPaintTransform' doesn't exist at '/Shaft/BoxHitTestResult/addWithRawTransform(transform:position:hitTest:)'
--> Sources/Shaft/Rendering/RenderBox.swift:442:14-442:35
440 | /// See also:
441 | ///
442 + /// * ``addWithPaintTransform``, which accomplishes the same thing, but takes a
443 | /// _paint_ transform matrix.
444 | public func addWithRawTransform(
warning: 'addWithPaintOffset' doesn't exist at '/Shaft/BoxHitTestResult/addWithOutOfBandPosition(paintOffset:paintTransform:rawTransform:hitTest:)'
--> Sources/Shaft/Rendering/RenderBox.swift:474:14-474:32
472 | ///
473 | /// * `paintOffset` has the semantics of the `offset` passed to
474 + /// ``addWithPaintOffset``.
475 | ///
476 | /// * `paintTransform` has the semantics of the `transform` passed to
warning: 'addWithPaintTransform' doesn't exist at '/Shaft/BoxHitTestResult/addWithOutOfBandPosition(paintOffset:paintTransform:rawTransform:hitTest:)'
--> Sources/Shaft/Rendering/RenderBox.swift:477:14-477:35
475 | ///
476 | /// * `paintTransform` has the semantics of the `transform` passed to
477 + /// ``addWithPaintTransform``, except that it must be invertible; it
478 | /// is the responsibility of the caller to ensure this.
479 | ///
warning: 'addWithRawTransform' doesn't exist at '/Shaft/BoxHitTestResult/addWithOutOfBandPosition(paintOffset:paintTransform:rawTransform:hitTest:)'
--> Sources/Shaft/Rendering/RenderBox.swift:481:14-481:33
479 | ///
480 | /// * `rawTransform` has the semantics of the `transform` passed to
481 + /// ``addWithRawTransform``.
482 | ///
483 | /// Exactly one of these must be non-null.
warning: 'addWithPaintTransform' doesn't exist at '/Shaft/BoxHitTestResult/addWithOutOfBandPosition(paintOffset:paintTransform:rawTransform:hitTest:)'
--> Sources/Shaft/Rendering/RenderBox.swift:487:14-487:35
485 | /// See also:
486 | ///
487 + /// * ``addWithPaintTransform``, which takes a generic paint transform matrix and
488 | /// documents the intended usage of this API in more detail.
489 | public func addWithOutOfBandPosition(
warning: 'getMinIntrinsicWidth' doesn't exist at '/Shaft/RenderBox/computeMinIntrinsicWidth(_:)'
--> Sources/Shaft/Rendering/RenderBox.swift:580:42-580:62
578 | }
579 |
580 + /// Computes the value returned by ``getMinIntrinsicWidth``. Do not call this
581 | /// function directly, instead, call ``getMinIntrinsicWidth``.
582 | open func computeMinIntrinsicWidth(_ height: Float) -> Float {
warning: 'getMinIntrinsicWidth' doesn't exist at '/Shaft/RenderBox/computeMinIntrinsicWidth(_:)'
--> Sources/Shaft/Rendering/RenderBox.swift:581:44-581:64
579 |
580 | /// Computes the value returned by ``getMinIntrinsicWidth``. Do not call this
581 + /// function directly, instead, call ``getMinIntrinsicWidth``.
582 | open func computeMinIntrinsicWidth(_ height: Float) -> Float {
583 | return 0.0
warning: 'getMinIntrinsicHeight' doesn't exist at '/Shaft/RenderBox/getMaxIntrinsicWidth(_:)'
--> Sources/Shaft/Rendering/RenderBox.swift:588:32-588:53
586 | /// Returns the smallest width beyond which increasing the width never
587 | /// decreases the preferred height. The preferred height is the value that
588 + /// would be returned by ``getMinIntrinsicHeight`` for that width.
589 | public final func getMaxIntrinsicWidth(_ height: Float) -> Float {
590 | assert(height >= 0.0, "The height argument to getMaxIntrinsicWidth() must be positive.")
warning: 'getMaxIntrinsicWidth' doesn't exist at '/Shaft/RenderBox/computeMaxIntrinsicWidth(_:)'
--> Sources/Shaft/Rendering/RenderBox.swift:598:42-598:62
596 | }
597 |
598 + /// Computes the value returned by ``getMaxIntrinsicWidth``. Do not call this
599 | /// function directly, instead, call ``getMaxIntrinsicWidth``.
600 | open func computeMaxIntrinsicWidth(_ height: Float) -> Float {
warning: 'getMaxIntrinsicWidth' doesn't exist at '/Shaft/RenderBox/computeMaxIntrinsicWidth(_:)'
--> Sources/Shaft/Rendering/RenderBox.swift:599:44-599:64
597 |
598 | /// Computes the value returned by ``getMaxIntrinsicWidth``. Do not call this
599 + /// function directly, instead, call ``getMaxIntrinsicWidth``.
600 | open func computeMaxIntrinsicWidth(_ height: Float) -> Float {
601 | return 0.0
warning: 'getMinIntrinsicHeight' doesn't exist at '/Shaft/RenderBox/computeMinIntrinsicHeight(_:)'
--> Sources/Shaft/Rendering/RenderBox.swift:615:42-615:63
613 | }
614 |
615 + /// Computes the value returned by ``getMinIntrinsicHeight``. Do not call this
616 | /// function directly, instead, call ``getMinIntrinsicHeight``.
617 | open func computeMinIntrinsicHeight(_ width: Float) -> Float {
warning: 'getMinIntrinsicHeight' doesn't exist at '/Shaft/RenderBox/computeMinIntrinsicHeight(_:)'
--> Sources/Shaft/Rendering/RenderBox.swift:616:44-616:65
614 |
615 | /// Computes the value returned by ``getMinIntrinsicHeight``. Do not call this
616 + /// function directly, instead, call ``getMinIntrinsicHeight``.
617 | open func computeMinIntrinsicHeight(_ width: Float) -> Float {
618 | return 0.0
warning: 'getMinIntrinsicWidth' doesn't exist at '/Shaft/RenderBox/getMaxIntrinsicHeight(_:)'
--> Sources/Shaft/Rendering/RenderBox.swift:623:32-623:52
621 | /// Returns the smallest height beyond which increasing the height never
622 | /// decreases the preferred width. The preferred width is the value that
623 + /// would be returned by ``getMinIntrinsicWidth`` for that height.
624 | public final func getMaxIntrinsicHeight(_ width: Float) -> Float {
625 | assert(width >= 0.0, "The width argument to getMaxIntrinsicHeight() must be positive.")
warning: 'getMaxIntrinsicHeight' doesn't exist at '/Shaft/RenderBox/computeMaxIntrinsicHeight(_:)'
--> Sources/Shaft/Rendering/RenderBox.swift:633:42-633:63
631 | }
632 |
633 + /// Computes the value returned by ``getMaxIntrinsicHeight``. Do not call this
634 | /// function directly, instead, call ``getMaxIntrinsicHeight``.
635 | open func computeMaxIntrinsicHeight(_ width: Float) -> Float {
warning: 'getMaxIntrinsicHeight' doesn't exist at '/Shaft/RenderBox/computeMaxIntrinsicHeight(_:)'
--> Sources/Shaft/Rendering/RenderBox.swift:634:44-634:65
632 |
633 | /// Computes the value returned by ``getMaxIntrinsicHeight``. Do not call this
634 + /// function directly, instead, call ``getMaxIntrinsicHeight``.
635 | open func computeMaxIntrinsicHeight(_ width: Float) -> Float {
636 | return 0.0
warning: 'getDryLayout' doesn't exist at '/Shaft/RenderBox/computeDryLayout(_:)'
--> Sources/Shaft/Rendering/RenderBox.swift:639:42-639:54
637 | }
638 |
639 + /// Computes the value returned by ``getDryLayout``. Do not call this
640 | /// function directly, instead, call ``getDryLayout``.
641 | open func computeDryLayout(_ constraints: BoxConstraints) -> Size {
warning: 'getDryLayout' doesn't exist at '/Shaft/RenderBox/computeDryLayout(_:)'
--> Sources/Shaft/Rendering/RenderBox.swift:640:44-640:56
638 |
639 | /// Computes the value returned by ``getDryLayout``. Do not call this
640 + /// function directly, instead, call ``getDryLayout``.
641 | open func computeDryLayout(_ constraints: BoxConstraints) -> Size {
642 | return Size.zero
warning: 'computeDryLayout' doesn't exist at '/Shaft/RenderBox/performResize()'
--> Sources/Shaft/Rendering/RenderBox.swift:687:65-687:81
685 | }
686 |
687 + /// By default this method sets ``size`` to the result of ``computeDryLayout``
688 | /// called with the current ``constraints``. Instead of overriding this method,
689 | /// consider overriding ``computeDryLayout``.
warning: 'constraints' doesn't exist at '/Shaft/RenderBox/performResize()'
--> Sources/Shaft/Rendering/RenderBox.swift:688:35-688:46
686 |
687 | /// By default this method sets ``size`` to the result of ``computeDryLayout``
688 + /// called with the current ``constraints``. Instead of overriding this method,
689 | /// consider overriding ``computeDryLayout``.
690 | open override func performResize() {
warning: 'computeDryLayout' doesn't exist at '/Shaft/RenderBox/performResize()'
--> Sources/Shaft/Rendering/RenderBox.swift:689:31-689:47
687 | /// By default this method sets ``size`` to the result of ``computeDryLayout``
688 | /// called with the current ``constraints``. Instead of overriding this method,
689 + /// consider overriding ``computeDryLayout``.
690 | open override func performResize() {
691 | // default behavior for subclasses that have sizedByParent = true
warning: 'position' doesn't exist at '/Shaft/RenderBox/hitTest(_:position:)'
--> Sources/Shaft/Rendering/RenderBox.swift:713:54-713:62
711 | /// Returns false if the hit can continue to other objects below this one.
712 | ///
713 + /// The caller is responsible for transforming ``position`` from global
714 | /// coordinates to its location relative to the origin of this ``RenderBox``.
715 | /// This ``RenderBox`` is responsible for checking whether the given position is
warning: 'position' doesn't exist at '/Shaft/RenderBox/hitTestSelf(_:)'
--> Sources/Shaft/Rendering/RenderBox.swift:736:54-736:62
734 | /// on this render object.
735 | ///
736 + /// The caller is responsible for transforming ``position`` from global
737 | /// coordinates to its location relative to the origin of this ``RenderBox``.
738 | /// This ``RenderBox`` is responsible for checking whether the given position is
warning: 'hitTest' doesn't exist at '/Shaft/RenderBox/hitTestSelf(_:)'
--> Sources/Shaft/Rendering/RenderBox.swift:741:19-741:26
739 | /// within its bounds.
740 | ///
741 + /// Used by ``hitTest``. If you override ``hitTest`` and do not call this
742 | /// function, then you don't need to implement this function.
743 | open func hitTestSelf(_ position: Offset) -> Bool {
warning: 'hitTest' doesn't exist at '/Shaft/RenderBox/hitTestSelf(_:)'
--> Sources/Shaft/Rendering/RenderBox.swift:741:48-741:55
739 | /// within its bounds.
740 | ///
741 + /// Used by ``hitTest``. If you override ``hitTest`` and do not call this
742 | /// function, then you don't need to implement this function.
743 | open func hitTestSelf(_ position: Offset) -> Bool {
warning: 'position' doesn't exist at '/Shaft/RenderBox/hitTestChildren(_:position:)'
--> Sources/Shaft/Rendering/RenderBox.swift:757:54-757:62
755 | /// visually "on top" (i.e., paints later).
756 | ///
757 + /// The caller is responsible for transforming ``position`` from global
758 | /// coordinates to its location relative to the origin of this ``RenderBox``.
759 | /// Likewise, this ``RenderBox`` is responsible for transforming the position
warning: 'hitTest' doesn't exist at '/Shaft/RenderBox/hitTestChildren(_:position:)'
--> Sources/Shaft/Rendering/RenderBox.swift:760:56-760:63
758 | /// coordinates to its location relative to the origin of this ``RenderBox``.
759 | /// Likewise, this ``RenderBox`` is responsible for transforming the position
760 + /// that it passes to its children when it calls ``hitTest`` on each child.
761 | open func hitTestChildren(_ result: HitTestResult, position: Offset) -> Bool {
762 | return false
warning: 'parentData' doesn't exist at '/Shaft/RenderBox/applyPaintTransform(_:transform:)'
--> Sources/Shaft/Rendering/RenderBox.swift:774:19-774:29
772 | /// The ``RenderBox`` implementation takes care of adjusting the matrix for the
773 | /// position of the given child as determined during layout and stored on the
774 + /// child's ``parentData`` in the ``BoxParentData/offset`` field.
775 | open override func applyPaintTransform(_ child: RenderObject, transform: inout Matrix4x4f) {
776 | assert(child.parent === self)
warning: 'offset' doesn't exist at '/Shaft/BoxParentData'
--> Sources/Shaft/Rendering/RenderBox.swift:774:55-774:61
772 | /// The ``RenderBox`` implementation takes care of adjusting the matrix for the
773 | /// position of the given child as determined during layout and stored on the
774 + /// child's ``parentData`` in the ``BoxParentData/offset`` field.
775 | open override func applyPaintTransform(_ child: RenderObject, transform: inout Matrix4x4f) {
776 | assert(child.parent === self)
warning: 'transformPoint' doesn't exist at '/Shaft/MatrixUtils'
--> Sources/Shaft/Rendering/RenderBox.swift:796:53-796:67
794 | ///
795 | /// This method will un-project the point from the screen onto the widget,
796 + /// which makes it different from ``MatrixUtils/transformPoint``.
| ├─suggestion: Replace 'transformPoint' with 'transformPoint(_:_:)'
| ╰─suggestion: Replace 'transformPoint' with 'transformRect(_:_:)'
797 | ///
798 | /// If the transform from global coordinates to local coordinates is
warning: 'zero' doesn't exist at '/Shaft/Offset'
--> Sources/Shaft/Rendering/RenderBox.swift:799:52-799:56
797 | ///
798 | /// If the transform from global coordinates to local coordinates is
799 + /// degenerate, this function returns ``Offset/zero``.
800 | ///
801 | /// If `ancestor` is non-null, this function converts the given point from
warning: 'getTransformTo' doesn't exist at '/Shaft/RenderBox/globalToLocal(_:ancestor:)'
--> Sources/Shaft/Rendering/RenderBox.swift:805:50-805:64
803 | /// render object) instead of from the global coordinate system.
804 | ///
805 + /// This method is implemented in terms of ``getTransformTo``.
806 | public func globalToLocal(_ point: Offset, ancestor: RenderObject? = nil) -> Offset {
807 | var transform = getTransformTo(ancestor)
warning: 'getTransformTo' doesn't exist at '/Shaft/RenderBox/localToGlobal(_:ancestor:)'
--> Sources/Shaft/Rendering/RenderBox.swift:841:50-841:64
839 | /// object) instead of to the global coordinate system.
840 | ///
841 + /// This method is implemented in terms of ``getTransformTo``. If the transform
842 | /// matrix puts the given `point` on the line at infinity (for instance, when
843 | /// the transform matrix is the zero matrix), this method returns (NaN, NaN).
warning: 'paint' doesn't exist at '/Shaft/CustomPainter'
--> Sources/Shaft/Rendering/RenderCustomPaint.swift:10:21-10:26
8 | /// To implement a custom painter, either subclass or implement this interface
9 | /// to define your custom paint delegate. ``CustomPainter`` subclasses must
10 + /// implement the ``paint`` and ``shouldRepaint`` methods, and may optionally also
| ├─suggestion: Replace 'paint' with 'repaint'
| ╰─suggestion: Replace 'paint' with 'paint(canvas:size:)'
11 | /// implement the ``hitTest`` and ``shouldRebuildSemantics`` methods, and the
12 | /// ``semanticsBuilder`` getter.
warning: 'shouldRepaint' doesn't exist at '/Shaft/CustomPainter'
--> Sources/Shaft/Rendering/RenderCustomPaint.swift:10:35-10:48
8 | /// To implement a custom painter, either subclass or implement this interface
9 | /// to define your custom paint delegate. ``CustomPainter`` subclasses must
10 + /// implement the ``paint`` and ``shouldRepaint`` methods, and may optionally also
| ╰─suggestion: Replace 'shouldRepaint' with 'shouldRepaint(_:)'
11 | /// implement the ``hitTest`` and ``shouldRebuildSemantics`` methods, and the
12 | /// ``semanticsBuilder`` getter.
warning: 'hitTest' doesn't exist at '/Shaft/CustomPainter'
--> Sources/Shaft/Rendering/RenderCustomPaint.swift:11:21-11:28
9 | /// to define your custom paint delegate. ``CustomPainter`` subclasses must
10 | /// implement the ``paint`` and ``shouldRepaint`` methods, and may optionally also
11 + /// implement the ``hitTest`` and ``shouldRebuildSemantics`` methods, and the
| ╰─suggestion: Replace 'hitTest' with 'hitTest(_:)'
12 | /// ``semanticsBuilder`` getter.
13 | ///
warning: 'shouldRebuildSemantics' doesn't exist at '/Shaft/CustomPainter'
--> Sources/Shaft/Rendering/RenderCustomPaint.swift:11:37-11:59
9 | /// to define your custom paint delegate. ``CustomPainter`` subclasses must
10 | /// implement the ``paint`` and ``shouldRepaint`` methods, and may optionally also
11 + /// implement the ``hitTest`` and ``shouldRebuildSemantics`` methods, and the
| ╰─suggestion: Replace 'shouldRebuildSemantics' with 'shouldRepaint(_:)'
12 | /// ``semanticsBuilder`` getter.
13 | ///
warning: 'semanticsBuilder' doesn't exist at '/Shaft/CustomPainter'
--> Sources/Shaft/Rendering/RenderCustomPaint.swift:12:7-12:23
10 | /// implement the ``paint`` and ``shouldRepaint`` methods, and may optionally also
11 | /// implement the ``hitTest`` and ``shouldRebuildSemantics`` methods, and the
12 + /// ``semanticsBuilder`` getter.
13 | ///
14 | /// The ``paint`` method is called whenever the custom object needs to be repainted.
warning: 'paint' doesn't exist at '/Shaft/CustomPainter'
--> Sources/Shaft/Rendering/RenderCustomPaint.swift:14:11-14:16
12 | /// ``semanticsBuilder`` getter.
13 | ///
14 + /// The ``paint`` method is called whenever the custom object needs to be repainted.
| ├─suggestion: Replace 'paint' with 'repaint'
| ╰─suggestion: Replace 'paint' with 'paint(canvas:size:)'
15 | ///
16 | /// The ``shouldRepaint`` method is called when a new instance of the class
warning: 'shouldRepaint' doesn't exist at '/Shaft/CustomPainter'
--> Sources/Shaft/Rendering/RenderCustomPaint.swift:16:11-16:24
14 | /// The ``paint`` method is called whenever the custom object needs to be repainted.
15 | ///
16 + /// The ``shouldRepaint`` method is called when a new instance of the class
| ╰─suggestion: Replace 'shouldRepaint' with 'shouldRepaint(_:)'
17 | /// is provided, to check if the new instance actually represents different
18 | /// information.
warning: 'hitTest' doesn't exist at '/Shaft/CustomPainter'
--> Sources/Shaft/Rendering/RenderCustomPaint.swift:35:11-35:18
33 | /// animation ticks, avoiding both the build and layout phases of the pipeline.
34 | ///
35 + /// The ``hitTest`` method is called when the user interacts with the underlying
| ╰─suggestion: Replace 'hitTest' with 'hitTest(_:)'
36 | /// render object, to determine if the user hit the object or missed it.
37 | ///
warning: 'semanticsBuilder' doesn't exist at '/Shaft/CustomPainter'
--> Sources/Shaft/Rendering/RenderCustomPaint.swift:38:11-38:27
36 | /// render object, to determine if the user hit the object or missed it.
37 | ///
38 + /// The ``semanticsBuilder`` is called whenever the custom object needs to rebuild
39 | /// its semantics information.
40 | ///
warning: 'shouldRebuildSemantics' doesn't exist at '/Shaft/CustomPainter'
--> Sources/Shaft/Rendering/RenderCustomPaint.swift:41:11-41:33
39 | /// its semantics information.
40 | ///
41 + /// The ``shouldRebuildSemantics`` method is called when a new instance of the
| ╰─suggestion: Replace 'shouldRebuildSemantics' with 'shouldRepaint(_:)'
42 | /// class is provided, to check if the new instance contains different
43 | /// information that affects the semantics tree.
warning: 'paint' doesn't exist at '/Shaft/CustomPainter/paint(canvas:size:)'
--> Sources/Shaft/Rendering/RenderCustomPaint.swift:136:49-136:54
134 | /// operation is inside the bounds (e.g., drawing a rectangle whose size is
135 | /// determined by user inputs). In that case, consider calling
136 + /// [Canvas.clipRect] at the beginning of ``paint`` so everything that follows
137 | /// will be guaranteed to only draw within the clipped area.
138 | ///
warning: 'paint' doesn't exist at '/Shaft/CustomPainter/paint(canvas:size:)'
--> Sources/Shaft/Rendering/RenderCustomPaint.swift:155:33-155:38
153 | /// paint delegate, giving it the new [ImageInfo] object.
154 | ///
155 + /// 3. In your delegate's ``paint`` method, call the [Canvas.drawImage],
156 | /// [Canvas.drawImageRect], or [Canvas.drawImageNine] methods to paint the
157 | /// [ImageInfo.image] object, applying the [ImageInfo.scale] value to
warning: 'paint' doesn't exist at '/Shaft/CustomPainter/shouldRepaint(_:)'
--> Sources/Shaft/Rendering/RenderCustomPaint.swift:171:49-171:54
169 | /// false.
170 | ///
171 + /// If the method returns false, then the ``paint`` call might be optimized
172 | /// away.
173 | ///
warning: 'paint' doesn't exist at '/Shaft/CustomPainter/shouldRepaint(_:)'
--> Sources/Shaft/Rendering/RenderCustomPaint.swift:174:34-174:39
172 | /// away.
173 | ///
174 + /// It's possible that the ``paint`` method will get called even if
175 | /// ``shouldRepaint`` returns false (e.g. if an ancestor or descendant needed to
176 | /// be repainted). It's also possible that the ``paint`` method will get called
warning: 'shouldRepaint' doesn't exist at '/Shaft/CustomPainter/shouldRepaint(_:)'
--> Sources/Shaft/Rendering/RenderCustomPaint.swift:175:11-175:24
173 | ///
174 | /// It's possible that the ``paint`` method will get called even if
175 + /// ``shouldRepaint`` returns false (e.g. if an ancestor or descendant needed to
176 | /// be repainted). It's also possible that the ``paint`` method will get called
177 | /// without ``shouldRepaint`` being called at all (e.g. if the box changes
warning: 'paint' doesn't exist at '/Shaft/CustomPainter/shouldRepaint(_:)'
--> Sources/Shaft/Rendering/RenderCustomPaint.swift:176:54-176:59
174 | /// It's possible that the ``paint`` method will get called even if
175 | /// ``shouldRepaint`` returns false (e.g. if an ancestor or descendant needed to
176 + /// be repainted). It's also possible that the ``paint`` method will get called
177 | /// without ``shouldRepaint`` being called at all (e.g. if the box changes
178 | /// size).
warning: 'shouldRepaint' doesn't exist at '/Shaft/CustomPainter/shouldRepaint(_:)'
--> Sources/Shaft/Rendering/RenderCustomPaint.swift:177:19-177:32
175 | /// ``shouldRepaint`` returns false (e.g. if an ancestor or descendant needed to
176 | /// be repainted). It's also possible that the ``paint`` method will get called
177 + /// without ``shouldRepaint`` being called at all (e.g. if the box changes
178 | /// size).
179 | ///
warning: 'paint' doesn't exist at '/Shaft/CustomPainter/hitTest(_:)'
--> Sources/Shaft/Rendering/RenderCustomPaint.swift:192:11-192:16
190 | ///
191 | /// The given point is relative to the same coordinate space as the last
192 + /// ``paint`` call.
193 | ///
194 | /// The default behavior is to consider all points to be hits for
warning: 'EditableText.minLines' doesn't exist at '/Shaft/RenderEditable/minLines'
--> Sources/Shaft/Rendering/RenderEditable.swift:435:16-435:37
433 | }
434 |
435 + /// See: ``EditableText.minLines``.
436 | public var minLines: Int? {
437 | didSet {
warning: 'EditableText.expands' doesn't exist at '/Shaft/RenderEditable/expands'
--> Sources/Shaft/Rendering/RenderEditable.swift:444:16-444:36
442 | }
443 |
444 + /// See: ``EditableText.expands``.
445 | public var expands: Bool = false {
446 | didSet {
warning: 'addLayer' doesn't exist at '/Shaft/PaintingContext/pushLayer(_:_:_:childPaintBounds:)'
--> Sources/Shaft/Rendering/RenderObject.swift:163:14-163:22
161 | /// See also:
162 | ///
163 + /// * ``addLayer``, for pushing a layer without painting further contents
164 | /// within it.
165 | public func pushLayer(
warning: 'layer' doesn't exist at '/Shaft/RenderObject'
--> Sources/Shaft/Rendering/RenderObject.swift:233:24-233:29
231 | /// returns null, indicating that a layer is no longer necessary. If a
232 | /// render object calling this method stores the `oldLayer` in its
233 + /// ``RenderObject/layer`` field, it should set that field to null.
234 | ///
235 | /// When `needsCompositing` is false, this method will use a more efficient
warning: 'painter' doesn't exist at '/Shaft/PaintingContext/pushClipRect(needsCompositing:offset:clipRect:clipBehavior:painter:oldLayer:)'
--> Sources/Shaft/Rendering/RenderObject.swift:245:44-245:51
243 | ///
244 | /// The `clipRect` is the rectangle (in the caller's coordinate system) to
245 + /// use to clip the painting done by ``painter``. It should not include the
246 | /// `offset`.
247 | ///
warning: 'pushClipRect' doesn't exist at '/Shaft/PaintingContext/pushClipRect(needsCompositing:offset:clipRect:clipBehavior:painter:oldLayer:)'
--> Sources/Shaft/Rendering/RenderObject.swift:249:57-249:69
247 | ///
248 | /// The `painter` callback will be called while the `clipRect` is applied.
249 + /// It is called synchronously during the call to ``pushClipRect``.
250 | ///
251 | /// The `clipBehavior` argument controls how the rectangle is clipped.
warning: 'layer' doesn't exist at '/Shaft/RenderObject'
--> Sources/Shaft/Rendering/RenderObject.swift:256:70-256:75
254 | /// the `oldLayer` argument, specify the layer created in the previous
255 | /// frame. This gives the engine more information for performance
256 + /// optimizations. Typically this is the value of ``RenderObject/layer`` that
257 | /// a render object creates once, then reuses for all subsequent frames
258 | /// until a layer is no longer needed (e.g. the render object no longer
warning: 'PipelineOwner' doesn't exist at '/Shaft/RenderObject/invokeLayoutCallback(_:)'
--> Sources/Shaft/Rendering/RenderObject.swift:1029:23-1029:36
1027 | /// Allows mutations to be made to this object's child list (and any
1028 | /// descendants) as well as to any other dirty nodes in the render tree owned
1029 + /// by the same ``PipelineOwner`` as this object. The `callback` argument is
1030 | /// invoked synchronously, and the mutations are allowed only during that
1031 | /// callback's execution.
warning: 'child' doesn't exist at '/Shaft/RenderObjectWithChild/redepthChildren()'
--> Sources/Shaft/Rendering/RenderObject.swift:1459:43-1459:48
1457 | func visitChildren(visitor: (ChildType) -> Void)
1458 |
1459 + /// Adjust the [depth] of the given ``child`` to be greater than this node's
1460 | /// own [depth].
1461 | ///
warning: 'RenderProxySliver' doesn't exist at '/Shaft/RenderProxyBox'
--> Sources/Shaft/Rendering/RenderProxyBox.swift:25:10-25:27
23 | /// See also:
24 | ///
25 + /// * ``RenderProxySliver``, a base class for render slivers that resemble their
26 | /// children.
27 | open class RenderProxyBox: RenderBox, RenderObjectWithSingleChild {
warning: 'child' doesn't exist at '/Shaft/RenderConstrainedBox'
--> Sources/Shaft/Rendering/RenderProxyBox.swift:154:34-154:39
152 | /// as well.
153 | ///
154 + /// For example, if you wanted ``child`` to have a minimum height of 50.0 logical
155 | /// pixels, you could use `const BoxConstraints(minHeight: 50.0)` as the
156 | /// ``additionalConstraints``.
warning: 'child' doesn't exist at '/Shaft/RenderConstrainedBox/additionalConstraints'
--> Sources/Shaft/Rendering/RenderProxyBox.swift:166:46-166:51
164 | }
165 |
166 + /// Additional constraints to apply to ``child`` during layout.
167 | public var additionalConstraints: BoxConstraints {
168 | didSet {
warning: 'RenderConstraintsTransformBox' doesn't exist at '/Shaft/RenderShiftedBox'
--> Sources/Shaft/Rendering/RenderShiftedBox.swift:12:15-12:44
10 | /// ``BoxConstraints``.
11 | ///
12 + /// Used by ``RenderConstraintsTransformBox`` and ``ConstraintsTransformBox``.
13 | /// Typically the caller requires the returned ``BoxConstraints`` to be
14 | /// ``BoxConstraints/isNormalized``.
warning: 'ConstraintsTransformBox' doesn't exist at '/Shaft/RenderShiftedBox'
--> Sources/Shaft/Rendering/RenderShiftedBox.swift:12:53-12:76
10 | /// ``BoxConstraints``.
11 | ///
12 + /// Used by ``RenderConstraintsTransformBox`` and ``ConstraintsTransformBox``.
13 | /// Typically the caller requires the returned ``BoxConstraints`` to be
14 | /// ``BoxConstraints/isNormalized``.
warning: 'isNormalized' doesn't exist at '/Shaft/BoxConstraints'
--> Sources/Shaft/Rendering/RenderShiftedBox.swift:14:22-14:34
12 | /// Used by ``RenderConstraintsTransformBox`` and ``ConstraintsTransformBox``.
13 | /// Typically the caller requires the returned ``BoxConstraints`` to be
14 + /// ``BoxConstraints/isNormalized``.
15 | public class RenderShiftedBox: RenderBox, RenderObjectWithSingleChild {
16 | public typealias ChildType = RenderBox
warning: 'PipelineOwner' doesn't exist at '/Shaft/RenderView/prepareInitialFrame()'
--> Sources/Shaft/Rendering/RenderView.swift:102:11-102:24
100 | ///
101 | /// This does not actually schedule the first frame. Call
102 + /// ``PipelineOwner/requestVisualUpdate`` on ``owner`` to do that.
103 | public func prepareInitialFrame() {
104 | assert(owner != nil)
warning: 'owner' doesn't exist at '/Shaft/RenderView/prepareInitialFrame()'
--> Sources/Shaft/Rendering/RenderView.swift:102:52-102:57
100 | ///
101 | /// This does not actually schedule the first frame. Call
102 + /// ``PipelineOwner/requestVisualUpdate`` on ``owner`` to do that.
103 | public func prepareInitialFrame() {
104 | assert(owner != nil)
warning: 'position' doesn't exist at '/Shaft/RenderView/hitTest(_:position:)'
--> Sources/Shaft/Rendering/RenderView.swift:159:15-159:23
157 | /// given hit test result.
158 | ///
159 + /// The ``position`` argument is in the coordinate system of the render view,
160 | /// which is to say, in logical pixels. This is not necessarily the same
161 | /// coordinate system as that expected by the root ``Layer``, which will
warning: 'handleBeginFrame' doesn't exist at '/Shaft/SchedulerBinding'
--> Sources/Shaft/Scheduler/SchedulerBinding.swift:10:24-10:40
8 |
9 | /// The various phases that a ``SchedulerBinding`` goes through during
10 + /// ``SchedulerBinding/handleBeginFrame``.
11 | ///
12 | /// This is exposed by ``SchedulerBinding/schedulerPhase``.
warning: 'handleBeginFrame' doesn't exist at '/Shaft/SchedulerBinding/hasScheduledFrame'
--> Sources/Shaft/Scheduler/SchedulerBinding.swift:44:53-44:69
42 | public private(set) var schedulerPhase = SchedulerPhase.idle
43 |
44 + /// Whether this scheduler has requested that ``handleBeginFrame`` be called soon.
45 | public private(set) var hasScheduledFrame = false
46 |
warning: 'scheduleFrame' doesn't exist at '/Shaft/SchedulerBinding/framesEnabled'
--> Sources/Shaft/Scheduler/SchedulerBinding.swift:47:61-47:74
45 | public private(set) var hasScheduledFrame = false
46 |
47 + /// Whether frames are currently being scheduled when ``scheduleFrame`` is called.
48 | ///
49 | /// This value depends on the value of the ``lifecycleState``.
warning: 'lifecycleState' doesn't exist at '/Shaft/SchedulerBinding/framesEnabled'
--> Sources/Shaft/Scheduler/SchedulerBinding.swift:49:50-49:64
47 | /// Whether frames are currently being scheduled when ``scheduleFrame`` is called.
48 | ///
49 + /// This value depends on the value of the ``lifecycleState``.
50 | public private(set) var framesEnabled = true
51 |
warning: 'scheduleFrame' doesn't exist at '/Shaft/SchedulerBinding/ensureVisualUpdate()'
--> Sources/Shaft/Scheduler/SchedulerBinding.swift:64:39-64:52
62 | private var rescheduleAfterWarmUpFrame = false
63 |
64 + /// Schedules a new frame using ``scheduleFrame`` if this object is not
65 | /// currently producing a frame.
66 | ///
warning: 'handleDrawFrame' doesn't exist at '/Shaft/SchedulerBinding/ensureVisualUpdate()'
--> Sources/Shaft/Scheduler/SchedulerBinding.swift:67:44-67:59
65 | /// currently producing a frame.
66 | ///
67 + /// Calling this method ensures that ``handleDrawFrame`` will eventually be
68 | /// called, unless it's already in progress.
69 | public func ensureVisualUpdate() {
warning: 'handleBeginFrame' doesn't exist at '/Shaft/SchedulerBinding/currentFrameTimeStamp'
--> Sources/Shaft/Scheduler/SchedulerBinding.swift:126:57-126:73
124 | /// The time stamp for the frame currently being processed.
125 | ///
126 + /// This is only valid while between the start of ``handleBeginFrame`` and the
127 | /// end of the corresponding ``handleDrawFrame``, i.e. while a frame is being
128 | /// produced.
warning: 'handleDrawFrame' doesn't exist at '/Shaft/SchedulerBinding/currentFrameTimeStamp'
--> Sources/Shaft/Scheduler/SchedulerBinding.swift:127:36-127:51
125 | ///
126 | /// This is only valid while between the start of ``handleBeginFrame`` and the
127 + /// end of the corresponding ``handleDrawFrame``, i.e. while a frame is being
128 | /// produced.
129 | public private(set) var currentFrameTimeStamp: Duration!
warning: 'SingleTickerProviderStateMixin' doesn't exist at '/Shaft/TickerProvider'
--> Sources/Shaft/Scheduler/Ticker.swift:14:7-14:37
12 | /// obtain their ``Ticker``. If you are creating an ``AnimationController`` from a
13 | /// ``State``, then you can use the ``TickerProviderStateMixin`` and
14 + /// ``SingleTickerProviderStateMixin`` classes to obtain a suitable
15 | /// ``TickerProvider``. The widget test framework ``WidgetTester`` object can be
16 | /// used as a ticker provider in the context of tests. In other contexts, you
warning: 'WidgetTester' doesn't exist at '/Shaft/TickerProvider'
--> Sources/Shaft/Scheduler/Ticker.swift:15:53-15:65
13 | /// ``State``, then you can use the ``TickerProviderStateMixin`` and
14 | /// ``SingleTickerProviderStateMixin`` classes to obtain a suitable
15 + /// ``TickerProvider``. The widget test framework ``WidgetTester`` object can be
16 | /// used as a ticker provider in the context of tests. In other contexts, you
17 | /// will have to either pass a ``TickerProvider`` from a higher level (e.g.
warning: 'addHandler' doesn't exist at '/Shaft/HardwareKeyboard'
--> Sources/Shaft/Services/HardwareKeyboard.swift:127:20-127:30
125 | ///
126 | /// To stay notified whenever keys are pressed, held, or released, add a
127 + /// handler with ``addHandler``. To only be notified when a specific part of the
| ╰─suggestion: Replace 'addHandler' with 'addHandler(_:)'
128 | /// app is focused, use a ``Focus`` widget's `onFocusChanged` attribute instead
129 | /// of ``addHandler``. Handlers should be removed with ``removeHandler`` when
warning: 'addHandler' doesn't exist at '/Shaft/HardwareKeyboard'
--> Sources/Shaft/Services/HardwareKeyboard.swift:129:10-129:20
127 | /// handler with ``addHandler``. To only be notified when a specific part of the
128 | /// app is focused, use a ``Focus`` widget's `onFocusChanged` attribute instead
129 + /// of ``addHandler``. Handlers should be removed with ``removeHandler`` when
| ╰─suggestion: Replace 'addHandler' with 'addHandler(_:)'
130 | /// notification is no longer necessary, or when the handler is being disposed.
131 | ///
warning: 'removeHandler' doesn't exist at '/Shaft/HardwareKeyboard'
--> Sources/Shaft/Services/HardwareKeyboard.swift:129:58-129:71
127 | /// handler with ``addHandler``. To only be notified when a specific part of the
128 | /// app is focused, use a ``Focus`` widget's `onFocusChanged` attribute instead
129 + /// of ``addHandler``. Handlers should be removed with ``removeHandler`` when
| ╰─suggestion: Replace 'removeHandler' with 'removeHandler(_:)'
130 | /// notification is no longer necessary, or when the handler is being disposed.
131 | ///
warning: 'ServicesBinding' doesn't exist at '/Shaft/HardwareKeyboard'
--> Sources/Shaft/Services/HardwareKeyboard.swift:137:66-137:81
135 | /// event handler.
136 | ///
137 + /// The singleton ``HardwareKeyboard`` instance is held by the ``ServicesBinding``
138 | /// as ``ServicesBinding/keyboard``, and can be conveniently accessed using the
139 | /// ``HardwareKeyboard/instance`` static accessor.
warning: 'ServicesBinding' doesn't exist at '/Shaft/HardwareKeyboard'
--> Sources/Shaft/Services/HardwareKeyboard.swift:138:10-138:25
136 | ///
137 | /// The singleton ``HardwareKeyboard`` instance is held by the ``ServicesBinding``
138 + /// as ``ServicesBinding/keyboard``, and can be conveniently accessed using the
139 | /// ``HardwareKeyboard/instance`` static accessor.
140 | ///
warning: 'instance' doesn't exist at '/Shaft/HardwareKeyboard'
--> Sources/Shaft/Services/HardwareKeyboard.swift:139:24-139:32
137 | /// The singleton ``HardwareKeyboard`` instance is held by the ``ServicesBinding``
138 | /// as ``ServicesBinding/keyboard``, and can be conveniently accessed using the
139 + /// ``HardwareKeyboard/instance`` static accessor.
140 | ///
141 | /// ## Event model
warning: 'removeHandler' doesn't exist at '/Shaft/HardwareKeyboard/addHandler(_:)'
--> Sources/Shaft/Services/HardwareKeyboard.swift:384:14-384:27
382 | /// See also:
383 | ///
384 + /// * ``removeHandler``, which removes the handler.
385 | public func addHandler(_ handler: Handler) {
386 | if _duringDispatch {
warning: 'addHandler' doesn't exist at '/Shaft/HardwareKeyboard/removeHandler(_:)'
--> Sources/Shaft/Services/HardwareKeyboard.swift:398:11-398:21
396 | ///
397 | /// The `handler` argument must be [identical] to the one used in
398 + /// ``addHandler``. If multiple exist, the first one will be removed.
399 | /// If none is found, then this method is a no-op.
400 | ///
warning: 'SystemMouseCursors' doesn't exist at '/Shaft/MouseCursorManager/init(fallbackMouseCursor:)'
--> Sources/Shaft/Services/MouseCursor.swift:17:11-17:29
15 | ///
16 | /// The `fallbackMouseCursor` must not be ``MouseCursor/defer`` (typically
17 + /// ``SystemMouseCursors/basic``).
18 | public init(fallbackMouseCursor: MouseCursor) {
19 | precondition(fallbackMouseCursor != MouseCursor.defer)
warning: 'SystemMouseCursors' doesn't exist at '/Shaft/MouseCursor'
--> Sources/Shaft/Services/MouseCursor.swift:95:22-95:40
93 | /// moves), ``MouseTracker`` finds the _active cursor_ of each mouse device, which
94 | /// is the front-most region associated with the position of each mouse cursor,
95 + /// or defaults to ``SystemMouseCursors/basic`` if no cursors are associated with
96 | /// the position. ``MouseTracker`` changes the cursor of the pointer if the new
97 | /// active cursor is different from the previous active cursor, whose effect is
warning: 'addActionListener' doesn't exist at '/Shaft/Action'
--> Sources/Shaft/Widgets/Actions.swift:27:51-27:68
25 | /// action's state.
26 | ///
27 + /// To register an action listener, call ``Action/addActionListener``.
| ├─suggestion: Replace 'addActionListener' with 'addActionListener(_:callback:)'
| ├─suggestion: Replace 'addActionListener' with 'notifyActionListeners()'
| ╰─suggestion: Replace 'addActionListener' with 'removeActionListener(_:)'
28 | public typealias ActionListenerCallback = (any ActionProtocol) -> Void
29 |
warning: 'ContextAction' doesn't exist at '/Shaft/ActionProtocol/isEnabled(_:context:)'
--> Sources/Shaft/Widgets/Actions.swift:40:11-40:24
38 | ///
39 | /// If the action's enable state depends on a ``BuildContext``, subclass
40 + /// ``ContextAction`` instead of ``Action``.
41 | func isEnabled(_ intent: IntentType, context: BuildContext?) -> Bool
42 |
warning: 'invoke' doesn't exist at '/Shaft/Actions'
--> Sources/Shaft/Widgets/Actions.swift:46:19-46:25
44 | ///
45 | /// This is called by the ``ActionDispatcher`` when an action is invoked via
46 + /// ``Actions/invoke``, or when an action is invoked using
| ╰─suggestion: Replace 'invoke' with 'invoke(_:_:)'
47 | /// ``ActionDispatcher/invokeAction`` directly.
48 | ///
warning: 'invokeAction' doesn't exist at '/Shaft/ActionDispatcher'
--> Sources/Shaft/Widgets/Actions.swift:47:28-47:40
45 | /// This is called by the ``ActionDispatcher`` when an action is invoked via
46 | /// ``Actions/invoke``, or when an action is invoked using
47 + /// ``ActionDispatcher/invokeAction`` directly.
| ├─suggestion: Replace 'invokeAction' with 'invokeAction(_:_:_:)'
| ╰─suggestion: Replace 'invokeAction' with 'invokeActionIfEnabled(_:_:_:)'
48 | ///
49 | /// This method is only meant to be invoked by an ``ActionDispatcher``, or by
warning: 'invoke' doesn't exist at '/Shaft/Actions'
--> Sources/Shaft/Widgets/Actions.swift:75:19-75:25
73 | ///
74 | /// To receive the result of invoking an action, it must be invoked using
75 + /// ``Actions/invoke``, or by invoking it using an ``ActionDispatcher``. An action
| ╰─suggestion: Replace 'invoke' with 'invoke(_:_:)'
76 | /// invoked via a [Shortcuts] widget will have its return value ignored.
77 | ///
warning: 'ContextAction' doesn't exist at '/Shaft/ActionProtocol/invoke(_:context:)'
--> Sources/Shaft/Widgets/Actions.swift:79:11-79:24
77 | ///
78 | /// If the action's behavior depends on a ``BuildContext``, subclass
79 + /// ``ContextAction`` instead of ``Action``.
80 | func invoke(_ intent: IntentType, context: BuildContext?) -> Any?
81 |
warning: 'ContextAction' doesn't exist at '/Shaft/ActionDispatcher'
--> Sources/Shaft/Widgets/Actions.swift:423:11-423:24
421 | /// method on the ``Action`` object.
422 | ///
423 + /// For ``ContextAction`` actions, if no `context` is provided, the
424 | /// ``BuildContext`` of the [primaryFocus] is used instead.
425 | ///
warning: 'ContextAction' doesn't exist at '/Shaft/ActionDispatcher/invokeAction(_:_:_:)'
--> Sources/Shaft/Widgets/Actions.swift:439:27-439:40
437 | ///
438 | /// The action will be invoked with the given `context`, if given, but only if
439 + /// the action is a ``ContextAction`` subclass. If no `context` is given, and
440 | /// the action is a ``ContextAction``, then the context from the [primaryFocus]
441 | /// is used.
warning: 'ContextAction' doesn't exist at '/Shaft/ActionDispatcher/invokeAction(_:_:_:)'
--> Sources/Shaft/Widgets/Actions.swift:440:27-440:40
438 | /// The action will be invoked with the given `context`, if given, but only if
439 | /// the action is a ``ContextAction`` subclass. If no `context` is given, and
440 + /// the action is a ``ContextAction``, then the context from the [primaryFocus]
441 | /// is used.
442 | ///
warning: 'ContextAction' doesn't exist at '/Shaft/ActionDispatcher/invokeAction(_:_:_:)'
--> Sources/Shaft/Widgets/Actions.swift:447:43-447:56
445 | /// The caller must receive a `true` result from [Action.isEnabled] before
446 | /// calling this function (or [ContextAction.isEnabled] with the same
447 + /// `context`, if the `action` is a ``ContextAction``). This function will
448 | /// assert if the action is not enabled when called.
449 | ///
warning: 'ContextAction' doesn't exist at '/Shaft/ActionDispatcher/invokeActionIfEnabled(_:_:_:)'
--> Sources/Shaft/Widgets/Actions.swift:469:27-469:40
467 | ///
468 | /// The action will be invoked with the given `context`, if given, but only if
469 + /// the action is a ``ContextAction`` subclass. If no `context` is given, and
470 | /// the action is a ``ContextAction``, then the context from the [primaryFocus]
471 | /// is used.
warning: 'ContextAction' doesn't exist at '/Shaft/ActionDispatcher/invokeActionIfEnabled(_:_:_:)'
--> Sources/Shaft/Widgets/Actions.swift:470:27-470:40
468 | /// The action will be invoked with the given `context`, if given, but only if
469 | /// the action is a ``ContextAction`` subclass. If no `context` is given, and
470 + /// the action is a ``ContextAction``, then the context from the [primaryFocus]
471 | /// is used.
472 | ///
warning: 'invoke' doesn't exist at '/Shaft/Actions'
--> Sources/Shaft/Widgets/Actions.swift:497:21-497:27
495 | ///
496 | /// Actions are typically invoked using [Shortcuts]. They can also be invoked
497 + /// using ``Actions/invoke`` on a context containing an ambient [Actions] widget.
| ╰─suggestion: Replace 'invoke' with 'invoke(_:_:)'
498 | ///
499 | /// See also:
warning: 'RotatedBox' doesn't exist at '/Shaft/Transform'
--> Sources/Shaft/Widgets/Basic.swift:13:14-13:24
11 | /// A widget that applies a transformation before painting its child.
12 | ///
13 + /// Unlike ``RotatedBox``, which applies a rotation prior to layout, this object
14 | /// applies its transformation just prior to painting, which means the
15 | /// transformation is not taken into account when calculating how much space
warning: 'RotatedBox' doesn't exist at '/Shaft/Transform'
--> Sources/Shaft/Widgets/Basic.swift:22:10-22:20
20 | /// See also:
21 | ///
22 + /// * ``RotatedBox``, which rotates the child widget during layout, not just
23 | /// during painting.
24 | /// * ``FractionalTranslation``, which applies a translation to the child
warning: 'FractionalTranslation' doesn't exist at '/Shaft/Transform'
--> Sources/Shaft/Widgets/Basic.swift:24:10-24:31
22 | /// * ``RotatedBox``, which rotates the child widget during layout, not just
23 | /// during painting.
24 + /// * ``FractionalTranslation``, which applies a translation to the child
25 | /// that is relative to the child's size.
26 | /// * ``FittedBox``, which sizes and positions its child widget to fit the parent
warning: 'FittedBox' doesn't exist at '/Shaft/Transform'
--> Sources/Shaft/Widgets/Basic.swift:26:10-26:19
24 | /// * ``FractionalTranslation``, which applies a translation to the child
25 | /// that is relative to the child's size.
26 + /// * ``FittedBox``, which sizes and positions its child widget to fit the parent
27 | /// according to a given ``BoxFit`` discipline.
28 | /// * The [catalog of layout widgets](https://flutter.dev/widgets/layout/).
warning: 'RotationTransition' doesn't exist at '/Shaft/Transform/init(angle:origin:alignment:transformHitTests:filterQuality:child:)'
--> Sources/Shaft/Widgets/Basic.swift:54:14-54:32
52 | /// See also:
53 | ///
54 + /// * ``RotationTransition``, which animates changes in rotation smoothly
55 | /// over a given duration.
56 | public init(
warning: 'ScaleTransition' doesn't exist at '/Shaft/Transform/init(scale:scaleX:scaleY:origin:alignment:transformHitTests:filterQuality:child:)'
--> Sources/Shaft/Widgets/Basic.swift:108:13-108:28
106 | /// See also:
107 | ///
108 + /// * ``ScaleTransition``, which animates changes in scale smoothly over a given
109 | /// duration.
110 | public init(
warning: 'FittedBox' doesn't exist at '/Shaft/ClipRRect'
--> Sources/Shaft/Widgets/Basic.swift:2332:65-2332:74
2330 | /// When a [ClipRRect] is bigger than the child it contains, its rounded corners
2331 | /// could be drawn in unexpected positions. Make sure that [ClipRRect] and its child
2332 + /// have the same bounds (by shrinking the [ClipRRect] with a ``FittedBox`` or by
2333 | /// growing the child).
2334 | ///
warning: 'runApp' doesn't exist at '/Shaft/WidgetsBinding/rootElement'
--> Sources/Shaft/Widgets/Binding/WidgetsBinding.swift:129:46-129:52
127 | /// The ``Element`` that is at the root of the element tree hierarchy.
128 | ///
129 + /// This is initialized the first time ``runApp`` is called.
130 | public private(set) var rootElement: Element?
131 |
warning: 'runApp' doesn't exist at '/Shaft/runApp(_:view:)'
--> Sources/Shaft/Widgets/Binding/WidgetsBinding.swift:579:15-579:21
577 | /// your widget, you can also use the [Center] widget.
578 | ///
579 + /// Calling ``runApp`` again will detach the previous root widget from the screen
580 | /// and attach the given widget in its place. The new widget tree is compared
581 | /// against the previous widget tree and any differences are applied to the
warning: 'update' doesn't exist at '/Shaft/ProxyElement/notifyClients(_:)'
--> Sources/Shaft/Widgets/Framework/Framework.swift:2730:25-2730:31
2728 | /// changed.
2729 | ///
2730 + /// Called during ``update`` (via ``updated``) after changing the widget
2731 | /// associated with this element but before rebuilding this element.
2732 | open func notifyClients(_ oldWidget: ProxyWidget) {}
warning: 'updated' doesn't exist at '/Shaft/ProxyElement/notifyClients(_:)'
--> Sources/Shaft/Widgets/Framework/Framework.swift:2730:41-2730:48
2728 | /// changed.
2729 | ///
2730 + /// Called during ``update`` (via ``updated``) after changing the widget
2731 | /// associated with this element but before rebuilding this element.
2732 | open func notifyClients(_ oldWidget: ProxyWidget) {}
warning: 'updateShouldNotify' doesn't exist at '/Shaft/InheritedWidget'
--> Sources/Shaft/Widgets/InheritedModel.swift:6:52-6:70
4 | ///
5 | /// An inherited widget's dependents are unconditionally rebuilt when the
6 + /// inherited widget changes per ``InheritedWidget/updateShouldNotify``. This
| ╰─suggestion: Replace 'updateShouldNotify' with 'updateShouldNotify(_:)'
7 | /// widget is similar except that dependents aren't rebuilt unconditionally.
8 | ///
warning: 'inheritFrom' doesn't exist at '/Shaft/InheritedModel'
--> Sources/Shaft/Widgets/InheritedModel.swift:19:22-19:33
17 | ///
18 | /// Widgets create a dependency on an ``InheritedModel`` with a static method:
19 + /// ``InheritedModel/inheritFrom``. This method's `context` parameter defines the
| ╰─suggestion: Replace 'inheritFrom' with 'inheritFrom(_:context:aspect:)'
20 | /// subtree that will be rebuilt when the model changes. Typically the
21 | /// `inheritFrom` method is called from a model-specific static `maybeOf` or
warning: 'updateShouldNotifyDependent' doesn't exist at '/Shaft/InheritedModel'
--> Sources/Shaft/Widgets/InheritedModel.swift:52:7-52:34
50 | ///
51 | /// In the previous example the dependencies checked by
52 + /// ``updateShouldNotifyDependent`` are just the aspect strings passed to
| ╰─suggestion: Replace 'updateShouldNotifyDependent' with 'updateShouldNotifyDependent(_:_:)'
53 | /// `dependOnInheritedWidgetOfExactType`. They're represented as a ``Set`` because
54 | /// one Widget can depend on more than one aspect of the model. If a widget
warning: 'Set' doesn't exist at '/Shaft/InheritedModel'
--> Sources/Shaft/Widgets/InheritedModel.swift:53:70-53:73
51 | /// In the previous example the dependencies checked by
52 | /// ``updateShouldNotifyDependent`` are just the aspect strings passed to
53 + /// `dependOnInheritedWidgetOfExactType`. They're represented as a ``Set`` because
54 | /// one Widget can depend on more than one aspect of the model. If a widget
55 | /// depends on the model but doesn't specify an aspect, then changes in the
warning: 'updateShouldNotifyDependent' doesn't exist at '/Shaft/MediaQuery/inheritFrom(_:context:aspect:)'
--> Sources/Shaft/Widgets/InheritedModel.swift:129:24-129:51
127 | ///
128 | /// When the given [aspect] of the model changes, the [context] will be
129 + /// rebuilt. The ``updateShouldNotifyDependent`` method must determine if a
130 | /// change in the model widget corresponds to an [aspect] value.
131 | ///
warning: 'updateShouldNotifyDependent' doesn't exist at '/Shaft/InheritedModel/inheritFrom(_:context:aspect:)'
--> Sources/Shaft/Widgets/InheritedModel.swift:129:24-129:51
127 | ///
128 | /// When the given [aspect] of the model changes, the [context] will be
129 + /// rebuilt. The ``updateShouldNotifyDependent`` method must determine if a
130 | /// change in the model widget corresponds to an [aspect] value.
131 | ///
warning: 'of' doesn't exist at '/Shaft/MediaQuery'
--> Sources/Shaft/Widgets/MediaQuery.swift:21:26-21:28
19 | ///
20 | /// To obtain the entire current ``MediaQueryData`` for a given ``BuildContext``,
21 + /// use the ``MediaQuery/of`` function. This can be useful if you are going to use
22 | /// ``copyWith`` to replace the ``MediaQueryData`` with one with an updated
23 | /// property.
warning: 'copyWith' doesn't exist at '/Shaft/MediaQueryData'
--> Sources/Shaft/Widgets/MediaQuery.swift:22:7-22:15
20 | /// To obtain the entire current ``MediaQueryData`` for a given ``BuildContext``,
21 | /// use the ``MediaQuery/of`` function. This can be useful if you are going to use
22 + /// ``copyWith`` to replace the ``MediaQueryData`` with one with an updated
23 | /// property.
24 | ///
warning: 'of' doesn't exist at '/Shaft/MediaQuery'
--> Sources/Shaft/Widgets/MediaQuery.swift:152:34-152:36
150 | /// updated.
151 | ///
152 + /// In general, ``MediaQuery/of``, and its associated "...Of" methods, are the
153 | /// appropriate way to obtain ``MediaQueryData`` from a widget. This `fromView`
154 | /// constructor is primarily for use in the implementation of the framework
warning: 'of```.size` to get the size, since the former will only notify of changes in [size], while the latter will notify for all ' doesn't exist at '/Shaft/MediaQuery'
--> Sources/Shaft/Widgets/MediaQuery.swift:216:60-216:182
214 | /// [devicePixelRatio].
215 | ///
216 + /// Prefer using [MediaQuery.sizeOf] over ``MediaQuery/of```.size` to get the
217 | /// size, since the former will only notify of changes in [size], while the
218 | /// latter will notify for all ``MediaQueryData`` changes.
warning: 'of' doesn't exist at '/Shaft/MediaQuery'
--> Sources/Shaft/Widgets/MediaQuery.swift:700:33-700:35
698 | ///
699 | /// {@template flutter.widgets.media_query.MediaQuery.useSpecific}
700 + /// Querying using ``MediaQuery/of`` will cause your widget to rebuild
701 | /// automatically whenever _any_ field of the ``MediaQueryData`` changes (e.g., if
702 | /// the user rotates their device). Therefore, unless you are concerned with the
warning: 'of' doesn't exist at '/Shaft/MediaQuery'
--> Sources/Shaft/Widgets/MediaQuery.swift:707:56-707:58
705 | /// rebuild more efficiently.
706 | ///
707 + /// If no ``MediaQuery`` is in scope then ``MediaQuery/of`` and the "...Of" methods
708 | /// similar to [MediaQuery.sizeOf] will throw an exception. Alternatively, the
709 | /// "maybe-" variant methods (such as [MediaQuery.maybeOf] and
warning: 'of' doesn't exist at '/Shaft/MediaQuery'
--> Sources/Shaft/Widgets/MediaQuery.swift:1007:45-1007:47
1005 | ///
1006 | /// Use this function if you want to allow situations where no ``MediaQuery`` is
1007 + /// in scope. Prefer using ``MediaQuery/of`` in situations where a media query
1008 | /// is always expected to exist.
1009 | ///
warning: 'List' doesn't exist at '/Shaft/SliverChildDelegate'
--> Sources/Shaft/Widgets/Scroll/ScrollDelegate.swift:23:37-23:41
21 | /// Many slivers lazily construct their box children to avoid creating more
22 | /// children than are visible through the ``Viewport``. Rather than receiving
23 + /// their children as an explicit ``List``, they receive their children using a
24 | /// ``SliverChildDelegate``.
25 | ///
warning: 'applyTo' doesn't exist at '/Shaft/ScrollPhysics'
--> Sources/Shaft/Widgets/Scroll/ScrollPhysics.swift:59:55-59:62
57 | /// ```
58 | ///
59 + /// When implementing a subclass, you must override ``applyTo`` so that it returns
| ╰─suggestion: Replace 'applyTo' with 'applyTo(_:)'
60 | /// an appropriate instance of your subclass. Otherwise, classes like
61 | /// ``Scrollable`` that inform a ``ScrollPosition`` will combine them with
warning: 'applyTo' doesn't exist at '/Shaft/ScrollPhysics/applyTo(_:)'
--> Sources/Shaft/Widgets/Scroll/ScrollPhysics.swift:125:27-125:34
123 | /// object. This is inefficient.
124 | ///
125 + /// ## Implementing ``applyTo``
126 | ///
127 | /// When creating a custom ``ScrollPhysics`` subclass, this method
warning: 'applyTo' doesn't exist at '/Shaft/ScrollPhysics/applyTo(_:)'
--> Sources/Shaft/Widgets/Scroll/ScrollPhysics.swift:152:74-152:81
150 | /// See also:
151 | ///
152 + /// * [buildParent], a utility method that's often used to define ``applyTo``
153 | /// methods for ``ScrollPhysics`` subclasses.
154 | public func applyTo(_ ancestor: ScrollPhysics?) -> ScrollPhysics {
warning: 'ScrollView' doesn't exist at '/Shaft/ScrollViewKeyboardDismissBehavior'
--> Sources/Shaft/Widgets/ScrollView.swift:1:33-1:43
1 + /// A representation of how a ``ScrollView`` should dismiss the on-screen
2 | /// keyboard.
3 | public enum ScrollViewKeyboardDismissBehavior {
warning: 'ScrollView' doesn't exist at '/Shaft/ScrollViewKeyboardDismissBehavior/onDrag'
--> Sources/Shaft/Widgets/ScrollView.swift:7:35-7:45
5 | /// It is up to the client to dismiss the keyboard.
6 | case manual
7 + /// `onDrag` means that the ``ScrollView`` will dismiss an on-screen keyboard
8 | /// when a drag begins.
9 | case onDrag
warning: 'ScrollView' doesn't exist at '/Shaft/ScrollViewBase'
--> Sources/Shaft/Widgets/ScrollView.swift:25:7-25:17
23 | /// various scrolling effects, such as lists, grids, and expanding headers.
24 | ///
25 + /// ``ScrollView`` helps orchestrate these pieces by creating the ``Scrollable`` and
26 | /// the viewport and deferring to its subclass to create the slivers.
27 | ///
warning: 'PageStorage' doesn't exist at '/Shaft/ScrollViewBase'
--> Sources/Shaft/Widgets/ScrollView.swift:36:67-36:78
34 | /// ## Persisting the scroll position during a session
35 | ///
36 + /// Scroll views attempt to persist their scroll position using ``PageStorage``.
37 | /// This can be disabled by setting [ScrollController.keepScrollOffset] to false
38 | /// on the ``controller``. If it is enabled, using a [PageStorageKey] for the
warning: 'ScrollView' doesn't exist at '/Shaft/ScrollViewBase'
--> Sources/Shaft/Widgets/ScrollView.swift:45:47-45:57
43 | /// See also:
44 | ///
45 + /// * [ListView], which is a commonly used ``ScrollView`` that displays a
46 | /// scrolling, linear list of child widgets.
47 | /// * [PageView], which is a scrolling list of child widgets that are each the
warning: 'ScrollView' doesn't exist at '/Shaft/ScrollViewBase'
--> Sources/Shaft/Widgets/ScrollView.swift:49:33-49:43
47 | /// * [PageView], which is a scrolling list of child widgets that are each the
48 | /// size of the viewport.
49 + /// * [GridView], which is a ``ScrollView`` that displays a scrolling, 2D array
50 | /// of child widgets.
51 | /// * [CustomScrollView], which is a ``ScrollView`` that creates custom scroll
warning: 'ScrollView' doesn't exist at '/Shaft/ScrollViewBase'
--> Sources/Shaft/Widgets/ScrollView.swift:51:41-51:51
49 | /// * [GridView], which is a ``ScrollView`` that displays a scrolling, 2D array
50 | /// of child widgets.
51 + /// * [CustomScrollView], which is a ``ScrollView`` that creates custom scroll
52 | /// effects using slivers.
53 | /// * [ScrollNotification] and [NotificationListener], which can be used to watch
warning: 'ScrollView' doesn't exist at '/Shaft/ScrollViewBase'
--> Sources/Shaft/Widgets/ScrollView.swift:55:64-55:74
53 | /// * [ScrollNotification] and [NotificationListener], which can be used to watch
54 | /// the scroll position without using a [ScrollController].
55 + /// * [TwoDimensionalScrollView], which is a similar widget ``ScrollView`` that
56 | /// scrolls in two dimensions.
57 | public class ScrollViewBase: StatelessWidget {
warning: 'PageStorage' doesn't exist at '/Shaft/ScrollViewBase/controller'
--> Sources/Shaft/Widgets/ScrollView.swift:153:55-153:66
151 | /// the initial scroll position (see ``ScrollController/initialScrollOffset``).
152 | /// It can be used to control whether the scroll view should automatically
153 + /// save and restore its scroll position in the ``PageStorage`` (see
154 | /// [ScrollController.keepScrollOffset]). It can be used to read the current
155 | /// scroll position (see [ScrollController.offset]), or change it (see
warning: 'ScrollView' doesn't exist at '/Shaft/ScrollViewBase/center'
--> Sources/Shaft/Widgets/ScrollView.swift:270:41-270:51
268 | /// The [center] must be the key of one of the slivers built by [buildSlivers].
269 | ///
270 + /// Of the built-in subclasses of ``ScrollView``, only [CustomScrollView]
271 | /// supports [center]; for that class, the given key must be the key of one of
272 | /// the slivers in the ``CustomScrollView/slivers`` list.
warning: 'ScrollView' doesn't exist at '/Shaft/ScrollViewBase/semanticChildCount'
--> Sources/Shaft/Widgets/ScrollView.swift:303:28-303:38
301 | /// The number of children that will contribute semantic information.
302 | ///
303 + /// Some subtypes of ``ScrollView`` can infer this value automatically. For
304 | /// example [ListView] will use the number of widgets in the child list,
305 | /// while the [ListView.separated] constructor will use half that amount.
warning: 'ScrollView' doesn't exist at '/Shaft/ScrollViewBase/keyboardDismissBehavior'
--> Sources/Shaft/Widgets/ScrollView.swift:318:68-318:78
316 | public let dragStartBehavior: DragStartBehavior
317 |
318 + /// [ScrollViewKeyboardDismissBehavior] the defines how this ``ScrollView`` will
319 | /// dismiss the keyboard automatically.
320 | public let keyboardDismissBehavior: ScrollViewKeyboardDismissBehavior
warning: 'ScrollView' doesn't exist at '/Shaft/CustomScrollView'
--> Sources/Shaft/Widgets/ScrollView.swift:469:9-469:19
467 | }
468 |
469 + /// A ``ScrollView`` that creates custom scroll effects using [slivers].
470 | ///
471 | /// A [CustomScrollView] lets you supply [slivers] directly to create various
warning: 'controller' doesn't exist at '/Shaft/CustomScrollView'
--> Sources/Shaft/Widgets/ScrollView.swift:480:7-480:17
478 | ///
479 | /// To control the initial scroll offset of the scroll view, provide a
480 + /// ``controller`` with its ``ScrollController/initialScrollOffset`` property set.
481 | ///
482 | /// {@animation 400 376 https://flutter.github.io/assets-for-api-docs/assets/widgets/custom_scroll_view.mp4}
warning: 'ScrollView' doesn't exist at '/Shaft/CustomScrollView/init(key:scrollDirection:reverse:controller:primary:physics:scrollBehavior:shrinkWrap:center:anchor:cacheExtent:semanticChildCount:dragStartBehavior:keyboardDismissBehavior:restorationId:clipBehavior:hitTestBehavior:slivers:)'
--> Sources/Shaft/Widgets/ScrollView.swift:533:21-533:31
531 | /// for scroll announcements.
532 | public class CustomScrollView: ScrollViewBase {
533 + /// Creates a ``ScrollView`` that creates custom scroll effects using slivers.
534 | ///
535 | /// See the ``ScrollView`` constructor for more details on these arguments.
warning: 'ScrollView' doesn't exist at '/Shaft/CustomScrollView/init(key:scrollDirection:reverse:controller:primary:physics:scrollBehavior:shrinkWrap:center:anchor:cacheExtent:semanticChildCount:dragStartBehavior:keyboardDismissBehavior:restorationId:clipBehavior:hitTestBehavior:slivers:)'
--> Sources/Shaft/Widgets/ScrollView.swift:535:19-535:29
533 | /// Creates a ``ScrollView`` that creates custom scroll effects using slivers.
534 | ///
535 + /// See the ``ScrollView`` constructor for more details on these arguments.
536 | public init(
537 | key: (any Key)? = nil,
warning: 'ScrollView' doesn't exist at '/Shaft/BoxScrollView'
--> Sources/Shaft/Widgets/ScrollView.swift:681:9-681:19
679 | }
680 |
681 + /// A ``ScrollView`` that uses a single child layout model.
682 | ///
683 | /// {@template flutter.widgets.BoxScroll.scrollBehaviour}
warning: 'ScrollView' doesn't exist at '/Shaft/BoxScrollView'
--> Sources/Shaft/Widgets/ScrollView.swift:684:7-684:17
682 | ///
683 | /// {@template flutter.widgets.BoxScroll.scrollBehaviour}
684 + /// ``ScrollView``s are often decorated with [Scrollbar]s and overscroll indicators,
685 | /// which are managed by the inherited [ScrollBehavior]. Placing a
686 | /// [ScrollConfiguration] above a ScrollView can modify these behaviors for that
warning: 'ScrollView' doesn't exist at '/Shaft/BoxScrollView/init(key:scrollDirection:reverse:controller:primary:physics:shrinkWrap:padding:cacheExtent:semanticChildCount:dragStartBehavior:keyboardDismissBehavior:restorationId:clipBehavior:hitTestBehavior:)'
--> Sources/Shaft/Widgets/ScrollView.swift:698:21-698:31
696 | /// single scroll view.
697 | public class BoxScrollView: ScrollViewBase {
698 + /// Creates a ``ScrollView`` uses a single child layout model.
699 | ///
700 | /// If the [primary] argument is true, the ``controller`` must be null.
warning: 'controller' doesn't exist at '/Shaft/BoxScrollView/init(key:scrollDirection:reverse:controller:primary:physics:shrinkWrap:padding:cacheExtent:semanticChildCount:dragStartBehavior:keyboardDismissBehavior:restorationId:clipBehavior:hitTestBehavior:)'
--> Sources/Shaft/Widgets/ScrollView.swift:700:50-700:60
698 | /// Creates a ``ScrollView`` uses a single child layout model.
699 | ///
700 + /// If the [primary] argument is true, the ``controller`` must be null.
701 | public init(
702 | key: (any Key)? = nil,
warning: 'controller' doesn't exist at '/Shaft/ListView'
--> Sources/Shaft/Widgets/ScrollView.swift:831:7-831:17
829 | ///
830 | /// To control the initial scroll offset of the scroll view, provide a
831 + /// ``controller`` with its ``ScrollController/initialScrollOffset`` property set.
832 | ///
833 | /// By default, [ListView] will automatically pad the list's scrollable
warning: 'controller' doesn't exist at '/Shaft/ListView'
--> Sources/Shaft/Widgets/ScrollView.swift:1006:48-1006:58
1004 | /// [ListView] to using [CustomScrollView] directly.
1005 | ///
1006 + /// The [key], [scrollDirection], [reverse], ``controller``, [primary], [physics],
1007 | /// and [shrinkWrap] properties on [ListView] map directly to the identically
1008 | /// named properties on [CustomScrollView].
warning: 'ScrollView' doesn't exist at '/Shaft/ListView/init(key:scrollDirection:reverse:controller:primary:physics:shrinkWrap:padding:itemExtent:itemExtentBuilder:prototypeItem:itemBuilder:findChildIndexCallback:itemCount:addAutomaticKeepAlives:addRepaintBoundaries:addSemanticIndexes:cacheExtent:semanticChildCount:dragStartBehavior:keyboardDismissBehavior:restorationId:clipBehavior:hitTestBehavior:)'
--> Sources/Shaft/Widgets/ScrollView.swift:1238:54-1238:64
1236 | /// will stop calling `itemBuilder`, even if it has yet to reach `itemCount`.
1237 | /// By returning `null`, the [ScrollPosition.maxScrollExtent] will not be accurate
1238 + /// unless the user has reached the end of the ``ScrollView``. This can also cause the
1239 | /// [Scrollbar] to grow as the user scrolls.
1240 | ///
warning: 'controller' doesn't exist at '/Shaft/GridView'
--> Sources/Shaft/Widgets/ScrollView.swift:1611:7-1611:17
1609 | ///
1610 | /// To control the initial scroll offset of the scroll view, provide a
1611 + /// ``controller`` with its ``ScrollController/initialScrollOffset`` property set.
1612 | ///
1613 | /// ## Transitioning to [CustomScrollView]
warning: 'controller' doesn't exist at '/Shaft/GridView'
--> Sources/Shaft/Widgets/ScrollView.swift:1623:48-1623:58
1621 | /// [GridView] to using [CustomScrollView] directly.
1622 | ///
1623 + /// The [key], [scrollDirection], [reverse], ``controller``, [primary], [physics],
1624 | /// and [shrinkWrap] properties on [GridView] map directly to the identically
1625 | /// named properties on [CustomScrollView].
warning: 'TextInputConfiguration.enableSuggestions' doesn't exist at '/Shaft/EditableText/enableSuggestions'
--> Sources/Shaft/Widgets/Text/EditableText.swift:423:16-423:56
421 | // public let smartQuotesType: SmartQuotesType
422 |
423 + /// See: ``TextInputConfiguration.enableSuggestions``
424 | public let enableSuggestions: Bool
425 |
warning: 'SelectionOverlay.onSelectionHandleTapped' doesn't exist at '/Shaft/EditableText/onSelectionHandleTapped'
--> Sources/Shaft/Widgets/Text/EditableText.swift:800:16-800:56
798 | public let onSelectionChanged: SelectionChangedCallback?
799 |
800 + /// See: ``SelectionOverlay.onSelectionHandleTapped``
801 | public let onSelectionHandleTapped: VoidCallback?
802 |
warning: 'RenderEditable.cursorOffset' doesn't exist at '/Shaft/EditableText/cursorOffset'
--> Sources/Shaft/Widgets/Text/EditableText.swift:908:16-908:43
906 | public let cursorOpacityAnimates: Bool
907 |
908 + /// See: ``RenderEditable.cursorOffset``
909 | public let cursorOffset: Offset?
910 |
warning: 'RenderEditable.paintCursorAboveText' doesn't exist at '/Shaft/EditableText/paintCursorAboveText'
--> Sources/Shaft/Widgets/Text/EditableText.swift:911:16-911:51
909 | public let cursorOffset: Offset?
910 |
911 + /// See: ``RenderEditable.paintCursorAboveText``
912 | public let paintCursorAboveText: Bool
913 |
warning: 'FlutterView' doesn't exist at '/Shaft/View'
--> Sources/Shaft/Widgets/View.swift:9:67-9:78
7 | // found in the LICENSE file.
8 |
9 + /// Bootstraps a render tree that is rendered into the provided ``FlutterView``.
10 | ///
11 | /// The content rendered into that view is determined by the provided ``child``.
warning: 'LookupBoundary' doesn't exist at '/Shaft/View'
--> Sources/Shaft/Widgets/View.swift:12:35-12:49
10 | ///
11 | /// The content rendered into that view is determined by the provided ``child``.
12 + /// Descendants within the same ``LookupBoundary`` can look up the view they are
13 | /// rendered into via ``View/of`` and ``View/maybeOf``.
14 | ///
warning: 'of' doesn't exist at '/Shaft/View'
--> Sources/Shaft/Widgets/View.swift:13:30-13:32
11 | /// The content rendered into that view is determined by the provided ``child``.
12 | /// Descendants within the same ``LookupBoundary`` can look up the view they are
13 + /// rendered into via ``View/of`` and ``View/maybeOf``.
14 | ///
15 | /// The provided ``child`` is wrapped in a ``MediaQuery`` constructed from the given
warning: 'maybeOf' doesn't exist at '/Shaft/View'
--> Sources/Shaft/Widgets/View.swift:13:46-13:53
11 | /// The content rendered into that view is determined by the provided ``child``.
12 | /// Descendants within the same ``LookupBoundary`` can look up the view they are
13 + /// rendered into via ``View/of`` and ``View/maybeOf``.
| ╰─suggestion: Replace 'maybeOf' with 'maybeOf(_:)'
14 | ///
15 | /// The provided ``child`` is wrapped in a ``MediaQuery`` constructed from the given
warning: 'of' doesn't exist at '/Shaft/MediaQuery'
--> Sources/Shaft/Widgets/View.swift:18:44-18:46
16 | /// ``view``.
17 | ///
18 + /// For most use cases, using ``MediaQuery/of``, or its associated "...Of" methods
19 | /// are a more appropriate way of obtaining the information that a ``FlutterView``
20 | /// exposes. For example, using ``MediaQuery/sizeOf`` will expose the _logical_
warning: 'FlutterView' doesn't exist at '/Shaft/View'
--> Sources/Shaft/Widgets/View.swift:19:70-19:81
17 | ///
18 | /// For most use cases, using ``MediaQuery/of``, or its associated "...Of" methods
19 + /// are a more appropriate way of obtaining the information that a ``FlutterView``
20 | /// exposes. For example, using ``MediaQuery/sizeOf`` will expose the _logical_
21 | /// device size ([MediaQueryData.size]) rather than the physical size
warning: 'sizeOf' doesn't exist at '/Shaft/MediaQuery'
--> Sources/Shaft/Widgets/View.swift:20:46-20:52
18 | /// For most use cases, using ``MediaQuery/of``, or its associated "...Of" methods
19 | /// are a more appropriate way of obtaining the information that a ``FlutterView``
20 + /// exposes. For example, using ``MediaQuery/sizeOf`` will expose the _logical_
| ╰─suggestion: Replace 'sizeOf' with 'sizeOf(_:)'
21 | /// device size ([MediaQueryData.size]) rather than the physical size
22 | /// ([FlutterView.physicalSize]). Similarly, while [FlutterView.padding] conveys
warning: 'FlutterView' doesn't exist at '/Shaft/View'
--> Sources/Shaft/Widgets/View.swift:28:12-28:23
26 | /// widget adjusts the values for its various children.
27 | ///
28 + /// Each ``FlutterView`` can be associated with at most one [View] widget in the
29 | /// widget tree. Two or more [View] widgets configured with the same
30 | /// ``FlutterView`` must never exist within the same widget tree at the same time.
warning: 'FlutterView' doesn't exist at '/Shaft/View'
--> Sources/Shaft/Widgets/View.swift:30:7-30:18
28 | /// Each ``FlutterView`` can be associated with at most one [View] widget in the
29 | /// widget tree. Two or more [View] widgets configured with the same
30 + /// ``FlutterView`` must never exist within the same widget tree at the same time.
31 | /// This limitation is enforced by a [GlobalObjectKey] that derives its identity
32 | /// from the ``view`` provided to this widget.
Finished building documentation for 'Shaft' (5.46s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/shaftui/shaft/0.2.2
Building for debugging...
[0/7] Write snippet-extract-tool-entitlement.plist
[1/8] Write sources
[4/8] Write swift-version-49B95AFC49DCD68C.txt
[6/53] Compiling SymbolKit DeclarationFragments.swift
[7/53] Compiling SymbolKit Fragment.swift
[8/53] Compiling SymbolKit FragmentKind.swift
[9/53] Compiling SymbolKit FunctionParameter.swift
[10/53] Compiling SymbolKit FunctionSignature.swift
[11/57] Compiling SymbolKit Identifier.swift
[12/57] Compiling SymbolKit KindIdentifier.swift
[13/57] Compiling SymbolKit Location.swift
[14/57] Compiling SymbolKit Mutability.swift
[15/57] Compiling SymbolKit Names.swift
[16/57] Compiling SymbolKit SPI.swift
[17/57] Compiling SymbolKit Snippet.swift
[18/57] Compiling SymbolKit Extension.swift
[19/57] Emitting module SymbolKit
[20/57] Compiling SymbolKit SourceRange.swift
[21/57] Compiling SymbolKit Metadata.swift
[22/57] Compiling SymbolKit Module.swift
[23/57] Compiling SymbolKit OperatingSystem.swift
[24/57] Compiling SymbolKit Platform.swift
[25/57] Compiling SymbolKit GenericConstraint.swift
[26/57] Compiling SymbolKit GenericParameter.swift
[27/57] Compiling SymbolKit Generics.swift
[28/57] Compiling SymbolKit Namespace.swift
[29/57] Compiling SymbolKit Mixin+Equals.swift
[30/57] Compiling SymbolKit Mixin+Hash.swift
[31/57] Compiling SymbolKit Mixin.swift
[32/57] Compiling SymbolKit LineList.swift
[33/57] Compiling SymbolKit Position.swift
[34/57] Compiling SymbolKit Relationship.swift
[35/57] Compiling SymbolKit RelationshipKind.swift
[36/57] Compiling SymbolKit SourceOrigin.swift
[37/57] Compiling SymbolKit GenericConstraints.swift
[38/57] Compiling SymbolKit Swift.swift
[39/57] Compiling SymbolKit SemanticVersion.swift
[40/57] Compiling SymbolKit AccessControl.swift
[41/57] Compiling SymbolKit Availability.swift
[42/57] Compiling SymbolKit AvailabilityItem.swift
[43/57] Compiling SymbolKit Domain.swift
[44/57] Compiling SymbolKit Symbol.swift
[45/57] Compiling SymbolKit SymbolKind.swift
[46/57] Compiling SymbolKit SymbolGraph.swift
[47/57] Compiling SymbolKit GraphCollector.swift
[48/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[49/57] Compiling SymbolKit UnifiedSymbol.swift
[50/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[51/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[52/57] Compiling Snippets SnippetParser.swift
[53/57] Compiling Snippets Snippet.swift
[54/57] Emitting module Snippets
[55/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[56/61] Compiling snippet_extract SnippetBuildCommand.swift
[57/61] Emitting module snippet_extract
[58/61] Compiling snippet_extract URL+Status.swift
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (3.52s)
Building for debugging...
[0/1] Write swift-version-49B95AFC49DCD68C.txt
Build of target: 'Shaft' complete! (3.08s)
Target: ShaftSetup
Extracting symbol information for 'ShaftSetup'...
Finished extracting symbol information for 'ShaftSetup'. (10.56s)
Building documentation for 'ShaftSetup'...
Finished building documentation for 'ShaftSetup' (0.04s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/shaftui/shaft/0.2.2
Building for debugging...
[0/3] Write swift-version-49B95AFC49DCD68C.txt
Build of product 'snippet-extract' complete! (1.04s)
Building for debugging...
[0/2] Write swift-version-49B95AFC49DCD68C.txt
[1/2] Compiling CSkia utils.cpp
Build of target: 'ShaftSetup' complete! (4.34s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/shaftui/shaft/0.2.2/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/shaftui/shaft/0.2.2/linkable-paths.json
Target: CSkia
Extracting symbol information for 'CSkia'...
Finished extracting symbol information for 'CSkia'. (4.10s)
Building documentation for 'CSkia'...
Finished building documentation for 'CSkia' (0.05s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/shaftui/shaft/0.2.2
Building for debugging...
[0/3] Write swift-version-49B95AFC49DCD68C.txt
Build of product 'snippet-extract' complete! (1.06s)
Building for debugging...
[0/1] Compiling CSkia utils.cpp
Build of target: 'CSkia' complete! (4.06s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/shaftui/shaft/0.2.2/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/shaftui/shaft/0.2.2/linkable-paths.json
Target: ShaftLucide
Extracting symbol information for 'ShaftLucide'...
Finished extracting symbol information for 'ShaftLucide'. (3.30s)
Building documentation for 'ShaftLucide'...
Finished building documentation for 'ShaftLucide' (0.07s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/shaftui/shaft/0.2.2
Building for debugging...
[0/3] Write swift-version-49B95AFC49DCD68C.txt
Build of product 'snippet-extract' complete! (1.09s)
Building for debugging...
[0/1] Write swift-version-49B95AFC49DCD68C.txt
Build of target: 'ShaftLucide' complete! (3.17s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/shaftui/shaft/0.2.2/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/shaftui/shaft/0.2.2/linkable-paths.json
Target: ShaftMarkdown
Extracting symbol information for 'ShaftMarkdown'...
Finished extracting symbol information for 'ShaftMarkdown'. (3.48s)
Building documentation for 'ShaftMarkdown'...
Finished building documentation for 'ShaftMarkdown' (0.12s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/shaftui/shaft/0.2.2
Building for debugging...
[0/3] Write swift-version-49B95AFC49DCD68C.txt
Build of product 'snippet-extract' complete! (1.08s)
Building for debugging...
[0/1] Write swift-version-49B95AFC49DCD68C.txt
Build of target: 'ShaftMarkdown' complete! (3.30s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/shaftui/shaft/0.2.2/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/shaftui/shaft/0.2.2/linkable-paths.json
Target: ShaftSDL3
Extracting symbol information for 'ShaftSDL3'...
Finished extracting symbol information for 'ShaftSDL3'. (3.49s)
Building documentation for 'ShaftSDL3'...
Finished building documentation for 'ShaftSDL3' (0.09s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/shaftui/shaft/0.2.2
Building for debugging...
[0/3] Write swift-version-49B95AFC49DCD68C.txt
Build of product 'snippet-extract' complete! (1.04s)
Building for debugging...
[0/1] Write swift-version-49B95AFC49DCD68C.txt
Build of target: 'ShaftSDL3' complete! (3.29s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/shaftui/shaft/0.2.2/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/shaftui/shaft/0.2.2/linkable-paths.json
Target: ShaftSkia
Extracting symbol information for 'ShaftSkia'...
Finished extracting symbol information for 'ShaftSkia'. (4.93s)
Building documentation for 'ShaftSkia'...
warning: 'Renderer' doesn't exist at '/ShaftSkia/SkiaGLRenderer'
--> Sources/ShaftSkia/SkiaRenderer+GL.swift:9:28-9:36
7 | import Shaft
8 |
9 + /// An implementation of ``Renderer`` using Skia as the backend.
10 | public class SkiaGLRenderer: SkiaRenderer, GLRenderer {
11 | /// Cached GrDirectContext for creating surfaces.
warning: 'Renderer' doesn't exist at '/ShaftSkia/SkiaRenderer'
--> Sources/ShaftSkia/SkiaRenderer.swift:9:28-9:36
7 | import Shaft
8 |
9 + /// An implementation of ``Renderer`` using Skia as the backend.
10 | public class SkiaRenderer: Renderer {
11 | public init() {
Finished building documentation for 'ShaftSkia' (0.11s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/shaftui/shaft/0.2.2
Building for debugging...
[0/3] Write swift-version-49B95AFC49DCD68C.txt
Build of product 'snippet-extract' complete! (1.06s)
Building for debugging...
[0/2] Write swift-version-49B95AFC49DCD68C.txt
[1/2] Compiling CSkia utils.cpp
Build of target: 'ShaftSkia' complete! (4.06s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/shaftui/shaft/0.2.2/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/shaftui/shaft/0.2.2/linkable-paths.json
17946
101 /Users/admin/builder/spi-builder-workspace/.docs/shaftui/shaft/0.2.2
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/shaftui/shaft/0.2.2
File count: 17946
Doc size: 101.0MB
Preparing doc bundle ...
Uploading prod-shaftui-shaft-0.2.2-9e34b552.zip to s3://spi-docs-inbox/prod-shaftui-shaft-0.2.2-9e34b552.zip
Copying... [10%]
Copying... [20%]
Copying... [30%]
Copying... [40%]
Copying... [50%]
Copying... [60%]
Copying... [70%]
Copying... [80%]
Copying... [90%]
Copying... [100%]
Done.