/trunk/BUILDING.md |
---|
101,6 → 101,10 |
* Most recently tested with Open Watcom 1.9 and Adobe Photoshop SDK CC 2017. |
BUILDING WITH MINGW32/64 |
* IMPORTANT: Building with MINGW32/64 is currently NOT possible |
because the resoure compiler doesn't resolve the compiler (windres) constants of language.h in |
language_win.rc and shows a syntax error. You can compile if you replace the constants by hand. |
Reported bug in May 8, 2022 via email, because the bugtracker doesn't allow user account creation. |
* Mingw32 can be hosted on virtually any UNIX or Linux system, or under Windows. |
* Download: http://mingw-w64.org/doku.php/download/mingw-builds |
* Do NOT install mingw32 to a directory that contains white spaces (i.e. "C:\Program Files (x86)\")! |
/trunk/ff.h |
---|
156,9 → 156,6 |
Boolean setup(FilterRecordPtr pb); |
void evalpixel(unsigned char *outp,unsigned char *inp); |
// from ui.c |
void strcpy_win_replace_ampersand(char* dst, char* src); |
// from make.c |
unsigned long printablehash(unsigned long hash); |
size_t fixpipl(PIPropertyList *pipl,size_t origsize,char* title, char* category, long *event_id); |
/trunk/telegraphics_common/tt/str.c |
---|
166,3 → 166,24 |
return str1; |
} |
*/ |
void strcpy_win_replace_ampersand(char* dst, char* src) { |
size_t i; |
for (i = 0; i < strlen(src); i++) { |
#ifdef WIN_ENV |
// & needs to be replaced to && in: |
// - Labels (SETCTLTEXT) |
// - Menu items (i.e. PIPL) |
// It is not required in: |
// - Filedialog FileName |
// - MessageBox title or content |
// - Window titles |
// - Input boxes, e.g. import+export of an existing filter |
if (src[i] == '&') { |
*dst++ = src[i]; |
} |
#endif |
* dst++ = src[i]; |
} |
*dst++ = '\0'; |
} |
/trunk/telegraphics_common/tt/str.h |
---|
67,4 → 67,6 |
/* in-place conversion from Pascal to C string */ |
//#define INPLACEP2CSTR(s) ((s)[*(s)+1] = 0,(char*)(s)+1) |
void strcpy_win_replace_ampersand(char* dst, char* src); |
#endif |
/trunk/ui.c |
---|
254,27 → 254,6 |
/* one-time initialisation of dialog box */ |
void strcpy_win_replace_ampersand(char *dst, char *src) { |
size_t i; |
for (i = 0; i < strlen(src); i++) { |
#ifdef WIN_ENV |
// & needs to be replaced to && in: |
// - Labels (SETCTLTEXT) |
// - Menu items (i.e. PIPL) |
// It is not required in: |
// - Filedialog FileName |
// - MessageBox title or content |
// - Window titles |
// - Input boxes, e.g. import+export of an existing filter |
if (src[i] == '&') { |
*dst++ = src[i]; |
} |
#endif |
*dst++ = src[i]; |
} |
*dst++ = '\0'; |
} |
void maindlginit(DIALOGREF dp){ |
char s[0x100]; |
int i; |
/trunk/ui_build.c |
---|
90,14 → 90,14 |
Boolean containsUnicodeInput(DIALOGREF dp, int item) { |
enum { MAXFIELD = 0x100 }; |
char s[MAXFIELD + 1]; |
char sa[MAXFIELD + 1]; |
wchar_t sw[MAXFIELD + 1]; |
size_t i; |
GetDlgItemTextA(dp, item, s, MAXFIELD); |
GetDlgItemTextA(dp, item, sa, MAXFIELD); |
GetDlgItemTextW(dp, item, sw, MAXFIELD); |
for (i = 0; i < strlen(s); i++) { |
if (((wchar_t)s[i] != sw[i]) && (s[i] == '?')) { |
for (i = 0; i < strlen(sa); i++) { |
if (((wchar_t)sa[i] != sw[i]) && (sa[i] == '?')) { |
return true; |
} |
} |
186,8 → 186,8 |
#ifdef UNICODE |
if (unicode) { |
// TODO: In this message, we recommend that the user chooses character of his own charset. |
// BUT: The user should actually only choose A-Z, otherwise stuff might be displayed wrong on foreign computers?! |
// "unicode" means that there are characters that will be converted to "?" when converting wchar_t* => char* |
// Note that this is might be not true if your the characters are mapped in your current default Ansi Charset (e.g. German Umlauts on a German computer) |
simplewarning_id(MSG_UNICODE_DATA_WARNING_ID); |
} |
else |