diff -urN tuxpaint/Makefile tuxpaint-work/Makefile --- tuxpaint/Makefile 2009-11-07 16:02:55.000000000 -0800 +++ tuxpaint-work/Makefile 2009-11-08 20:47:12.000000000 -0800 @@ -46,7 +46,7 @@ echo "$(1)"; \ fi ;) -beos_RSRC_CMD:=xres -o tuxpaint src/tuxpaint.rsrc +beos_RSRC_CMD:=rc src/tuxpaint.rdef && xres -o tuxpaint src/tuxpaint.rsrc RSRC_CMD:=$($(OS)_RSRC_CMD) beos_MIMESET_CMD:=mimeset -f tuxpaint @@ -79,7 +79,7 @@ windows_ARCH_LINKS:=-lintl $(PNG) -lwinspool -lshlwapi $(FRIBIDI_LIB) osx_ARCH_LINKS:=$(PAPER_LIB) $(FRIBIDI_LIB) -beos_ARCH_LINKS:="-lintl $(PNG) -lz -lbe -liconv $(FRIBIDI_LIB)" +beos_ARCH_LINKS:="-lintl $(PNG) -lz -lbe -lnetwork -liconv $(FRIBIDI_LIB)" linux_ARCH_LINKS:=$(PAPER_LIB) $(FRIBIDI_LIB) ARCH_LINKS:=$($(OS)_ARCH_LINKS) @@ -92,11 +92,10 @@ # Where things will go when ultimately installed: windows_PREFIX:=/usr/local osx_PREFIX:=/usr/local -beos_PREFIX:=/boot/apps/Games/TuxPaint +beos_PREFIX:=$(shell finddir B_APPS_DIRECTORY)/TuxPaint linux_PREFIX:=/usr/local PREFIX:=$($(OS)_PREFIX) - # Root directory to place files when creating packages. # PKG_ROOT is the old name for this, and should be undefined. # "TuxPaint-1" is the OLPC XO name. Installing to ./ is bad! @@ -139,6 +138,10 @@ CONFDIR:=$(DESTDIR)$(PREFIX)/etc/tuxpaint endif +ifeq ($(SYSNAME),Haiku) + CONFDIR:=$(shell finddir B_USER_SETTINGS_DIRECTORY)/TuxPaint +endif + # Icons and launchers: ICON_PREFIX:=$(DESTDIR)$(PREFIX)/share/pixmaps X11_ICON_PREFIX:=$(DESTDIR)$(PREFIX)/X11R6/include/X11/pixmaps @@ -396,7 +399,7 @@ windows_ARCH_INSTALL:= osx_ARCH_INSTALL:= -beos_ARCH_INSTALL:= +beos_ARCH_INSTALL:=install-haiku linux_ARCH_INSTALL:=install-gnome install-kde install-kde-icons ARCH_INSTALL:=$($(OS)_ARCH_INSTALL) @@ -777,6 +779,13 @@ strip -s $(BIN_PREFIX)/lib/pango/1.6.0/modules/*.dll; \ fi +# Install symlink: +.PHONY: install-haiku +install-haiku: + @echo + @echo "...Installing symlink in apps/TuxPaint to tuxpaint executable file..." + @ln -sf $(DESTDIR)$(shell finddir B_APPS_DIRECTORY)/TuxPaint/bin/tuxpaint $(DESTDIR)$(shell finddir B_APPS_DIRECTORY)/TuxPaint/tuxpaint + # Install the import script: .PHONY: install-importscript install-importscript: diff -urN tuxpaint/magic/src/mosaic.c tuxpaint-work/magic/src/mosaic.c --- tuxpaint/magic/src/mosaic.c 2009-07-02 15:36:00.000000000 -0700 +++ tuxpaint-work/magic/src/mosaic.c 2009-11-08 20:33:33.000000000 -0800 @@ -350,6 +350,7 @@ void mosaic_switchin(magic_api * api, int which, int mode, SDL_Surface * canvas) { int y, x; + Uint32 amask; mosaic_blured = (Uint8 *) malloc(sizeof(Uint8) * (canvas->w * canvas->h)); if (mosaic_blured == NULL) @@ -358,7 +359,7 @@ exit(1); } - Uint32 amask = ~(canvas->format->Rmask | + amask = ~(canvas->format->Rmask | canvas->format->Gmask | canvas->format->Bmask); diff -urN tuxpaint/magic/src/mosaic_shaped.c tuxpaint-work/magic/src/mosaic_shaped.c --- tuxpaint/magic/src/mosaic_shaped.c 2009-08-09 15:48:34.000000000 -0700 +++ tuxpaint-work/magic/src/mosaic_shaped.c 2009-11-08 20:38:14.000000000 -0800 @@ -190,7 +190,7 @@ // Do the effect for the full image static void do_mosaic_shaped_full(void * ptr, SDL_Surface * canvas, SDL_Surface * last ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, SDL_Rect * update_rect ATTRIBUTE_UNUSED){ - int i, j; + int i, j, size; Uint32 mosaic_shaped_color; magic_api * api = (magic_api *) ptr; @@ -217,7 +217,7 @@ if (mosaic_shaped_average_count > 0) { reset_counter(canvas, mosaic_shaped_counted); - int size = 0; + size = 0; pixel_average = SDL_MapRGB(canvas->format, mosaic_shaped_average_r / mosaic_shaped_average_count, mosaic_shaped_average_g / mosaic_shaped_average_count, mosaic_shaped_average_b / mosaic_shaped_average_count); scan_fill(api, canvas, canvas_shaped, i, j, 0, 1, size, pixel_average); } @@ -230,10 +230,11 @@ static void mosaic_shaped_fill(void * ptr_to_api, int which ATTRIBUTE_UNUSED, SDL_Surface * canvas, SDL_Surface * last ATTRIBUTE_UNUSED, int x, int y) { + Uint32 mosaic_shaped_color; + int size; magic_api * api = (magic_api *) ptr_to_api; x = clamp(0, x, canvas->w - 1); y = clamp(0,y,canvas->h - 1); - Uint32 mosaic_shaped_color; mosaic_shaped_color = SDL_MapRGBA(canvas->format, mosaic_shaped_r, mosaic_shaped_g, mosaic_shaped_b, 0); mosaic_shaped_average_r = 0; mosaic_shaped_average_g = 0; @@ -244,7 +245,7 @@ if (mosaic_shaped_average_count > 0) { - int size = 0; + size = 0; pixel_average = SDL_MapRGB(canvas->format, mosaic_shaped_average_r / mosaic_shaped_average_count, mosaic_shaped_average_g / mosaic_shaped_average_count, mosaic_shaped_average_b / mosaic_shaped_average_count); reset_counter(canvas, mosaic_shaped_counted); scan_fill(api, canvas, canvas_shaped, x, y, 0, 1, size, pixel_average); @@ -367,6 +368,8 @@ int i, j; SDL_Rect rect; SDL_Surface * surf_aux; + Uint32 amask; + char fname[1024]; mosaic_shaped_counted = (Uint8 *) malloc(sizeof(Uint8) * (canvas->w * canvas->h)); if (mosaic_shaped_counted == NULL) @@ -382,7 +385,7 @@ exit(1); } - Uint32 amask = ~(canvas->format->Rmask | + amask = ~(canvas->format->Rmask | canvas->format->Gmask | canvas->format->Bmask); @@ -401,7 +404,6 @@ canvas->format->Rmask, canvas->format->Gmask, canvas->format->Bmask, amask); - char fname[1024]; snprintf(fname, sizeof(fname), "%simages/magic/%s", api->data_directory, mosaic_shaped_pattern_filenames[which]); mosaic_shaped_pattern = IMG_Load(fname); rect.w = mosaic_shaped_pattern->w; diff -urN tuxpaint/magic/src/perspective.c tuxpaint-work/magic/src/perspective.c --- tuxpaint/magic/src/perspective.c 2009-08-09 15:48:34.000000000 -0700 +++ tuxpaint-work/magic/src/perspective.c 2009-11-08 20:39:44.000000000 -0800 @@ -499,6 +499,7 @@ void perspective_switchin(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, int mode ATTRIBUTE_UNUSED, SDL_Surface * canvas) { + Uint32 amask; new_w = canvas->w; new_h = canvas->h; @@ -512,7 +513,7 @@ black = SDL_MapRGBA(canvas->format, 0, 0, 0, 0); white = SDL_MapRGBA(canvas->format, 255, 255, 255, 0); - Uint32 amask = ~(canvas->format->Rmask | + amask = ~(canvas->format->Rmask | canvas->format->Gmask | canvas->format->Bmask); diff -urN tuxpaint/src/BeOS_print.h tuxpaint-work/src/BeOS_print.h --- tuxpaint/src/BeOS_print.h 2009-06-03 13:46:07.000000000 -0700 +++ tuxpaint-work/src/BeOS_print.h 2009-11-08 19:00:17.000000000 -0800 @@ -22,7 +22,7 @@ /* Jan. 17, 2003 */ /* $Id: BeOS_print.h,v 1.5 2009/06/03 20:46:07 wkendrick Exp $ */ - + #ifndef __BEOS_PRINT_H__ #define __BEOS_PRINT_H__ @@ -32,12 +32,11 @@ extern "C" { -#endif /* */ - extern int SurfacePrint(SDL_Surface * surf); - extern int IsPrinterAvailable(); - +#endif /* __cplusplus */ + extern int SurfacePrint(SDL_Surface * surf); + extern int IsPrinterAvailable(); #ifdef __cplusplus } -#endif /* */ +#endif /* __cplusplus */ -#endif /* */ +#endif /* __BEOS_PRINT__ */ diff -urN tuxpaint/src/fonts.c tuxpaint-work/src/fonts.c --- tuxpaint/src/fonts.c 2009-06-06 11:22:00.000000000 -0700 +++ tuxpaint-work/src/fonts.c 2009-11-08 14:23:29.000000000 -0800 @@ -67,6 +67,11 @@ #include "win32_print.h" #endif +#ifdef __HAIKU__ +#include +#include +#endif + #ifdef __APPLE__ #include "wrapperdata.h" extern WrapperData macosx; @@ -456,7 +461,9 @@ close(sv[1]); return; } +#ifndef __HAIKU__ nice(42); // be nice, letting the main thread get the CPU +#endif sched_yield(); // try to let the parent run right now prctl(PR_SET_PDEATHSIG, 9); // get killed if parent exits font_socket_fd = sv[1]; @@ -699,6 +706,14 @@ loadfonts(screen, "/boot/home/config/font/ttffonts"); loadfonts(screen, "/usr/share/fonts"); loadfonts(screen, "/usr/X11R6/lib/X11/fonts"); +#elif defined(__HAIKU__) + dev_t volume = dev_for_path("/boot"); + char buffer[B_PATH_NAME_LENGTH+B_FILE_NAME_LENGTH]; + status_t result; + result = find_directory(B_SYSTEM_FONTS_DIRECTORY, volume, false, buffer, sizeof(buffer)); + loadfonts(screen, buffer); + result = find_directory(B_COMMON_FONTS_DIRECTORY, volume, false, buffer, sizeof(buffer)); + loadfonts(screen, buffer); #elif defined(__APPLE__) loadfonts(screen, "/System/Library/Fonts"); loadfonts(screen, "/Library/Fonts"); diff -urN tuxpaint/src/tuxpaint.c tuxpaint-work/src/tuxpaint.c --- tuxpaint/src/tuxpaint.c 2009-11-08 10:38:25.000000000 -0800 +++ tuxpaint-work/src/tuxpaint.c 2009-11-08 20:40:35.000000000 -0800 @@ -218,8 +218,11 @@ #include -#ifdef __BEOS__ +#if defined __BEOS__ || defined __HAIKU__ #include +#include +#define FALSE false +#define TRUE true #else #include #include @@ -251,7 +254,7 @@ #include #include -#ifdef __BEOS__ +#if defined __BEOS__ //|| defined __HAIKU__ /* BeOS */ @@ -1044,7 +1047,7 @@ magic_api *magic_api_struct; /* Pointer to our internal functions; passed to shared object's functions when we call them */ -#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) +#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) && !defined(__HAIKU__) #include #if !defined(PAPER_H) #error "---------------------------------------------------" @@ -1869,6 +1872,8 @@ int *thing_scroll; int cur_thing, do_draw, max; int ignoring_motion; + int j; + unsigned int i; SDL_TimerID scrolltimer = NULL; SDL_Event event; SDLKey key; @@ -3737,8 +3742,9 @@ { cur_thing=label_node_to_edit->save_cur_font; do_setcursor(cursor_insertion); - cur_select = SELECT_ON; - unsigned int i = 0; + cur_select = SELECT_ON; + + i = 0; texttool_len = select_texttool_len; while(i < texttool_len) @@ -3753,8 +3759,7 @@ cur_font = select_cur_font; text_state = select_text_state; text_size = select_text_size; - - int j; + // int j; for (j = 0; j < num_font_families; j++) { if (user_font_families[j] @@ -5443,6 +5448,8 @@ printf(" Built for Windows (WIN32)\n"); #elif __BEOS__ printf(" Built for BeOS (__BEOS__)\n"); +#elif __HAIKU__ + printf(" Built for Haiku (__HAIKU__)\n"); #elif NOKIA_770 printf(" Built for Maemo (NOKIA_770)\n"); #elif OLPC_XO @@ -5562,7 +5569,7 @@ #endif " %s [--printdelay=SECONDS]\n" " %s [--altprintmod | --altprintalways | --altprintnever]\n" -#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) +#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) && !defined(__HAIKU__) " %s [--papersize PAPERSIZE | --papersize help]\n" #endif " %s [--lang LANGUAGE | --locale LOCALE | --lang help]\n" @@ -5581,7 +5588,7 @@ blank, #endif blank, blank, -#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) +#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) && !defined(__HAIKU__) blank, #endif blank, blank, blank, blank, blank); @@ -8967,7 +8974,7 @@ disallow_print = 1; #endif -#ifdef __BEOS__ +#if defined __BEOS__ || __HAIKU__ if (!IsPrinterAvailable()) disallow_print = disable_print = 1; #endif @@ -11275,7 +11282,7 @@ free(lock_fname); } -#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) +#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) && !defined(__HAIKU__) if (papersize != NULL) free(papersize); #endif @@ -14566,7 +14573,7 @@ SDL_BlitSurface(canvas, NULL, save_canvas, NULL); SDL_BlitSurface(label, NULL, save_canvas, NULL); -#if !defined(WIN32) && !defined(__BEOS__) && !defined(__APPLE__) +#if !defined(WIN32) && !defined(__BEOS__) && !defined(__APPLE__) && !defined(__HAIKU__) char *pcmd; FILE *pi; @@ -14618,8 +14625,8 @@ if (error) fprintf(stderr, "%s\n", error); } -#elif defined(__BEOS__) - /* BeOS */ +#elif defined(__BEOS__) || defined(__HAIKU__) + /* BeOS and Haiku*/ SurfacePrint(save_canvas); #elif defined(__APPLE__) @@ -18362,7 +18369,7 @@ SDL_Rect dest, src; wchar_t *str; wchar_t tmp_str[256]; - int w,h; + int j,w,h; unsigned i; printf("simply_render_node\n"); @@ -18390,7 +18397,6 @@ text_state = node->save_text_state; text_size = node->save_text_size; - int j; for (j = 0; j < num_font_families; j++) { if (user_font_families[j] @@ -18559,7 +18565,11 @@ int old_pos; int new_pos; int x, y, pix, pix_size; - + char * font_type = NULL; + char * ttffont; + size_t max_text; + int i; + Uint32 c; /* Clear label surface */ @@ -18636,17 +18646,15 @@ fscanf(lfi, "%d\n", &new_node->save_cur_font); new_node->save_cur_font = 0; - char * font_type = NULL; - char * ttffont; + font_type = NULL; - size_t max_text = 64; + max_text = 64; getline(&font_type, &max_text, lfi); - int i; for( i = 0; i < num_font_families; i++ ) { - Uint32 c; + /* FIXME: 2009/09/13 TTF_FontFaceFamilyName() appends random "\n" at the end of the returned string. Should investigate why, and when corrected, remove the code that deals whith the ending "\n"s in ttffont*/ @@ -18750,7 +18758,7 @@ ///////////////////////////////////////////////////////////////////////////// -#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) +#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) && !defined(__HAIKU__) static void show_available_papersizes(FILE * fi, const char * prg) { const struct paper * ppr; @@ -18786,6 +18794,8 @@ static void parse_one_option(const char *str, const char *arg) { + int boolval; + //printf("\nold: <%s> <%s>\n",str,arg); // canonicalize the option @@ -18812,7 +18822,7 @@ } } - int boolval = 1; + boolval = 1; if(arg && !strcmp(arg,"no")) boolval = 0; @@ -19076,7 +19086,7 @@ use_print_config = boolval; } -#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) +#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) && !defined(__HAIKU__) else if (!strcmp(str, "printcommand")) { // FIXME: This would need to be done one argument (space-delim'd) at a time */ @@ -19095,7 +19105,7 @@ } #endif -#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) +#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) && !defined(__HAIKU__) else if (!strcmp(str, "altprintcommand")) { // FIXME: This would need to be done one argument (space-delim'd) at a time @@ -19168,7 +19178,7 @@ } -#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) +#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) && !defined(__HAIKU__) else if (!strcmp(str, "papersize")) { if(!strcmp(arg,"help")) @@ -19295,18 +19305,18 @@ static void parse_file_options(char *filename) { + char str[256]; + char* arg; FILE *fi = fopen(filename, "r"); if(!fi) return; - char str[256]; - while(fgets(str, sizeof(str), fi)) { if(!isalnum(*str)) continue; strip_trailing_whitespace(str); - char *arg = strchr(str,'='); + arg = strchr(str,'='); if(arg) *arg++ = '\0'; parse_one_option(str,arg); @@ -19318,13 +19328,14 @@ { char *progname = argv[0]; char *str; + char *arg; while(( str = *++argv )) { if(str[0]=='-' && str[1]=='-' && str[2]) { str += 2; - char *arg = strchr(str,'='); + arg = strchr(str,'='); if(arg) *arg++ = '\0'; else if(argv[1] && argv[1][0]!='-') @@ -19467,7 +19478,7 @@ colorfile[0] = '\0'; -#ifdef __BEOS__ +#if defined __BEOS__ || defined __HAIKU__ /* Fancy cursors on BeOS are buggy in SDL */ no_fancy_cursors = 1; @@ -19479,7 +19490,7 @@ savedir = GetDefaultSaveDir("TuxPaint"); datadir = GetDefaultSaveDir("TuxPaint"); -#elif __BEOS__ +#elif defined__BEOS__ || __HAIKU__ /* BeOS */ savedir = strdup("./userdata"); @@ -19546,7 +19557,7 @@ #if defined(WIN32) /* Default local config file in users savedir directory on Windows */ snprintf(str, sizeof(str), "%s/tuxpaint.cfg", savedir); /* FIXME */ -#elif defined(__BEOS__) +#elif defined(__BEOS__) || defined(__HAIKU__) /* BeOS: Use a "tuxpaint.cfg" file: */ strcpy(str, "tuxpaint.cfg"); diff -urN tuxpaint/src/tuxpaint.rdef tuxpaint-work/src/tuxpaint.rdef --- tuxpaint/src/tuxpaint.rdef 1969-12-31 16:00:00.000000000 -0800 +++ tuxpaint-work/src/tuxpaint.rdef 2009-11-08 14:23:29.000000000 -0800 @@ -0,0 +1,123 @@ + +resource large_icon array { + $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FFFFFFFFFFFFFFFFFFFF" + $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000FFFFFFFFFFFFFFFFFF" + $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000700000400000000FFFFFFFFFFFFFFFF" + $"FF000000FFFF00FFFFFFFFFFFFFF00003F10133F1A000000FFFFFFFFFFFFFFFF" + $"0000000300000000FFFFFFFFFFFF001C1C1C3F3F3F05000000FFFFFFFFFFFFFF" + $"0000000000000000FFFFFFFFFFFF0010123F16183F06000000FFFFFFFFFFFFFF" + $"0000000000000000FFFFFFFF0000071D3F3F0A141D00000000FFFFFFFFFFFFFF" + $"000000000000000000FFFF000085F9BD85831E3F0B00000000FFFFFFFFFFFFFF" + $"00000000000000000000FF00BD85F9F9F9F9BD090000000000FFFFFFFFFFFFFF" + $"0000000000000000000000AB8503F9F9F9F9F9B10000000000FFFFFFFFFFFFFF" + $"FF00000100000000000000AB85ABF9F9F9F9F9AB0000000000FFFFFFFFFFFFFF" + $"FFFFFF00000000000000000285F9F9F9F9F9F9B10000000000FFFFFFFFFFFFFF" + $"FFFFFFFFFF0000000000000002ABBDF9F9F985010000000000FFFFFFFFFFFFFF" + $"FFFFFFFFFFFF00000000000000000004D7D70000000000000000FFFFFFFFFFFF" + $"FFFFFFFFFFFFFF0000000000000004030000000000000000000000FFFFFFFFFF" + $"FFFFFFFFFFFFFFFFFF000000031B3F3F1A0600000000000000000000FFFFFFFF" + $"FFFFFFFFFFFFFFFFFF0000000E3F3F3F3F180000080200000000000000FFFFFF" + $"FFFFFFFFFFFFFFFF00000005183F3F1E59DA0600070C0000000000000000FFFF" + $"FFFFFFFFFFFFFFFF0000103F3F3FDABBBBC48A0700110500000000000000FFFF" + $"FFFFFFFFFFFFFF0000033F3F3F3FBABBE3CA8A8485AB1300000000000000FFFF" + $"FFFFFFFFFFFFFF0000083F3F3F59E9A8A90F89D1AB841300000000000010FFFF" + $"FFFFFFFFFFFFFF0000083F3F3F1D1C3F3F3F3F0101130200000000D78900FFFF" + $"FFFFFFFFFFFFFF0000033F3F3F3F3F3F3F3F3F0102060000000007628300FFFF" + $"FFFFFFFFFFFFFF0000001A3F3F3F3F3F3F3F3F01000000031004000000FFFFFF" + $"FFFFFFFFFFFFFFFF00000B3F3F3F3F3F3F3F3F0000000F0E030000FFFFFFFFFF" + $"FFFFFFFFFFFFFFFF00000000000000000000000000000000000000FFFFFFFFFF" + $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" +}; + +resource mini_icon array { + $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + $"FFFFFFFFFFFFFFFF000000FFFFFFFFFF" + $"0000FFFFFFFFFF00103F0000FFFFFFFF" + $"00000000FFFFFF103F180600FFFFFFFF" + $"00000000FF0085BD833F0000FFFFFFFF" + $"0000000000AB03F9F9B10000FFFFFFFF" + $"FF0000000002F9F9F9B10000FFFFFFFF" + $"FFFFFF0000000004D700000000FFFFFF" + $"FFFFFFFF00001B3F060000000000FFFF" + $"FFFFFFFF00053F1EDA000C00000000FF" + $"FFFFFF00033F3FBBCA84AB00000000FF" + $"FFFFFF00083F1D3F3F01130000D700FF" + $"FFFFFF00003F3F3F3F0100030400FFFF" + $"FFFFFFFF000000000000000000FFFFFF" + $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" +}; + + +resource vector_icon array { + $"6E6369660602001602B8B10BBA4D843A4D84B8B10B4A0E9346F9C10000FF2105" + $"FF02000602B796BAB8831C38831CB796BA4A8259494B3900FFBC00FFFFDD7D02" + $"01060239670F00000000000039670F4A302B4B07CD00EB427CD9701A36020006" + $"03B1F29A361F94B61F94B1F29A4A80FD4B204A00E6B871919D7D44FF49391002" + $"00060331EAABB5ED5B35ED5B31EAAB4BFBBC4B7E58007C5C2078D5A72CFFFECA" + $"310D021DCA35CC7FCA35CC7FCA63CB8CCA97C97ECA53CA5CCA97C97ECB3EC8E4" + $"CAEEC957CB3EC8E4CB3EC8E4CB3EC8E4CBCDC80ACC5AC5C6CCA4C727CC25C4C8" + $"CA7EC2F7CB27C3B3CA35C2A6C959C1C6C9C3C22FC8FAC166C84DC07CC85FC0E3" + $"C83EC027C865BF4BC85CBFAB56BE0EC865BB94C887BCCBC81CB8F0C4DFB619C7" + $"4FB687C4DFB619C4DFB60CC4DFB60CC4DFB60CC41BB60CC41BB60CC151B690BF" + $"D1BBACC023B8B0BE37BC0ABD1ABEDDBD25BCF0BD1EBF05BCE9BEDDBCE3BED9BC" + $"ACBEB4BC4BBE4BBC81BE76BB83BDACB9F5BBD1BA44BCC8B9C1BB2DB8DCB99FB9" + $"B8B986B872B9ACB87BBA7BB877BA2EB87CBAAFB862BA6FB867BA7BB7C331B59E" + $"B9ACB682B971B4D9B9DEB3B6BB7BB421BAD0B363BC0220BD26B326BC9B20BD26" + $"20BDB920BDB9B30FBE60B49EBE4BB3F8BE86B75FBFE5BBF5C403B9DAC1C4BAF2" + $"C548BA0DC91CBA0AC6DBBA0FCA8ABB3ECC7FBA9FCB8DBB3ECC7F020DBD7CCC7F" + $"BD7CCC7FBCD5CB9ABC01C835BBF0C9E5BC09C779BCB8C61CBC3CC698BD24C5B0" + $"BE4BC540BDD9C5B7BE64C456BF27C34C3DC3A0C029C2BDC264C3BAC1B4C311C2" + $"D8C428C326C53EC2FFC4B5C326C53EC326C53EC326C53EC33DC58CC377C612C3" + $"5AC5D0C377C612C3C4C6D2C3C4C6D2C3E2C72CC3F7C810C3F7C790C3E4C998C3" + $"95CC7FC420CB6FC395CC7FBD7CCC7FBD7CCC7FBD7CCC7F020DC371BD32C3D0BD" + $"8DC371BD32C374BD31C374BD31C319BD08C26FBCA8C2C8BCD1C26FBCA8C270BC" + $"ACC270BCACC22EBC9EC1B9BC6FC1F5BC85C1B9BC6FC1BABC6CC1BABC6CC15DBC" + $"5FC0ADBC32C107BC48C0ADBC32C0ADBC32C0ADBC32BE5BBBD3BDE9BFF6BCCBBE" + $"20BE51C0A1C03FC13FBF42C0EDC0F4C17BC240C1A1C1B1C1A2C2A6C1A0C371C1" + $"70C339C18CC418C11CC471BEB9C49BBFC7C456BE10020FC5C6B9C4C5D4BAF5C5" + $"BDB8FCC458B893C54BB86FC381B8B3C2DEBA32C348B98BC2EBB8FEC195B893C2" + $"61B85AC105B8BBC04BBAB8C064B9D7C03ABB56C0ADBC0EC046BBD8C0ADBC0EC0" + $"ACBC11C0ACBC11C107BC28C1BABC4CC15EBC3FC1BABC4CC1B9BC4BC1B9BC4BC2" + $"06BC5AC24CBC26C218BC2FC260BC46C27DBC94C268BC73C27DBC94C279BC95C2" + $"79BC95C2D5BCBFC37EBD1EC32639C37EBD1EC37DBD1AC37DBD1AC3D1BD35C495" + $"BD1AC442BD41C547BCC60202C1A1BA32C0B6B9DAC200BA8C44BB4AC1C8BB45C0" + $"9DBB530202C3D2BADDC34DBAF4C497BABAC3A1BC3EC46BBC65C30ABC210202BF" + $"64BDD1BE7CBD77BFD1BE54BEDDBF94BF76BFA0BE21BF860002C6AFCB98C6AFCB" + $"98C7B3CBA6C966CA7BC8DECB03C966CA7B0005C5B3C96AC5B3C96AC5BEC939C5" + $"E0C8D3C5C1C8FDC60AC89BC682C844C650C875C6E4C7E4C6CBC6DEC70BC75FC6" + $"62C60BC57EC482C546C59BC57EC4820608FBBFC320C6B3C305C739C33AC62DC3" + $"53C60AC1FDC578C2C3C578C137C578BFCCC6E3C05BC5E5BF3CC7E0BFAAC894BF" + $"63C89DC01EC885C124C7F5C0EAC7F5C15EC7F5C1F7C81DC183C81DC26BC81DC3" + $"00C7E60606AE0BC353C60AC320C6B3C33AC62DC305C739C300C7E6C447C814C4" + $"7AC735C45FC79DC494C6CDC4BBC6870607EF3EC6B9C760C6B9C7A5C6B9C74CC6" + $"B2C725C6B7C739C6B2C725C4BBC687C47AC735C494C6CDC45FC79DC447C814C5" + $"FBC874C5FBC87450C854C660C821C646C83BC699C7E90607FB3FCC68C96ACC46" + $"C9D0CC8FC8F7CBF0C8CBCB6BC8A1CB6BC8A1CB5CC8B7CB3EC8E4CB4CC8CECB3E" + $"C8E4CB3EC8E4CB3EC8E4CAFEC941CAA0C979CAB9C96CCAA0C979CBCFC9BCCBCF" + $"C9BCCBCFC9BC0D0A000100000A010101000A020102000A010103000A00010400" + $"0A000105000A000106000A0101071001178122040A0101081001178122040A03" + $"0109000A04010A000A05010B000A05010C00" +}; + + +resource app_signature "application/x-vnd.newbreedsoftware-tuxpaint"; + +resource app_version { + major = 0, + middle = 150994944, + minor = 234881024, + + variety = B_APPV_DEVELOPMENT, + internal = 0, + + short_info = "Drawing program", + long_info = "A simple drawing program for children." +}; + +resource app_flags B_SINGLE_LAUNCH;