пишите нам 
Ладошки: КПК, Коммуникаторы, Смартфоны, Windows Mobile, Symbian, Palm OS PDA и гаджеты
Ладошки: КПК, Коммуникаторы, Смартфоны, Windows Mobile, Symbian, Palm OS PDA и гаджеты
Ладошки: КПК, Коммуникаторы, Смартфоны, Windows Mobile, Symbian, Palm OS PDA и гаджеты
Ладошки к Солнцу! Ладошки: КПК, Коммуникаторы, Смартфоны, Windows Mobile, Symbian, Palm OS PDA и гаджеты
 

Приветствуем на Ладошках!

Ладошки, у меня РАНЧИК РОДИЛСЯ! :-) ... Уважаемые давние поклонники и посетители Ладошек! Я запускаю коммьюнити-сайт, новый проект, а вы все, будучи https://www.facebook.com/run4iq Бег для интеллектуалов. Бег для интеллекта. Бег "за" интеллектом. Он сам не придёт ;-) Ранчик родился! Андрей AKA Andrew Nugged Ладошки служат как архив программ для Palm OS и Poclet PC / Windows Mobile и разрешённых книг с 15 окрября 2000 года.
 
Статьи на Ладошках: о КПК и гаджетах
список групп статейВы пишете статьи? Контактируйте с нами!

 
Использование внеэкранного буфера при высоком разрешении (Palm OS)


Автор/Источник: Ронин Виктор
» 11.12.2002 10:40,
просмотров сегодня: 1, всего: 3131
статья размещена в группе: Программирование
оценка: 2.226, 22 голоса


Изначально и долгое время экраны всех Palm’ов имели разрешение 160x160 точек, и тогда любая работа с графикой была проста и понятна. Следом появились наладонники Sony Clie, поддерживающие разрешение 320x320 (HiRes) и 320x480 (HiRes+) точек. И вот совсем недавно свет увидели устройства на платформе Palm OS 5, для которой поддержка разрешения 320x320 точек является стандартом. Кроме нового разрешения с новой платформой пришел и новый API, который отличается от HiRes API наладонников Sony. Но не буду углубляться в подробное рассмотрение этой разницы и всех вытекающих из нее последствий, а опишу пока что один очень неприятный подводный камень.

Если вы пишите игру или любое другое приложение, которое должно достаточно быстро работать с графикой, то вероятнее всего вы используете метод двойной буферизации (double buffering). При этом одна из основных возможностей, которая вам понадобится, будет вывод картинок во внеэкранный буфер. Для того чтобы перенаправить вывод, надо сделать следующие действия:


	winH = WinCreateOffscreenWindow (rect.extent.x,rect.extent.y, format, &err);
	oldwinH = WinGetDrawWindow();
	WinSetDrawWindow(winH).

Для восстановления вывода — WinSetDrawWindow(oldwinH), и для прорисовки вне экранного буфера на экране — WinDrawBitmap(WinGetBitmap(winH), rect.topLeft.x, rect.topLeft.y); WinDeleteWindow (winH, 0);

Так вот, для высокого разрешения, внеэкранный буфер необходимо создавать вдвое больших размеров. В Palm OS 5 API, если создать его с помощью format = nativeFormat, то все картинки, которые в нем прорисовываются, будут автоматически увеличиваться в два раза. А вот в Sony API не предусмотрено метода для увеличения картинок рисуемых во внеэкранном буфере. Таким образом, после прорисовки буфера на экране картинка будет выглядеть вдвое меньшей. Это связано с тем, что картинка была рассчитана на вдвое меньшее разрешение. И при прорисовке на большем разрешении картинка занимает меньше места на экране.

Фактически есть единственный метод борьбы с этим — создание двух типов картинок для обычного и высокого разрешения, и динамический их выбор во время выполнения программы. Соответственно картинки для высокого разрешения (320х320) должны быть в два раза больше картинок для обычного разрешения (160х160). Наконец еще одна мелкая особенность: для Sony все функции Win... надо переименовывать в HRWin..., тогда они будут работать с высоким разрешением.

1   2   3   4   5
«хуже     ваша оценка     лучше»


Обсуждение
11.12.2002 17:45 - Андрей Чук

Поправочка.
Для высокого разрешения буфер должен быть в четыре раза больше (320х320=4х160х160)


03.01.2003 09:48 - Ронин Виктор

Важную поправку высказал Андрей Чук, относительно предпоследнегоо абзаца. Действительно, и буфер, и картинки на высоком разрешении в четыре, а не в два раза больше. Употребляя фразу в два раза больше, я имел ввиду не вдвое большую площадь, а вдвое большие линейные размеры буфера и картинок.



Чтобы писать комментарии вам нужно
авторизоваться (войти) или зарегистрироваться


 
Регистрация товарного знака в Украине patent.km.ua.
Telephones, address and opening times for shops, post and banks in the UK
 
 

 

статьи
по этой теме
 
EWE — инструмент разработки Java-приложений для платформы PocketPC
04-02-2008, рейтинг(общ.): 3.4, просм.: 1/5577

Платформа Palm OS: защита программного обеспечения
14-05-2003, рейтинг(общ.): 2.862, просм.: 1/8531

Немножко о работе с сетями (Palm OS)
18-03-2003, рейтинг(общ.): 2.22, просм.: 1/4243

Установка цветов прорисовки (Palm OS)
15-01-2003, рейтинг(общ.): 2.35, просм.: 1/2551

Накладывающиеся Control’ы (Palm OS)
29-12-2002, рейтинг(общ.): 2.334, просм.: 1/2384

Создание Static Library (Palm OS)
28-12-2002, рейтинг(общ.): 2.9, просм.: 1/3027

Четыре метода перехвата нажатий на кнопки Палма (Palm OS)
28-11-2002, рейтинг(общ.): 2.653, просм.: 0/3420

Ссылки по программированию (Palm OS). Часть 3
21-11-2002, рейтинг(общ.): 1.812, просм.: 1/5368

Самоудаляющаяся программа (Palm OS)
21-11-2002, рейтинг(общ.): 2.364, просм.: 0/2843

Программирование под Palm OS: Урок 1. Знакомство с CodeWarrior и Constructor’ом
15-11-2002, рейтинг(общ.): 4.438, просм.: 0/4080

Недокументированные функции MemSemaphoreReserve и MemSemaphoreRelease (Palm OS)
14-11-2002, рейтинг(общ.): 2.749, просм.: 1/2351

Устройство и функционирование Shared Library (Palm OS)
12-11-2002, рейтинг(общ.): 5, просм.: 1/2288

Программирование под Palm OS: Урок 0. Что нужно для того, чтобы писать под Palm?
09-11-2002, рейтинг(общ.): 3.824, просм.: 0/2881

Коротко о вставке текста в Field’ы (Palm OS)
07-11-2002, рейтинг(общ.): 2.44, просм.: 1/2247

Ссылки по программированию (Palm OS). Часть 2
31-10-2002, рейтинг(общ.): 2.475, просм.: 1/5035

Работа с полями таблицы (Palm OS)
31-10-2002, рейтинг(общ.): 2.334, просм.: 0/2557

Работа с потоковыми файлами на Palm’е (File Streaming API) (Palm OS)
31-10-2002, рейтинг(общ.): 2.095, просм.: 0/2668

Хранение проекта в системе контроля версий (Palm OS)
29-10-2002, рейтинг(общ.): 2.111, просм.: 0/2681

О custom control’ах и их реализации в виде gadget’ов (Palm OS)
28-10-2002, рейтинг(общ.): 2.632, просм.: 0/2825

Быстрая работа с графикой (Palm OS)
25-10-2002, рейтинг(общ.): 2.167, просм.: 1/3179

а вы знаете, что есть:
- рейтинг-каталог сайтов Ладошек?

поддержите
Ладошки
 
Рейтинг Ладошек: КПК, мобильность, коммуникаторы, смартфоны, гаджеты, высокие технологии Рейтинг каталога сайтов Хмельницкого региона Поддержите Ладошки: Как поддержать сайт?
Использование материалов сайта разрешено только при наличии
гиперссылки на страницу Ладошек без блокировки индексации
реклама на сайте    Andrew Nugged © 2000-2015