- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
int GUIFont::getTextSize (std::string::iterator &begin, std::string::iterator &end ) {
int size = 0;
while(begin != end ) {
uint32_t id = utf8::unchecked::next (begin );
CharDescriptor *cd = chars- >getChar(id);
size += cd- >xadvance;
}
return size;
}
int GUIFont::getTextSize (std::string &text ) {
return getTextSize (text.begin (), text.end ());
}
int GUIFont::getTextSize (std::wstring &text ) {
std::string utf8text;
utf8::utf16to8 (text.begin (), text.end (), back_inserter (utf8text ));
return getTextSize (utf8text.begin (), utf8text.end ());
}
Вот так я зафейлил...
И что самое главное - студия сожрала и даже ворнинга не кинула, а эклипс ни в какую.
Без добрых людей на гейдеве не допер бы что к чему.
Так и весь прикол в том, что студии это пофиг.
А у гцц они обязаны быть const.
Вечер убил, пока понял, почему нормально собирающийся под пк код никак не хочет собираться под андроид.
ps мне простительно, я не проф программист)
А здесь то не проверил.
std::wstring exit(L"Выход");
под студией работает, под эклипсом не хочет...
Не, ну это вообще пиздец.
Текст ошибки в студию.
converting to execution character set: Illegal byte sequence
Ну или -finput-charset=cp1251, что нежелательно.
В эклипсе кодировку utf8 поставил, с -fshort-wchar мусор в конце строки рисовался. Без него норм.
Только теперь в студии проблемы - поставил тоже юникод кодировку, в редакторе все норм, а шрифт рисует кракозябры.
Пздц, хоть бери и сохраняй файлы с русским текстом в двух кодировках.
Там поди ANSI'шные функции и литералы без L где-то юзаются?
ANSI функции я то открыто не юзаю, но опять же SDL...
Ну вот они все сейчас стали в utf-8, а код, скорее всего, продолжает думать, что там cp1251.
Хоть так помирю студию с эклипсом.
Блин, ну пусть я прогаю для себя, у меня на работе свободного время полно, не жалко.
Но как с этой байдой пишут кросплатформенные приложения те, кто этим зарабатывает.
Хотя о чем это я, грузят наверно тоже с ресурсов, нафиг строки хардкодить.
Только мне devcpp вобще никак.
Как CodeBlock, можно им пользоваться?
Когда последний раз их видел - было ёбаным говном, которое подвисало на несколько секунд если написать точку (даже внутри литерала!). Сейчас может быть и получше.
Из фришных ide стоит попробовать QtCreator.
Code::Blocks - это неописуемо!
А теперь серьезно - QtCreator проиграл в моих глазах именно из за Qt - я с ним никогда не имел дела, а если ide предлагает удобные средства для формошлепства, то было бы глупо ими не воспользоваться. Но изучать Qt лень...
Поэтому Code::Blocks - wxWidgets мне знакомы по питону, много изучать не прийдется, а формошлепка может и пригодится.
Зря ты так негативно о ней отозвался - она летает даже на моем убогом селероне. Вот эклипс - это действительно тупое глюкавое говно.
Снес бы его нахрен, но нужен для комфортной отладки. А так то сборку под Андроид из под CodeBlocks настроил через вызов ndk-build - для проверки совместимости хватит, позже напишу какой то скрипт для полной сборки apk.
Трудно не согласиться. Хотя старые версии эклипса (3.5+) если поотключать ненужное вроде не так много жрут, но это ж жаба.
А какой селерон? Случайно не 600?
А в общем, похуй - 6 лет уже со мной, старичек, таскаю с собой на работу, я в охране работаю, ночи долгие, фильмы посмотреть можно, какую то игрушку детства, типа Master of Orion погамать, вспомнить школьные увлечения и покодить немного, в интернете пошастать... Вот и ночь проходит)
Оно само по себе очень шустро работало, но по нажатию на точку, походу, парсило сишку с нуля, из-за чего я просто не мог ее юзать (а ide без автодополнения ничем не лучше обычного редактора).
> QtCreator проиграл в моих глазах именно из за Qt
Ну и зря. Qt там совсем необязательно юзать. Плюс у него кошерный отладчик.
В общем он подвешивает UI пока не получит искомое. А у меня MinGW находится на старом жёстком который отключается при простое.
И это хорошее решение. Нефиг национальным символам делать в коде, если это не 1с.
А разработчикам ВС нужно в голову гвоздь забить за то, что они компиляют код, противоречащий стандарту.
Я мог бы рассказать, сколько боли принесла компиляция некоторых контейнеров TBB, авторы которых явно юзали ВС, кладущую на стандарт, но это слишком печальная и унылая история.
Так перфоманса захотелось, гуй же никак.
Ну да, если один несчастный указатель передавать по указателю, а не по значению, пирфоманс вырастет многократно, и гуй сразу перестанет лагать.
У них там свои стандарты.