git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@345 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
NishiOwO
2025-10-15 18:55:41 +00:00
parent f71ab6184b
commit 39c09b1fb7
11 changed files with 292 additions and 264 deletions

View File

@@ -38,6 +38,14 @@ enum MwALIGNMENT {
*/
#define MwDEFAULT 0x0fffffff
/*!
* %brief Directory entry type
*/
enum {
MwDIRECTORY_FILE = 0,
MwDIRECTORY_DIRECTORY
};
/*!
* %brief Icon mask
*/

View File

@@ -42,7 +42,6 @@ MWDECL char* MwIconQuestion[];
*/
MWDECL char* MwIconWarning[];
#ifdef __cplusplus
}
#endif

View File

@@ -23,6 +23,7 @@
#include <dlfcn.h>
#include <signal.h>
#include <dirent.h>
#include <sys/stat.h>
#endif
#ifndef M_PI

View File

@@ -138,8 +138,8 @@ struct _MwSizeHints {
};
struct _MwDirectoryEntry {
char* name;
unsigned long attribute;
char* name;
int type;
};
#define MwCursorDataHeight 16

View File

@@ -13,7 +13,8 @@ typedef struct dir {
} dir_t;
#else
typedef struct dir {
DIR* dir;
DIR* dir;
char* base;
} dir_t;
#endif
@@ -35,6 +36,8 @@ void* MwDirectoryOpen(const char* path) {
free(dir);
return NULL;
}
dir->base = malloc(strlen(path) + 1);
strcpy(dir->base, path);
#endif
return dir;
@@ -46,6 +49,7 @@ void MwDirectoryClose(void* handle) {
FindClose(dir->hFind);
#else
closedir(dir->dir);
free(dir->base);
#endif
free(handle);
}
@@ -62,14 +66,36 @@ MwDirectoryEntry* MwDirectoryRead(void* handle) {
}
entry->name = malloc(strlen(dir->ffd.cFileName) + 1);
strcpy(entry->name, dir->ffd.cFileName);
if(dir->ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
entry->type = MwDIRECTORY_DIRECTORY;
} else {
entry->type = MwDIRECTORY_FILE;
}
#else
struct dirent* d;
struct stat s;
char* p;
if((d = readdir(dir->dir)) == NULL) {
free(entry);
return NULL;
}
entry->name = malloc(strlen(d->d_name) + 1);
strcpy(entry->name, d->d_name);
p = malloc(strlen(dir->base) + 1 + strlen(d->d_name) + 1);
strcpy(p, dir->base);
strcat(p, "/");
strcat(p, d->d_name);
stat(p, &s);
if(S_ISDIR(s.st_mode)) {
entry->type = MwDIRECTORY_DIRECTORY;
} else {
entry->type = MwDIRECTORY_FILE;
}
free(p);
#endif
return entry;

View File

@@ -2,48 +2,47 @@
#include <Mw/Milsko.h>
/* XPM */
char *MwIconError[] = {
/* columns rows colors chars-per-pixel */
"32 32 8 1 ",
" c None",
". c black",
"X c white",
"o c gray",
"O c gainsboro",
"+ c lavender",
"@ c DarkSlateGray",
"# c SlateGray",
/* pixels */
" ... ... ",
" .Xo. .XX. ",
"..XXo. .XXX..",
".XXoo. .XXOo.",
".XXooo. ......... .XOooo.",
" ...Xoo...O+++++++o.. .Xoo...@",
" .Xo.#O++XXXXX++Oo. .Xoo.@@@@",
" ..#OO+XXXXXX+OOOo.#oo.@@ ",
" .OOO+XXXXX++OOOo.@#.@@ ",
" .#OOO+XXXX++OOOoo#..@@ ",
" .#OOO+XX+++OOOOoo#.@@ ",
" .#ooo+++++OOOOo###.@@@ ",
" .ooXXXXX+OOO++++##.@@@ ",
" .oXXOOOOOOO++OOoo#.@@@ ",
" .oo...OOOOO...oo..@@@ ",
" .o.....ooo.....o.@@@@ ",
" .X.....ooo...@#o.@@@ ",
" .oX@@@@.Xoo.@##@oo.@@ ",
" .OXo@@.Xo.oX.@@oXo.@@@ ",
" .OOXXXXo...oXXXOoo.@@@ ",
" ..oOOXo.o.oOOOo..@.@@ ",
" ..oOOo.o.oOOo..@##.@ ",
" ..o.oXXXXXOOo.o..###. ",
" .oo.o.@oXXo...o.@@.#oX... ",
" .XXo.X@o....@o.o.@@@.ooXXX. ",
" ...XXo..X@X@o@o@X.o.@@@ .oXoo. ",
".XXXoo.@@.X.@X@X@.o.@@@@ .Xoo..@",
".XXXo.@@@.X.@o@o@.o.@@@ .oo.@@@",
"..ooo.@@ .X.....o.@@@@ ...@@ ",
" .oo.@ .XXXXooo.@@@ @@@ ",
" ...@@ .ooooo.@@@ ",
" @@@@ .....@@ "
};
char* MwIconError[] = {
/* columns rows colors chars-per-pixel */
"32 32 8 1 ",
" c None",
". c black",
"X c white",
"o c gray",
"O c gainsboro",
"+ c lavender",
"@ c DarkSlateGray",
"# c SlateGray",
/* pixels */
" ... ... ",
" .Xo. .XX. ",
"..XXo. .XXX..",
".XXoo. .XXOo.",
".XXooo. ......... .XOooo.",
" ...Xoo...O+++++++o.. .Xoo...@",
" .Xo.#O++XXXXX++Oo. .Xoo.@@@@",
" ..#OO+XXXXXX+OOOo.#oo.@@ ",
" .OOO+XXXXX++OOOo.@#.@@ ",
" .#OOO+XXXX++OOOoo#..@@ ",
" .#OOO+XX+++OOOOoo#.@@ ",
" .#ooo+++++OOOOo###.@@@ ",
" .ooXXXXX+OOO++++##.@@@ ",
" .oXXOOOOOOO++OOoo#.@@@ ",
" .oo...OOOOO...oo..@@@ ",
" .o.....ooo.....o.@@@@ ",
" .X.....ooo...@#o.@@@ ",
" .oX@@@@.Xoo.@##@oo.@@ ",
" .OXo@@.Xo.oX.@@oXo.@@@ ",
" .OOXXXXo...oXXXOoo.@@@ ",
" ..oOOXo.o.oOOOo..@.@@ ",
" ..oOOo.o.oOOo..@##.@ ",
" ..o.oXXXXXOOo.o..###. ",
" .oo.o.@oXXo...o.@@.#oX... ",
" .XXo.X@o....@o.o.@@@.ooXXX. ",
" ...XXo..X@X@o@o@X.o.@@@ .oXoo. ",
".XXXoo.@@.X.@X@X@.o.@@@@ .Xoo..@",
".XXXo.@@@.X.@o@o@.o.@@@ .oo.@@@",
"..ooo.@@ .X.....o.@@@@ ...@@ ",
" .oo.@ .XXXXooo.@@@ @@@ ",
" ...@@ .ooooo.@@@ ",
" @@@@ .....@@ "};

View File

@@ -2,44 +2,43 @@
#include <Mw/Milsko.h>
/* XPM */
char *MwIconInfo[] = {
/* columns rows colors chars-per-pixel */
"32 32 4 1 ",
" c None",
". c blue",
"X c DarkSlateGray",
"o c #6632F7",
/* pixels */
" ",
" ",
" ",
" ",
" ",
" ..... ",
" ....... ",
" .....XX ",
" XXXXX ",
" ",
" ",
" ...... ",
" .......XX ",
" ..........XX ",
" XXX.....XX ",
" .....XX ",
" .....XX ",
" .....XX ",
" .....XX ",
" .....XX ",
" .....XX ",
" ....XX ",
" ....XX ",
" ....XX . ",
" ....X ...XX ",
" .......XXX ",
" XXXXXXX ",
" ",
" ",
" ",
" ",
" "
};
char* MwIconInfo[] = {
/* columns rows colors chars-per-pixel */
"32 32 4 1 ",
" c None",
". c blue",
"X c DarkSlateGray",
"o c #6632F7",
/* pixels */
" ",
" ",
" ",
" ",
" ",
" ..... ",
" ....... ",
" .....XX ",
" XXXXX ",
" ",
" ",
" ...... ",
" .......XX ",
" ..........XX ",
" XXX.....XX ",
" .....XX ",
" .....XX ",
" .....XX ",
" .....XX ",
" .....XX ",
" .....XX ",
" ....XX ",
" ....XX ",
" ....XX . ",
" ....X ...XX ",
" .......XXX ",
" XXXXXXX ",
" ",
" ",
" ",
" ",
" "};

View File

@@ -2,46 +2,45 @@
#include <Mw/Milsko.h>
/* XPM */
char *MwIconNews[] = {
/* columns rows colors chars-per-pixel */
"32 32 6 1 ",
" c None",
". c black",
"X c white",
"o c SlateGray",
"O c gray",
"+ c #6632F7",
/* pixels */
" ",
" ",
" ",
" ... ",
" .XXX.. ",
" .XX.XXX.. ",
" .XX..X.XXX.. ",
" .XX.X..XX.oXX.. ",
" .XX.XX.XX.Xo.XXX.. ",
" .XOXXX.XX.O.XX.XXXX.. ",
" .XXo.oXXX.oXXX.XoXoXXX.. ",
" .XOXXXo.OXXO.X.Xo.X.X.oXX.. ",
" .XXo.oXXXO.oXXX...X.X.Xo.XXX.",
" .XOXXXo.OXXXo.oXXX..XXX.XXXX.O",
" .XXo.oXXXO.oXXXOX.XXX.oX.XXX.O.",
".oOXXXo.OXXXo.oXX.X..XXo.XXX.O.O",
".Xo.oXXXO.oXXXOX.OXXX..XXXX.O.O.",
".XXXo.OXXXo.oXX.OOOOXXX.XX.O.O.O",
".O.oXXO.oXXXOX.oooOOOO.XX.O.O.O.",
".oOO.oXXo.oXXX..ooooO.XX.O.O.O. ",
" ..oOOOoXXoOOXXX..oo.XX.O.O.O. ",
" ..oOO.oXXO.oXXX..XX.O.O.O. ",
" ..oOO.oXXo.oXXXX.O.O.O. ",
" ..oOXOoXXo.XX.O.O.O. ",
" ..oOo.oXXX.O.O.O. ",
" ..oOO.X.O.O.O. ",
" ..oOO.O..O. ",
" ..o.oOO. ",
" ..... ",
" ",
" ",
" "
};
char* MwIconNews[] = {
/* columns rows colors chars-per-pixel */
"32 32 6 1 ",
" c None",
". c black",
"X c white",
"o c SlateGray",
"O c gray",
"+ c #6632F7",
/* pixels */
" ",
" ",
" ",
" ... ",
" .XXX.. ",
" .XX.XXX.. ",
" .XX..X.XXX.. ",
" .XX.X..XX.oXX.. ",
" .XX.XX.XX.Xo.XXX.. ",
" .XOXXX.XX.O.XX.XXXX.. ",
" .XXo.oXXX.oXXX.XoXoXXX.. ",
" .XOXXXo.OXXO.X.Xo.X.X.oXX.. ",
" .XXo.oXXXO.oXXX...X.X.Xo.XXX.",
" .XOXXXo.OXXXo.oXXX..XXX.XXXX.O",
" .XXo.oXXXO.oXXXOX.XXX.oX.XXX.O.",
".oOXXXo.OXXXo.oXX.X..XXo.XXX.O.O",
".Xo.oXXXO.oXXXOX.OXXX..XXXX.O.O.",
".XXXo.OXXXo.oXX.OOOOXXX.XX.O.O.O",
".O.oXXO.oXXXOX.oooOOOO.XX.O.O.O.",
".oOO.oXXo.oXXX..ooooO.XX.O.O.O. ",
" ..oOOOoXXoOOXXX..oo.XX.O.O.O. ",
" ..oOO.oXXO.oXXX..XX.O.O.O. ",
" ..oOO.oXXo.oXXXX.O.O.O. ",
" ..oOXOoXXo.XX.O.O.O. ",
" ..oOo.oXXX.O.O.O. ",
" ..oOO.X.O.O.O. ",
" ..oOO.O..O. ",
" ..o.oOO. ",
" ..... ",
" ",
" ",
" "};

View File

@@ -2,48 +2,47 @@
#include <Mw/Milsko.h>
/* XPM */
char *MwIconNote[] = {
/* columns rows colors chars-per-pixel */
"32 32 8 1 ",
" c None",
". c black",
"X c red",
"o c magenta",
"O c white",
"+ c yellow",
"@ c gray",
"# c #6632F7",
/* pixels */
" ..... ",
" .XXXXX. ",
" .XXXXXXX. ",
" .XXXXXXo. ",
" .XooOOoX. .. ",
" .XXOOX. ..+O. ",
" ..... ..O+O+. ",
" ..XXX....+O+O+O+. ",
" .X.XXO.X.+O+O+O+O. ",
" .XX.XXo.Xo.+O+O+O+O. ",
" .XXX...XXo.O+O+O+O+. ",
" .XoXXXXXoX.+O+O+O+O+. ",
" ..XXooOOoXX.O+O+O+O+O. ",
"..@..XXXXXXX.O+O+O+O+O+O. ",
".@@@........O+O+O+O+O+O+. ",
" .@.@.@..O+O+O+O+O+@@O+O+. ",
" .@@.@.@.+O+O+O+O@@+O+O+O. ",
" .@@.@.@O+O+@+@@O+O+O+O+O. ",
" .@@@.@O+O+O@@+O@O+O@@+O+. ",
" .@O+O+O+@@O+O+O+@@O+O+O+. ",
" .@@O+O@@+@@O+O@@+O@O+O+O+. ",
" .@+O+O+O+O+@@O+O+O+O@@+O+...",
" .@@+O+O+@@@+O+O+O+@@O+O+O+O.",
" .@O+O@@+O+@+@+O@@+O+O+O+O. ",
" .@@O+O+O+O+O+@@O+@+O+O+O. ",
" .@+O+O+O+O@@+O+O+O+O+.. ",
" ..@+O+O+O+O+O+O+O+O.. ",
" ....O+O+O+O+O+O+.. ",
" .......+O+O+O.. ",
" ..+OO..+O+.. ",
" ...+..... ",
" ..... "
};
char* MwIconNote[] = {
/* columns rows colors chars-per-pixel */
"32 32 8 1 ",
" c None",
". c black",
"X c red",
"o c magenta",
"O c white",
"+ c yellow",
"@ c gray",
"# c #6632F7",
/* pixels */
" ..... ",
" .XXXXX. ",
" .XXXXXXX. ",
" .XXXXXXo. ",
" .XooOOoX. .. ",
" .XXOOX. ..+O. ",
" ..... ..O+O+. ",
" ..XXX....+O+O+O+. ",
" .X.XXO.X.+O+O+O+O. ",
" .XX.XXo.Xo.+O+O+O+O. ",
" .XXX...XXo.O+O+O+O+. ",
" .XoXXXXXoX.+O+O+O+O+. ",
" ..XXooOOoXX.O+O+O+O+O. ",
"..@..XXXXXXX.O+O+O+O+O+O. ",
".@@@........O+O+O+O+O+O+. ",
" .@.@.@..O+O+O+O+O+@@O+O+. ",
" .@@.@.@.+O+O+O+O@@+O+O+O. ",
" .@@.@.@O+O+@+@@O+O+O+O+O. ",
" .@@@.@O+O+O@@+O@O+O@@+O+. ",
" .@O+O+O+@@O+O+O+@@O+O+O+. ",
" .@@O+O@@+@@O+O@@+O@O+O+O+. ",
" .@+O+O+O+O+@@O+O+O+O@@+O+...",
" .@@+O+O+@@@+O+O+O+@@O+O+O+O.",
" .@O+O@@+O+@+@+O@@+O+O+O+O. ",
" .@@O+O+O+O+O+@@O+@+O+O+O. ",
" .@+O+O+O+O@@+O+O+O+O+.. ",
" ..@+O+O+O+O+O+O+O+O.. ",
" ....O+O+O+O+O+O+.. ",
" .......+O+O+O.. ",
" ..+OO..+O+.. ",
" ...+..... ",
" ..... "};

View File

@@ -2,46 +2,45 @@
#include <Mw/Milsko.h>
/* XPM */
char *MwIconQuestion[] = {
/* columns rows colors chars-per-pixel */
"32 32 6 1 ",
" c None",
". c orange",
"X c red",
"o c firebrick",
"O c SlateGray",
"+ c lavender",
/* pixels */
" ",
" ........... ",
" ..XXXXXXXXXXXXX ",
" .XXXXXoooooooooXXO ",
" .XXXXoooooooooooooXO ",
" .XXXXooooXXXXoooooooXO ",
" .XXXXooooOOO XXooooooooO ",
" .XXXXooooOOO XXoooooooOO ",
" .XXXoooooOO .XXooooooOO ",
" .XXXooooooO .XXooooooOO ",
" XXXooooooOO .XXooooooOO ",
" XXooooooOO .XXXooooooOO ",
" XXooooOOO .XXooooooOOO ",
" XXooOOO .XXooooooOOO ",
" OOOOO .XXooooooOOOO ",
" OOO .XXooooooOOOO ",
" .XXoooooOOOOO ",
" .XXoooooOOOO ",
" .XXoooooOOOO ",
" .XXooooOOOO ",
" XXoooOOOO ",
" XXoOOOO ",
" OOOOO ",
" .XXooO ",
" .X.XXoo ",
" .X.X.XXoo ",
" .XX.XXXooO ",
" XXXXXXooOO ",
" XXXXooOOO ",
" XoooOOOO ",
" OOOOOO ",
" OOOO "
};
char* MwIconQuestion[] = {
/* columns rows colors chars-per-pixel */
"32 32 6 1 ",
" c None",
". c orange",
"X c red",
"o c firebrick",
"O c SlateGray",
"+ c lavender",
/* pixels */
" ",
" ........... ",
" ..XXXXXXXXXXXXX ",
" .XXXXXoooooooooXXO ",
" .XXXXoooooooooooooXO ",
" .XXXXooooXXXXoooooooXO ",
" .XXXXooooOOO XXooooooooO ",
" .XXXXooooOOO XXoooooooOO ",
" .XXXoooooOO .XXooooooOO ",
" .XXXooooooO .XXooooooOO ",
" XXXooooooOO .XXooooooOO ",
" XXooooooOO .XXXooooooOO ",
" XXooooOOO .XXooooooOOO ",
" XXooOOO .XXooooooOOO ",
" OOOOO .XXooooooOOOO ",
" OOO .XXooooooOOOO ",
" .XXoooooOOOOO ",
" .XXoooooOOOO ",
" .XXoooooOOOO ",
" .XXooooOOOO ",
" XXoooOOOO ",
" XXoOOOO ",
" OOOOO ",
" .XXooO ",
" .X.XXoo ",
" .X.X.XXoo ",
" .XX.XXXooO ",
" XXXXXXooOO ",
" XXXXooOOO ",
" XoooOOOO ",
" OOOOOO ",
" OOOO "};

View File

@@ -2,46 +2,45 @@
#include <Mw/Milsko.h>
/* XPM */
char *MwIconWarning[] = {
/* columns rows colors chars-per-pixel */
"32 32 6 1 ",
" c None",
". c red",
"X c yellow",
"o c DarkSlateGray",
"O c black",
"+ c #6632F7",
/* pixels */
" ",
" ",
" ... ",
" ..... ",
" ..X..oo ",
" ..XXX..oo ",
" ..XXX..oo ",
" ..XXXXX..oo ",
" ..XXXXX..oo ",
" ..XXOOOXX..oo ",
" ..XOOOOOX..oo ",
" ..XXOOOOOXX..oo ",
" ..XXOOOOOXX..oo ",
" ..XXXOOOOOXXX..oo ",
" ..XXXOOOOOXXX..oo ",
" ..XXXXOOOOOXXXX..oo ",
" ..XXXXOOOOOXXXX..oo ",
" ..XXXXXOOOOOXXXXX..oo ",
" ..XXXXXXOOOXXXXXX..oo ",
" ..XXXXXXXOOOXXXXXXX..oo ",
" ..XXXXXXXOOOXXXXXXX..oo ",
" ..XXXXXXXXOOOXXXXXXXX..oo ",
" ..XXXXXXXXXXXXXXXXXXX..oo ",
" ..XXXXXXXXXOOOXXXXXXXXX..oo ",
" ..XXXXXXXXOOOOOXXXXXXXX..oo ",
" ..XXXXXXXXXOOOOOXXXXXXXXX..oo ",
" ..XXXXXXXXXXOOOXXXXXXXXXX..oo ",
" ..XXXXXXXXXXXXXXXXXXXXXXXXX..oo",
" .............................oo",
" ...........................ooo",
" ooooooooooooooooooooooooooo ",
" "
};
char* MwIconWarning[] = {
/* columns rows colors chars-per-pixel */
"32 32 6 1 ",
" c None",
". c red",
"X c yellow",
"o c DarkSlateGray",
"O c black",
"+ c #6632F7",
/* pixels */
" ",
" ",
" ... ",
" ..... ",
" ..X..oo ",
" ..XXX..oo ",
" ..XXX..oo ",
" ..XXXXX..oo ",
" ..XXXXX..oo ",
" ..XXOOOXX..oo ",
" ..XOOOOOX..oo ",
" ..XXOOOOOXX..oo ",
" ..XXOOOOOXX..oo ",
" ..XXXOOOOOXXX..oo ",
" ..XXXOOOOOXXX..oo ",
" ..XXXXOOOOOXXXX..oo ",
" ..XXXXOOOOOXXXX..oo ",
" ..XXXXXOOOOOXXXXX..oo ",
" ..XXXXXXOOOXXXXXX..oo ",
" ..XXXXXXXOOOXXXXXXX..oo ",
" ..XXXXXXXOOOXXXXXXX..oo ",
" ..XXXXXXXXOOOXXXXXXXX..oo ",
" ..XXXXXXXXXXXXXXXXXXX..oo ",
" ..XXXXXXXXXOOOXXXXXXXXX..oo ",
" ..XXXXXXXXOOOOOXXXXXXXX..oo ",
" ..XXXXXXXXXOOOOOXXXXXXXXX..oo ",
" ..XXXXXXXXXXOOOXXXXXXXXXX..oo ",
" ..XXXXXXXXXXXXXXXXXXXXXXXXX..oo",
" .............................oo",
" ...........................ooo",
" ooooooooooooooooooooooooooo ",
" "};