Библиотека позволяет узнать ширину и высоту дисплея в пикселях в данный момент времени.
Стандартные функции getWidth и getHeight всегда возвращают те размеры, которые были при запуске приложения. Но ширина с высотой могут меняться в процессе работы мидлета.
На некоторых телефонах, в частности, смартфонах nokia: n82, 5800, n97, n95 8gb, e66 и многих других - происходит автоматический поворот экрана при повороте самого телефона. Т.е. ширина "меняется" с высотой. Но при использовании getWidth и getHeight мидлет не знает об этом и продолжает выводить информацию за пределы экрана, а часть экрана наоборот начинает пустовать.
Могут быть и другие случаи, когда размеры изменяются.
Всё это будет учитываться при использовании функций библиотеки.
Библиотека содержит 4 функции:
init - инициализация библиотеки. Нужно вызывать перед использованием других функций. Лучше - сразу после запуска мидлета.
integer
lastwidth - возвращает текущую ширину в пикселях.
integer
lastheight - возвращает текущую высоту в пикселях.
integer
is_resized - проверяет, изменилась ли ширина или высота с момента последнего вызова is_resized(или запуска мидлета). Если какой-либо размер изменился - вернёт 1. Иначе вернёт 0.
Пример использования библиотеки:
Program testsize;
Uses displaysize;
Begin
displaysize.init;
repeat
setColor(255,255,255);
FillRect(0, 0, lastwidth, lastheight);
setColor(0,0,0);
DrawText('w '+lastwidth,20,20);
DrawText('h '+lastheight,20,60);
DrawRect(15,15,lastwidth-30,lastheight-30);
if is_resized=1 then
begin
DrawText('Размеры изменились,ждём 2 сек',20,100);
Repaint;
delay(2000);
end;
delay(100);
Repaint;
until false;
End.
В приложении сама библиотека, её исходный код и проект с примером использования.