Открыть главное меню

Изменения

AHI

28 566 байт добавлено, 05:23, 1 апреля 2019
metadesc
AHI {{lang-en|ATI Handheld Interface}} — драйвер для чипов ATI. Присутствует в каждой прошивке для телефонов, где есть чип ATI, а это - все телефоны на базе [[LTE]] и [[LTE2]].
<metadesc>AHI - драйвер для чипов ATI. Присутствует в каждой прошивке для телефонов, где есть чип ATI, а это - все телефоны на базе LTE и LTE2.</metadesc>
yZfgLO <a href="http://ejdjudbgakhl.com/">ejdjudbgakhl</a>, [url=http://fevoeukacthf.com/]fevoeukacthf[/url], [linkЧипы ATI ==http://mebvchxotgxg.com/]mebvchxotgxg[/link], http://hkksxkbsltie.com/
httpДва основных чипа, используемых в телефонах [[Motorola]]://topsailnet.com/#39145 buy ambien *[[ATI W2250]] - buy ambien no prescription http://www.americanindependentwriters.net/#35827 buy ativan online преимущественно в LTE*[[ATI W2260]] - buy ativan without a prescriptionпреимущественно в LTE2
http://lifeofpisAPI драйвера для различных чипов одинаков, однако внутреннее устройство значительно различается (''По словам владельцев.com/#75709 alternatives to lamisil - lamisil tablet side effect http://wwwЛично мне неизвестно, насколько.corasyndicate.com/#59342 phentermine - phentermineA51'')
http://donteatthatyet.com/#70608 buy valium online without prescription - generic valium
http://www== Применение == Вывод графики через драйвер, в обход стандартных средств прошивки (см.inthesunnyspot[[Canvas]]), предоставляет больше возможностей по сравнению с последними, и, при правильном применении, работает значительно быстрее.net/#22456 cialis  Если Вам нужно, чтобы вывод собственной графики был на максимально возможной скорости, как, например, для разработки динамичных [[ELF Игры|игр]] - buy cialishttp://wwwтогда стоит задуматься о применении средств драйвера. В остальных случаях использование [[Canvas]] будет значительно проще. С учётом сказанного, для наиболее эффективного использования средств, предоставляемых драйвером, их следует использовать в приложении, основанном на [[Task|таске]].  == Основные понятия и начало работы == API драйвера напоминает интерфейсом обычные графические библиотеки, как например GDI. Рассмотрим основные понятия и приёмы работы с AHI в применении к эльфописанию.carolinarailfan AHI разрабатывался отдельно от программных продуктов, где он используется, поэтому был спроектирован максимально универсальным.com#15033 phentermine pills online Одно из следствий такой универсальности является возможность драйвера распараллеливать работу с железом между различными "клиентами", а именно - real phentermine no prescriptionhttp://wwwмежду приложениями операционной системы и самой ОС.buyonlinecialis Для обеспечения такой возможности используется специальный объект, с которым разработчику [[ELF|эльфа]] под драйвер придётся сталкиваться постоянно - это ''контекст устройства''.co  === Контекст устройства === '''Контекст устройства''' ({{lang-en|Device Context}}) — структура данных, обеспечивающая эксклюзивный доступ к устройству вывода для приложения, использующего эту структуру и предотвращающая влияние других приложений на процесс работы с устройством.uk#25376 buy cialis vs viagra В ней хранятся все данные о текущем состоянии устройства, устанавливаемом приложением - buy cialis online cheaphttpвладельцем контекста. Чтобы лучше разъяснить как это работает, рассмотрим ситуацию на упрощенном примере::'''Приложения A''' и '''B''' работают параллельно, и хотят получить доступ к '''Устройству''', для чего каждый из них создаёт с помощью AHI новый '''контекст''' для собственного пользования.:'''Приложение A''' пытается изменить состояние '''Устройства''', скажем, меняет основной цвет "кисти" на <font color="red">красный</font>. А на самом деле, информация о цвете кисти попадает не сразу в '''Устройство''', а сохраняется в '''контексте приложения A'''.:'''Приложение B''' тоже меняет (в своём '''контексте''') цвет кисти, но на <font color="blue">синий</wwwfont>.buyviagrageneric:Теперь, '''Приложение B''' пытается вывести линию <font color="blue">синим</font> цветом.coДля этого драйвер отсылает '''контекст приложения B''' (вместе с информацией о цвете) '''Устройств'''у и подаёт команду на рисование линии текущим (<font color="blue">синим</font>) цветом.uk#70789 buy viagra online paypal :После этого, если '''Приложение A''' тоже решит нарисовать линию, ему не придётся "задумываться" о том, что '''Приложение B''' что- viagra cialishttp:/то там проделало с '''Устройством''', а просто вызовет функцию рисования линии, и драйвер нарисует её <font color="red">красным</pamelahelmephotographyfont> цветом, выполнив те же процедуры с контекстом.com Если бы небыло системы контекстов, и данные сразу попадали в устройство, то после установки '''Приложением B''' цвета в <font color="blue">синий</#39765 imitrex and pregnancy - imitrex 100mghttp:font>, '''Приложение A''' тоже бы получало <font color="blue">синие</font> линии вместо желаемых <font color="red">красных</wwwfont>.buyonlinecialis  В коде контекст описывается как тип <tt>'''AHIDEVCONTEXT_T'''</tt> и является первым параметром почти у всех функций AHI.coВ ОС [[P2K]] напрямую функции драйвера не используются (кроме [[JVM|Java-машины]]), а Функции графики предоставляются через промежуточную надстройку над AHI - [[DAL]], поэтому все приложения ОС (а точнее, система [[UIS]]), так же как и сама ОС, используют единственный системный контекст.uk#69839 buy cialis without prescription - buy cialis professionalhttp Для эльфов есть выбор, как получить контекст:<ol><li>Можно получить системный контекст, который использует ОС, с помощью функции [[DAL_GetDeviceContext]]:<pre>//wwwЭто будет наш контекст.buyviagragenericУдобнее всего объявить его глобальнымAHIDEVCONTEXT_T dCtx; // Получаем системный контекстdCtx = DAL_GetDeviceContext(0);</pre>Недостаток этого способа - необходимо помнить, что приложение не является единственным клиентом драйвера, и делать необходимые установки перед каждой операцией вывода.coА так же есть вероятность появления искажений в прорисовке экрана самой системой (UIS).uk#33178 buy viagra without prescription - buy viagra cheaphttp</li><li>Либо можно создать новый контекст только для нужд приложения, с помощью функций [[ldrGetAhiDevice]] и [[AhiDevOpen]]:<pre>//wwwЭто будет наш контекст.buyУдобнее всего объявить его глобальнымAHIDEVCONTEXT_T dCtx; // Информация об устройствеAHIDEVICE_T device; // В EP2 уже есть вспомогательная функция для получения информации об устройствеdevice = ldrGetAhiDevice(); // Создаём контекстsts = AhiDevOpen( &dCtx, device, "Matrix", 0 );</pre>Недостаток этого способа -tramadolесли функции драйвера используются несколькими клиентами одновременно, они работают медленнее из-nowза необходимости постоянно переключаться между контекстами.com</li></#26499 tramadol adverse side effects ol>  === Поверхности === Прежде чем переходить к рассмотрению непосредственно программирования под AHI, необходимо ознакомиться с ещё одним важнейшим понятием - buy tramadol cheap 120http://www"поверхностями". Поверхность ({{lang-en|Surface}}, "Сурфейс") — логически выделенный участок [[Видеопамять|видеопамяти]] чипа ATI. Как многим из вас известно, у видеочипов часто есть собственная видеопамять, причём эта видеопамять не обязательно доступна [[MCU|процессору]] напрмяую. В телефонах [[Motorola]] с чипами ATI именно такой случай.orderphenterminenow Размер внутренней видеопамяти (располагается прямо на чипе) на [[W2250]] и [[W2260]] одинаков и составляет ''192Kb'', однако к [[W2260]] подключен внешний модуль для расширения внутренней видеопамяти.org/#82098 phentermine 37Последняя работает медленнее внутренней, что отчасти компенсируется её значительно большим объёмом.5mg without perscription or approvals  [[MCU]] может обращаться к видеопамяти двумя способами - midland pharmacy phenterminehttpчерез [[DMAC]] (только запись), либо через [[QSPI]] (чтение и запись). Все растровые операции AHI производятся с участием поверхностей. Есть четыре наиболее важные поверхности, используемые в работе драйвера. Однако, последняя фраза не означает, что поверхностей именно четыре, скорее следует понимать это как статусы, присваиваемые определённым поверхностям, и при этом одна и та же поверхность(участок памяти) может принимать одновременно несколько таких статусов:*'''Отображаемая поверхность ("Display Surface", "Экранная поверхность", она же "Экранный буфер")*://wwwЭто та поверхность, из которой в данный момент чип берёт информацию для непосредственного вывода на экран.buyviagrabluepills*:Устанавливается с помощью функции [[AhiDispSurfSet]], а получить можно с помощью [[AhiDispSurfGet]]*'''Поверхность назначения ("Destination Surface", "Поверхность-приёмник")*:Эта поверхность является целевой для функций рисования, тоесть в неё будет попадать результат операции.com#95147 online cheap viagra buy *:Устанавливается функцией [[AhiDrawSurfDstSet]]*'''Поверхность- on line order viagrahttpисточник ("Source Surface")*://wwwЭта поверхность является источником данных для функций рисования, например картинка спрайта, который мы хотим нарисовать.the*:Устанавливается функцией [[AhiDrawSurfSrcSet]]*'''Поверхность кисти ("Brush Surface")*:С этой поверхностью приложения никогда не работают напрямую, но о её существовании нужно знать, чтобы проще было понимать принцип работы некоторых функций рисования -hangsона является важным вспомогательным инструментом.com#39100 buy levitra Всегда монохромная (однобитная), и используется как параметр PATTERN в [[ROP|растровых операциях]].*:Устанавливается самим драйвером, а настраивается с помощью функции [[AhiDrawBrushSet]]. Иногда требуется создать собственную поверхность в видеопамяти, например, чтобы закешировать спрайт (вывод графики из внутренней памяти намного быстрее, чем из системной). Для этого можно использовать функции [[AhiSurfAlloc]], [[AhiSurfFree]], [[AhiSurfReuse]]. === Координаты === Ещё одна вещь, с которой придётся постоянно иметь дело - buy levitra online without prescriptionhttpэто точки и области экрана и их координаты. Координатная система экрана (да и всякой поверхности, тоже!) с точки зрения чипа ATI имеет следующую конфигурацию:*Начало отсчёта - в левом верхнем углу, отсчёт начинается с нуля*Ось X направлена вправо*Ось Y направлена вниз Два основных объекта для описания координатных положений - это <tt>AHIPOINT_T</tt> и <tt>AHIRECT_T</tt>:<pre>typedef struct{INT32 x, y; } AHIPOINT_T; typedef struct{INT32 x1, y1, x2, y2; } AHIRECT_T;</www.buypre> Если с первым всё понятно -tadalafilпросто задаёт координаты точки по x и y, то <tt>AHIRECT_T</tt>, который задаёт прямоугольную область экрана, стоит рассмотреть чуть подробнее:*<tt>x1, y1</tt> -online.orgкоординаты левого верхнего угла прямоугольника*<tt>x2, y2</#19601 discount generic cialis tt> - what insurance formulaies list tadalafil httpправого нижнегоВажное замечание://tzukuneв отличие от используемой в [[UIS]] системе задания такой области, здесь координаты правого нижнего угла задаются '''не включительно'''!Например, если x1&nbsp;=&nbsp;0, x2&nbsp;=&nbsp;32 - это означает, что в область попадут точки с координатами x от 0 до 31.info/#81859 nolvadex discount - research chemical nolvadex buyhttp  Чаще всего эти две структуры используются в функциях AHI примерно так:<pre>UINT32 AhiDrawBitBlt( AHIDEVCONTEXT_T devCx, AHIRECT_T *dstRect, AHIPOINT_T *srcPt );</pre>*<tt>AHIRECT_T</tzukunett> указывает область на целевой поверхности, куда попадёт картинка из поверхности-источника, и именно он задаёт размер картинки.info*<tt>AHIPOINT_T</#69547 research chemical nolvadex buy tt> указывает координаты левого верхнего угла на поверхности- cheap nolvadex http:/источнике, откуда будет скопирована область, размерами равная размерам прямоугольника <tt>AHIRECT_T</wwwtt>.buy  === Цвет === Как многие знают, во многих телефонах используются дисплеи с глубиной цвета 16 бит (Покомпонентно: 5 бит на красный, 6 бит на зелёный и 5 -tadalafilна синий, "RGB565"), а в настольных компьютерах -onlineс глубиной цвета в 24 бита (по 8 бит на каждую компоненту цвета, "RGB888").org/#15254 buy cialis without prescription Многие привыкли к заданию цвета в 24- buy cialishttpбитном формате на настольных компьютерах, да и это намного легче, стоит только рассмотреть пример://www0xFACE8D - в 24bpp сразу видно, какая интенсивность цвета на каждой компоненте, а на 16bpp это будет 0xFE71, и ничего не понятно...buyviagrabluepillsВебдизайнеры поймут.com#82592 buy viagra online without prescription  Для облегчения задачи, предусмотрен макрос, который получает из привычного RGB888 цвета - viagrahttpRGB565, например:<pre>ATI_565RGB(0xFA, 0xCE, 0x8D);<//wwwpre>Конечно, пользоваться им необязательно для случаев "чёрного" и "белого" - это 0x0 и 0xFFFF соответственно. {{Внимание|Нетрудно однако подсчитать, что "белый"(0xFFFF) в RGB565 при переводе обратно в RGB888 будет уже не очень "белым", далеко не 0xFFFFFF. Это полезно иметь в виду, когда работаете с картинками в формате RGB565}} Возможно, у Вас уже назрел вопрос ещё с первых строк этого раздела, "А как же 18-битные дисплеи, которые ставили, например, на E1?" Так вот по крайней мере [[W2250]] не имеет поддержки 18-битных поверхностей, чтобы обеспечить использование возможностей такого дисплея, так что это был не более чем маркетинговый ход. Впрочем, это же судя по всему касается и [[LTE2]] телефонов, так как для графики там опять же используются 16-битные поверхности. Во многих графических адаптерах прошлого (хотя, и по сей день нередко используется, например, в консолях) основным режимом был 8-битный цвет с палитрой. К моему великому сожалению, портативные чипы ATI не имеют аппаратной поддержки 8-битных палитр (8-битный цвет - возможно, только в формате RGB322, но не проверено), но есть особенность, которую можно назвать однобитной палитрой. Однобитные поверхности занимают особое место среди прочих. А именно, при выводе однобитной картинки, мы можем задавать 16-битный цвет, который будет представлять "1", "цвет переднего плана", и цвет, представляющий "0", "цвет фона", либо сделать один из них прозрачным. Фактически, получаем палитру для однобитного изображения. Эти два цвета также задаются отдельно для кисти (а она, как мы узнали из предыдущих разделов, тоже однобитная поверхность!) - с помощью функций [[AhiDrawBrushFgColorSet]] и [[AhiDrawBrushBgColorSet]], и для остальных однобитных изображений - функциями [[AhiDrawFgColorSet]] и [[AhiDrawBgColorSet]].  === Инициализация === Итак, у нас теперь есть контекст, полученный одним из двух способов, указанных выше. Что дальше? Вне зависимости от того, собственный у нас контекст или нет, нужно провести его инициализацию.buyРазличие лишь в том, что в случае собственного контекста её достаточно провести один раз, а в случае использования системного -tadalafilпочти каждый раз перед вызовом какой-onlineлибо функции рисования AHI.org/#23657 buy cialis generic  Перед тем, как вызвать какую- buy cialis from canada httpлибо функцию рисования, мы должны установить необходимые для её работы параметры:<ol><li>'''Установить поверхность-приёмник<br>Часто для этого используется отображаемая поверхность, если не планируется вывод с использованием [[Двойная буферизация|двойной буферизации]].<pre>// Наш контекст, полученный ранееAHIDEVCONTEXT_T dCtx; // Наша отображаемая поверхностьAHISURFACE_T sDisp; //tzukuneПолучим отображаемую поверхность.infoДостаточно сделать это один раз, ведь врядли она поменяется.AhiDispSurfGet( dCtx, &sDisp ); /#32193 should i cycle both clomid and nolvadex pct / Устанавливаем поверхность- clomid nolvadex or proviron which is best?http:приёмникAhiDrawSurfDstSet( dCtx, sDisp, 0 );</pre></wwwli> <li>'''Установить поверхность-источник<br>Обычно для этой роли используют либо пользовательскую поверхность с нужной к выводу картинкой, либо системную внеэкранную поверхность (см. [[Двойная буферизация]]).buy<pre>// Сохраним сюда системную внеэкранную поверхностьAHISURFACE_T sDraw; // Получим системную внеэкранную поверхностьsDraw = DAL_GetDrawingSurface( DISPLAY_MAIN ); // Устанавливаем поверхность-tadalafilисточникAhiDrawSurfSrcSet( dCtx, sDraw, 0 );</pre></li> <li>'''Установить [[Clipping|области вырезания]] для приёмника и источника<br>Пока что выключим их, и для этого передадим в функции [[AhiDrawClipDstSet]] и [[AhiDrawClipSrcSet]] -online.org<tt>NULL</#52756 is cialis or levitra better - which is best viagra or cialis httptt>:<pre>//Выключаем области вырезания для приёмника и источникаAhiDrawClipDstSet( dCtx, NULL );AhiDrawClipSrcSet( dCtx, NULL );</tzukune.infopre></#36687 nolvadex discount - drug profile nolvadex clomid hcghttpli> <li>'''Установить [[Raster Operations|растровую операцию]]<br>Чтобы не углубляться в рамках этой статьи в растровые операции, ограничимся пока что простым правиломДля вывода растровых изображений устанавливаем <tt>AHIROP_SRCCOPY</tt>, а для рисования цветом - <tt>AHIROP_PATCOPY</wwwtt>.buyambienzolpidemОтсановимся на последнем, так как пригодится в последующем примере.com#15784 buy generic Ambien no prescription - buy Zolpidem pharmacyhttp:<pre>// Устанавливаем растровую операцию на применение кистиAhiDrawRopSet( dCtx, AHIROP3(AHIROP_PATCOPY) );</pre></wwwli> <li>'''Настроить кисть<br>Это делать не обязательно, если мы не собираемся рисовать графические примитивы.buylevitraedНо так как мы собираемся, то.com#27966 buy levitra ..<pre>// Установим кисть на самую обычную, сплошную (SOLID)AhiDrawBrushSet(devCx, NULL, NULL, 0x0, AHIFLAG_BRUSH_SOLID);</pre></li></ol> Конечно, некоторые из этих операций понадобится повторить перед вызовом определённых функций, с другими установками, но надеюсь это уже не составит для Вас проблем. == Примеры == Наконец, уже можно что- buy levitra no prescriptionhttp:нибудь да и нарисовать!Не будем здесь заострять внимание на таких тривиальных вещах, как размещение последующих примеров в коде и инициализация приложения. Пускай, например, рисовать мы будем в вызове по таймеру.  === Первый пример === Для первого раза нарисуем цветной графический примитив. <pre>// Вспомогательная переменная для указания области экранаAHIRECT_T rect; //wwwУстановим цвет кисти.buyvaliumdiazepam.orgЭтим цветом будут выводиться наши графические примитивыAhiDrawBrushFgColorSet(devCx, ATI_565RGB(0,0,255)); //#24957 buy diazepam overnight Ярко- valium and alcoholhttp:синий //wwwЗададим прямоугольник на экране, который будет залит нашим цветомrect.buylexapronowx1 = 0;rect.comy1 = 0;rect.x2 = 64;rect.y2 = 64; /#11415 buy lexapro generic online - effects of lexaprohttp:/Нарисуем прямоугольник rectAhiDrawSpans( dCtx, &rect, 1, 0);</wwwpre>References: [[AhiDrawSpans]], [[AhiDrawBrushFgColorSet]] После этого мы получим на экране синий квадрат в левом верхнем углу.buyambienzolpidemНе больно-то и сложно, не так ли?  === Второй пример === Теперь мы попытаемся решить задачу чуть посложнее, а именно - выведем какую-нибдь картинку.com#20658 buy ambien online no prescription - buy zolpidem no prescriptionhttpКод для загрузки картинок можно взять из библиотеки AHG, написанной '''tim apple''', а саму картинку нужно будет [[Подготовка графики для ATI|подготовить особым образом]]. <pre>/* Проведём инициализацию при загрузке эльфа:*/ //wwwСюда будет загружена наша картинка.buyvaliumdiazepamНе забудьте освободить память bitmap.orgimage по завершению!AHIBITMAP_T bitmap; //#64448 what are some generic forms of diazepam - buy roche diazepam 10mghttpЗагружаем картинку!BMP_LoadFromFile(L"file://wwwb/image.buylexapronow.combmp", &bitmap); /* Теперь нарисуем картинку на экране средствами ATI */#12040 buy lexapro medication - purchase lexapro onlinehttp: AHIPOINT_T point;AHIRECT_T rect; //wwwПусть мы хотим вывести картинку в левом верхнем углу, задаём область как в предыдущем примереrect.x1 = 0;rect.y1 = 0;rect.x2 = bitmap.width;rect.buyphenterminediety2 = bitmap.org#67837 phentermine for sale - phentermine shipped cod overnighthttp:height; //wwwИ ещё - точку на исходной картинке.buyphenterminedietМы выводим целиком, так что нули.org#39981 phentermine - buy phentermine onlinehttp:point.x = 0;point.y = 0; // Не забываем, что в прошлый раз мы установили операцию PATCOPY, но она не подходит для вывода растра!AhiDrawRopSet( dCtx, AHIROP3(AHIROP_SRCCOPY) ); //Осталось собственно вывести картинку!AhiDrawBitmapBlt( dCtx, &rect, &point, &bitmap, NULL, 0 );</wwwpre>References: [[AhiDrawBitmapBlt]], [[AhiDrawRopSet]]  === Третий пример === В третьем, заключительном примере мы создадим собственную поверхность, перенесём её в видеопамять и будем работать уже из неё.purchase-clomidПример во многом повторяет предыдущий, но смотрите внимательнее -online.comесть значительные отличия! <pre>/#79745 clomid order - clomid fertility drug http* Проведём инициализацию при загрузке эльфа:*/ //wwwСюда будет загружена наша картинка.buyphenterminedietНе забудьте освободить память bitmap.orgimage по завершению!AHIBITMAP_T bitmap;//#54298 order phentermine online uk Это - where can i buy phentermine onlinehttpразмер новой поверхностиAHIPOINT_T size;// Сюда мы сохраним указатель на новую поверхностьAHISURFACE_T surface; // Загружаем картинку!BMP_LoadFromFile(L"file://wwwb/image.purchasebmp", &bitmap); /* Создадим новую поверхность -clomid-onlinesurface, по размеру картинки*/size.x = bitmap.width;size.y = bitmap.comheight; AhiSurfAlloc( dCtx, &surface, &size, AHIFMT_16BPP_565, 0 ); /* Перенесём картинку на нашу новую поверхность, просто нарисовав её из системной памяти */ AHIPOINT_T point;AHIRECT_T rect; //#37676 clomid and twin - buy clomid no prescription online http:Задаём область выводаrect.x1 = 0;rect.y1 = 0;rect.x2 = bitmap.width;rect.y2 = bitmap.height; //wwwИ точку на исходной картинкеpoint.buyphenterminedietx = 0;point.orgy = 0; /#84132 buy phentermine diet pills - buy phentermine no prescriptionhttp:/ Не забываем, что в прошлый раз мы установили операцию PATCOPY, но она не подходит для вывода растра!AhiDrawRopSet( dCtx, AHIROP3(AHIROP_SRCCOPY) ); //wwwСейчас мы хотим вывести картинку на новую поверхность.shopviagraonlineAhiDrawSurfDstSet( dCtx, surface, 0 );// Так как выводить будем из системной памяти, поверхность-источник нам не важна.net#64018 viagra - buy viagrahttp: // Выводим картинкуAhiDrawBitmapBlt( dCtx, &rect, &point, &bitmap, NULL, 0 );  /* Теперь мы можем работать с этой картинкой в видеопамяти */AHIPOINT_T point;AHIRECT_T rect; //wwwСейчас мы хотим вывести картинку из новой поверхности на экран.shopviagraonlineAhiDrawSurfSrcSet( dCtx, surface, 0 );AhiDrawSurfDstSet( dCtx, sDisp, 0 ); point.net#82343 http ez4ux = 0;point.net order viagra cheapy = 0; rect.html x1 = 0;rect.y1 = 0;rect.x2 = bitmap.width;rect.y2 = bitmap.height; // Для вывода из видеопамяти используется эта функцияAhiDrawBitBlt( dCtx, &rect, &point );</pre>References: [[AhiDrawBitBlt]], [[AhiSurfAlloc]], [[AhiDrawSurfSrcSet]], [[AhiDrawSurfDstSet]], [[AhiDrawBitmapBlt]], [[AhiDrawRopSet]]  == Заключение == Итак, рассмотрев основные моменты работы с драйвером ATI и даже несколько конкретных примеров, у вас не должно возникнуть больших проблем с разработкой эльфов с его использованием.Тем более, что уже существует несколько подобных эльфов, с исходным кодом которых можно ознакомиться.  '''Если эта статья вам чем-то помогла - пожалуйста, отпишитесь на форуме!''' -- buy cheap uk viagra[[Участник:Andy51|Andy51]] 19:13, 29 августа 2009 (MSD)   [[Категория:Эльфостроение]]
214
правок