diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 740dd2f..7027272 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - TextAnnotation (0.5.0) + - TextAnnotation (0.6.2) DEPENDENCIES: - TextAnnotation (from `../`) @@ -9,8 +9,8 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - TextAnnotation: bfdd0de6ce6475cc721148f7957b97ae392dd7d3 + TextAnnotation: 5cf7e9f5862e50c22bf0a4e8365226041fb18353 PODFILE CHECKSUM: 24794d4a45470042cf26e82d16c0c9132fcdefde -COCOAPODS: 1.9.1 +COCOAPODS: 1.9.3 diff --git a/Example/Pods/Local Podspecs/TextAnnotation.podspec.json b/Example/Pods/Local Podspecs/TextAnnotation.podspec.json index f2ad70d..a561b17 100644 --- a/Example/Pods/Local Podspecs/TextAnnotation.podspec.json +++ b/Example/Pods/Local Podspecs/TextAnnotation.podspec.json @@ -1,6 +1,6 @@ { "name": "TextAnnotation", - "version": "0.5.0", + "version": "0.6.2", "summary": "Swift text annotation component for macOS.", "description": "Text component that behaves like typical drawing or annotation apps require.", "homepage": "https://github.com/blackbeltlabs/TextAnnotation", @@ -13,7 +13,7 @@ }, "source": { "git": "https://github.com/blackbeltlabs/TextAnnotation.git", - "tag": "0.5.0" + "tag": "0.6.2" }, "platforms": { "osx": "10.13" diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index 740dd2f..7027272 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,5 +1,5 @@ PODS: - - TextAnnotation (0.5.0) + - TextAnnotation (0.6.2) DEPENDENCIES: - TextAnnotation (from `../`) @@ -9,8 +9,8 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - TextAnnotation: bfdd0de6ce6475cc721148f7957b97ae392dd7d3 + TextAnnotation: 5cf7e9f5862e50c22bf0a4e8365226041fb18353 PODFILE CHECKSUM: 24794d4a45470042cf26e82d16c0c9132fcdefde -COCOAPODS: 1.9.1 +COCOAPODS: 1.9.3 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 89793ed..6cf7449 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,41 +7,42 @@ objects = { /* Begin PBXBuildFile section */ - 0559D972CCA32757B4A54B30DF56BE93 /* TextAnnotationDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47B9C5C986EDCAD13638A75A8C1C7F17 /* TextAnnotationDelegate.swift */; }; - 11E1B1AC8186B0F05F89D8549BD41BDD /* Pods-TextAnnotation_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 096DE872622CFE13047630F7678D748A /* Pods-TextAnnotation_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1AE44B348B7C1CB319CA05C45F6D066A /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F940C819049CFF8741C0F5E3E075E607 /* Cocoa.framework */; }; - 247DE57FC4B4CFAE1DD2A569F8DAD09A /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4163D6EE1BB210D3959B0A85C180E24C /* Assets.xcassets */; }; - 275A05E76A50601A746DE56749F8A047 /* TextContainerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DC5C21415B070CA584FC39E20762F1F /* TextContainerView.swift */; }; - 2D4BEDAA8C234A7CBB4B21DD09EECEBA /* NSColorExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7EAA858CD2BEBBF94783834E7692A3D0 /* NSColorExtension.swift */; }; - 6427770E45C1781D5A3F7F860853382C /* KnobView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56A7EA730251F396F48B1B2971156576 /* KnobView.swift */; }; - 6502C60224698C9300FF93A9 /* CustomSwitch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6502C60124698C9300FF93A9 /* CustomSwitch.swift */; }; - 65477CB4518D1E4A1EE36A35717119C0 /* SelectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B31E677ED7AFF45847A2B17434062BE4 /* SelectionView.swift */; }; - 687E80A8F595C706BE1C84ADCCD39BAE /* MouseTrackingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C40C5D8538643DB1F71ACCE7BE64B8FC /* MouseTrackingView.swift */; }; - 7E5F790C5BFE3C71CCA9E050E75DB8D1 /* TextAnnotation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5685C620D896DB8910DC40BDB25772E /* TextAnnotation.swift */; }; - 8EA89176A6D92C571F5A27BC20DA2786 /* TextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 302D8AB7BB3C6465927D6C486F9F392A /* TextView.swift */; }; - 913E819234946DE2AA52EAD1CF845A6E /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F940C819049CFF8741C0F5E3E075E607 /* Cocoa.framework */; }; - 9F154019687F910B837F3D17D3851AD3 /* TextAnnotationCanvas.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2DDD7A29E3EF9EADC4029EDFC58496D /* TextAnnotationCanvas.swift */; }; - A5CD37038E2FBE6344EEAA67D70F1896 /* TextColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C9B3D490B2E39970476CE2651B9A1FD /* TextColor.swift */; }; - BA42AE02D3D49D1B4E122042F59A9B36 /* CursorSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBED14455C13A0166DECAB279D333F16 /* CursorSet.swift */; }; - BA5FFD666CC732F82654E668CBE405EE /* TextAnnotation-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 86FFCE26B66B4A3CB79951A0C82D3E5E /* TextAnnotation-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C1889CB3499EADAE28A274EB284628F8 /* Pods-TextAnnotation_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 85847D778743AFF6BA4E305527C32901 /* Pods-TextAnnotation_Example-dummy.m */; }; - C76BF2B612732CFE8E3CC48C05AF656A /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F940C819049CFF8741C0F5E3E075E607 /* Cocoa.framework */; }; - CA960F031E7D0FFA19153473BE0EA0CE /* Pods-TextAnnotation_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B1E28D81C6F1A54EE064E60BCE78ED19 /* Pods-TextAnnotation_Tests-dummy.m */; }; - D08BAF3D37BED50AD14317492159EC74 /* TextAnnotation-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F90DC7CA6F5E72A57B7D732F46E5BE33 /* TextAnnotation-dummy.m */; }; - D25395125B7E8F94CBCF1A93FEAC35F7 /* TextAnnotationModelable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42172B94C95154102D6E1949ADD26C90 /* TextAnnotationModelable.swift */; }; - DB8600F8F8CE6C8D0AA203E6954C4E5B /* Pods-TextAnnotation_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1925589BD6B99A52DFFA511490C1E042 /* Pods-TextAnnotation_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E4A0FE8FF13528010C59178A2FDF21CF /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F69A53C2A90BD736B23714F6E6BCAC /* Constants.swift */; }; + 0C06F50372B58275575F125DBE760DF6 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F940C819049CFF8741C0F5E3E075E607 /* Cocoa.framework */; }; + 0DA3830F3DCB343AC8ACD3EE365EF77F /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F940C819049CFF8741C0F5E3E075E607 /* Cocoa.framework */; }; + 1143E1875D6006D9046966F1573CD5FB /* KnobView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A4B3F28C77439AD548399C64A1178E6 /* KnobView.swift */; }; + 1442279C5531A8E7286B3C48FDE0743E /* NSColorExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BABE7E2D03734BEAA269DEFF8E34895 /* NSColorExtension.swift */; }; + 1A4B0CABA2D58CAE8AEFFC9D8646AE6C /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F940C819049CFF8741C0F5E3E075E607 /* Cocoa.framework */; }; + 1A80C4B3DC23081DB2B86E8DEB1A6B50 /* TextAnnotationDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D741A7AF0FCAF3F3649348B7328D8943 /* TextAnnotationDelegate.swift */; }; + 1C776B83D5F1F551131632C35418AEF1 /* TextAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20E3CFC75ADB77AB590083E6DB111118 /* TextAttributes.swift */; }; + 321CFDFC7B003D5F76BDB6F926390CCC /* Pods-TextAnnotation_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 096DE872622CFE13047630F7678D748A /* Pods-TextAnnotation_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 39634F675A6B8BC633B0A9AEF0C1C112 /* TextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0A809D7C98E44824C2D72C4B6C0E881 /* TextView.swift */; }; + 3C5DF3F4DB32CEBF20E073A6676591BA /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 065F5C61DBA4C6C07A58F2104614A85D /* Constants.swift */; }; + 54DA83967F1CAFB810E0FA6874A4D403 /* TextAnnotationCanvas.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C870096262507C3AADDC870C8F0CE19 /* TextAnnotationCanvas.swift */; }; + 5AD607CF922DEB95DC4B2176EE579B49 /* Pods-TextAnnotation_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 85847D778743AFF6BA4E305527C32901 /* Pods-TextAnnotation_Example-dummy.m */; }; + 6EE04AEB84FC1206C181DEBB370BDC11 /* TextAnnotation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C673837A87DBBEB6F61A6B8C2533833 /* TextAnnotation.swift */; }; + 78DB694E25B4373632952C63E67778CD /* TextContainerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7083AAF01D04BA201B06474CEB81C0EE /* TextContainerView.swift */; }; + 80DDC0D633F69C91B721554C9CAFEE87 /* TextAnnotationModelable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 333CA3A606CA25C91CF43BBE87AFFC46 /* TextAnnotationModelable.swift */; }; + 8723E0C4C2A62189902FE45147B91594 /* CustomSwitch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 826CFE15ACA7F965A49AE2ADB33F4D36 /* CustomSwitch.swift */; }; + 9E41CE93B5FC9053EB706959FD6008E5 /* TextAnnotation-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 693292C8358FB03E53773CAE9C9C3FE0 /* TextAnnotation-dummy.m */; }; + B05B6441EC8C8D249913AFE4F895D08F /* TextAnnotation-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E7AB25B8B07381504A5FA6C1372F9207 /* TextAnnotation-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C22AB0EF881A26C76C7F5FF0D6F07168 /* Pods-TextAnnotation_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B1E28D81C6F1A54EE064E60BCE78ED19 /* Pods-TextAnnotation_Tests-dummy.m */; }; + D06DB47FDF4A00EB45C1FE99DCC24364 /* TextColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAA539F603A4D67C2D838D056ED9F478 /* TextColor.swift */; }; + D08B075E2358B3A53954F7D36CA1CA92 /* Pods-TextAnnotation_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1925589BD6B99A52DFFA511490C1E042 /* Pods-TextAnnotation_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D9AA3F6CB1F244D0FA9A6D974BCABBED /* MouseTrackingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABDFF63EA5936A434CB694727085212B /* MouseTrackingView.swift */; }; + E992D97AA268432D29187C226F0EC285 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B1F81BD1E59AF7E7CF4ABE841090E9EF /* Assets.xcassets */; }; + F6A13FC2B77A7610F39500934951819D /* CursorSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E81439D260FCEE7BAACBF55C7467C93 /* CursorSet.swift */; }; + FC759EFF4B72E4D107026ADFA6B01B05 /* SelectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1E4BAEABBD86392275C7F0D801BEF3F /* SelectionView.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 794FE15EE1C39987C195F75A99904FAC /* PBXContainerItemProxy */ = { + 70E6ADCD360F33CD6F6487373AC13700 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 948D1064C68C8099881C07922649E558; remoteInfo = TextAnnotation; }; - 965181AE96E61F74C1EAA845C8C8041D /* PBXContainerItemProxy */ = { + 941981723DED7B949FA479ADDDC99C40 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; @@ -51,84 +52,95 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 00AC56EC5B8D0E55756606FE64A37207 /* TextAnnotation.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TextAnnotation.debug.xcconfig; sourceTree = ""; }; + 00B6684FCF91379F9DD209B2B0FF58D8 /* TextAnnotation.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = TextAnnotation.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 065F5C61DBA4C6C07A58F2104614A85D /* Constants.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Constants.swift; path = TextAnnotation/Classes/Constants.swift; sourceTree = ""; }; 096DE872622CFE13047630F7678D748A /* Pods-TextAnnotation_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TextAnnotation_Tests-umbrella.h"; sourceTree = ""; }; - 0DC5C21415B070CA584FC39E20762F1F /* TextContainerView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextContainerView.swift; path = TextAnnotation/Classes/TextContainerView.swift; sourceTree = ""; }; 0F993A53C578786AE1309BA708674F2F /* Pods-TextAnnotation_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TextAnnotation_Example-acknowledgements.markdown"; sourceTree = ""; }; + 14F46E18E1045C9401BE45DFB5EAC5BB /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; 1925589BD6B99A52DFFA511490C1E042 /* Pods-TextAnnotation_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TextAnnotation_Example-umbrella.h"; sourceTree = ""; }; - 23F69A53C2A90BD736B23714F6E6BCAC /* Constants.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Constants.swift; path = TextAnnotation/Classes/Constants.swift; sourceTree = ""; }; + 20E3CFC75ADB77AB590083E6DB111118 /* TextAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextAttributes.swift; sourceTree = ""; }; 259FFDDDD9B2026D4A66D46AD1467643 /* Pods-TextAnnotation_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-TextAnnotation_Tests.modulemap"; sourceTree = ""; }; - 293D0B8E979495D7917707B12C7179B3 /* TextAnnotation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TextAnnotation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 302D8AB7BB3C6465927D6C486F9F392A /* TextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextView.swift; path = TextAnnotation/Classes/TextView.swift; sourceTree = ""; }; + 293D0B8E979495D7917707B12C7179B3 /* TextAnnotation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = TextAnnotation.framework; path = TextAnnotation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 2C673837A87DBBEB6F61A6B8C2533833 /* TextAnnotation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextAnnotation.swift; path = TextAnnotation/Classes/TextAnnotation.swift; sourceTree = ""; }; + 2EDC119B8917BEFB246002555D8F86B4 /* TextAnnotation.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = TextAnnotation.modulemap; sourceTree = ""; }; + 333CA3A606CA25C91CF43BBE87AFFC46 /* TextAnnotationModelable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextAnnotationModelable.swift; path = TextAnnotation/Classes/TextAnnotationModelable.swift; sourceTree = ""; }; 40B72BFDF839F0FE84D269E67F979A02 /* Pods-TextAnnotation_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TextAnnotation_Tests.release.xcconfig"; sourceTree = ""; }; - 4163D6EE1BB210D3959B0A85C180E24C /* Assets.xcassets */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = TextAnnotation/Assets/Assets.xcassets; sourceTree = ""; }; - 42172B94C95154102D6E1949ADD26C90 /* TextAnnotationModelable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextAnnotationModelable.swift; path = TextAnnotation/Classes/TextAnnotationModelable.swift; sourceTree = ""; }; - 47B9C5C986EDCAD13638A75A8C1C7F17 /* TextAnnotationDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextAnnotationDelegate.swift; path = TextAnnotation/Classes/TextAnnotationDelegate.swift; sourceTree = ""; }; - 498B6EB325D9614FC166956493406822 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; - 56A7EA730251F396F48B1B2971156576 /* KnobView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KnobView.swift; path = TextAnnotation/Classes/KnobView.swift; sourceTree = ""; }; - 598FFFF1C9A928A4C59692F44517A7CA /* TextAnnotation.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TextAnnotation.release.xcconfig; sourceTree = ""; }; + 5A0845FF30577908B6933CF7FDF2BA78 /* TextAnnotation-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TextAnnotation-prefix.pch"; sourceTree = ""; }; 5B67A17076AFAE72BA425EAD5B789B60 /* Pods-TextAnnotation_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TextAnnotation_Example.debug.xcconfig"; sourceTree = ""; }; - 6502C60124698C9300FF93A9 /* CustomSwitch.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = CustomSwitch.swift; path = TextAnnotation/Classes/CustomSwitch.swift; sourceTree = ""; }; + 693292C8358FB03E53773CAE9C9C3FE0 /* TextAnnotation-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "TextAnnotation-dummy.m"; sourceTree = ""; }; + 7083AAF01D04BA201B06474CEB81C0EE /* TextContainerView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextContainerView.swift; path = TextAnnotation/Classes/TextContainerView.swift; sourceTree = ""; }; 772EF0DA0492CFE13F567D7748DAB0F4 /* Pods-TextAnnotation_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TextAnnotation_Example-acknowledgements.plist"; sourceTree = ""; }; - 7EAA858CD2BEBBF94783834E7692A3D0 /* NSColorExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSColorExtension.swift; path = TextAnnotation/Classes/NSColorExtension.swift; sourceTree = ""; }; + 79CB6B7608B62A061D2F5E07453F5544 /* TextAnnotation.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TextAnnotation.release.xcconfig; sourceTree = ""; }; + 7E81439D260FCEE7BAACBF55C7467C93 /* CursorSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CursorSet.swift; path = TextAnnotation/Classes/CursorSet.swift; sourceTree = ""; }; 81B000E86208C6895393A37A24717344 /* Pods-TextAnnotation_Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TextAnnotation_Tests-Info.plist"; sourceTree = ""; }; + 826CFE15ACA7F965A49AE2ADB33F4D36 /* CustomSwitch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomSwitch.swift; path = TextAnnotation/Classes/CustomSwitch.swift; sourceTree = ""; }; 85847D778743AFF6BA4E305527C32901 /* Pods-TextAnnotation_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TextAnnotation_Example-dummy.m"; sourceTree = ""; }; - 86FFCE26B66B4A3CB79951A0C82D3E5E /* TextAnnotation-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TextAnnotation-umbrella.h"; sourceTree = ""; }; - 9C9B3D490B2E39970476CE2651B9A1FD /* TextColor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextColor.swift; path = TextAnnotation/Classes/TextColor.swift; sourceTree = ""; }; - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - A2E664DC13F330FDC2A5D8794CF1EE3C /* TextAnnotation.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = TextAnnotation.modulemap; sourceTree = ""; }; + 8773FD2283B394D9729E584FCF9F22B7 /* TextAnnotation.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TextAnnotation.debug.xcconfig; sourceTree = ""; }; + 8C870096262507C3AADDC870C8F0CE19 /* TextAnnotationCanvas.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextAnnotationCanvas.swift; path = TextAnnotation/Classes/TextAnnotationCanvas.swift; sourceTree = ""; }; + 8FD96A276131996601815D243448FAE0 /* TextAnnotation-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "TextAnnotation-Info.plist"; sourceTree = ""; }; + 9A4B3F28C77439AD548399C64A1178E6 /* KnobView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KnobView.swift; path = TextAnnotation/Classes/KnobView.swift; sourceTree = ""; }; + 9BABE7E2D03734BEAA269DEFF8E34895 /* NSColorExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSColorExtension.swift; path = TextAnnotation/Classes/NSColorExtension.swift; sourceTree = ""; }; + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; A3EF6A586A7F2F3B85FD06B7D068BC73 /* Pods-TextAnnotation_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TextAnnotation_Tests-frameworks.sh"; sourceTree = ""; }; + ABDFF63EA5936A434CB694727085212B /* MouseTrackingView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MouseTrackingView.swift; path = TextAnnotation/Classes/MouseTrackingView.swift; sourceTree = ""; }; ACF83462E6CC968497F87C9A71906FB9 /* Pods-TextAnnotation_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TextAnnotation_Example.release.xcconfig"; sourceTree = ""; }; - AFA78F826EAFBD6808D86BC18B45BCF7 /* Pods_TextAnnotation_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TextAnnotation_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + AFA78F826EAFBD6808D86BC18B45BCF7 /* Pods_TextAnnotation_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_TextAnnotation_Example.framework; path = "Pods-TextAnnotation_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; AFB167D35D5CF5B35461C1C1D8728A6A /* Pods-TextAnnotation_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TextAnnotation_Example-Info.plist"; sourceTree = ""; }; B1E28D81C6F1A54EE064E60BCE78ED19 /* Pods-TextAnnotation_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TextAnnotation_Tests-dummy.m"; sourceTree = ""; }; - B31E677ED7AFF45847A2B17434062BE4 /* SelectionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SelectionView.swift; path = TextAnnotation/Classes/SelectionView.swift; sourceTree = ""; }; - B5685C620D896DB8910DC40BDB25772E /* TextAnnotation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextAnnotation.swift; path = TextAnnotation/Classes/TextAnnotation.swift; sourceTree = ""; }; - B86A6941ABF23F7932C971DC3E77887D /* TextAnnotation-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "TextAnnotation-Info.plist"; sourceTree = ""; }; - C40C5D8538643DB1F71ACCE7BE64B8FC /* MouseTrackingView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MouseTrackingView.swift; path = TextAnnotation/Classes/MouseTrackingView.swift; sourceTree = ""; }; + B1F81BD1E59AF7E7CF4ABE841090E9EF /* Assets.xcassets */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = TextAnnotation/Assets/Assets.xcassets; sourceTree = ""; }; C950F244FBB6042672EF8C1290C05D44 /* Pods-TextAnnotation_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TextAnnotation_Tests-acknowledgements.markdown"; sourceTree = ""; }; - CC77F2EE7AFAB74D3B6340F6EFEF9DBA /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; - CE2922EB42B93DFBA11931CD865B786D /* TextAnnotation-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TextAnnotation-prefix.pch"; sourceTree = ""; }; - D2DDD7A29E3EF9EADC4029EDFC58496D /* TextAnnotationCanvas.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextAnnotationCanvas.swift; path = TextAnnotation/Classes/TextAnnotationCanvas.swift; sourceTree = ""; }; + CAA539F603A4D67C2D838D056ED9F478 /* TextColor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextColor.swift; path = TextAnnotation/Classes/TextColor.swift; sourceTree = ""; }; + D0A809D7C98E44824C2D72C4B6C0E881 /* TextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextView.swift; path = TextAnnotation/Classes/TextView.swift; sourceTree = ""; }; + D1E4BAEABBD86392275C7F0D801BEF3F /* SelectionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SelectionView.swift; path = TextAnnotation/Classes/SelectionView.swift; sourceTree = ""; }; + D741A7AF0FCAF3F3649348B7328D8943 /* TextAnnotationDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextAnnotationDelegate.swift; path = TextAnnotation/Classes/TextAnnotationDelegate.swift; sourceTree = ""; }; + E7AB25B8B07381504A5FA6C1372F9207 /* TextAnnotation-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TextAnnotation-umbrella.h"; sourceTree = ""; }; E7B8DA7F824FB4DF300F965C05776AF1 /* Pods-TextAnnotation_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TextAnnotation_Tests-acknowledgements.plist"; sourceTree = ""; }; + ECE1E642F88F90BF1873FD387729B672 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; F50C162BC5D2CEFC8258AD7ED19666CB /* Pods-TextAnnotation_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-TextAnnotation_Example.modulemap"; sourceTree = ""; }; F6796271228C82E5991B8F2B341280D8 /* Pods-TextAnnotation_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TextAnnotation_Example-frameworks.sh"; sourceTree = ""; }; - F90DC7CA6F5E72A57B7D732F46E5BE33 /* TextAnnotation-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "TextAnnotation-dummy.m"; sourceTree = ""; }; F940C819049CFF8741C0F5E3E075E607 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; }; FA3FFC77A5E24880771D4261E6E22130 /* Pods-TextAnnotation_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TextAnnotation_Tests.debug.xcconfig"; sourceTree = ""; }; - FBED14455C13A0166DECAB279D333F16 /* CursorSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CursorSet.swift; path = TextAnnotation/Classes/CursorSet.swift; sourceTree = ""; }; - FE61D3BFBEC751762014984FD75C1D60 /* TextAnnotation.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; path = TextAnnotation.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - FED51E3EEB2F35DD93FA05EB01195144 /* Pods_TextAnnotation_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TextAnnotation_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FED51E3EEB2F35DD93FA05EB01195144 /* Pods_TextAnnotation_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_TextAnnotation_Tests.framework; path = "Pods-TextAnnotation_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 04BB50B0F609FF77ED99D9EDD707334C /* Frameworks */ = { + 33305B8A1D3518EE5312252FF636B4FE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1AE44B348B7C1CB319CA05C45F6D066A /* Cocoa.framework in Frameworks */, + 1A4B0CABA2D58CAE8AEFFC9D8646AE6C /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 326F33868E56F0FAC8FCDDBCAEEDAA23 /* Frameworks */ = { + 6AF7C0B454D6221E170405BEF6185BD3 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C76BF2B612732CFE8E3CC48C05AF656A /* Cocoa.framework in Frameworks */, + 0DA3830F3DCB343AC8ACD3EE365EF77F /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3F9FC44E9444FF7D87581716D3A26BB1 /* Frameworks */ = { + FF2952005645260397E30BB543699507 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 913E819234946DE2AA52EAD1CF845A6E /* Cocoa.framework in Frameworks */, + 0C06F50372B58275575F125DBE760DF6 /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 20604E863674BB2AD6BDE6687FC3CFDD /* Pod */ = { + isa = PBXGroup; + children = ( + 14F46E18E1045C9401BE45DFB5EAC5BB /* LICENSE */, + ECE1E642F88F90BF1873FD387729B672 /* README.md */, + 00B6684FCF91379F9DD209B2B0FF58D8 /* TextAnnotation.podspec */, + ); + name = Pod; + sourceTree = ""; + }; 2EC9013DF7590410FBF2C81BEDBE515E /* Products */ = { isa = PBXGroup; children = ( @@ -156,71 +168,56 @@ path = "Target Support Files/Pods-TextAnnotation_Tests"; sourceTree = ""; }; - 408FCF1D8C9AB42867B98536DB7265E5 /* TextAnnotation */ = { - isa = PBXGroup; - children = ( - 23F69A53C2A90BD736B23714F6E6BCAC /* Constants.swift */, - FBED14455C13A0166DECAB279D333F16 /* CursorSet.swift */, - 6502C60124698C9300FF93A9 /* CustomSwitch.swift */, - 56A7EA730251F396F48B1B2971156576 /* KnobView.swift */, - C40C5D8538643DB1F71ACCE7BE64B8FC /* MouseTrackingView.swift */, - 7EAA858CD2BEBBF94783834E7692A3D0 /* NSColorExtension.swift */, - B31E677ED7AFF45847A2B17434062BE4 /* SelectionView.swift */, - B5685C620D896DB8910DC40BDB25772E /* TextAnnotation.swift */, - D2DDD7A29E3EF9EADC4029EDFC58496D /* TextAnnotationCanvas.swift */, - 47B9C5C986EDCAD13638A75A8C1C7F17 /* TextAnnotationDelegate.swift */, - 42172B94C95154102D6E1949ADD26C90 /* TextAnnotationModelable.swift */, - 9C9B3D490B2E39970476CE2651B9A1FD /* TextColor.swift */, - 0DC5C21415B070CA584FC39E20762F1F /* TextContainerView.swift */, - 302D8AB7BB3C6465927D6C486F9F392A /* TextView.swift */, - 8DFA24E8DCA7C78121CEC09C1B42829C /* Pod */, - 66828B2D194FAA574E11C726633F8369 /* Resources */, - 413458901A62F72FC66B81E0940EE771 /* Support Files */, - ); - name = TextAnnotation; - path = ../..; - sourceTree = ""; - }; - 413458901A62F72FC66B81E0940EE771 /* Support Files */ = { + A2D05067DB7A12BFE294EC00CA760C88 /* Targets Support Files */ = { isa = PBXGroup; children = ( - A2E664DC13F330FDC2A5D8794CF1EE3C /* TextAnnotation.modulemap */, - F90DC7CA6F5E72A57B7D732F46E5BE33 /* TextAnnotation-dummy.m */, - B86A6941ABF23F7932C971DC3E77887D /* TextAnnotation-Info.plist */, - CE2922EB42B93DFBA11931CD865B786D /* TextAnnotation-prefix.pch */, - 86FFCE26B66B4A3CB79951A0C82D3E5E /* TextAnnotation-umbrella.h */, - 00AC56EC5B8D0E55756606FE64A37207 /* TextAnnotation.debug.xcconfig */, - 598FFFF1C9A928A4C59692F44517A7CA /* TextAnnotation.release.xcconfig */, + F6E9BF63069EB02B763A83E6F4AAF7E4 /* Pods-TextAnnotation_Example */, + 32E99382D46BD945ED09B63C2EDEBFE5 /* Pods-TextAnnotation_Tests */, ); - name = "Support Files"; - path = "Example/Pods/Target Support Files/TextAnnotation"; + name = "Targets Support Files"; sourceTree = ""; }; - 66828B2D194FAA574E11C726633F8369 /* Resources */ = { + AC553C736D8B9AC88CC68836F1E2FB1E /* Resources */ = { isa = PBXGroup; children = ( - 4163D6EE1BB210D3959B0A85C180E24C /* Assets.xcassets */, + B1F81BD1E59AF7E7CF4ABE841090E9EF /* Assets.xcassets */, ); name = Resources; sourceTree = ""; }; - 8DFA24E8DCA7C78121CEC09C1B42829C /* Pod */ = { + AE4A2D6E418567BD911943BB1DAC0275 /* Attributes */ = { isa = PBXGroup; children = ( - 498B6EB325D9614FC166956493406822 /* LICENSE */, - CC77F2EE7AFAB74D3B6340F6EFEF9DBA /* README.md */, - FE61D3BFBEC751762014984FD75C1D60 /* TextAnnotation.podspec */, + 20E3CFC75ADB77AB590083E6DB111118 /* TextAttributes.swift */, ); - name = Pod; + name = Attributes; + path = TextAnnotation/Classes/Attributes; sourceTree = ""; }; - A2D05067DB7A12BFE294EC00CA760C88 /* Targets Support Files */ = { + C7D441241593E1C59FDE7F2993614E70 /* TextAnnotation */ = { isa = PBXGroup; children = ( - F6E9BF63069EB02B763A83E6F4AAF7E4 /* Pods-TextAnnotation_Example */, - 32E99382D46BD945ED09B63C2EDEBFE5 /* Pods-TextAnnotation_Tests */, + 065F5C61DBA4C6C07A58F2104614A85D /* Constants.swift */, + 7E81439D260FCEE7BAACBF55C7467C93 /* CursorSet.swift */, + 826CFE15ACA7F965A49AE2ADB33F4D36 /* CustomSwitch.swift */, + 9A4B3F28C77439AD548399C64A1178E6 /* KnobView.swift */, + ABDFF63EA5936A434CB694727085212B /* MouseTrackingView.swift */, + 9BABE7E2D03734BEAA269DEFF8E34895 /* NSColorExtension.swift */, + D1E4BAEABBD86392275C7F0D801BEF3F /* SelectionView.swift */, + 2C673837A87DBBEB6F61A6B8C2533833 /* TextAnnotation.swift */, + 8C870096262507C3AADDC870C8F0CE19 /* TextAnnotationCanvas.swift */, + D741A7AF0FCAF3F3649348B7328D8943 /* TextAnnotationDelegate.swift */, + 333CA3A606CA25C91CF43BBE87AFFC46 /* TextAnnotationModelable.swift */, + CAA539F603A4D67C2D838D056ED9F478 /* TextColor.swift */, + 7083AAF01D04BA201B06474CEB81C0EE /* TextContainerView.swift */, + D0A809D7C98E44824C2D72C4B6C0E881 /* TextView.swift */, + AE4A2D6E418567BD911943BB1DAC0275 /* Attributes */, + 20604E863674BB2AD6BDE6687FC3CFDD /* Pod */, + AC553C736D8B9AC88CC68836F1E2FB1E /* Resources */, + F62A9CE44D4C6B1B5E102450885180D6 /* Support Files */, ); - name = "Targets Support Files"; + name = TextAnnotation; + path = ../..; sourceTree = ""; }; CBD43E0947D94E318A0ED1350CFF29ED /* OS X */ = { @@ -235,13 +232,21 @@ isa = PBXGroup; children = ( 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, - E4B5395A3BFF33F4661F38606B570876 /* Development Pods */, + D13E41CE3654E24E65EA3A5A51EA4680 /* Development Pods */, E0A1E60606E0BF6E2E10F1F01350DFE8 /* Frameworks */, 2EC9013DF7590410FBF2C81BEDBE515E /* Products */, A2D05067DB7A12BFE294EC00CA760C88 /* Targets Support Files */, ); sourceTree = ""; }; + D13E41CE3654E24E65EA3A5A51EA4680 /* Development Pods */ = { + isa = PBXGroup; + children = ( + C7D441241593E1C59FDE7F2993614E70 /* TextAnnotation */, + ); + name = "Development Pods"; + sourceTree = ""; + }; E0A1E60606E0BF6E2E10F1F01350DFE8 /* Frameworks */ = { isa = PBXGroup; children = ( @@ -250,12 +255,19 @@ name = Frameworks; sourceTree = ""; }; - E4B5395A3BFF33F4661F38606B570876 /* Development Pods */ = { + F62A9CE44D4C6B1B5E102450885180D6 /* Support Files */ = { isa = PBXGroup; children = ( - 408FCF1D8C9AB42867B98536DB7265E5 /* TextAnnotation */, + 2EDC119B8917BEFB246002555D8F86B4 /* TextAnnotation.modulemap */, + 693292C8358FB03E53773CAE9C9C3FE0 /* TextAnnotation-dummy.m */, + 8FD96A276131996601815D243448FAE0 /* TextAnnotation-Info.plist */, + 5A0845FF30577908B6933CF7FDF2BA78 /* TextAnnotation-prefix.pch */, + E7AB25B8B07381504A5FA6C1372F9207 /* TextAnnotation-umbrella.h */, + 8773FD2283B394D9729E584FCF9F22B7 /* TextAnnotation.debug.xcconfig */, + 79CB6B7608B62A061D2F5E07453F5544 /* TextAnnotation.release.xcconfig */, ); - name = "Development Pods"; + name = "Support Files"; + path = "Example/Pods/Target Support Files/TextAnnotation"; sourceTree = ""; }; F6E9BF63069EB02B763A83E6F4AAF7E4 /* Pods-TextAnnotation_Example */ = { @@ -278,27 +290,27 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - A011D845BB6FE3DC3764073CEEC96809 /* Headers */ = { + 07ED9E006BA06DE7F7E467AE2F70B984 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - BA5FFD666CC732F82654E668CBE405EE /* TextAnnotation-umbrella.h in Headers */, + B05B6441EC8C8D249913AFE4F895D08F /* TextAnnotation-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - A2BC689231B90DA071F9E366FD1C54E0 /* Headers */ = { + 462F0180EA2920C1AE112D7456CBEFB9 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 11E1B1AC8186B0F05F89D8549BD41BDD /* Pods-TextAnnotation_Tests-umbrella.h in Headers */, + 321CFDFC7B003D5F76BDB6F926390CCC /* Pods-TextAnnotation_Tests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - B431141591EA7E99F743C0D0E4FDF01E /* Headers */ = { + F23A2F8A26345CC5D91658BF3A96EE2A /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - DB8600F8F8CE6C8D0AA203E6954C4E5B /* Pods-TextAnnotation_Example-umbrella.h in Headers */, + D08B075E2358B3A53954F7D36CA1CA92 /* Pods-TextAnnotation_Example-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -307,12 +319,12 @@ /* Begin PBXNativeTarget section */ 948D1064C68C8099881C07922649E558 /* TextAnnotation */ = { isa = PBXNativeTarget; - buildConfigurationList = F9F7436F78F06D48C9EE576C8846AA39 /* Build configuration list for PBXNativeTarget "TextAnnotation" */; + buildConfigurationList = FA944BF65662D38BBC12403F5A060D89 /* Build configuration list for PBXNativeTarget "TextAnnotation" */; buildPhases = ( - A011D845BB6FE3DC3764073CEEC96809 /* Headers */, - 7AB9AC1C55163CC619EF8B3531B88B30 /* Sources */, - 3F9FC44E9444FF7D87581716D3A26BB1 /* Frameworks */, - 87066453654855C45A1B1AA96A67821A /* Resources */, + 07ED9E006BA06DE7F7E467AE2F70B984 /* Headers */, + 3EE0ADEEC5DFCADB1A62F344E531E8D2 /* Sources */, + 33305B8A1D3518EE5312252FF636B4FE /* Frameworks */, + E6777636EE35FD7BBDE297A61F9FEF39 /* Resources */, ); buildRules = ( ); @@ -325,17 +337,17 @@ }; 95598BD418959D08AA4FB1256718FB44 /* Pods-TextAnnotation_Example */ = { isa = PBXNativeTarget; - buildConfigurationList = 1C0F9F853B73636F7F71E25A097DD12F /* Build configuration list for PBXNativeTarget "Pods-TextAnnotation_Example" */; + buildConfigurationList = F2875FFF5ECB2E8FDDB8AA556074EC2D /* Build configuration list for PBXNativeTarget "Pods-TextAnnotation_Example" */; buildPhases = ( - B431141591EA7E99F743C0D0E4FDF01E /* Headers */, - DF49D2F073D6E6AC84730CFF41B34F86 /* Sources */, - 326F33868E56F0FAC8FCDDBCAEEDAA23 /* Frameworks */, - C79F67398F4F3083131723575DF8C54D /* Resources */, + F23A2F8A26345CC5D91658BF3A96EE2A /* Headers */, + 26195B3559399F8E6B365E4F8CA6F899 /* Sources */, + FF2952005645260397E30BB543699507 /* Frameworks */, + 5B84DC9280BBC49C677347119EACDEBC /* Resources */, ); buildRules = ( ); dependencies = ( - 35F39485DEFA69EA55BFC4956D9E7D4E /* PBXTargetDependency */, + 6E49994B6D284F0164F693EF326576D8 /* PBXTargetDependency */, ); name = "Pods-TextAnnotation_Example"; productName = "Pods-TextAnnotation_Example"; @@ -344,17 +356,17 @@ }; F639FEDCA0F08494BDF42D39B80C279A /* Pods-TextAnnotation_Tests */ = { isa = PBXNativeTarget; - buildConfigurationList = 3AC25F5CAE04530ADB51C03E60332AD2 /* Build configuration list for PBXNativeTarget "Pods-TextAnnotation_Tests" */; + buildConfigurationList = 5ED8A870D91682C78AE457BABC3C6884 /* Build configuration list for PBXNativeTarget "Pods-TextAnnotation_Tests" */; buildPhases = ( - A2BC689231B90DA071F9E366FD1C54E0 /* Headers */, - 9EDF8D8FB06D7908069CF391A8D09236 /* Sources */, - 04BB50B0F609FF77ED99D9EDD707334C /* Frameworks */, - 31E50ED1B6CC9E09694F49C872074CD0 /* Resources */, + 462F0180EA2920C1AE112D7456CBEFB9 /* Headers */, + 12735A45AD38576B44224CEFD192B373 /* Sources */, + 6AF7C0B454D6221E170405BEF6185BD3 /* Frameworks */, + A2316A137424BB80704EDC9BD7ADF28E /* Resources */, ); buildRules = ( ); dependencies = ( - 359877FB42E4AC03D3A299820C535945 /* PBXTargetDependency */, + 4D96AB4FDE0DBCDFC62323240D2A05DD /* PBXTargetDependency */, ); name = "Pods-TextAnnotation_Tests"; productName = "Pods-TextAnnotation_Tests"; @@ -391,91 +403,93 @@ /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 31E50ED1B6CC9E09694F49C872074CD0 /* Resources */ = { + 5B84DC9280BBC49C677347119EACDEBC /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 87066453654855C45A1B1AA96A67821A /* Resources */ = { + A2316A137424BB80704EDC9BD7ADF28E /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 247DE57FC4B4CFAE1DD2A569F8DAD09A /* Assets.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - C79F67398F4F3083131723575DF8C54D /* Resources */ = { + E6777636EE35FD7BBDE297A61F9FEF39 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + E992D97AA268432D29187C226F0EC285 /* Assets.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 7AB9AC1C55163CC619EF8B3531B88B30 /* Sources */ = { + 12735A45AD38576B44224CEFD192B373 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - E4A0FE8FF13528010C59178A2FDF21CF /* Constants.swift in Sources */, - BA42AE02D3D49D1B4E122042F59A9B36 /* CursorSet.swift in Sources */, - 6502C60224698C9300FF93A9 /* CustomSwitch.swift in Sources */, - 6427770E45C1781D5A3F7F860853382C /* KnobView.swift in Sources */, - 687E80A8F595C706BE1C84ADCCD39BAE /* MouseTrackingView.swift in Sources */, - 2D4BEDAA8C234A7CBB4B21DD09EECEBA /* NSColorExtension.swift in Sources */, - 65477CB4518D1E4A1EE36A35717119C0 /* SelectionView.swift in Sources */, - D08BAF3D37BED50AD14317492159EC74 /* TextAnnotation-dummy.m in Sources */, - 7E5F790C5BFE3C71CCA9E050E75DB8D1 /* TextAnnotation.swift in Sources */, - 9F154019687F910B837F3D17D3851AD3 /* TextAnnotationCanvas.swift in Sources */, - 0559D972CCA32757B4A54B30DF56BE93 /* TextAnnotationDelegate.swift in Sources */, - D25395125B7E8F94CBCF1A93FEAC35F7 /* TextAnnotationModelable.swift in Sources */, - A5CD37038E2FBE6344EEAA67D70F1896 /* TextColor.swift in Sources */, - 275A05E76A50601A746DE56749F8A047 /* TextContainerView.swift in Sources */, - 8EA89176A6D92C571F5A27BC20DA2786 /* TextView.swift in Sources */, + C22AB0EF881A26C76C7F5FF0D6F07168 /* Pods-TextAnnotation_Tests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9EDF8D8FB06D7908069CF391A8D09236 /* Sources */ = { + 26195B3559399F8E6B365E4F8CA6F899 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - CA960F031E7D0FFA19153473BE0EA0CE /* Pods-TextAnnotation_Tests-dummy.m in Sources */, + 5AD607CF922DEB95DC4B2176EE579B49 /* Pods-TextAnnotation_Example-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - DF49D2F073D6E6AC84730CFF41B34F86 /* Sources */ = { + 3EE0ADEEC5DFCADB1A62F344E531E8D2 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - C1889CB3499EADAE28A274EB284628F8 /* Pods-TextAnnotation_Example-dummy.m in Sources */, + 3C5DF3F4DB32CEBF20E073A6676591BA /* Constants.swift in Sources */, + F6A13FC2B77A7610F39500934951819D /* CursorSet.swift in Sources */, + 8723E0C4C2A62189902FE45147B91594 /* CustomSwitch.swift in Sources */, + 1143E1875D6006D9046966F1573CD5FB /* KnobView.swift in Sources */, + D9AA3F6CB1F244D0FA9A6D974BCABBED /* MouseTrackingView.swift in Sources */, + 1442279C5531A8E7286B3C48FDE0743E /* NSColorExtension.swift in Sources */, + FC759EFF4B72E4D107026ADFA6B01B05 /* SelectionView.swift in Sources */, + 9E41CE93B5FC9053EB706959FD6008E5 /* TextAnnotation-dummy.m in Sources */, + 6EE04AEB84FC1206C181DEBB370BDC11 /* TextAnnotation.swift in Sources */, + 54DA83967F1CAFB810E0FA6874A4D403 /* TextAnnotationCanvas.swift in Sources */, + 1A80C4B3DC23081DB2B86E8DEB1A6B50 /* TextAnnotationDelegate.swift in Sources */, + 80DDC0D633F69C91B721554C9CAFEE87 /* TextAnnotationModelable.swift in Sources */, + 1C776B83D5F1F551131632C35418AEF1 /* TextAttributes.swift in Sources */, + D06DB47FDF4A00EB45C1FE99DCC24364 /* TextColor.swift in Sources */, + 78DB694E25B4373632952C63E67778CD /* TextContainerView.swift in Sources */, + 39634F675A6B8BC633B0A9AEF0C1C112 /* TextView.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 359877FB42E4AC03D3A299820C535945 /* PBXTargetDependency */ = { + 4D96AB4FDE0DBCDFC62323240D2A05DD /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = TextAnnotation; target = 948D1064C68C8099881C07922649E558 /* TextAnnotation */; - targetProxy = 794FE15EE1C39987C195F75A99904FAC /* PBXContainerItemProxy */; + targetProxy = 70E6ADCD360F33CD6F6487373AC13700 /* PBXContainerItemProxy */; }; - 35F39485DEFA69EA55BFC4956D9E7D4E /* PBXTargetDependency */ = { + 6E49994B6D284F0164F693EF326576D8 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = TextAnnotation; target = 948D1064C68C8099881C07922649E558 /* TextAnnotation */; - targetProxy = 965181AE96E61F74C1EAA845C8C8041D /* PBXContainerItemProxy */; + targetProxy = 941981723DED7B949FA479ADDDC99C40 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 3F62F0D463284479004431FF5BAF17E8 /* Debug */ = { + 284296BE5C396E638169A7379086777F /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 00AC56EC5B8D0E55756606FE64A37207 /* TextAnnotation.debug.xcconfig */; + baseConfigurationReference = 5B67A17076AFAE72BA425EAD5B789B60 /* Pods-TextAnnotation_Example.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; @@ -489,24 +503,25 @@ DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; FRAMEWORK_VERSION = A; - GCC_PREFIX_HEADER = "Target Support Files/TextAnnotation/TextAnnotation-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/TextAnnotation/TextAnnotation-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-TextAnnotation_Example/Pods-TextAnnotation_Example-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; MACOSX_DEPLOYMENT_TARGET = 10.13; - MODULEMAP_FILE = "Target Support Files/TextAnnotation/TextAnnotation.modulemap"; - PRODUCT_MODULE_NAME = TextAnnotation; - PRODUCT_NAME = TextAnnotation; + MODULEMAP_FILE = "Target Support Files/Pods-TextAnnotation_Example/Pods-TextAnnotation_Example.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = macosx; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 533A2BCE1F51EAF1D2CD59B3EBD42DEA /* Release */ = { + 6BC3761D4CDAA0BD38DC50C7C4D06DB9 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = 40B72BFDF839F0FE84D269E67F979A02 /* Pods-TextAnnotation_Tests.release.xcconfig */; buildSettings = { @@ -542,11 +557,10 @@ }; name = Release; }; - 59FAD2F8046CA70B60CE8DC297EFFFFB /* Debug */ = { + 6C4983D51D3525E50FF2FC25AA46E0BB /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5B67A17076AFAE72BA425EAD5B789B60 /* Pods-TextAnnotation_Example.debug.xcconfig */; + baseConfigurationReference = 8773FD2283B394D9729E584FCF9F22B7 /* TextAnnotation.debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; @@ -560,25 +574,24 @@ DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "Target Support Files/Pods-TextAnnotation_Example/Pods-TextAnnotation_Example-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/TextAnnotation/TextAnnotation-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/TextAnnotation/TextAnnotation-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; MACOSX_DEPLOYMENT_TARGET = 10.13; - MODULEMAP_FILE = "Target Support Files/Pods-TextAnnotation_Example/Pods-TextAnnotation_Example.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + MODULEMAP_FILE = "Target Support Files/TextAnnotation/TextAnnotation.modulemap"; + PRODUCT_MODULE_NAME = TextAnnotation; + PRODUCT_NAME = TextAnnotation; SDKROOT = macosx; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 8D609931270548F182B82DCCDCDF5FC7 /* Release */ = { + 713F3C910250122683BBE019BBE38823 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = ACF83462E6CC968497F87C9A71906FB9 /* Pods-TextAnnotation_Example.release.xcconfig */; buildSettings = { @@ -678,9 +691,9 @@ }; name = Debug; }; - B884EC1B5CE05DE27D251CA96D84D7A8 /* Release */ = { + DD815CB7543C8133D86D5A3734E38104 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 598FFFF1C9A928A4C59692F44517A7CA /* TextAnnotation.release.xcconfig */; + baseConfigurationReference = 79CB6B7608B62A061D2F5E07453F5544 /* TextAnnotation.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -712,42 +725,6 @@ }; name = Release; }; - C83691B9C4A0D30B10E7E95FF207279C /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = FA3FFC77A5E24880771D4261E6E22130 /* Pods-TextAnnotation_Tests.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "Target Support Files/Pods-TextAnnotation_Tests/Pods-TextAnnotation_Tests-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.13; - MODULEMAP_FILE = "Target Support Files/Pods-TextAnnotation_Tests/Pods-TextAnnotation_Tests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = macosx; - SKIP_INSTALL = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; E4DEAC9B52796426D2A37E7074A1738D /* Release */ = { isa = XCBuildConfiguration; buildSettings = { @@ -801,47 +778,84 @@ MTL_FAST_MATH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; }; name = Release; }; + E4E9FBD79247620D53B6D3B27490062D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = FA3FFC77A5E24880771D4261E6E22130 /* Pods-TextAnnotation_Tests.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_VERSION = A; + INFOPLIST_FILE = "Target Support Files/Pods-TextAnnotation_Tests/Pods-TextAnnotation_Tests-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MACOSX_DEPLOYMENT_TARGET = 10.13; + MODULEMAP_FILE = "Target Support Files/Pods-TextAnnotation_Tests/Pods-TextAnnotation_Tests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = macosx; + SKIP_INSTALL = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 1C0F9F853B73636F7F71E25A097DD12F /* Build configuration list for PBXNativeTarget "Pods-TextAnnotation_Example" */ = { + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 59FAD2F8046CA70B60CE8DC297EFFFFB /* Debug */, - 8D609931270548F182B82DCCDCDF5FC7 /* Release */, + 9382317ED75CFC741F429FC224405042 /* Debug */, + E4DEAC9B52796426D2A37E7074A1738D /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3AC25F5CAE04530ADB51C03E60332AD2 /* Build configuration list for PBXNativeTarget "Pods-TextAnnotation_Tests" */ = { + 5ED8A870D91682C78AE457BABC3C6884 /* Build configuration list for PBXNativeTarget "Pods-TextAnnotation_Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - C83691B9C4A0D30B10E7E95FF207279C /* Debug */, - 533A2BCE1F51EAF1D2CD59B3EBD42DEA /* Release */, + E4E9FBD79247620D53B6D3B27490062D /* Debug */, + 6BC3761D4CDAA0BD38DC50C7C4D06DB9 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { + F2875FFF5ECB2E8FDDB8AA556074EC2D /* Build configuration list for PBXNativeTarget "Pods-TextAnnotation_Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - 9382317ED75CFC741F429FC224405042 /* Debug */, - E4DEAC9B52796426D2A37E7074A1738D /* Release */, + 284296BE5C396E638169A7379086777F /* Debug */, + 713F3C910250122683BBE019BBE38823 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - F9F7436F78F06D48C9EE576C8846AA39 /* Build configuration list for PBXNativeTarget "TextAnnotation" */ = { + FA944BF65662D38BBC12403F5A060D89 /* Build configuration list for PBXNativeTarget "TextAnnotation" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3F62F0D463284479004431FF5BAF17E8 /* Debug */, - B884EC1B5CE05DE27D251CA96D84D7A8 /* Release */, + 6C4983D51D3525E50FF2FC25AA46E0BB /* Debug */, + DD815CB7543C8133D86D5A3734E38104 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/Pods/Target Support Files/TextAnnotation/TextAnnotation-Info.plist b/Example/Pods/Target Support Files/TextAnnotation/TextAnnotation-Info.plist index 324eeb2..5c31b75 100644 --- a/Example/Pods/Target Support Files/TextAnnotation/TextAnnotation-Info.plist +++ b/Example/Pods/Target Support Files/TextAnnotation/TextAnnotation-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 0.5.0 + 0.6.2 CFBundleSignature ???? CFBundleVersion diff --git a/Example/TextAnnotation/Assets.xcassets/browser_app_screenshot.imageset/Contents.json b/Example/TextAnnotation/Assets.xcassets/browser_app_screenshot.imageset/Contents.json new file mode 100644 index 0000000..628ac68 --- /dev/null +++ b/Example/TextAnnotation/Assets.xcassets/browser_app_screenshot.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "Screen Shot 2020-09-09 at 5.43.19 PM.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example/TextAnnotation/Assets.xcassets/browser_app_screenshot.imageset/Screen Shot 2020-09-09 at 5.43.19 PM.png b/Example/TextAnnotation/Assets.xcassets/browser_app_screenshot.imageset/Screen Shot 2020-09-09 at 5.43.19 PM.png new file mode 100644 index 0000000..8c9259b Binary files /dev/null and b/Example/TextAnnotation/Assets.xcassets/browser_app_screenshot.imageset/Screen Shot 2020-09-09 at 5.43.19 PM.png differ diff --git a/Example/TextAnnotation/Assets.xcassets/browser_screenshot.imageset/Contents.json b/Example/TextAnnotation/Assets.xcassets/browser_screenshot.imageset/Contents.json new file mode 100644 index 0000000..cb05008 --- /dev/null +++ b/Example/TextAnnotation/Assets.xcassets/browser_screenshot.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "Screen Shot 2020-09-09 at 5.40.22 PM.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example/TextAnnotation/Assets.xcassets/browser_screenshot.imageset/Screen Shot 2020-09-09 at 5.40.22 PM.png b/Example/TextAnnotation/Assets.xcassets/browser_screenshot.imageset/Screen Shot 2020-09-09 at 5.40.22 PM.png new file mode 100644 index 0000000..7fb6eff Binary files /dev/null and b/Example/TextAnnotation/Assets.xcassets/browser_screenshot.imageset/Screen Shot 2020-09-09 at 5.40.22 PM.png differ diff --git a/Example/TextAnnotation/Assets.xcassets/figma_screenshot.imageset/Contents.json b/Example/TextAnnotation/Assets.xcassets/figma_screenshot.imageset/Contents.json new file mode 100644 index 0000000..c58aa62 --- /dev/null +++ b/Example/TextAnnotation/Assets.xcassets/figma_screenshot.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "Screen Shot 2020-09-09 at 5.41.50 PM.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example/TextAnnotation/Assets.xcassets/figma_screenshot.imageset/Screen Shot 2020-09-09 at 5.41.50 PM.png b/Example/TextAnnotation/Assets.xcassets/figma_screenshot.imageset/Screen Shot 2020-09-09 at 5.41.50 PM.png new file mode 100644 index 0000000..dc4d415 Binary files /dev/null and b/Example/TextAnnotation/Assets.xcassets/figma_screenshot.imageset/Screen Shot 2020-09-09 at 5.41.50 PM.png differ diff --git a/Example/TextAnnotation/Assets.xcassets/github_screenshot.imageset/Contents.json b/Example/TextAnnotation/Assets.xcassets/github_screenshot.imageset/Contents.json new file mode 100644 index 0000000..bfa1c5c --- /dev/null +++ b/Example/TextAnnotation/Assets.xcassets/github_screenshot.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "Screen Shot 2020-09-09 at 5.33.41 PM.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example/TextAnnotation/Assets.xcassets/github_screenshot.imageset/Screen Shot 2020-09-09 at 5.33.41 PM.png b/Example/TextAnnotation/Assets.xcassets/github_screenshot.imageset/Screen Shot 2020-09-09 at 5.33.41 PM.png new file mode 100644 index 0000000..fe246a4 Binary files /dev/null and b/Example/TextAnnotation/Assets.xcassets/github_screenshot.imageset/Screen Shot 2020-09-09 at 5.33.41 PM.png differ diff --git a/Example/TextAnnotation/Previews/TextContainerView_Preview.swift b/Example/TextAnnotation/Previews/TextContainerView_Preview.swift index 69a2593..e8e51ef 100644 --- a/Example/TextAnnotation/Previews/TextContainerView_Preview.swift +++ b/Example/TextAnnotation/Previews/TextContainerView_Preview.swift @@ -7,22 +7,115 @@ import SwiftUI @available(OSX 10.15.0, *) struct TextContainerViewPreview: NSViewRepresentable { + let attributes: [NSAttributedString.Key: Any]? + let color: NSColor? + init(attributes: [NSAttributedString.Key: Any]? = nil, + color: NSColor? = nil) { + self.attributes = attributes + self.color = color + } func makeNSView(context: Context) -> TextContainerView { TextContainerView(frame: .zero, text: "Text Annotation", - color: .defaultColor()) + color: color?.textColor ?? .defaultColor(), + textAttributes: attributes) } func updateNSView(_ view: TextContainerView, context: Context) { } } +struct ExampleScreenshots { + static var github = #imageLiteral(resourceName: "github_screenshot") + static var landingPage = #imageLiteral(resourceName: "browser_screenshot") + static var browserApp = #imageLiteral(resourceName: "browser_app_screenshot") + static var figma = #imageLiteral(resourceName: "figma_screenshot") +} + +struct TextParams { + var font = "HelveticaNeue-Bold" + var fontSize = 30.0 + var strokeWidth = 3.0 + var outlineWidth = -2.5 + var outlineColor = NSColor.white + var shadowColor = NSColor.white + var shadowOffsetX = 1.5 + var shadowOffsetY = 1.5 + var shadowBlur = 2.0 +} + @available(OSX 10.15.0, *) struct TextContainerView_Previews: PreviewProvider { - static var previews: some View { - TextContainerViewPreview() - .background(Color.gray) - .previewLayout(.fixed(width: 300.0, height: 300.0)) + + // a color to use in all previews if no custom color is passed + static var defaultColor: NSColor? = NSColor.color(from: TextColor.orange) + + + + static var previews: some View { + Group { + + preview(with: nil) // current default settings + + preview(with: TextAttributes.shadow(color: .white, + offsetX: 4.0, + offsetY: 0.0, + blur: 3.0)) + + preview(with: TextAttributes.outlineWithShadow(outlineWidth: -2.5, + outlineColor: .white, + shadowColor: .white, + shadowOffsetX: 1.5, + shadowOffsetY: 1.5, + shadowBlur: 2.0)) + + preview(with: TextAttributes.outline(outlineWidth: -5.0, + outlineColor: .white)) + + preview(with: TextAttributes.outline(outlineWidth: -5.0, + outlineColor: .white), + color: NSColor.color(from: TextColor.violet)) + + preview(with: TextAttributes.outline(outlineWidth: -5.0, + outlineColor: .black)) + + preview(with: TextAttributes.outlineWithShadow(outlineWidth: -2.5, + outlineColor: .black, + shadowColor: .white, + shadowOffsetX: -2.0, + shadowOffsetY: -0.5, + shadowBlur: 3.0)) + + preview(with: TextAttributes.outlineWithShadow(outlineWidth: -2.5, + outlineColor: .blue, + shadowColor: .systemBlue, + shadowOffsetX: 2.5, + shadowOffsetY: 0.5, + shadowBlur: 5.0), + color: .yellow) + + preview(with: [.font: NSFont(name: "Apple Chancery", size: 30.0) as Any, + .strokeColor: NSColor.white, + .strokeWidth: -2.5], + color: NSColor.color(from: TextColor.violet)) } + } + + static func preview(with attributes: [NSAttributedString.Key: Any]?, + color: NSColor? = defaultColor) -> some View { + + TextContainerViewPreview(attributes: attributes, color: color) + .background(Image(nsImage: ExampleScreenshots.landingPage)) + .previewLayout(.fixed(width: 300.0, height: 200.0)) + } } #endif + +extension NSColor { + func color(from textColor: TextColor) -> NSColor { + return NSColor(red: textColor.red, + green: textColor.green, + blue: textColor.blue, + alpha: textColor.alpha) + } +} diff --git a/TextAnnotation/Classes/Attributes/TextAttributes.swift b/TextAnnotation/Classes/Attributes/TextAttributes.swift new file mode 100644 index 0000000..43b5377 --- /dev/null +++ b/TextAnnotation/Classes/Attributes/TextAttributes.swift @@ -0,0 +1,52 @@ +import AppKit + +public struct TextAttributes { + + // outline attributes + public static func outline(outlineWidth: CGFloat, outlineColor: NSColor) -> [NSAttributedString.Key: Any] { + [ + NSAttributedString.Key.strokeColor: outlineColor, + NSAttributedString.Key.strokeWidth: outlineWidth, + ] + } + + // shadow attributes with all available shadow settings + public static func shadow(color: NSColor, + offsetX: CGFloat, + offsetY: CGFloat, + blur: CGFloat) -> [NSAttributedString.Key: Any] { + let textShadow = NSShadow() + textShadow.shadowColor = color + textShadow.shadowOffset = NSMakeSize(offsetX, offsetY) + textShadow.shadowBlurRadius = blur + return [ + NSAttributedString.Key.shadow: textShadow, + ] + } + + // outline attributes plus shadow attributes with all available shadow settings + public static func outlineWithShadow(outlineWidth: CGFloat, + outlineColor: NSColor, + shadowColor: NSColor, + shadowOffsetX: CGFloat, + shadowOffsetY: CGFloat, + shadowBlur: CGFloat + ) -> [NSAttributedString.Key: Any] { + let shadow = NSShadow() + shadow.shadowColor = shadowColor + shadow.shadowOffset = NSSize(width: shadowOffsetX, + height: shadowOffsetY) + shadow.shadowBlurRadius = shadowBlur + + return [ + .strokeColor: outlineColor, + .strokeWidth: outlineWidth, + .shadow: shadow + ] + } + + // currently used in the app + public static func defaultOutlineAttributes() -> [NSAttributedString.Key: Any] { + outline(outlineWidth: -1.5, outlineColor: NSColor.white) + } +} diff --git a/TextAnnotation/Classes/TextColor.swift b/TextAnnotation/Classes/TextColor.swift index 11d32e4..af68cb0 100644 --- a/TextAnnotation/Classes/TextColor.swift +++ b/TextAnnotation/Classes/TextColor.swift @@ -21,3 +21,36 @@ public struct TextColor: Codable, Equatable { alpha: 1.0) } } + +// colors from Zappy app +extension TextColor { + public static let orange: TextColor = { + return .colorFromRelative(red: 255.0, green: 74.0, blue: 1.0) + }() + + public static let yellow: TextColor = { + return .colorFromRelative(red: 255.0, green: 196.0, blue: 62.0) + }() + + public static let green: TextColor = { + return .colorFromRelative(red: 19.0, green: 208.0, blue: 171.0) + }() + + public static let fuschia: TextColor = { + return .colorFromRelative(red: 252.0, green: 28.0, blue: 116.0) + }() + + public static let violet: TextColor = { + return .colorFromRelative(red: 96.0, green: 97.0, blue: 237.0) + }() + + static func colorFromRelative(red: CGFloat, + green: CGFloat, + blue: CGFloat, + alpha: CGFloat = 1.0) -> TextColor { + return TextColor(red: red / 255.0, + green: green / 255.0, + blue: blue / 255.0, + alpha: alpha) + } +} diff --git a/TextAnnotation/Classes/TextContainerView.swift b/TextAnnotation/Classes/TextContainerView.swift index e875fe4..59fa987 100644 --- a/TextAnnotation/Classes/TextContainerView.swift +++ b/TextAnnotation/Classes/TextContainerView.swift @@ -78,9 +78,7 @@ open class TextContainerView: NSView { tally.isHidden = !isActive tally.display() } - - switchView.isHidden = state == .inactive - + // should disable is active state to ensure that correct cursor is shown if state == .active { textView.isEditable = false @@ -119,7 +117,6 @@ open class TextContainerView: NSView { private var backgroundView: SelectionView! private var textView: TextView! - private var switchView: CustomSwitch! private let kMinimalWidth: CGFloat = 25 + 2*Configuration.frameMargin + 2*Configuration.dotRadius private let kMinimalHeight: CGFloat = 70 @@ -158,12 +155,14 @@ open class TextContainerView: NSView { updateSubviewsFrames(oldValue, frame: frame) } } - + // MARK: - Init override init(frame frameRect: NSRect) { super.init(frame: frameRect) - performSubfieldsInit(frameRect: frameRect, textColor: TextColor.defaultColor()) + performSubfieldsInit(frameRect: frameRect, + textColor: TextColor.defaultColor(), + attributes: TextAttributes.defaultOutlineAttributes()) self.text = "" } @@ -171,19 +170,23 @@ open class TextContainerView: NSView { fatalError("init(coder:) has not been implemented") } - public init(frame frameRect: NSRect, text: String, color: TextColor) { + public init(frame frameRect: NSRect, text: String, color: TextColor, textAttributes: [NSAttributedString.Key: Any]? = nil) { super.init(frame: frameRect) - performSubfieldsInit(frameRect: frameRect, textColor: color) + performSubfieldsInit(frameRect: frameRect, + textColor: color, + attributes: textAttributes ?? TextAttributes.defaultOutlineAttributes()) self.text = text } - init(modelable: TextAnnotationModelable) { + init(modelable: TextAnnotationModelable, textAttributes: [NSAttributedString.Key: Any]? = nil) { super.init(frame: modelable.frame) - performSubfieldsInit(frameRect: modelable.frame, textColor: modelable.color) + performSubfieldsInit(frameRect: modelable.frame, + textColor: modelable.color, + attributes: textAttributes ?? TextAttributes.defaultOutlineAttributes()) updateFrame(with: modelable) } - func performSubfieldsInit(frameRect: CGRect, textColor: TextColor) { + func performSubfieldsInit(frameRect: CGRect, textColor: TextColor, attributes: [NSAttributedString.Key: Any]) { let size = frameRect.size backgroundView = SelectionView(frame: NSRect(origin: CGPoint.zero, size: size)) @@ -206,7 +209,15 @@ open class TextContainerView: NSView { textView.usesFontPanel = false textView.isEditable = false textView.isVerticallyResizable = false - textView.typingAttributes = defaultAttributes() + + var textAttributes = attributes + if textAttributes[.font] == nil { + textAttributes[.font] = textView.getFont() + } + textAttributes[.foregroundColor] = NSColor.color(from: textColor) + + textView.typingAttributes = textAttributes + textView.delegate = self singleClickGestureRecognizer = NSClickGestureRecognizer(target: self, action: #selector(self.singleClickGestureHandle(_:))) @@ -235,14 +246,7 @@ open class TextContainerView: NSView { tally.isHidden = true addSubview(tally) scaleTally = tally - - switchView = CustomSwitch(frame: CGRect(x: 0, y: 0, width: 64, height: 20)) - switchView.bounds = switchView.frame - switchView.target = self - switchView.action = #selector(switchViewValudChanged(sender:)) - switchView.isHidden = true - addSubview(switchView) - + addTrackingAreas() } @@ -251,38 +255,8 @@ open class TextContainerView: NSView { let trackingArea = NSTrackingArea(rect: self.bounds, options: options, owner: self, userInfo: nil) self.addTrackingArea(trackingArea) } - - func defaultAttributes() -> [NSAttributedString.Key: Any] { - let textShadow = NSShadow() - textShadow.shadowColor = NSColor.black.withAlphaComponent(0.5) - textShadow.shadowOffset = NSMakeSize(1.0, -1.5) - return [ - NSAttributedString.Key.font: textView.getFont(), - NSAttributedString.Key.foregroundColor: NSColor.color(from: textColor), - NSAttributedString.Key.shadow: textShadow, - ] - } - - func defaultOutlineAttributes() -> [NSAttributedString.Key: Any] { - return [ - NSAttributedString.Key.font: textView.getFont(), - NSAttributedString.Key.strokeColor: NSColor.white, - NSAttributedString.Key.strokeWidth: -1.5, - NSAttributedString.Key.foregroundColor: NSColor.color(from: textColor), - ] - } - - @objc func switchViewValudChanged(sender: CustomSwitch) { - let attributes = sender.isOn ? defaultOutlineAttributes() : defaultAttributes() - textView.typingAttributes = attributes - textView.textStorage?.setAttributes( - attributes, - range: NSRange(location: 0, length: textView.textStorage?.string.count ?? 0) - ) - textView.needsDisplay = true - } - - + + // MARK: - Mouse events open override func mouseEntered(with event: NSEvent) {