- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
void GetDPI ()
{
jclass c; jmethodID m; jobject o, dm; jfieldID fxdpi, fydpi;
c = env->FindClass ("android/util/DisplayMetrics");
m = env->GetMethodID (c, "<init>", "()V");
dm = env->NewObject (c, m);
fxdpi = env->GetFieldID (c, "xdpi", "F");
fydpi = env->GetFieldID (c, "ydpi", "F");
c = env->FindClass ("android/app/NativeActivity");
m = env->GetMethodID (c, "getWindowManager", "()Landroid/view/WindowManager;");
o = env->CallObjectMethod (appState->activity->clazz, m);
c = env->GetObjectClass (o);
m = env->GetMethodID (c, "getDefaultDisplay", "()Landroid/view/Display;");
o = env->CallObjectMethod (o, m);
c = env->GetObjectClass (o);
m = env->GetMethodID (c, "getMetrics", "(Landroid/util/DisplayMetrics;)V");
o = env->CallObjectMethod (o, m, dm);
xdpi = env->GetFloatField (dm, fxdpi);
ydpi = env->GetFloatField (dm, fydpi);
LOGI("dpi is (%f, %f)", xdpi, ydpi);
}
Что и требовалось доказать.
А по поводу кода - может быть стоит написать только рендерер на крестах, а всю остальную обвязку на жабе?
А ещё при компиляции под ведроид жабья часть ни с того ни с сего протухает, бывает такое, и тогда я удаляю жабью часть, и эклипс её генерирует заново, и я нормально собираю программу.
Так вот, как все эти удобства получить, пися на двух языках одновременно?
Ну и ещё я ебал сишарпненькие жабьи парадигмы, типа рахитектур иерархий оопни, исключений, гц. Если ты не индус, то проще без них.
Когда ко мне в первый раз стали про это рассказывать, я уже писал 3Д-игры на турбопасе, поэтому меня всё время мучал вопрос "ну и нахуй это, если и без этого я пишу крутые проги, а не хуйню, считающую 2+2 через пиздатый класс Adder, являющийся наследником класса IntegerOperation"?
Write once, debug everywhere (tm)
Интересный поворот сюжета, вот этого я ни как не ожидал...
Вот ты объясни. Если есть гццшный компилятор Ады под винду, значит есть транслятор из Ады во внутренний гццшный язык, который гцц умеет компилировать под любую платформу, следовательно автоматически существует гцц Ады под ведроид, я правильно понимаю внутреннее устройство гцц?
Проблема только в жаваблядском апи.
Под виндой есть языковая конструкция подключения функции из dll, для ведроида видать есть какой-то аналог.
звучит как призыв к действию
И желательно пример с графикой.
Используй интерфейсы и джавоблядский DI/IoC. Еще в клипсе вроде бы была условная сборка - часть файлов компилится всегда, часть только под заданную платформу.
Ну а вообще, если на крестах удобнее - спорить не буду.
Теперь все срачи между дельфинами и крестушниками о некошерных скобках, о отступах, о компиляторах и всем прочем одним махом разбиваются об это.
Q.E.D.
ALL HAIL C++!
Ни ада, ни рая
И то и другое
С тобою бывает
Сама полюбила
Сама виновата
И всё же иного
Не надо, не надо
Алё, РАИИ есть и в Дельфи, и в Аде.
PS: минуснул не я (
Минуснул лох какой-то не в теме.
И в Дельфи есть. Даже в 7й версии. И в Аде тоже есть. И в Дельфи , и в Аде есть РАИИ. РАИИ есть и в Дельфи (даже в 7 версии), и в Аде.
Костыль для потомков TInterfacedObject, не работающий на остальных потомках TObject?
Вот тут сработает деструктор? Видимо нет. Так что RAII работает далеко не всегда.
> Нет, TInterfacedObject не обязателен.
Расскажи, какие предъявляются требования к объекту, чтобы он поддерживал RAII.
var t:IInterface - всё удаляется.
> Расскажи, какие предъявляются требования к объекту, чтобы он поддерживал RAII.
Это должна быть переменная типа IInterface. При создании надо указывать конструктора класса-наследника IInterface, этот класс должен поддерживать три метода.
Ну ок, теперь согласен с тем, что в Delphi есть RAII.
Я же ньюфаг :P
Еще хотел добавить:
Ибо молвил сиё Тарас, пророк Ада. Но веским будто каменная глыба было Его Слово.
Не таким как легкомысленное кудахтанье крестушка, разлетевшееся словно брошенные в воздух перья.
Любить кресты - страшный грех.
Разрешается любить только жабу!
Всем любить жабу!!!
> Не прилюбадействуй.
Дъякон Fai
Хотя может быть я индус и андроид внезапно разрешит извне менять разрешение экрана в моём уютненьком нативеактивити и тогда мне пизда.
Поворот девайса на 90 градусов?
Пурпурный чай - это мощнейший жиросжигатель, который к тому же препятствует возникновению новых отложений, превращая жир в энергию.
Официальный сайт: http://pur.bxox.info