changeset 2446:b9d373d1ccf5

Add support for checking the application data directory for the images. Copy the images into the Mac application bundle so they can be found. Add iOS #ifdefs so it has font and file locations that can be found. Not entirely happy with the #ifdefs in the test program, may revisit.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Fri, 09 Apr 2021 19:10:30 +0000
parents a773008c7c5d
children 8723c01fb87e
files dwtest.c mac/finishup.sh
diffstat 2 files changed, 49 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/dwtest.c	Fri Apr 09 11:05:51 2021 +0000
+++ b/dwtest.c	Fri Apr 09 19:10:30 2021 +0000
@@ -25,6 +25,10 @@
 #define FIXEDFONT "9.Monaco"
 #define FOLDER_ICON_NAME "mac/folder"
 #define FILE_ICON_NAME "mac/file"
+#elif defined(__IOS__)
+#define FIXEDFONT "9.Monaco"
+#define FOLDER_ICON_NAME "folder"
+#define FILE_ICON_NAME "file"
 #elif GTK_MAJOR_VERSION > 1
 #define FIXEDFONT "10.monospace"
 #define FOLDER_ICON_NAME "gtk/folder"
@@ -1140,6 +1144,23 @@
     image = dw_pixmap_new_from_file(textbox2, "image/test");
     if(!image)
         image = dw_pixmap_new_from_file(textbox2, "~/test");
+    if(!image)
+    {
+        char *appdir = dw_app_dir();
+        char pathbuff[1025] = {0};
+        int pos = (int)strlen(appdir);
+        
+        strncpy(pathbuff, appdir, 1024);
+#if defined(__OS2__) || defined(__WIN32__)
+        pathbuff[pos] = '\\';
+#else
+        pathbuff[pos] = '/';
+#endif
+        pos++;
+        strncpy(&pathbuff[pos], "test", 1024-pos);
+        image = dw_pixmap_new_from_file(textbox2, pathbuff);
+        dw_debug("PathBuff: %s\n", pathbuff);
+    }
     if(image)
         dw_pixmap_set_transparent_color(image, DW_CLR_WHITE);
 
@@ -2121,8 +2142,29 @@
     notebookbox = dw_box_new( DW_VERT, 5 );
     dw_box_pack_start( mainwindow, notebookbox, 0, 0, TRUE, TRUE, 0);
 
-    foldericon = dw_icon_load_from_file( FOLDER_ICON_NAME );
-    fileicon = dw_icon_load_from_file( FILE_ICON_NAME  );
+    foldericon = dw_icon_load_from_file(FOLDER_ICON_NAME);
+    fileicon = dw_icon_load_from_file(FILE_ICON_NAME);
+    
+    if(!foldericon && !fileicon)
+    {
+        char *appdir = dw_app_dir();
+        char pathbuff[1025] = {0};
+        int pos = (int)strlen(appdir);
+
+        strncpy(pathbuff, appdir, 1024);
+#if defined(__OS2__) || defined(__WIN32__)
+        pathbuff[pos] = '\\';
+#else
+        pathbuff[pos] = '/';
+#endif
+        pos++;
+        strncpy(&pathbuff[pos], FOLDER_ICON_NAME, 1024-pos);
+        foldericon = dw_icon_load_from_file(pathbuff);
+        dw_debug("PathBuff: %s\n", pathbuff);
+        strncpy(&pathbuff[pos], FILE_ICON_NAME, 1024-pos);
+        fileicon = dw_icon_load_from_file(pathbuff);
+        dw_debug("PathBuff: %s\n", pathbuff);
+    }
 
     notebook = dw_notebook_new( 1, TRUE );
     dw_box_pack_start( notebookbox, notebook, 100, 100, TRUE, TRUE, 0);
--- a/mac/finishup.sh	Fri Apr 09 11:05:51 2021 +0000
+++ b/mac/finishup.sh	Fri Apr 09 19:10:30 2021 +0000
@@ -5,9 +5,13 @@
 then
     mkdir -p dwtest.app/Contents/MacOS
     mkdir -p dwtest.app/Contents/Resources
+    mkdir -p dwtest.app/Contents/Resources/mac
 
     cp -f $1/mac/Info.plist dwtest.app/Contents
-    cp -f $1/mac/PkgInfo dwtest.app/Contents
+    cp -f $1/mac/PkgInfo dwtest.app/Contents 
+    cp -f $1/mac/file.png dwtest.app/Contents/Resources/mac
+    cp -f $1/mac/folder.png dwtest.app/Contents/Resources/mac
+    cp -f $1/image/test.png dwtest.app/Contents/Resources
     cp -f dwtest dwtest.app/Contents/MacOS
     # Check if there is a certificate to sign with...
     if [ ! -f mac/key.crt ]; then