uppsrc_merged.diff
| uppsrc/Core/Util.cpp | ||
|---|---|---|
| 664 | 664 |
return h; |
| 665 | 665 |
} |
| 666 | 666 | |
| 667 |
String GetLineEndings(const String& data, const String& default_eol) |
|
| 668 |
{
|
|
| 669 |
int q = data.ReverseFind("\n");
|
|
| 670 |
if(q >= 0) {
|
|
| 671 |
if(data.Mid(q - 1, 1) == "\r") |
|
| 672 |
return "\r\n"; |
|
| 673 |
else |
|
| 674 |
return "\n"; |
|
| 675 |
} |
|
| 676 |
#if 0 |
|
| 677 |
else if(data.ReverseFind("\r") >= 0)
|
|
| 678 |
return "\r"; |
|
| 679 |
#endif |
|
| 680 |
return default_eol; |
|
| 681 |
} |
|
| 682 | ||
| 667 | 683 |
void RegisterGlobalConfig(const char *name) |
| 668 | 684 |
{
|
| 669 | 685 |
Mutex::Lock __(sGCfgLock); |
| uppsrc/Core/Util.h | ||
|---|---|---|
| 449 | 449 |
return Load(x, ss); |
| 450 | 450 |
} |
| 451 | 451 | |
| 452 |
String GetLineEndings(const String& data, const String& default_eol = "\r\n"); |
|
| 453 | ||
| 452 | 454 |
void RegisterGlobalConfig(const char *name); |
| 453 | 455 |
void RegisterGlobalSerialize(const char *name, Event<Stream&> WhenSerialize); |
| 454 | 456 |
void RegisterGlobalConfig(const char *name, Event<> WhenFlush); |
| uppsrc/IconDes/ImlFile.cpp | ||
|---|---|---|
| 185 | 185 |
} |
| 186 | 186 |
} |
| 187 | 187 | |
| 188 |
String ImlEOL("\r\n");
|
|
| 189 | ||
| 188 | 190 |
bool LoadIml(const String& data, Array<ImlImage>& img, int& format) |
| 189 | 191 |
{
|
| 192 |
ImlEOL = GetLineEndings(data); |
|
| 190 | 193 |
CParser p(data); |
| 191 | 194 |
format = 0; |
| 192 | 195 |
try {
|
| ... | ... | |
| 277 | 280 |
int64 start = out.GetPos(); |
| 278 | 281 |
while(b < e) {
|
| 279 | 282 |
if(split && out.GetPos() >= start + 200u) {
|
| 280 |
out.Put("\"\r\n\t\"");
|
|
| 283 |
out << "\"" << ImlEOL << "\t\"";
|
|
| 281 | 284 |
start = out.GetPos(); |
| 282 | 285 |
} |
| 283 | 286 |
if((byte)*b >= ' ' && *b != '\x7F' && *b != '\xFF') {
|
| ... | ... | |
| 299 | 302 |
for(int i = 0; i < iml.GetCount(); i++) {
|
| 300 | 303 |
const ImlImage& c = iml[i]; |
| 301 | 304 |
if(c.exp) |
| 302 |
out << "IMAGE_META(\"exp\", \"\")\r\n";
|
|
| 305 |
out << "IMAGE_META(\"exp\", \"\")" << ImlEOL;
|
|
| 303 | 306 |
String name = c.name; |
| 304 | 307 |
Image buffer = c.image; |
| 305 | 308 |
if(IsNull(name)) |
| ... | ... | |
| 314 | 317 |
out.PutLine("\tIMAGE_SCAN(\"\")");
|
| 315 | 318 |
out.Put("\tIMAGE_SCAN(");
|
| 316 | 319 |
PutOctalString(out, scan.Begin(), scan.End(), true); |
| 317 |
out.Put(")\r\n");
|
|
| 320 |
out << ")" << ImlEOL;
|
|
| 318 | 321 |
last = i + 1; |
| 319 | 322 |
} |
| 320 | 323 |
} |
| ... | ... | |
| 331 | 334 |
ASSERT(!datastrm.IsError()); |
| 332 | 335 |
String s = datastrm.GetResult(); |
| 333 | 336 |
PutOctalString(out, s.Begin(), s.End()); |
| 334 |
out.Put(")\r\n");
|
|
| 337 |
out << ")" << ImlEOL;
|
|
| 335 | 338 |
} |
| 336 | 339 |
} |
| 337 | 340 |
else {
|
| 338 |
out << "PREMULTIPLIED\r\n";
|
|
| 341 |
out << "PREMULTIPLIED" << ImlEOL;
|
|
| 339 | 342 |
Index<String> std_name; |
| 340 | 343 |
for(int i = 0; i < iml.GetCount(); i++) {
|
| 341 | 344 |
const ImlImage& c = iml[i]; |
| ... | ... | |
| 351 | 354 |
out << "__DARK"; |
| 352 | 355 |
out << ")"; |
| 353 | 356 |
if(c.exp) |
| 354 |
out << " IMAGE_META(\"exp\", \"\")\r\n";
|
|
| 355 |
out << "\r\n";
|
|
| 357 |
out << " IMAGE_META(\"exp\", \"\")" << ImlEOL;
|
|
| 358 |
out << ImlEOL;
|
|
| 356 | 359 |
} |
| 357 | 360 |
int ii = 0; |
| 358 | 361 |
while(ii < iml.GetCount()) {
|
| ... | ... | |
| 372 | 375 |
bn++; |
| 373 | 376 |
} |
| 374 | 377 |
String bs = PackImlData(bimg); |
| 375 |
out << "\r\nIMAGE_BEGIN_DATA\r\n";
|
|
| 378 |
out << ImlEOL << "IMAGE_BEGIN_DATA" << ImlEOL;
|
|
| 376 | 379 |
bs.Cat(0, ((bs.GetCount() + 31) & ~31) - bs.GetCount()); |
| 377 | 380 |
const byte *s = bs; |
| 378 | 381 |
for(int n = bs.GetCount() / 32; n--;) {
|
| ... | ... | |
| 381 | 384 |
if(j) out << ','; |
| 382 | 385 |
out << (int)*s++; |
| 383 | 386 |
} |
| 384 |
out << ")\r\n";
|
|
| 387 |
out << ")" << ImlEOL;
|
|
| 385 | 388 |
} |
| 386 |
out << "IMAGE_END_DATA(" << bs.GetCount() << ", " << bn << ")\r\n";
|
|
| 389 |
out << "IMAGE_END_DATA(" << bs.GetCount() << ", " << bn << ")" << ImlEOL;
|
|
| 387 | 390 |
} |
| 388 | 391 |
} |
| 389 | 392 |
return out.GetResult(); |
| uppsrc/ide/LayDes/LayDes.h | ||
|---|---|---|
| 276 | 276 |
virtual void Layout() override; |
| 277 | 277 |
virtual bool HotKey(dword key) override; |
| 278 | 278 | |
| 279 |
static String EOL; |
|
| 280 |
static void SetEOL(const String& le) { EOL = le; }
|
|
| 281 | ||
| 279 | 282 |
private: |
| 280 | 283 |
bool DoKey(dword key, int count); |
| 281 | 284 |
bool DoHotKey(dword key); |
| uppsrc/ide/LayDes/item.cpp | ||
|---|---|---|
| 212 | 212 |
else |
| 213 | 213 |
out << "\tITEM(" << type << ", ";
|
| 214 | 214 |
String var = variable.IsEmpty() ? Format("dv___%d", i) : variable;
|
| 215 |
out << var << ", " << SaveProperties(y) << ")\r\n";
|
|
| 215 |
out << var << ", " << SaveProperties(y) << ")" << LayDes::EOL;
|
|
| 216 | 216 |
return out; |
| 217 | 217 |
} |
| 218 | 218 | |
| uppsrc/ide/LayDes/layfile.cpp | ||
|---|---|---|
| 107 | 107 |
newfile = false; |
| 108 | 108 |
filetime = in.GetTime(); |
| 109 | 109 |
fileerror.Clear(); |
| 110 |
SetEOL(GetLineEndings(layfile)); |
|
| 110 | 111 |
try {
|
| 111 | 112 |
CParser p(layfile); |
| 112 | 113 |
if(p.Char('#') && p.Id("ifdef")) {
|
| ... | ... | |
| 129 | 130 |
else {
|
| 130 | 131 |
newfile = true; |
| 131 | 132 |
filetime = Null; |
| 133 |
SetEOL("\r\n");
|
|
| 132 | 134 |
} |
| 133 | 135 |
search <<= Null; |
| 134 | 136 |
SyncLayoutList(); |
| ... | ... | |
| 149 | 151 |
String r; |
| 150 | 152 |
for(int i = 0; i < layout.GetCount(); i++) {
|
| 151 | 153 |
layout[i].SetCharset(charset); |
| 152 |
r << layout[i].Save(0) << "\r\n";
|
|
| 154 |
r << layout[i].Save(0) << LayDes::EOL;
|
|
| 153 | 155 |
} |
| 154 | 156 |
layfile = r; |
| 155 | 157 |
if(!SaveChangedFileFinish(filename, r)) |
| uppsrc/ide/LayDes/layout.cpp | ||
|---|---|---|
| 94 | 94 |
String LayoutData::Save(int y) |
| 95 | 95 |
{
|
| 96 | 96 |
String out; |
| 97 |
out << "LAYOUT(" << name << ", " << size.cx << ", " << size.cy << ")\r\n";
|
|
| 97 |
out << "LAYOUT(" << name << ", " << size.cx << ", " << size.cy << ")" << LayDes::EOL;
|
|
| 98 | 98 |
for(int i = 0; i < item.GetCount(); i++) {
|
| 99 | 99 |
out << item[i].Save(i, y); |
| 100 | 100 |
} |
| 101 |
out << "END_LAYOUT\r\n";
|
|
| 101 |
out << "END_LAYOUT" << LayDes::EOL;
|
|
| 102 | 102 |
return out; |
| 103 | 103 |
} |
| 104 | 104 | |
| ... | ... | |
| 107 | 107 |
Vector<int> cs(sel, 1); |
| 108 | 108 |
Sort(cs); |
| 109 | 109 |
String out; |
| 110 |
out << "LAYOUT(" << name << ", " << size.cx << ", " << size.cy << ")\r\n";
|
|
| 110 |
out << "LAYOUT(" << name << ", " << size.cx << ", " << size.cy << ")" << LayDes::EOL;
|
|
| 111 | 111 |
for(int i = 0; i < cs.GetCount(); i++) |
| 112 | 112 |
out << item[cs[i]].Save(cs[i], y); |
| 113 |
out << "END_LAYOUT\r\n";
|
|
| 113 |
out << "END_LAYOUT" << LayDes::EOL;
|
|
| 114 | 114 |
return out; |
| 115 | 115 |
} |
| 116 | 116 | |
| uppsrc/ide/LayDes/laywin.cpp | ||
|---|---|---|
| 278 | 278 |
StaticRect::HotKey(key); |
| 279 | 279 |
} |
| 280 | 280 | |
| 281 |
String LayDes::EOL("\r\n");
|
|
| 282 | ||
| 281 | 283 |
LayDes::LayDes() |
| 282 | 284 |
{
|
| 283 | 285 |
charset = CHARSET_UTF8; |