Ran source code through "indent -nbfda -npcs -npsl -bli0".

This commit is contained in:
William Kendrick 2006-08-27 21:00:52 +00:00
parent 51355bce43
commit 7716a05281
38 changed files with 10816 additions and 10710 deletions

View file

@ -9,7 +9,7 @@ http://www.newbreedsoftware.com/tuxpaint/
$Id$ $Id$
2006.August.26 (0.9.16) 2006.August.27 (0.9.16)
* Interface improvements: * Interface improvements:
----------------------- -----------------------
* Modified "Text" tool so that it correctly handles the 16-bit unicode * Modified "Text" tool so that it correctly handles the 16-bit unicode
@ -143,6 +143,8 @@ $Id$
* Compiling, porting and packaging updates: * Compiling, porting and packaging updates:
----------------------------------------- -----------------------------------------
* Ran source code through "indent -nbfda -npcs -npsl -bli0".
* "DESTDIR" patch is no longer needed. * "DESTDIR" patch is no longer needed.
TOYAMA Shin-ichi <shin1@wmail.plala.or.jp> TOYAMA Shin-ichi <shin1@wmail.plala.or.jp>

View file

@ -23,21 +23,21 @@
/* Jan. 17, 2003 */ /* Jan. 17, 2003 */
/* $Id$ */ /* $Id$ */
#ifndef __BEOS_PRINT_H__ #ifndef __BEOS_PRINT_H__
#define __BEOS_PRINT_H__ #define __BEOS_PRINT_H__
#include "SDL.h" #include "SDL.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C"
#endif {
#endif /* */
extern int SurfacePrint(SDL_Surface * surf); extern int SurfacePrint(SDL_Surface * surf);
extern int IsPrinterAvailable(); extern int IsPrinterAvailable();
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif /* */
#endif #endif /* */

View file

@ -31,7 +31,8 @@
/* What colors are available: */ /* What colors are available: */
enum { enum
{
COLOR_BLACK, COLOR_BLACK,
COLOR_DARKGREY, COLOR_DARKGREY,
COLOR_LIGHTGREY, COLOR_LIGHTGREY,

View file

@ -150,4 +150,3 @@
#undef CLOCK_ASM #undef CLOCK_ASM
#define CLOCK_ASM(x) x=42 #define CLOCK_ASM(x) x=42
#endif #endif

View file

@ -1,2 +1 @@
#define DEBUG //#define DEBUG

View file

@ -25,7 +25,8 @@
///////////////// directory walking callers and callbacks ////////////////// ///////////////// directory walking callers and callbacks //////////////////
void loadfont_callback(SDL_Surface * screen, const char *restrict const dir, unsigned dirlen, tp_ftw_str *files, unsigned i) void loadfont_callback(SDL_Surface * screen, const char *restrict const dir,
unsigned dirlen, tp_ftw_str * files, unsigned i)
{ {
dirlen = dirlen; dirlen = dirlen;
@ -37,7 +38,8 @@ void loadfont_callback(SDL_Surface * screen, const char *restrict const dir, uns
if (cp) if (cp)
{ {
// need gcc 3.4 for the restrict in this location // need gcc 3.4 for the restrict in this location
const char * /*restrict*/ const suffixes[] = {"ttc", "dfont", "pfa", "pfb", "otf", "ttf",}; const char * /*restrict */ const suffixes[] =
{ "ttc", "dfont", "pfa", "pfb", "otf", "ttf", };
int j = sizeof suffixes / sizeof suffixes[0]; int j = sizeof suffixes / sizeof suffixes[0];
while (j--) while (j--)
{ {
@ -74,7 +76,8 @@ void loadfont_callback(SDL_Surface * screen, const char *restrict const dir, uns
#ifdef DEBUG #ifdef DEBUG
int numfaces = TTF_FontFaces(font); int numfaces = TTF_FontFaces(font);
if (numfaces != 1) if (numfaces != 1)
printf("Found %d faces in %s, %s, %s\n", numfaces, files[i].str, family, style); printf("Found %d faces in %s, %s, %s\n", numfaces, files[i].str,
family, style);
#endif #endif
// First, the blacklist. We list font families that can crash Tux Paint // First, the blacklist. We list font families that can crash Tux Paint
@ -88,23 +91,19 @@ void loadfont_callback(SDL_Surface * screen, const char *restrict const dir, uns
// translated. Otherwise, only Line X should be translated and the // translated. Otherwise, only Line X should be translated and the
// ASCII-only fonts should be given bad scores in the scoring code below. // ASCII-only fonts should be given bad scores in the scoring code below.
// (the best scores going to fonts that support both) // (the best scores going to fonts that support both)
if if (strcmp("Zapfino", family) && strcmp("Elvish Ring NFI", family) && ((charset_works(font, gettext("qx")) && charset_works(font, gettext("QX"))) // Line X
( || (charset_works(font, gettext("qy")) && charset_works(font, gettext("QY"))) // Line Y
strcmp("Zapfino",family) && strcmp("Elvish Ring NFI",family) ))
&&
(
(charset_works(font, gettext("qx")) && charset_works(font, gettext("QX"))) // Line X
||
(charset_works(font, gettext("qy")) && charset_works(font, gettext("QY"))) // Line Y
)
)
{ {
if (num_font_styles == num_font_styles_max) if (num_font_styles == num_font_styles_max)
{ {
num_font_styles_max = num_font_styles_max * 5 / 4 + 30; num_font_styles_max = num_font_styles_max * 5 / 4 + 30;
user_font_styles = realloc(user_font_styles, num_font_styles_max * sizeof *user_font_styles); user_font_styles =
realloc(user_font_styles,
num_font_styles_max * sizeof *user_font_styles);
} }
user_font_styles[num_font_styles] = malloc(sizeof *user_font_styles[num_font_styles]); user_font_styles[num_font_styles] =
malloc(sizeof *user_font_styles[num_font_styles]);
user_font_styles[num_font_styles]->directory = strdup(dir); user_font_styles[num_font_styles]->directory = strdup(dir);
user_font_styles[num_font_styles]->filename = files[i].str; // steal it (mark NULL below) user_font_styles[num_font_styles]->filename = files[i].str; // steal it (mark NULL below)
user_font_styles[num_font_styles]->family = strdup(family); user_font_styles[num_font_styles]->family = strdup(family);
@ -127,7 +126,8 @@ void loadfont_callback(SDL_Surface * screen, const char *restrict const dir, uns
{ {
#if 0 #if 0
// THREADED_FONTS // THREADED_FONTS
printf("Font is too defective: %s, %s, %s\n", files[i].str, family, style); printf("Font is too defective: %s, %s, %s\n", files[i].str, family,
style);
#endif #endif
} }
TTF_CloseFont(font); TTF_CloseFont(font);
@ -154,9 +154,11 @@ int compare_ftw_str(const void *v1, const void *v2)
return -strcmp(s1, s2); return -strcmp(s1, s2);
} }
void tp_ftw(SDL_Surface * screen, char *restrict const dir, unsigned dirlen, int rsrc, void tp_ftw(SDL_Surface * screen, char *restrict const dir, unsigned dirlen,
void (*fn)(SDL_Surface * screen, const char *restrict const dir, unsigned dirlen, tp_ftw_str *files, unsigned count) int rsrc, void (*fn) (SDL_Surface * screen,
) const char *restrict const dir,
unsigned dirlen, tp_ftw_str * files,
unsigned count))
{ {
DIR *d; DIR *d;
unsigned num_file_names = 0; unsigned num_file_names = 0;
@ -289,11 +291,11 @@ void tp_ftw(SDL_Surface * screen, char *restrict const dir, unsigned dirlen, int
qsort(dir_names, num_dir_names, sizeof *dir_names, compare_ftw_str); qsort(dir_names, num_dir_names, sizeof *dir_names, compare_ftw_str);
while (num_dir_names--) while (num_dir_names--)
{ {
memcpy(dir+dirlen, dir_names[num_dir_names].str, dir_names[num_dir_names].len+1); memcpy(dir + dirlen, dir_names[num_dir_names].str,
dir_names[num_dir_names].len + 1);
tp_ftw(screen, dir, dirlen + dir_names[num_dir_names].len, rsrc, fn); tp_ftw(screen, dir, dirlen + dir_names[num_dir_names].len, rsrc, fn);
free(dir_names[num_dir_names].str); free(dir_names[num_dir_names].str);
} }
free(dir_names); free(dir_names);
} }
} }

View file

@ -17,17 +17,21 @@
#define TP_FTW_PATHSIZE 400 #define TP_FTW_PATHSIZE 400
typedef struct tp_ftw_str { typedef struct tp_ftw_str
{
char *str; char *str;
unsigned char len; unsigned char len;
// unsigned char is_rsrc; // unsigned char is_rsrc;
} tp_ftw_str; } tp_ftw_str;
void loadfont_callback(SDL_Surface * screen, const char *restrict const dir, unsigned dirlen, tp_ftw_str *files, unsigned i); void loadfont_callback(SDL_Surface * screen, const char *restrict const dir,
unsigned dirlen, tp_ftw_str * files, unsigned i);
int compare_ftw_str(const void *v1, const void *v2); int compare_ftw_str(const void *v1, const void *v2);
void tp_ftw(SDL_Surface * screen, char *restrict const dir, unsigned dirlen, int rsrc, void tp_ftw(SDL_Surface * screen, char *restrict const dir, unsigned dirlen,
void (*fn)(SDL_Surface * screen, const char *restrict const dir, unsigned dirlen, tp_ftw_str *files, unsigned count)); int rsrc, void (*fn) (SDL_Surface * screen,
const char *restrict const dir,
unsigned dirlen, tp_ftw_str * files,
unsigned count));
#endif #endif

View file

@ -45,8 +45,7 @@ static int colors_close(SDL_Surface * canvas, Uint32 c1, Uint32 c2)
#ifdef LOW_QUALITY_FLOOD_FILL #ifdef LOW_QUALITY_FLOOD_FILL
return (c1 == c2); return (c1 == c2);
#else #else
Uint8 r1, g1, b1, Uint8 r1, g1, b1, r2, g2, b2;
r2, g2, b2;
if (c1 == c2) if (c1 == c2)
{ {
@ -80,16 +79,18 @@ static int colors_close(SDL_Surface * canvas, Uint32 c1, Uint32 c2)
/* Flood fill! */ /* Flood fill! */
void do_flood_fill(SDL_Surface * screen, SDL_Surface * canvas, int x, int y, Uint32 cur_colr, Uint32 old_colr) void do_flood_fill(SDL_Surface * screen, SDL_Surface * canvas, int x, int y,
Uint32 cur_colr, Uint32 old_colr)
{ {
int fillL, fillR, i, in_line; int fillL, fillR, i, in_line;
static unsigned char prog_anim; static unsigned char prog_anim;
Uint32 (*getpixel)(SDL_Surface *, int, int) = getpixels[canvas->format->BytesPerPixel]; Uint32(*getpixel) (SDL_Surface *, int, int) =
void (*putpixel)(SDL_Surface *, int, int, Uint32) = putpixels[canvas->format->BytesPerPixel]; getpixels[canvas->format->BytesPerPixel];
void (*putpixel) (SDL_Surface *, int, int, Uint32) =
putpixels[canvas->format->BytesPerPixel];
if (cur_colr == old_colr || if (cur_colr == old_colr || colors_close(canvas, cur_colr, old_colr))
colors_close(canvas, cur_colr, old_colr))
return; return;
@ -113,7 +114,8 @@ void do_flood_fill(SDL_Surface * screen, SDL_Surface * canvas, int x, int y, Uin
putpixel(canvas, fillL, y, cur_colr); putpixel(canvas, fillL, y, cur_colr);
fillL--; fillL--;
in_line = (fillL < 0) ? 0 : colors_close(canvas, getpixel(canvas, fillL, y), in_line =
(fillL < 0) ? 0 : colors_close(canvas, getpixel(canvas, fillL, y),
old_colr); old_colr);
} }
@ -129,7 +131,8 @@ void do_flood_fill(SDL_Surface * screen, SDL_Surface * canvas, int x, int y, Uin
fillR++; fillR++;
in_line = (fillR >= canvas->w) ? 0 : colors_close(canvas, getpixel(canvas, in_line = (fillR >= canvas->w) ? 0 : colors_close(canvas, getpixel(canvas,
fillR, y), fillR,
y),
old_colr); old_colr);
} }
@ -143,8 +146,8 @@ void do_flood_fill(SDL_Surface * screen, SDL_Surface * canvas, int x, int y, Uin
if (y > 0 && colors_close(canvas, getpixel(canvas, i, y - 1), old_colr)) if (y > 0 && colors_close(canvas, getpixel(canvas, i, y - 1), old_colr))
do_flood_fill(screen, canvas, i, y - 1, cur_colr, old_colr); do_flood_fill(screen, canvas, i, y - 1, cur_colr, old_colr);
if (y < canvas->h && colors_close(canvas, getpixel(canvas, i, y + 1), old_colr)) if (y < canvas->h
&& colors_close(canvas, getpixel(canvas, i, y + 1), old_colr))
do_flood_fill(screen, canvas, i, y + 1, cur_colr, old_colr); do_flood_fill(screen, canvas, i, y + 1, cur_colr, old_colr);
} }
} }

View file

@ -33,7 +33,7 @@
#include "SDL.h" #include "SDL.h"
void do_flood_fill(SDL_Surface * screen, SDL_Surface * canvas, int x, int y, Uint32 cur_colr, Uint32 old_colr); void do_flood_fill(SDL_Surface * screen, SDL_Surface * canvas, int x, int y,
Uint32 cur_colr, Uint32 old_colr);
#endif #endif

View file

@ -84,7 +84,8 @@ TTF_Font *BUGFIX_TTF_OpenFont206(const char * const file, int ptsize)
printf("Loading font: %s\n", file); printf("Loading font: %s\n", file);
#endif #endif
if ((fp = fopen(file, "rb")) == NULL) return NULL; if ((fp = fopen(file, "rb")) == NULL)
return NULL;
fclose(fp); fclose(fp);
#undef TTF_OpenFont #undef TTF_OpenFont
@ -105,8 +106,7 @@ TTF_Font *try_alternate_font(int size)
if ((p = strrchr(prefix, '_')) != NULL) if ((p = strrchr(prefix, '_')) != NULL)
{ {
*p = 0; *p = 0;
snprintf(str, sizeof(str), "%sfonts/locale/%s.ttf", snprintf(str, sizeof(str), "%sfonts/locale/%s.ttf", DATA_PREFIX, prefix);
DATA_PREFIX, prefix);
return TTF_OpenFont(str, size); return TTF_OpenFont(str, size);
} }
@ -169,7 +169,9 @@ void reliable_write(int fd, const void *buf, size_t count)
case EAGAIN: case EAGAIN:
case ENOSPC: case ENOSPC:
; // satisfy a C syntax abomination ; // satisfy a C syntax abomination
p = (struct pollfd){fd, POLLOUT, 0}; p = (struct pollfd)
{
fd, POLLOUT, 0};
poll(&p, 1, -1); // try not to burn CPU time poll(&p, 1, -1); // try not to burn CPU time
// FALL THROUGH // FALL THROUGH
case EINTR: case EINTR:
@ -178,7 +180,8 @@ void reliable_write(int fd, const void *buf, size_t count)
} }
buf += rc; buf += rc;
count -= rc; count -= rc;
} while(count); }
while (count);
} }
@ -196,7 +199,9 @@ void reliable_read(int fd, void *buf, size_t count)
return; return;
case EAGAIN: case EAGAIN:
; // satisfy a C syntax abomination ; // satisfy a C syntax abomination
p = (struct pollfd){fd, POLLIN, 0}; p = (struct pollfd)
{
fd, POLLIN, 0};
poll(&p, 1, -1); // try not to burn CPU time poll(&p, 1, -1); // try not to burn CPU time
// FALL THROUGH // FALL THROUGH
case EINTR: case EINTR:
@ -207,7 +212,8 @@ void reliable_read(int fd, void *buf, size_t count)
break; // EOF. Better not happen before the end! break; // EOF. Better not happen before the end!
buf += rc; buf += rc;
count -= rc; count -= rc;
} while(count); }
while (count);
} }
@ -245,17 +251,23 @@ void run_font_scanner(SDL_Surface * screen)
{ {
char *s; char *s;
s = user_font_families[i]->directory; s = user_font_families[i]->directory;
if(s) size += strlen(s); if (s)
size += strlen(s);
s = user_font_families[i]->family; s = user_font_families[i]->family;
if(s) size += strlen(s); if (s)
size += strlen(s);
s = user_font_families[i]->filename[0]; s = user_font_families[i]->filename[0];
if(s) size += strlen(s); if (s)
size += strlen(s);
s = user_font_families[i]->filename[1]; s = user_font_families[i]->filename[1];
if(s) size += strlen(s); if (s)
size += strlen(s);
s = user_font_families[i]->filename[2]; s = user_font_families[i]->filename[2];
if(s) size += strlen(s); if (s)
size += strlen(s);
s = user_font_families[i]->filename[3]; s = user_font_families[i]->filename[3];
if(s) size += strlen(s); if (s)
size += strlen(s);
size += 6; // for '\0' on each of the above size += 6; // for '\0' on each of the above
} }
size += 2; // for 2-byte font count size += 2; // for 2-byte font count
@ -353,7 +365,8 @@ void receive_some_font_info(SDL_Surface * screen)
} }
rc = read(font_socket_fd, buf + buf_fill, buf_size - buf_fill); rc = read(font_socket_fd, buf + buf_fill, buf_size - buf_fill);
#ifdef DEBUG #ifdef DEBUG
printf("read: fd=%d buf_fill=%u buf_size=%u rc=%ld\n", font_socket_fd, buf_fill, buf_size, rc); printf("read: fd=%d buf_fill=%u buf_size=%u rc=%ld\n", font_socket_fd,
buf_fill, buf_size, rc);
#endif #endif
if (rc == -1) if (rc == -1)
@ -364,7 +377,9 @@ printf("read: fd=%d buf_fill=%u buf_size=%u rc=%ld\n", font_socket_fd, buf_fill,
return; return;
case EAGAIN: case EAGAIN:
; // satisfy a C syntax abomination ; // satisfy a C syntax abomination
p = (struct pollfd){font_socket_fd, POLLIN, 0}; p = (struct pollfd)
{
font_socket_fd, POLLIN, 0};
show_progress_bar(screen); show_progress_bar(screen);
poll(&p, 1, 29); // try not to burn CPU time poll(&p, 1, 29); // try not to burn CPU time
continue; continue;
@ -692,7 +707,8 @@ void parse_font_style(style_info *si)
si->boldness = 1; si->boldness = 1;
// we'll count both TrueType and OpenType // we'll count both TrueType and OpenType
si->truetype = !!strcasestr(si->filename,".ttf") || !!strcasestr(si->filename,".otf"); si->truetype = !!strcasestr(si->filename, ".ttf")
|| !!strcasestr(si->filename, ".otf");
} }
@ -758,7 +774,8 @@ printf(" %s\n", base[i]->style);
boldmid = boldcounts[boldmin + 1] ? boldmin + 1 : boldmin + 2; boldmid = boldcounts[boldmin + 1] ? boldmin + 1 : boldmin + 2;
i = 3; i = 3;
while(i--){ while (i--)
{
if (base[i]->boldness == boldmin) if (base[i]->boldness == boldmin)
zmin = base[i]->italic; zmin = base[i]->italic;
if (base[i]->boldness == boldmid) if (base[i]->boldness == boldmid)
@ -813,7 +830,9 @@ printf(" %s\n", base[i]->style);
if (num_font_families == num_font_families_max) if (num_font_families == num_font_families_max)
{ {
num_font_families_max = num_font_families_max * 5 / 4 + 30; num_font_families_max = num_font_families_max * 5 / 4 + 30;
user_font_families = realloc(user_font_families, num_font_families_max * sizeof *user_font_families); user_font_families =
realloc(user_font_families,
num_font_families_max * sizeof *user_font_families);
} }
fi = calloc(1, sizeof *fi); fi = calloc(1, sizeof *fi);
@ -829,7 +848,8 @@ printf(" %s\n", base[i]->style);
{ {
#if 0 #if 0
// THREADED_FONTS // THREADED_FONTS
printf("too many boldness levels, discarding: %s, %s\n", base[i]->family, base[i]->style); printf("too many boldness levels, discarding: %s, %s\n",
base[i]->family, base[i]->style);
#endif #endif
continue; continue;
} }
@ -839,9 +859,11 @@ printf(" %s\n", base[i]->style);
{ {
#if 0 #if 0
// THREADED_FONTS // THREADED_FONTS
printf("duplicates, discarding: %s, %s\n", base[i]->family, base[i]->style); printf("duplicates, discarding: %s, %s\n", base[i]->family,
base[i]->style);
printf("b %d, spot %d\n", b, spot); printf("b %d, spot %d\n", b, spot);
printf("occupancy %p %p %p %p\n", fi->filename[0], fi->filename[1], fi->filename[2], fi->filename[3]); printf("occupancy %p %p %p %p\n", fi->filename[0], fi->filename[1],
fi->filename[2], fi->filename[3]);
#endif #endif
continue; continue;
} }
@ -901,7 +923,8 @@ void groupfonts(void)
while (i--) while (i--)
parse_font_style(user_font_styles[i]); parse_font_style(user_font_styles[i]);
qsort(user_font_styles, num_font_styles, sizeof user_font_styles[0], compar_fontgroup); qsort(user_font_styles, num_font_styles, sizeof user_font_styles[0],
compar_fontgroup);
//printf("groupfonts() qsort(user_font_styles...)\n"); //printf("groupfonts() qsort(user_font_styles...)\n");
//fflush(stdout); //fflush(stdout);
@ -933,7 +956,8 @@ void groupfonts(void)
free(user_font_styles); free(user_font_styles);
user_font_styles = NULL; // just to catch bugs user_font_styles = NULL; // just to catch bugs
qsort(user_font_families, num_font_families, sizeof user_font_families[0], compar_fontkiller); qsort(user_font_families, num_font_families, sizeof user_font_families[0],
compar_fontkiller);
//printf(stderr, "groupfonts() qsort(user_font_families 1...)\n"); //printf(stderr, "groupfonts() qsort(user_font_families 1...)\n");
//fflush(stdout); //fflush(stdout);
low = 0; low = 0;
@ -946,13 +970,15 @@ void groupfonts(void)
{ {
if (++high >= num_font_families) if (++high >= num_font_families)
break; break;
if(strcmp(user_font_families[low]->family,user_font_families[high]->family)) if (strcmp
(user_font_families[low]->family, user_font_families[high]->family))
break; break;
} }
dupe_markdown_range(user_font_families + low, high - low); dupe_markdown_range(user_font_families + low, high - low);
low = high; low = high;
} }
qsort(user_font_families, num_font_families, sizeof user_font_families[0], compar_fontscore); qsort(user_font_families, num_font_families, sizeof user_font_families[0],
compar_fontscore);
//printf("groupfonts() qsort(user_font_families 2...)\n"); //printf("groupfonts() qsort(user_font_families 2...)\n");
//fflush(stdout); //fflush(stdout);
if (user_font_families[0]->score < 0) if (user_font_families[0]->score < 0)
@ -961,7 +987,8 @@ void groupfonts(void)
// THREADED_FONTS // THREADED_FONTS
printf("Trim starting with %d families\n", num_font_families); printf("Trim starting with %d families\n", num_font_families);
#endif #endif
while(num_font_families>1 && user_font_families[num_font_families-1]->score < 0) while (num_font_families > 1
&& user_font_families[num_font_families - 1]->score < 0)
{ {
i = --num_font_families; i = --num_font_families;
free(user_font_families[i]->directory); free(user_font_families[i]->directory);
@ -1034,7 +1061,8 @@ void loadfonts(SDL_Surface * screen, const char * const dir)
int was_bad_font; int was_bad_font;
// see if two font surfaces are the same // see if two font surfaces are the same
int do_surfcmp(const SDL_Surface *const *const v1, const SDL_Surface *const *const v2) int do_surfcmp(const SDL_Surface * const *const v1,
const SDL_Surface * const *const v2)
{ {
const SDL_Surface *const s1 = *v1; const SDL_Surface *const s1 = *v1;
const SDL_Surface *const s2 = *v2; const SDL_Surface *const s2 = *v2;
@ -1047,7 +1075,8 @@ int do_surfcmp(const SDL_Surface *const *const v1, const SDL_Surface *const *con
printf("s1==s2?\n"); printf("s1==s2?\n");
return 0; return 0;
} }
if(!s1 || !s2 || !s1->w || !s2->w || !s1->h || !s2->h || !s1->format || !s2->format) if (!s1 || !s2 || !s1->w || !s2->w || !s1->h || !s2->h || !s1->format
|| !s2->format)
{ {
was_bad_font = 1; was_bad_font = 1;
return 0; return 0;

View file

@ -79,12 +79,15 @@ extern unsigned text_size;
// commonly hinted sizes seem to be: 9, 10, 12, 14, 18, 20 (less so), 24 // commonly hinted sizes seem to be: 9, 10, 12, 14, 18, 20 (less so), 24
// reasonable: 9,12,18... and 10,14,18... // reasonable: 9,12,18... and 10,14,18...
static int text_sizes[] = { 9, 12, 18, 24, 36, 48, static int text_sizes[] = { 9, 12, 18, 24, 36, 48,
56, 64, 96, 112, 128, 160}; // point sizes 56, 64, 96, 112, 128, 160
}; // point sizes
#define MIN_TEXT_SIZE 0u #define MIN_TEXT_SIZE 0u
#define MAX_TEXT_SIZE (sizeof text_sizes / sizeof text_sizes[0] - 1) #define MAX_TEXT_SIZE (sizeof text_sizes / sizeof text_sizes[0] - 1)
// for sorting through the font files at startup // for sorting through the font files at startup
typedef struct style_info { typedef struct style_info
{
char *filename; char *filename;
char *directory; char *directory;
char *family; // name like "FooCorp Thunderstruck" char *family; // name like "FooCorp Thunderstruck"
@ -96,7 +99,8 @@ typedef struct style_info {
} style_info; } style_info;
// user's notion of a font // user's notion of a font
typedef struct family_info { typedef struct family_info
{
char *directory; char *directory;
char *family; char *family;
char *filename[4]; char *filename[4];
@ -125,10 +129,9 @@ void groupfonts(void);
TTF_Font *getfonthandle(int desire); TTF_Font *getfonthandle(int desire);
void loadfonts(SDL_Surface * screen, const char *const dir); void loadfonts(SDL_Surface * screen, const char *const dir);
int do_surfcmp(const SDL_Surface *const *const v1, const SDL_Surface *const *const v2); int do_surfcmp(const SDL_Surface * const *const v1,
const SDL_Surface * const *const v2);
int surfcmp(const void *s1, const void *s2); int surfcmp(const void *s1, const void *s2);
int charset_works(TTF_Font * font, const char *s); int charset_works(TTF_Font * font, const char *s);
#endif #endif

View file

@ -96,4 +96,3 @@ char * get_fname(const char * const name)
return strdup(f); return strdup(f);
} }

View file

@ -11,4 +11,3 @@ char * get_fname(const char * const name);
#endif #endif

View file

@ -347,9 +347,7 @@ void show_lang_usage(FILE * f, const char * const prg)
{ {
fprintf(f, fprintf(f,
"\n" "\n"
"Usage: %s [--lang LANGUAGE]\n" "Usage: %s [--lang LANGUAGE]\n" "\n" "LANGUAGE may be one of:\n"
"\n"
"LANGUAGE may be one of:\n"
/* C */ " english american-english\n" /* C */ " english american-english\n"
/* af */ " afrikaans\n" /* af */ " afrikaans\n"
/* sq */ " albanian\n" /* sq */ " albanian\n"
@ -357,7 +355,8 @@ void show_lang_usage(FILE * f, const char * const prg)
/* eu */ " basque euskara\n" /* eu */ " basque euskara\n"
/* be */ " belarusian bielaruskaja\n" /* be */ " belarusian bielaruskaja\n"
/* nb */ " bokmal\n" /* nb */ " bokmal\n"
/* pt_BR */ " brazilian brazilian-portuguese portugues-brazilian\n" /* pt_BR */
" brazilian brazilian-portuguese portugues-brazilian\n"
/* br */ " breton brezhoneg\n" /* br */ " breton brezhoneg\n"
/* en_GB */ " british british-english\n" /* en_GB */ " british british-english\n"
/* bg_BG */ " bulgarian\n" /* bg_BG */ " bulgarian\n"
@ -392,7 +391,8 @@ void show_lang_usage(FILE * f, const char * const prg)
/* ku */ " kurdish\n" /* ku */ " kurdish\n"
/* lt */ " lithuanian lietuviu\n" /* lt */ " lithuanian lietuviu\n"
/* ms */ " malay\n" /* ms */ " malay\n"
/* es_MX */ " mexican mexican-spanish espanol-mejicano\n" /* es_MX */
" mexican mexican-spanish espanol-mejicano\n"
/* nn */ " norwegian nynorsk norsk\n" /* nn */ " norwegian nynorsk norsk\n"
/* pl */ " polish polski\n" /* pl */ " polish polski\n"
/* pt_PT */ " portuguese portugues\n" /* pt_PT */ " portuguese portugues\n"
@ -414,8 +414,7 @@ void show_lang_usage(FILE * f, const char * const prg)
/* vi */ " vietnamese\n" /* vi */ " vietnamese\n"
/* wa */ " walloon walon\n" /* wa */ " walloon walon\n"
/* cy */ " welsh cymraeg\n" /* cy */ " welsh cymraeg\n"
"\n", "\n", prg);
prg);
} }
@ -490,9 +489,7 @@ void show_locale_usage(FILE * f, const char * const prg)
" uk_UA (Ukrainian)\n" " uk_UA (Ukrainian)\n"
" vi_VN (Vietnamese)\n" " vi_VN (Vietnamese)\n"
" wa_BE (Walloon)\n" " wa_BE (Walloon)\n"
" cy_GB (Welsh Cymraeg)\n" " cy_GB (Welsh Cymraeg)\n" "\n", prg);
"\n",
prg);
} }
void setup_language(const char *const prg) void setup_language(const char *const prg)
@ -512,7 +509,8 @@ void setup_language(const char * const prg)
if (langstr != NULL) if (langstr != NULL)
{ {
int i = sizeof language_to_locale_array / sizeof language_to_locale_array[0]; int i =
sizeof language_to_locale_array / sizeof language_to_locale_array[0];
const char *locale = NULL; const char *locale = NULL;
while (i--) while (i--)

View file

@ -18,7 +18,8 @@
/* Possible languages: */ /* Possible languages: */
enum { enum
{
LANG_AF, /* Afrikaans */ LANG_AF, /* Afrikaans */
LANG_AR, /* Arabic */ LANG_AR, /* Arabic */
LANG_BE, /* Belarusian */ LANG_BE, /* Belarusian */
@ -89,7 +90,8 @@ enum {
/* Types: */ /* Types: */
typedef struct language_to_locale_struct { typedef struct language_to_locale_struct
{
const char *language; const char *language;
const char *locale; const char *locale;
} language_to_locale_struct; } language_to_locale_struct;
@ -119,4 +121,3 @@ void do_locale_option(const char * const arg);
#endif #endif

View file

@ -25,5 +25,3 @@
#include "SDL.h" #include "SDL.h"
const char *SurfacePrint(SDL_Surface * surface, int showDialog); const char *SurfacePrint(SDL_Surface * surface, int showDialog);

View file

@ -30,7 +30,8 @@
/* What tools are available: */ /* What tools are available: */
enum { enum
{
MAGIC_FILL, MAGIC_FILL,
MAGIC_GRASS, MAGIC_GRASS,
@ -143,14 +144,17 @@ const char * const magic_tips[NUM_MAGICS] = {
gettext_noop("Click and move to fade the colors."), gettext_noop("Click and move to fade the colors."),
gettext_noop("Click and move to darken the colors."), gettext_noop("Click and move to darken the colors."),
gettext_noop("Click and move the mouse around to turn the picture into a chalk drawing."), gettext_noop
("Click and move the mouse around to turn the picture into a chalk drawing."),
gettext_noop("Click and move the mouse around to make the picture blocky."), gettext_noop("Click and move the mouse around to make the picture blocky."),
gettext_noop("Click and move the mouse around to draw a negative."), gettext_noop("Click and move the mouse around to draw a negative."),
gettext_noop("Click and move the mouse around to change the pictures color."), gettext_noop
("Click and move the mouse around to change the pictures color."),
gettext_noop("Click and move the mouse around to make the picture drip."), gettext_noop("Click and move the mouse around to make the picture drip."),
gettext_noop("Click and move the mouse around to turn the picture into a cartoon."), gettext_noop
("Click and move the mouse around to turn the picture into a cartoon."),
gettext_noop("Click to make a mirror image."), gettext_noop("Click to make a mirror image."),
gettext_noop("Click to flip the picture upside-down."), gettext_noop("Click to flip the picture upside-down."),
@ -222,4 +226,3 @@ const int rainbow_hexes[NUM_RAINBOW_COLORS][3] = {
{255, 0, 128}, {255, 0, 128},
{255, 0, 64} {255, 0, 64}
}; };

View file

@ -37,7 +37,9 @@ void putpixel8(SDL_Surface * surface, int x, int y, Uint32 pixel)
Uint8 *p; Uint8 *p;
/* Assuming the X/Y values are within the bounds of this surface... */ /* Assuming the X/Y values are within the bounds of this surface... */
if (likely( likely((unsigned)x<(unsigned)surface->w) && likely((unsigned)y<(unsigned)surface->h) )) if (likely
(likely((unsigned) x < (unsigned) surface->w)
&& likely((unsigned) y < (unsigned) surface->h)))
{ {
// Set a pointer to the exact location in memory of the pixel // Set a pointer to the exact location in memory of the pixel
p = (Uint8 *) (((Uint8 *) surface->pixels) + /* Start: beginning of RAM */ p = (Uint8 *) (((Uint8 *) surface->pixels) + /* Start: beginning of RAM */
@ -58,7 +60,9 @@ void putpixel16(SDL_Surface * surface, int x, int y, Uint32 pixel)
Uint8 *p; Uint8 *p;
/* Assuming the X/Y values are within the bounds of this surface... */ /* Assuming the X/Y values are within the bounds of this surface... */
if (likely( likely((unsigned)x<(unsigned)surface->w) && likely((unsigned)y<(unsigned)surface->h) )) if (likely
(likely((unsigned) x < (unsigned) surface->w)
&& likely((unsigned) y < (unsigned) surface->h)))
{ {
// Set a pointer to the exact location in memory of the pixel // Set a pointer to the exact location in memory of the pixel
p = (Uint8 *) (((Uint8 *) surface->pixels) + /* Start: beginning of RAM */ p = (Uint8 *) (((Uint8 *) surface->pixels) + /* Start: beginning of RAM */
@ -79,7 +83,9 @@ void putpixel24(SDL_Surface * surface, int x, int y, Uint32 pixel)
Uint8 *p; Uint8 *p;
/* Assuming the X/Y values are within the bounds of this surface... */ /* Assuming the X/Y values are within the bounds of this surface... */
if (likely( likely((unsigned)x<(unsigned)surface->w) && likely((unsigned)y<(unsigned)surface->h) )) if (likely
(likely((unsigned) x < (unsigned) surface->w)
&& likely((unsigned) y < (unsigned) surface->h)))
{ {
// Set a pointer to the exact location in memory of the pixel // Set a pointer to the exact location in memory of the pixel
p = (Uint8 *) (((Uint8 *) surface->pixels) + /* Start: beginning of RAM */ p = (Uint8 *) (((Uint8 *) surface->pixels) + /* Start: beginning of RAM */
@ -112,7 +118,9 @@ void putpixel32(SDL_Surface * surface, int x, int y, Uint32 pixel)
Uint8 *p; Uint8 *p;
/* Assuming the X/Y values are within the bounds of this surface... */ /* Assuming the X/Y values are within the bounds of this surface... */
if (likely( likely((unsigned)x<(unsigned)surface->w) && likely((unsigned)y<(unsigned)surface->h) )) if (likely
(likely((unsigned) x < (unsigned) surface->w)
&& likely((unsigned) y < (unsigned) surface->h)))
{ {
// Set a pointer to the exact location in memory of the pixel // Set a pointer to the exact location in memory of the pixel
p = (Uint8 *) (((Uint8 *) surface->pixels) + /* Start: beginning of RAM */ p = (Uint8 *) (((Uint8 *) surface->pixels) + /* Start: beginning of RAM */
@ -239,10 +247,11 @@ Uint32 getpixel32(SDL_Surface * surface, int x, int y)
return *(Uint32 *) p; // 32-bit display return *(Uint32 *) p; // 32-bit display
} }
void (*putpixels[])(SDL_Surface *, int, int, Uint32) = { void (*putpixels[]) (SDL_Surface *, int, int, Uint32) =
{
putpixel8, putpixel8, putpixel16, putpixel24, putpixel32}; putpixel8, putpixel8, putpixel16, putpixel24, putpixel32};
Uint32 (*getpixels[])(SDL_Surface *, int, int) = { Uint32(*getpixels[])(SDL_Surface *, int, int) =
{
getpixel8, getpixel8, getpixel16, getpixel24, getpixel32}; getpixel8, getpixel8, getpixel16, getpixel24, getpixel32};

View file

@ -47,4 +47,3 @@ Uint32 getpixel32(SDL_Surface * surface, int x, int y);
extern Uint32(*getpixels[]) (SDL_Surface *, int, int); extern Uint32(*getpixels[]) (SDL_Surface *, int, int);
#endif #endif

View file

@ -8,7 +8,8 @@ Mix_Chunk * sounds[NUM_SOUNDS];
int mute, use_sound; int mute, use_sound;
int old_sound[4] = { -1, -1, -1, -1 }; int old_sound[4] = { -1, -1, -1, -1 };
void playsound(SDL_Surface * screen, int chan, int s, int override, int x, int y) void playsound(SDL_Surface * screen, int chan, int s, int override, int x,
int y)
{ {
#ifndef NOSOUND #ifndef NOSOUND
int left, dist; int left, dist;
@ -59,4 +60,3 @@ void playsound(SDL_Surface * screen, int chan, int s, int override, int x, int y
} }
#endif #endif
} }

View file

@ -14,7 +14,7 @@
extern Mix_Chunk *sounds[NUM_SOUNDS]; extern Mix_Chunk *sounds[NUM_SOUNDS];
extern int mute, use_sound; extern int mute, use_sound;
void playsound(SDL_Surface * screen, int chan, int s, int override, int x, int y); void playsound(SDL_Surface * screen, int chan, int s, int override, int x,
int y);
#endif #endif

View file

@ -70,4 +70,3 @@ void show_progress_bar(SDL_Surface * screen)
/* FIXME: RESURRECT THIS (bjk 2006.02.18) */ /* FIXME: RESURRECT THIS (bjk 2006.02.18) */
//eat_sdl_events(); //eat_sdl_events();
} }

View file

@ -39,4 +39,3 @@ extern int progress_bar_disabled, prog_bar_ctr;
void show_progress_bar(SDL_Surface * screen); void show_progress_bar(SDL_Surface * screen);
#endif #endif

View file

@ -43,5 +43,3 @@ unsigned char linear_to_sRGB (float linear)
} }
return linear_to_sRGB_table[slot]; return linear_to_sRGB_table[slot];
} }

View file

@ -306,10 +306,8 @@ static const unsigned char linear_to_sRGB_table[4096] =
"\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe" "\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe"
"\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe" "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe"
"\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff" "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff"
"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff";
;
unsigned char linear_to_sRGB(float linear) FUNCTION; unsigned char linear_to_sRGB(float linear) FUNCTION;
#endif #endif

View file

@ -31,7 +31,8 @@
/* What shapes are available: */ /* What shapes are available: */
enum { enum
{
SHAPE_SQUARE, SHAPE_SQUARE,
SHAPE_SQUARE_FILL, SHAPE_SQUARE_FILL,
SHAPE_RECTANGLE, SHAPE_RECTANGLE,
@ -178,16 +179,20 @@ const char * const shape_tips[NUM_SHAPES] = {
gettext_noop("A square is a rectangle with four equal sides."), gettext_noop("A square is a rectangle with four equal sides."),
gettext_noop("A rectangle has four sides and four right angles."), gettext_noop("A rectangle has four sides and four right angles."),
gettext_noop("A rectangle has four sides and four right angles."), gettext_noop("A rectangle has four sides and four right angles."),
gettext_noop("A circle is a curve where all points have the same distance from the centre."), gettext_noop
gettext_noop("A circle is a curve where all points have the same distance from the centre."), ("A circle is a curve where all points have the same distance from the centre."),
gettext_noop
("A circle is a curve where all points have the same distance from the centre."),
gettext_noop("An ellipse is a stretched circle."), gettext_noop("An ellipse is a stretched circle."),
gettext_noop("An ellipse is a stretched circle."), gettext_noop("An ellipse is a stretched circle."),
gettext_noop("A triangle has three sides."), gettext_noop("A triangle has three sides."),
gettext_noop("A triangle has three sides."), gettext_noop("A triangle has three sides."),
gettext_noop("A pentagon has five sides."), gettext_noop("A pentagon has five sides."),
gettext_noop("A pentagon has five sides."), gettext_noop("A pentagon has five sides."),
gettext_noop("A rhombus has four equal sides, and opposite sides are parallel."), gettext_noop
gettext_noop("A rhombus has four equal sides, and opposite sides are parallel.") ("A rhombus has four equal sides, and opposite sides are parallel."),
gettext_noop
("A rhombus has four equal sides, and opposite sides are parallel.")
}; };
@ -209,4 +214,3 @@ const char * const shape_img_fnames[NUM_SHAPES] = {
DATA_PREFIX "images/shapes/diamond.png", DATA_PREFIX "images/shapes/diamond.png",
DATA_PREFIX "images/shapes/diamond_f.png" DATA_PREFIX "images/shapes/diamond_f.png"
}; };

View file

@ -35,7 +35,8 @@
#define SND_NONE -1 #define SND_NONE -1
enum { enum
{
SND_HARP, /* Begin / New */ SND_HARP, /* Begin / New */
SND_CLICK, /* Tool selections */ SND_CLICK, /* Tool selections */
SND_BLEEP, /* Selector selection */ SND_BLEEP, /* Selector selection */
@ -136,4 +137,3 @@ static const char * sound_fnames[NUM_SOUNDS] = {
}; };
#endif #endif

View file

@ -18,7 +18,8 @@
/* What tuxes are available: */ /* What tuxes are available: */
enum { enum
{
TUX_DEFAULT, TUX_DEFAULT,
TUX_KISS, TUX_KISS,
TUX_BORED, TUX_BORED,

View file

@ -16,7 +16,8 @@
/* What titles are available: */ /* What titles are available: */
enum { enum
{
TITLE_NONE, TITLE_NONE,
TITLE_NOCOLORS, TITLE_NOCOLORS,
TITLE_TOOLS, TITLE_TOOLS,
@ -45,4 +46,3 @@ const char * const title_names[NUM_TITLES] = {
gettext_noop("Letters"), gettext_noop("Letters"),
gettext_noop("Magic") gettext_noop("Magic")
}; };

View file

@ -18,7 +18,8 @@
/* What tools are available: */ /* What tools are available: */
enum { enum
{
TOOL_BRUSH, TOOL_BRUSH,
TOOL_STAMP, TOOL_STAMP,
TOOL_LINES, TOOL_LINES,
@ -63,8 +64,10 @@ const char * const tool_tips[NUM_TOOLS] = {
gettext_noop("Pick a color and a brush shape to draw with."), gettext_noop("Pick a color and a brush shape to draw with."),
gettext_noop("Pick a picture to stamp around your drawing."), gettext_noop("Pick a picture to stamp around your drawing."),
gettext_noop("Click to start drawing a line. Let go to complete it."), gettext_noop("Click to start drawing a line. Let go to complete it."),
gettext_noop("Pick a shape. Click to pick the center, drag, then let go when it is the size you want. Move around to rotate it, and click to draw it."), gettext_noop
gettext_noop("Choose a style of text. Click on your drawing and you can start typing."), ("Pick a shape. Click to pick the center, drag, then let go when it is the size you want. Move around to rotate it, and click to draw it."),
gettext_noop
("Choose a style of text. Click on your drawing and you can start typing."),
gettext_noop("Pick a magical effect to use on your drawing!"), gettext_noop("Pick a magical effect to use on your drawing!"),
/* Undo */ gettext_noop("Undo!"), /* Undo */ gettext_noop("Undo!"),
/* Redo */ gettext_noop("Redo!"), /* Redo */ gettext_noop("Redo!"),
@ -120,4 +123,3 @@ const int tool_tux[NUM_TOOLS] = {
TUX_GREAT, TUX_GREAT,
TUX_DEFAULT TUX_DEFAULT
}; };

File diff suppressed because it is too large Load diff

View file

@ -29,46 +29,42 @@
/* $Id$ */ /* $Id$ */
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <assert.h> #include <assert.h>
#include "win32_dirent.h" #include "win32_dirent.h"
#include "debug.h" #include "debug.h"
DIR * opendir(const char *pSpec) DIR * opendir(const char *pSpec)
{ {
char pathname[MAX_PATH + 2]; char pathname[MAX_PATH + 2];
DIR * pDir = calloc(1, sizeof(DIR)); DIR * pDir = calloc(1, sizeof(DIR));
if (!pDir)
if ( !pDir ) return NULL; return NULL;
strcpy(pathname, pSpec); strcpy(pathname, pSpec);
strcat(pathname, "/*"); strcat(pathname, "/*");
pDir->hFind = FindFirstFile(pathname, &pDir->wfd); pDir->hFind = FindFirstFile(pathname, &pDir->wfd);
if (pDir->hFind == INVALID_HANDLE_VALUE) if (pDir->hFind == INVALID_HANDLE_VALUE)
{ {
free(pDir); free(pDir);
pDir = NULL; pDir = NULL;
} }
return pDir; return pDir;
} }
void closedir(DIR * pDir) void closedir(DIR * pDir)
{ {
assert(pDir != NULL); assert(pDir != NULL);
free(pDir); free(pDir);
} } struct dirent *readdir(struct DIR *pDir)
struct dirent *readdir(struct DIR *pDir)
{ {
assert(pDir != NULL); assert(pDir != NULL);
if (pDir->hFind) if (pDir->hFind)
{ {
strcpy(pDir->de.d_name, (const char *) pDir->wfd.cFileName); strcpy(pDir->de.d_name, (const char *) pDir->wfd.cFileName);
if (!FindNextFile(pDir->hFind, &pDir->wfd)) if (!FindNextFile(pDir->hFind, &pDir->wfd))
{ {
FindClose(pDir->hFind); FindClose(pDir->hFind);
pDir->hFind = NULL; pDir->hFind = NULL;
@ -77,59 +73,56 @@ struct dirent *readdir(struct DIR *pDir)
} }
return NULL; return NULL;
} }
int alphasort(const void *a, const void *b) int alphasort(const void *a, const void *b)
{ {
return(strcmp((*(const struct dirent **)a)->d_name, (*(const struct dirent **)b)->d_name)); return (strcmp
} ((*(const struct dirent **) a)->d_name,
(*(const struct dirent **) b)->d_name));
} static int addToList(int i, struct dirent ***namelist,
static int addToList( int i, struct dirent ***namelist, struct dirent *entry ) struct dirent *entry)
{ {
int size; int size;
struct dirent *block; struct dirent *block;
*namelist =
*namelist = (struct dirent**)realloc( (void*)(*namelist), (size_t)((i+1)*sizeof(struct dirent*)) ); (struct dirent **) realloc((void *) (*namelist),
if ( *namelist == NULL ) return -1; (size_t) ((i + 1) * sizeof(struct dirent *)));
if (*namelist == NULL)
size = (((char*)&entry->d_name)-((char*)entry))+strlen(entry->d_name)+1; return -1;
size =
(((char *) &entry->d_name) - ((char *) entry)) + strlen(entry->d_name) +
1;
block = (struct dirent *) malloc(size); block = (struct dirent *) malloc(size);
if (block == NULL)
if ( block == NULL ) return -1; return -1;
(*namelist)[i] = block; (*namelist)[i] = block;
memcpy(block, entry, size); memcpy(block, entry, size);
return ++i; return ++i;
} }
int scandir(const char *dir, struct dirent ***namelist, selectCB select,
comparCB compar)
int scandir( const char *dir, struct dirent ***namelist, selectCB select, comparCB compar)
{ {
DIR * pDir; DIR * pDir;
int count; int count;
struct dirent *entry; struct dirent *entry;
assert((dir != NULL) && (namelist != NULL)); assert((dir != NULL) && (namelist != NULL));
pDir = opendir(dir); pDir = opendir(dir);
if (!pDir)
if ( !pDir ) return -1; return -1;
count = 0; count = 0;
while ((entry = readdir(pDir)) != NULL) while ((entry = readdir(pDir)) != NULL)
{ {
if (select == NULL || (select != NULL && select(entry))) if (select == NULL || (select != NULL && select(entry)))
if ((count = addToList(count, namelist, entry)) < 0) if ((count = addToList(count, namelist, entry)) < 0)
break; break;
} }
closedir(pDir); closedir(pDir);
if ( count <= 0 ) return -1; if (count <= 0)
return -1;
if (compar != NULL) if (compar != NULL)
qsort( (void *)(*namelist), (size_t)count, sizeof(struct dirent *), compar ); qsort((void *) (*namelist), (size_t) count, sizeof(struct dirent *),
compar);
return count; return count;
} }

View file

@ -8,7 +8,6 @@
/* */ /* */
/****************************************************/ /****************************************************/
/* $Id$ */ /* $Id$ */
typedef long BOOL; typedef long BOOL;
typedef unsigned int DWORD; typedef unsigned int DWORD;
typedef wchar_t TCHAR; typedef wchar_t TCHAR;
@ -17,13 +16,11 @@ typedef void* HANDLE;
#define MAX_PATH 256 #define MAX_PATH 256
#define INVALID_HANDLE_VALUE ((HANDLE)(-1)) #define INVALID_HANDLE_VALUE ((HANDLE)(-1))
#define WINAPI __stdcall #define WINAPI __stdcall
typedef struct typedef struct
{ {
DWORD dwLowDateTime; DWORD dwLowDateTime;
DWORD dwHighDateTime; DWORD dwHighDateTime;
} FILETIME; } FILETIME;
typedef struct typedef struct
{ {
DWORD dwFileAttributes; DWORD dwFileAttributes;
@ -38,45 +35,39 @@ typedef struct
TCHAR cAlternateFileName[14]; TCHAR cAlternateFileName[14];
} WIN32_FIND_DATA; } WIN32_FIND_DATA;
#define FindFirstFile FindFirstFileA #define FindFirstFile FindFirstFileA
#define FindNextFile FindNextFileA #define FindNextFile FindNextFileA
#define FindClose FindClose #define FindClose FindClose
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C"
#endif {
#endif /* */
extern HANDLE WINAPI FindFirstFile(const char *, WIN32_FIND_DATA *); extern HANDLE WINAPI FindFirstFile(const char *, WIN32_FIND_DATA *);
extern BOOL WINAPI FindNextFile(HANDLE, WIN32_FIND_DATA *); extern BOOL WINAPI FindNextFile(HANDLE, WIN32_FIND_DATA *);
extern BOOL WINAPI FindClose(HANDLE); extern BOOL WINAPI FindClose(HANDLE);
#ifdef __cplusplus #ifdef __cplusplus
}; };
#endif
#endif /* */
struct dirent struct dirent
{ {
char d_name[MAX_PATH]; char d_name[MAX_PATH];
}; };
typedef struct typedef struct
{ {
WIN32_FIND_DATA wfd; WIN32_FIND_DATA wfd;
HANDLE hFind; HANDLE hFind;
struct dirent de; struct dirent de;
} DIR; } DIR;
extern DIR *opendir(const char *pSpec); extern DIR *opendir(const char *pSpec);
extern void closedir(DIR * pDir); extern void closedir(DIR * pDir);
extern struct dirent *readdir(struct DIR *pDir); extern struct dirent *readdir(struct DIR *pDir);
typedef int (*selectCB) (const struct dirent *); typedef int (*selectCB) (const struct dirent *);
typedef int (*comparCB) (const void *, const void *); typedef int (*comparCB) (const void *, const void *);
extern int alphasort(const void *a, const void *b); extern int alphasort(const void *a, const void *b);
extern int scandir( const char *dir, struct dirent ***namelist, selectCB select, comparCB compar); extern int scandir(const char *dir, struct dirent ***namelist,
selectCB select, comparCB compar);

View file

@ -79,7 +79,8 @@ static SDL_Surface *make24bitDIB(SDL_Surface *surf)
surf24 = SDL_ConvertSurface(surf, &pixfmt, SDL_SWSURFACE); surf24 = SDL_ConvertSurface(surf, &pixfmt, SDL_SWSURFACE);
surfDIB = SDL_CreateRGBSurface(SDL_SWSURFACE, surf24->w, surf24->h, 24, surfDIB = SDL_CreateRGBSurface(SDL_SWSURFACE, surf24->w, surf24->h, 24,
pixfmt.Rmask, pixfmt.Gmask, pixfmt.Bmask, pixfmt.Amask); pixfmt.Rmask, pixfmt.Gmask, pixfmt.Bmask,
pixfmt.Amask);
linesize = surf24->w * 3; // Flip top2bottom linesize = surf24->w * 3; // Flip top2bottom
dst = surfDIB->pixels; dst = surfDIB->pixels;
@ -115,9 +116,12 @@ static int GetDefaultPrinterStrings(char *device, char *driver, char *output)
((drv = strtok(NULL, ", ")) != NULL) && ((drv = strtok(NULL, ", ")) != NULL) &&
((out = strtok(NULL, ", ")) != NULL)) ((out = strtok(NULL, ", ")) != NULL))
{ {
if (device) strcpy(device, dev); if (device)
if (driver) strcpy(driver, drv); strcpy(device, dev);
if (output) strcpy(output, out); if (driver)
strcpy(driver, drv);
if (output)
strcpy(output, out);
return 1; return 1;
} }
return 0; return 0;
@ -181,15 +185,20 @@ static HANDLE LoadCustomPrinterHDEVMODE(HWND hWnd, const char *filepath)
return hDevMode; return hDevMode;
err_exit: err_exit:
if (fp) fclose(fp); if (fp)
if (devmode) GlobalUnlock(hDevMode); fclose(fp);
if (hDevMode) GlobalFree(hDevMode); if (devmode)
if (hPrinter) ClosePrinter(hPrinter); GlobalUnlock(hDevMode);
if (hDevMode)
GlobalFree(hDevMode);
if (hPrinter)
ClosePrinter(hPrinter);
return NULL; return NULL;
} }
static int SaveCustomPrinterHDEVMODE(HWND hWnd, const char *filepath, HANDLE hDevMode) static int SaveCustomPrinterHDEVMODE(HWND hWnd, const char *filepath,
HANDLE hDevMode)
{ {
FILE *fp = NULL; FILE *fp = NULL;
@ -236,7 +245,8 @@ static HDC GetCustomPrinterDC(HWND hWnd, const char *printcfg, int show)
{ {
DEVMODE *devmode = (DEVMODE *) GlobalLock(global_pd.hDevMode); DEVMODE *devmode = (DEVMODE *) GlobalLock(global_pd.hDevMode);
global_pd.hDC = CreateDC(NULL, (const char*)devmode->dmDeviceName, NULL, devmode); global_pd.hDC =
CreateDC(NULL, (const char *) devmode->dmDeviceName, NULL, devmode);
GlobalUnlock(global_pd.hDevMode); GlobalUnlock(global_pd.hDevMode);
} }
return global_pd.hDC; return global_pd.hDC;
@ -256,7 +266,8 @@ static HDC GetDefaultPrinterDC(void)
static HDC GetPrinterDC(HWND hWnd, const char *printcfg, int show) static HDC GetPrinterDC(HWND hWnd, const char *printcfg, int show)
{ {
if (!printcfg) return GetDefaultPrinterDC(); if (!printcfg)
return GetDefaultPrinterDC();
return GetCustomPrinterDC(hWnd, printcfg, show); return GetCustomPrinterDC(hWnd, printcfg, show);
} }
@ -268,7 +279,8 @@ static int IsBandingRequired(HDC hPrinter)
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
if (GetVersionEx(&osvi) && (osvi.dwPlatformId != VER_PLATFORM_WIN32_NT)) if (GetVersionEx(&osvi) && (osvi.dwPlatformId != VER_PLATFORM_WIN32_NT))
return Escape(hPrinter, QUERYESCSUPPORT, sizeof(int), (LPCSTR)&indata, NULL); return Escape(hPrinter, QUERYESCSUPPORT, sizeof(int), (LPCSTR) & indata,
NULL);
return 0; return 0;
} }
@ -279,7 +291,8 @@ int IsPrinterAvailable(void)
} }
const char *SurfacePrint(SDL_Surface *surf, const char *printcfg, int showdialog) const char *SurfacePrint(SDL_Surface * surf, const char *printcfg,
int showdialog)
{ {
const char *res = NULL; const char *res = NULL;
HWND hWnd; HWND hWnd;
@ -399,12 +412,14 @@ const char *SurfacePrint(SDL_Surface *surf, const char *printcfg, int showdialog
RECT rcPrinter; RECT rcPrinter;
RECT rcImage; RECT rcImage;
SetRect(&rcPrinter, xLeft, yTop, (int)(fScaleX*bmih.biWidth), (int)(fScaleY*bmih.biHeight)); SetRect(&rcPrinter, xLeft, yTop, (int) (fScaleX * bmih.biWidth),
(int) (fScaleY * bmih.biHeight));
SetRect(&rcImage, 0, 0, bmih.biWidth, bmih.biHeight); SetRect(&rcImage, 0, 0, bmih.biWidth, bmih.biHeight);
while (Escape(hDCprinter, NEXTBAND, 0, NULL, &rcBand)) while (Escape(hDCprinter, NEXTBAND, 0, NULL, &rcBand))
{ {
if (IsRectEmpty(&rcBand)) break; if (IsRectEmpty(&rcBand))
break;
if (IntersectRect(&rcBand, &rcBand, &rcPrinter)) if (IntersectRect(&rcBand, &rcBand, &rcPrinter))
{ {
rcImage.top = (int) (0.5f + (float) rcBand.top / fScaleX); rcImage.top = (int) (0.5f + (float) rcBand.top / fScaleX);
@ -464,9 +479,12 @@ const char *SurfacePrint(SDL_Surface *surf, const char *printcfg, int showdialog
EndDoc(hDCprinter); EndDoc(hDCprinter);
error: error:
if (hdcMem) DeleteDC(hdcMem); if (hdcMem)
if (hbm) DeleteObject(hbm); DeleteDC(hdcMem);
if (surf24) SDL_FreeSurface(surf24); if (hbm)
DeleteObject(hbm);
if (surf24)
SDL_FreeSurface(surf24);
EnableWindow(hWnd, TRUE); EnableWindow(hWnd, TRUE);
DeleteDC(hDCprinter); DeleteDC(hDCprinter);
@ -477,7 +495,8 @@ error:
/* /*
Read access to Windows Registry Read access to Windows Registry
*/ */
static HRESULT ReadRegistry(const char *key, const char *option, char *value, int size) static HRESULT ReadRegistry(const char *key, const char *option, char *value,
int size)
{ {
LONG res; LONG res;
HKEY hKey = NULL; HKEY hKey = NULL;
@ -485,13 +504,16 @@ static HRESULT ReadRegistry(const char *key, const char *option, char *value, in
res = RegOpenKeyEx(HKEY_CURRENT_USER, key, 0, KEY_READ, &hKey); res = RegOpenKeyEx(HKEY_CURRENT_USER, key, 0, KEY_READ, &hKey);
if (res != ERROR_SUCCESS) if (res != ERROR_SUCCESS)
goto err_exit; goto err_exit;
res = RegQueryValueEx(hKey, option, NULL, NULL, (LPBYTE)value, (LPDWORD)&size); res =
RegQueryValueEx(hKey, option, NULL, NULL, (LPBYTE) value,
(LPDWORD) & size);
if (res != ERROR_SUCCESS) if (res != ERROR_SUCCESS)
goto err_exit; goto err_exit;
res = ERROR_SUCCESS; res = ERROR_SUCCESS;
err_exit: err_exit:
if (hKey) RegCloseKey(hKey); if (hKey)
RegCloseKey(hKey);
return HRESULT_FROM_WIN32(res); return HRESULT_FROM_WIN32(res);
} }
@ -520,7 +542,8 @@ char *GetDefaultSaveDir(const char *suffix)
{ {
char prefix[MAX_PATH]; char prefix[MAX_PATH];
char path[2 * MAX_PATH]; char path[2 * MAX_PATH];
const char *key = "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders"; const char *key =
"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders";
const char *option = "AppData"; const char *option = "AppData";
HRESULT hr = S_OK; HRESULT hr = S_OK;
@ -541,7 +564,8 @@ char *GetDefaultSaveDir(const char *suffix)
char *GetSystemFontDir(void) char *GetSystemFontDir(void)
{ {
char path[MAX_PATH]; char path[MAX_PATH];
const char *key = "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders"; const char *key =
"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders";
const char *option = "Fonts"; const char *option = "Fonts";
HRESULT hr = S_OK; HRESULT hr = S_OK;
@ -552,5 +576,3 @@ char *GetSystemFontDir(void)
} }
return strdup("C:\\WINDOWS\\FONTS"); return strdup("C:\\WINDOWS\\FONTS");
} }

View file

@ -16,8 +16,7 @@
/* if printcfg is NULL, uses the default printer */ /* if printcfg is NULL, uses the default printer */
extern const char *SurfacePrint(SDL_Surface * surf, extern const char *SurfacePrint(SDL_Surface * surf,
const char *printcfg, const char *printcfg, int showdialog);
int showdialog );
extern int IsPrinterAvailable(void); extern int IsPrinterAvailable(void);
/* additional windows functions requiring <windows.h> */ /* additional windows functions requiring <windows.h> */