add iOS and macOS icons

This commit is contained in:
2019-09-23 18:06:20 +02:00
parent 3f28fd9229
commit cfdf428a9b
26 changed files with 173 additions and 38 deletions

View File

@@ -7,14 +7,13 @@
<key>CFBundleDocumentTypes</key> <key>CFBundleDocumentTypes</key>
<array> <array>
<dict> <dict>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>CFBundleTypeExtensions</key> <key>CFBundleTypeExtensions</key>
<array> <array>
<string>ppi</string> <string>ppi</string>
<string>PPI</string>
</array> </array>
<key>CFBundleTypeIconFile</key> <key>CFBundleTypeIconFile</key>
<string>pp-icon-square</string> <string>osx_ppi</string>
<key>CFBundleTypeIconFiles</key> <key>CFBundleTypeIconFiles</key>
<array/> <array/>
<key>CFBundleTypeMIMETypes</key> <key>CFBundleTypeMIMETypes</key>
@@ -23,6 +22,8 @@
<string>PanoPainter Image</string> <string>PanoPainter Image</string>
<key>CFBundleTypeRole</key> <key>CFBundleTypeRole</key>
<string>Editor</string> <string>Editor</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>LSIsAppleDefaultForType</key> <key>LSIsAppleDefaultForType</key>
<true/> <true/>
<key>LSItemContentTypes</key> <key>LSItemContentTypes</key>
@@ -34,22 +35,23 @@
<integer>0</integer> <integer>0</integer>
</dict> </dict>
<dict> <dict>
<key>LSHandlerRank</key>
<string>Alternate</string>
<key>CFBundleTypeExtensions</key> <key>CFBundleTypeExtensions</key>
<array> <array>
<string>abr</string> <string>abr</string>
<string>ABR</string>
</array> </array>
<key>CFBundleTypeIconFile</key> <key>CFBundleTypeIconFile</key>
<string></string> <string>osx_abr</string>
<key>CFBundleTypeIconFiles</key> <key>CFBundleTypeIconFiles</key>
<array/> <array/>
<key>CFBundleTypeMIMETypes</key> <key>CFBundleTypeMIMETypes</key>
<array/> <array/>
<key>CFBundleTypeName</key> <key>CFBundleTypeName</key>
<string>PanoPainter Brushes</string> <string>Photoshop Brush</string>
<key>CFBundleTypeRole</key> <key>CFBundleTypeRole</key>
<string>Viewer</string> <string>Viewer</string>
<key>LSHandlerRank</key>
<string>Alternate</string>
<key>LSIsAppleDefaultForType</key> <key>LSIsAppleDefaultForType</key>
<false/> <false/>
<key>LSItemContentTypes</key> <key>LSItemContentTypes</key>
@@ -59,6 +61,29 @@
<key>LSTypeIsPackage</key> <key>LSTypeIsPackage</key>
<integer>0</integer> <integer>0</integer>
</dict> </dict>
<dict>
<key>LSIsAppleDefaultForType</key>
<true/>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>CFBundleTypeExtensions</key>
<array>
<string>ppbr</string>
<string>PPBR</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>osx_ppbr</string>
<key>CFBundleTypeName</key>
<string>PanoPainter Brush</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSItemContentTypes</key>
<array>
<string>com.panopainter.ppbr</string>
</array>
<key>LSTypeIsPackage</key>
<integer>0</integer>
</dict>
</array> </array>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string> <string>$(EXECUTABLE_NAME)</string>
@@ -96,7 +121,7 @@
<key>UTTypeDescription</key> <key>UTTypeDescription</key>
<string>PanoPainter Image</string> <string>PanoPainter Image</string>
<key>UTTypeIconFile</key> <key>UTTypeIconFile</key>
<string>pp-icon-square</string> <string>osx_ppi</string>
<key>UTTypeIconFiles</key> <key>UTTypeIconFiles</key>
<array/> <array/>
<key>UTTypeIdentifier</key> <key>UTTypeIdentifier</key>
@@ -126,7 +151,7 @@
<key>UTTypeDescription</key> <key>UTTypeDescription</key>
<string>PanoPainter Brush</string> <string>PanoPainter Brush</string>
<key>UTTypeIconFile</key> <key>UTTypeIconFile</key>
<string>pp-icon-square</string> <string>osx_ppbr</string>
<key>UTTypeIconFiles</key> <key>UTTypeIconFiles</key>
<array/> <array/>
<key>UTTypeIdentifier</key> <key>UTTypeIdentifier</key>
@@ -155,7 +180,7 @@
<key>UTTypeDescription</key> <key>UTTypeDescription</key>
<string>Adobe Brush</string> <string>Adobe Brush</string>
<key>UTTypeIconFile</key> <key>UTTypeIconFile</key>
<string>pp-icon-square</string> <string>osx_abr</string>
<key>UTTypeIdentifier</key> <key>UTTypeIdentifier</key>
<string>com.panopainter.abr</string> <string>com.panopainter.abr</string>
<key>UTTypeTagSpecification</key> <key>UTTypeTagSpecification</key>

View File

@@ -102,6 +102,21 @@
AD3087C82061D1CD009F9260 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD3087C72061D1CD009F9260 /* CoreGraphics.framework */; }; AD3087C82061D1CD009F9260 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD3087C72061D1CD009F9260 /* CoreGraphics.framework */; };
AD30D82F1F783E0100B6A112 /* libcurl.4.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = AD30D82E1F783E0100B6A112 /* libcurl.4.tbd */; }; AD30D82F1F783E0100B6A112 /* libcurl.4.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = AD30D82E1F783E0100B6A112 /* libcurl.4.tbd */; };
AD30D8331F8049BD00B6A112 /* Photos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD30D8321F8049BC00B6A112 /* Photos.framework */; }; AD30D8331F8049BD00B6A112 /* Photos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD30D8321F8049BC00B6A112 /* Photos.framework */; };
AD31BB11233901DD006CA23A /* ios_ppi_320.png in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB0D233901DD006CA23A /* ios_ppi_320.png */; };
AD31BB12233901DD006CA23A /* ios_ppi_44x58.png in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB0E233901DD006CA23A /* ios_ppi_44x58.png */; };
AD31BB13233901DD006CA23A /* ios_ppi_22x29.png in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB0F233901DD006CA23A /* ios_ppi_22x29.png */; };
AD31BB14233901DD006CA23A /* ios_ppi_64.png in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB10233901DD006CA23A /* ios_ppi_64.png */; };
AD31BB19233902CC006CA23A /* ios_ppbr_22x29.png in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB15233902CB006CA23A /* ios_ppbr_22x29.png */; };
AD31BB1A233902CC006CA23A /* ios_ppbr_44x58.png in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB16233902CB006CA23A /* ios_ppbr_44x58.png */; };
AD31BB1B233902CC006CA23A /* ios_ppbr_64.png in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB17233902CB006CA23A /* ios_ppbr_64.png */; };
AD31BB1C233902CC006CA23A /* ios_ppbr_320.png in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB18233902CB006CA23A /* ios_ppbr_320.png */; };
AD31BB2123390775006CA23A /* ios_abr_320.png in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB1D23390774006CA23A /* ios_abr_320.png */; };
AD31BB2223390775006CA23A /* ios_abr_44x58.png in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB1E23390774006CA23A /* ios_abr_44x58.png */; };
AD31BB2323390775006CA23A /* ios_abr_64.png in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB1F23390774006CA23A /* ios_abr_64.png */; };
AD31BB2423390775006CA23A /* ios_abr_22x29.png in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB2023390774006CA23A /* ios_abr_22x29.png */; };
AD31BB2923390B60006CA23A /* osx_ppi.icns in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB2623390B60006CA23A /* osx_ppi.icns */; };
AD31BB2A23390B60006CA23A /* osx_ppbr.icns in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB2723390B60006CA23A /* osx_ppbr.icns */; };
AD31BB2B23390B60006CA23A /* osx_abr.icns in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB2823390B60006CA23A /* osx_abr.icns */; };
AD43268121599A5B006DE7F6 /* node_usermanual.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD43268021599A5B006DE7F6 /* node_usermanual.cpp */; }; AD43268121599A5B006DE7F6 /* node_usermanual.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD43268021599A5B006DE7F6 /* node_usermanual.cpp */; };
AD43268221599A5B006DE7F6 /* node_usermanual.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD43268021599A5B006DE7F6 /* node_usermanual.cpp */; }; AD43268221599A5B006DE7F6 /* node_usermanual.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD43268021599A5B006DE7F6 /* node_usermanual.cpp */; };
AD439B602210F423006EAE8E /* format.cc in Sources */ = {isa = PBXBuildFile; fileRef = AD439B5F2210F421006EAE8E /* format.cc */; }; AD439B602210F423006EAE8E /* format.cc in Sources */ = {isa = PBXBuildFile; fileRef = AD439B5F2210F421006EAE8E /* format.cc */; };
@@ -372,6 +387,21 @@
AD3087C72061D1CD009F9260 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.1.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; }; AD3087C72061D1CD009F9260 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.1.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; };
AD30D82E1F783E0100B6A112 /* libcurl.4.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libcurl.4.tbd; path = usr/lib/libcurl.4.tbd; sourceTree = SDKROOT; }; AD30D82E1F783E0100B6A112 /* libcurl.4.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libcurl.4.tbd; path = usr/lib/libcurl.4.tbd; sourceTree = SDKROOT; };
AD30D8321F8049BC00B6A112 /* Photos.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Photos.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Photos.framework; sourceTree = DEVELOPER_DIR; }; AD30D8321F8049BC00B6A112 /* Photos.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Photos.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Photos.framework; sourceTree = DEVELOPER_DIR; };
AD31BB0D233901DD006CA23A /* ios_ppi_320.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ios_ppi_320.png; path = extra/icons/ios_ppi_320.png; sourceTree = SOURCE_ROOT; };
AD31BB0E233901DD006CA23A /* ios_ppi_44x58.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ios_ppi_44x58.png; path = extra/icons/ios_ppi_44x58.png; sourceTree = SOURCE_ROOT; };
AD31BB0F233901DD006CA23A /* ios_ppi_22x29.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ios_ppi_22x29.png; path = extra/icons/ios_ppi_22x29.png; sourceTree = SOURCE_ROOT; };
AD31BB10233901DD006CA23A /* ios_ppi_64.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ios_ppi_64.png; path = extra/icons/ios_ppi_64.png; sourceTree = SOURCE_ROOT; };
AD31BB15233902CB006CA23A /* ios_ppbr_22x29.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ios_ppbr_22x29.png; path = extra/icons/ios_ppbr_22x29.png; sourceTree = SOURCE_ROOT; };
AD31BB16233902CB006CA23A /* ios_ppbr_44x58.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ios_ppbr_44x58.png; path = extra/icons/ios_ppbr_44x58.png; sourceTree = SOURCE_ROOT; };
AD31BB17233902CB006CA23A /* ios_ppbr_64.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ios_ppbr_64.png; path = extra/icons/ios_ppbr_64.png; sourceTree = SOURCE_ROOT; };
AD31BB18233902CB006CA23A /* ios_ppbr_320.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ios_ppbr_320.png; path = extra/icons/ios_ppbr_320.png; sourceTree = SOURCE_ROOT; };
AD31BB1D23390774006CA23A /* ios_abr_320.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ios_abr_320.png; path = extra/icons/ios_abr_320.png; sourceTree = SOURCE_ROOT; };
AD31BB1E23390774006CA23A /* ios_abr_44x58.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ios_abr_44x58.png; path = extra/icons/ios_abr_44x58.png; sourceTree = SOURCE_ROOT; };
AD31BB1F23390774006CA23A /* ios_abr_64.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ios_abr_64.png; path = extra/icons/ios_abr_64.png; sourceTree = SOURCE_ROOT; };
AD31BB2023390774006CA23A /* ios_abr_22x29.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ios_abr_22x29.png; path = extra/icons/ios_abr_22x29.png; sourceTree = SOURCE_ROOT; };
AD31BB2623390B60006CA23A /* osx_ppi.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = osx_ppi.icns; path = extra/icons/osx_ppi.icns; sourceTree = SOURCE_ROOT; };
AD31BB2723390B60006CA23A /* osx_ppbr.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = osx_ppbr.icns; path = extra/icons/osx_ppbr.icns; sourceTree = SOURCE_ROOT; };
AD31BB2823390B60006CA23A /* osx_abr.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = osx_abr.icns; path = extra/icons/osx_abr.icns; sourceTree = SOURCE_ROOT; };
AD3B1EBE1E3B8B7600E918E3 /* layout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = layout.cpp; sourceTree = "<group>"; }; AD3B1EBE1E3B8B7600E918E3 /* layout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = layout.cpp; sourceTree = "<group>"; };
AD3B1EBF1E3B8B7600E918E3 /* layout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = layout.h; sourceTree = "<group>"; }; AD3B1EBF1E3B8B7600E918E3 /* layout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = layout.h; sourceTree = "<group>"; };
AD43267F21599A5B006DE7F6 /* node_usermanual.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = node_usermanual.h; sourceTree = "<group>"; }; AD43267F21599A5B006DE7F6 /* node_usermanual.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = node_usermanual.h; sourceTree = "<group>"; };
@@ -671,6 +701,7 @@
AD0E5C9D1ECC6F2B00C35669 /* PanoPainter-OSX */ = { AD0E5C9D1ECC6F2B00C35669 /* PanoPainter-OSX */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
AD31BB2523390B3F006CA23A /* icons */,
AD432683215A2B31006DE7F6 /* PanoPainter.entitlements */, AD432683215A2B31006DE7F6 /* PanoPainter.entitlements */,
AD0E5CA41ECC6F2B00C35669 /* Assets.xcassets */, AD0E5CA41ECC6F2B00C35669 /* Assets.xcassets */,
AD0E5CA61ECC6F2B00C35669 /* MainMenu.xib */, AD0E5CA61ECC6F2B00C35669 /* MainMenu.xib */,
@@ -790,6 +821,35 @@
path = scripts; path = scripts;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
AD31BB0C233900F2006CA23A /* icons */ = {
isa = PBXGroup;
children = (
AD31BB0F233901DD006CA23A /* ios_ppi_22x29.png */,
AD31BB0E233901DD006CA23A /* ios_ppi_44x58.png */,
AD31BB10233901DD006CA23A /* ios_ppi_64.png */,
AD31BB0D233901DD006CA23A /* ios_ppi_320.png */,
AD31BB15233902CB006CA23A /* ios_ppbr_22x29.png */,
AD31BB16233902CB006CA23A /* ios_ppbr_44x58.png */,
AD31BB17233902CB006CA23A /* ios_ppbr_64.png */,
AD31BB18233902CB006CA23A /* ios_ppbr_320.png */,
AD31BB2023390774006CA23A /* ios_abr_22x29.png */,
AD31BB1E23390774006CA23A /* ios_abr_44x58.png */,
AD31BB1F23390774006CA23A /* ios_abr_64.png */,
AD31BB1D23390774006CA23A /* ios_abr_320.png */,
);
name = icons;
sourceTree = "<group>";
};
AD31BB2523390B3F006CA23A /* icons */ = {
isa = PBXGroup;
children = (
AD31BB2823390B60006CA23A /* osx_abr.icns */,
AD31BB2723390B60006CA23A /* osx_ppbr.icns */,
AD31BB2623390B60006CA23A /* osx_ppi.icns */,
);
name = icons;
sourceTree = "<group>";
};
AD58E0461E107411006ACC15 = { AD58E0461E107411006ACC15 = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@@ -1002,6 +1062,7 @@
ADD7D26C1EBF9AE300D5A897 /* PanoPainter */ = { ADD7D26C1EBF9AE300D5A897 /* PanoPainter */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
AD31BB0C233900F2006CA23A /* icons */,
ADD7D2701EBF9AE300D5A897 /* AppDelegate.h */, ADD7D2701EBF9AE300D5A897 /* AppDelegate.h */,
ADD7D2711EBF9AE300D5A897 /* AppDelegate.m */, ADD7D2711EBF9AE300D5A897 /* AppDelegate.m */,
ADD7D2771EBF9AE300D5A897 /* GameViewController.h */, ADD7D2771EBF9AE300D5A897 /* GameViewController.h */,
@@ -1231,7 +1292,10 @@
AD0E5CE41ECC76BA00C35669 /* data in Resources */, AD0E5CE41ECC76BA00C35669 /* data in Resources */,
ADF396DF216FA6C900024722 /* pp-icon-square.png in Resources */, ADF396DF216FA6C900024722 /* pp-icon-square.png in Resources */,
AD0E5CA51ECC6F2B00C35669 /* Assets.xcassets in Resources */, AD0E5CA51ECC6F2B00C35669 /* Assets.xcassets in Resources */,
AD31BB2B23390B60006CA23A /* osx_abr.icns in Resources */,
AD31BB2A23390B60006CA23A /* osx_ppbr.icns in Resources */,
AD0E5CA81ECC6F2B00C35669 /* MainMenu.xib in Resources */, AD0E5CA81ECC6F2B00C35669 /* MainMenu.xib in Resources */,
AD31BB2923390B60006CA23A /* osx_ppi.icns in Resources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@@ -1254,10 +1318,22 @@
isa = PBXResourcesBuildPhase; isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
AD31BB1B233902CC006CA23A /* ios_ppbr_64.png in Resources */,
AD5016591EBFC7F00079A826 /* data in Resources */, AD5016591EBFC7F00079A826 /* data in Resources */,
AD31BB12233901DD006CA23A /* ios_ppi_44x58.png in Resources */,
ADD7D27C1EBF9AE300D5A897 /* Main.storyboard in Resources */, ADD7D27C1EBF9AE300D5A897 /* Main.storyboard in Resources */,
AD31BB13233901DD006CA23A /* ios_ppi_22x29.png in Resources */,
AD31BB2223390775006CA23A /* ios_abr_44x58.png in Resources */,
AD31BB11233901DD006CA23A /* ios_ppi_320.png in Resources */,
AD31BB1A233902CC006CA23A /* ios_ppbr_44x58.png in Resources */,
AD31BB14233901DD006CA23A /* ios_ppi_64.png in Resources */,
AD31BB2423390775006CA23A /* ios_abr_22x29.png in Resources */,
ADD7D27E1EBF9AE300D5A897 /* Assets.xcassets in Resources */, ADD7D27E1EBF9AE300D5A897 /* Assets.xcassets in Resources */,
AD31BB2323390775006CA23A /* ios_abr_64.png in Resources */,
AD31BB1C233902CC006CA23A /* ios_ppbr_320.png in Resources */,
ADD7D2811EBF9AE300D5A897 /* LaunchScreen.storyboard in Resources */, ADD7D2811EBF9AE300D5A897 /* LaunchScreen.storyboard in Resources */,
AD31BB19233902CC006CA23A /* ios_ppbr_22x29.png in Resources */,
AD31BB2123390775006CA23A /* ios_abr_320.png in Resources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };

View File

@@ -9,12 +9,17 @@
<key>CFBundleDocumentTypes</key> <key>CFBundleDocumentTypes</key>
<array> <array>
<dict> <dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleTypeIconFiles</key> <key>CFBundleTypeIconFiles</key>
<array/> <array>
<string>ios_ppi_22x29.png</string>
<string>ios_ppi_44x58.png</string>
<string>ios_ppi_64.png</string>
<string>ios_ppi_320.png</string>
</array>
<key>CFBundleTypeName</key> <key>CFBundleTypeName</key>
<string>PanoPainter Image</string> <string>PanoPainter Image</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSHandlerRank</key> <key>LSHandlerRank</key>
<string>Owner</string> <string>Owner</string>
<key>LSItemContentTypes</key> <key>LSItemContentTypes</key>
@@ -23,12 +28,17 @@
</array> </array>
</dict> </dict>
<dict> <dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleTypeIconFiles</key> <key>CFBundleTypeIconFiles</key>
<array/> <array>
<string>ios_ppbr_22x29.png</string>
<string>ios_ppbr_44x58.png</string>
<string>ios_ppbr_64.png</string>
<string>ios_ppbr_320.png</string>
</array>
<key>CFBundleTypeName</key> <key>CFBundleTypeName</key>
<string>PanoPainter Brush</string> <string>PanoPainter Brush</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSHandlerRank</key> <key>LSHandlerRank</key>
<string>Owner</string> <string>Owner</string>
<key>LSItemContentTypes</key> <key>LSItemContentTypes</key>
@@ -37,14 +47,19 @@
</array> </array>
</dict> </dict>
<dict> <dict>
<key>CFBundleTypeIconFiles</key>
<array>
<string>ios_abr_22x29.png</string>
<string>ios_abr_44x58.png</string>
<string>ios_abr_64.png</string>
<string>ios_abr_320.png</string>
</array>
<key>CFBundleTypeName</key>
<string>Photoshop Brush</string>
<key>CFBundleTypeRole</key> <key>CFBundleTypeRole</key>
<string>Editor</string> <string>Editor</string>
<key>CFBundleTypeIconFiles</key>
<array/>
<key>CFBundleTypeName</key>
<string>ABR</string>
<key>LSHandlerRank</key> <key>LSHandlerRank</key>
<string>Alternate</string> <string>Default</string>
<key>LSItemContentTypes</key> <key>LSItemContentTypes</key>
<array> <array>
<string>com.panopainter.abr</string> <string>com.panopainter.abr</string>
@@ -111,7 +126,12 @@
<key>UTTypeDescription</key> <key>UTTypeDescription</key>
<string>PanoPainter Image</string> <string>PanoPainter Image</string>
<key>UTTypeIconFiles</key> <key>UTTypeIconFiles</key>
<array/> <array>
<string>ios_ppi_22x29.png</string>
<string>ios_ppi_44x58.png</string>
<string>ios_ppi_64.png</string>
<string>ios_ppi_320.png</string>
</array>
<key>UTTypeIdentifier</key> <key>UTTypeIdentifier</key>
<string>com.panopainter.image</string> <string>com.panopainter.image</string>
<key>UTTypeTagSpecification</key> <key>UTTypeTagSpecification</key>
@@ -134,7 +154,12 @@
<key>UTTypeDescription</key> <key>UTTypeDescription</key>
<string>PanoPainter Image</string> <string>PanoPainter Image</string>
<key>UTTypeIconFiles</key> <key>UTTypeIconFiles</key>
<array/> <array>
<string>ios_ppbr_22x29.png</string>
<string>ios_ppbr_44x58.png</string>
<string>ios_ppbr_64.png</string>
<string>ios_ppbr_320.png</string>
</array>
<key>UTTypeIdentifier</key> <key>UTTypeIdentifier</key>
<string>com.panopainter.ppbr</string> <string>com.panopainter.ppbr</string>
<key>UTTypeTagSpecification</key> <key>UTTypeTagSpecification</key>
@@ -156,9 +181,14 @@
<string>public.content</string> <string>public.content</string>
</array> </array>
<key>UTTypeDescription</key> <key>UTTypeDescription</key>
<string>Adobe Brush</string> <string>Photoshop Brush</string>
<key>UTTypeIconFiles</key> <key>UTTypeIconFiles</key>
<array/> <array>
<string>ios_abr_22x29.png</string>
<string>ios_abr_44x58.png</string>
<string>ios_abr_64.png</string>
<string>ios_abr_320.png</string>
</array>
<key>UTTypeIdentifier</key> <key>UTTypeIdentifier</key>
<string>com.panopainter.abr</string> <string>com.panopainter.abr</string>
<key>UTTypeTagSpecification</key> <key>UTTypeTagSpecification</key>

BIN
extra/icons/abr_1024.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

BIN
extra/icons/icons.psd Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
extra/icons/ios_abr_320.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
extra/icons/ios_abr_64.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
extra/icons/ios_ppbr_64.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
extra/icons/ios_ppi_320.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
extra/icons/ios_ppi_64.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
extra/icons/osx_abr.icns Normal file

Binary file not shown.

BIN
extra/icons/osx_ppbr.icns Normal file

Binary file not shown.

BIN
extra/icons/osx_ppi.icns Normal file

Binary file not shown.

BIN
extra/icons/ppbr_1024.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

BIN
extra/icons/ppi_1024.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

View File

@@ -53,9 +53,11 @@ void App::open_document(std::string path)
std::smatch m; std::smatch m;
if (!std::regex_search(path, m, r)) if (!std::regex_search(path, m, r))
return; return;
std::string base = m[1].str();
std::string name = m[2].str();
std::string ext = m[3].str(); std::string ext = m[3].str();
if (str_iequals(m[3].str(), "abr")) if (str_iequals(ext, "abr"))
{ {
auto mb = message_box("Import ABR", "Would you like to import the brushes?", true); auto mb = message_box("Import ABR", "Would you like to import the brushes?", true);
mb->on_submit = [this, path] (Node* target) { mb->on_submit = [this, path] (Node* target) {
@@ -63,7 +65,7 @@ void App::open_document(std::string path)
target->destroy(); target->destroy();
}; };
} }
else if (str_iequals(m[3].str(), "ppbr")) else if (str_iequals(ext, "ppbr"))
{ {
auto mb = message_box("Import PPBR", "Would you like to import the brushes?", true); auto mb = message_box("Import PPBR", "Would you like to import the brushes?", true);
mb->on_submit = [this, path] (Node* target) { mb->on_submit = [this, path] (Node* target) {
@@ -73,9 +75,9 @@ void App::open_document(std::string path)
} }
else else
{ {
auto open_action = [this, path, m] { auto open_action = [this, path, base, name] {
doc_name = m[2].str(); doc_name = name;
doc_dir = m[1].str(); doc_dir = base;
doc_path = path; doc_path = path;
canvas->reset_camera(); canvas->reset_camera();
layers->clear(); layers->clear();

View File

@@ -33,8 +33,11 @@ bool Asset::exist(std::string path)
} }
else else
{ {
std::ifstream f(path, std::ios::binary); FILE* fp = fopen(path.c_str(), "rb");
return f.is_open(); if (!fp)
return false;
fclose(fp);
return true;
} }
return false; // useless return for the stupid xcode return false; // useless return for the stupid xcode
} }

View File

@@ -19,7 +19,10 @@ void NodeMessageBox::init()
m_title = m_template->find<NodeText>("title"); m_title = m_template->find<NodeText>("title");
m_message = m_template->find<NodeText>("message"); m_message = m_template->find<NodeText>("message");
btn_ok = m_template->find<NodeButton>("btn-ok"); btn_ok = m_template->find<NodeButton>("btn-ok");
btn_ok->on_click = [&](Node*) { destroy(); }; btn_ok->on_click = [&](Node*) {
if (on_submit)
on_submit(this);
};
btn_cancel = m_template->find<NodeButton>("btn-cancel"); btn_cancel = m_template->find<NodeButton>("btn-cancel");
on_submit = btn_cancel->on_click = [&](Node*) { destroy(); }; on_submit = btn_cancel->on_click = [&](Node*) { destroy(); };
m_capture_children = false; // don't capture children events on mouse_capture m_capture_children = false; // don't capture children events on mouse_capture

View File

@@ -940,17 +940,13 @@ bool NodePanelBrushPreset::import_ppbr(const std::string& path)
return false; return false;
} }
bool NodePanelBrushPreset::import_abr(const std::string& path_in) bool NodePanelBrushPreset::import_abr(const std::string& path)
{ {
BT_SetTerminate(); BT_SetTerminate();
ABR abr; ABR abr;
LOG("ABR detected"); LOG("ABR detected");
std::string path = path_in;
if (path_in.find(".abr") == std::string::npos)
path += ".abr";
std::string name, base, ext; std::string name, base, ext;
std::regex r(R"((.*)[\\/]([^\\/]+)\.(\w+)$)"); std::regex r(R"((.*)[\\/]([^\\/]+)\.(\w+)$)");
std::smatch m; std::smatch m;