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</#26499 tramadol adverse side effects li></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она является важным вспомогательным инструментом. Всегда монохромная (однобитная), и используется как параметр PATTERN в [[ROP|растровых операциях]].*:Устанавливается самим драйвером, а настраивается с помощью функции [[AhiDrawBrushSet]].com#39100 buy levitra Иногда требуется создать собственную поверхность в видеопамяти, например, чтобы закешировать спрайт (вывод графики из внутренней памяти намного быстрее, чем из системной). Для этого можно использовать функции [[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 = 0, x2 = 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-битный цвет с палитрой.buyК моему великому сожалению, портативные чипы ATI не имеют аппаратной поддержки 8-битных палитр (8-tadalafilбитный цвет -onlineвозможно, только в формате RGB322, но не проверено), но есть особенность, которую можно назвать однобитной палитрой. Однобитные поверхности занимают особое место среди прочих.org/#23657 buy cialis generic А именно, при выводе однобитной картинки, мы можем задавать 16- buy cialis from canada http://tzukuneбитный цвет, который будет представлять "1", "цвет переднего плана", и цвет, представляющий "0", "цвет фона", либо сделать один из них прозрачным. Фактически, получаем палитру для однобитного изображения.info/#32193 should i cycle both clomid and nolvadex pct Эти два цвета также задаются отдельно для кисти (а она, как мы узнали из предыдущих разделов, тоже однобитная поверхность!) - с помощью функций [[AhiDrawBrushFgColorSet]] и [[AhiDrawBrushBgColorSet]], и для остальных однобитных изображений - clomid nolvadex or proviron which is bestфункциями [[AhiDrawFgColorSet]] и [[AhiDrawBgColorSet]]. === Инициализация === Итак, у нас теперь есть контекст, полученный одним из двух способов, указанных выше. Что дальше?http://www Вне зависимости от того, собственный у нас контекст или нет, нужно провести его инициализацию.buyРазличие лишь в том, что в случае собственного контекста её достаточно провести один раз, а в случае использования системного -tadalafilпочти каждый раз перед вызовом какой-onlineлибо функции рисования AHI.org/#52756 is cialis or levitra better Перед тем, как вызвать какую- which is best viagra or cialis httpлибо функцию рисования, мы должны установить необходимые для её работы параметры:<ol><li>'''Установить поверхность-приёмник<br>Часто для этого используется отображаемая поверхность, если не планируется вывод с использованием [[Двойная буферизация|двойной буферизации]].<pre>// Наш контекст, полученный ранееAHIDEVCONTEXT_T dCtx; //Наша отображаемая поверхностьAHISURFACE_T sDisp; /tzukune/ Получим отображаемую поверхность.infoДостаточно сделать это один раз, ведь врядли она поменяется.AhiDispSurfGet( dCtx, &sDisp ); /#36687 nolvadex discount / Устанавливаем поверхность- drug profile nolvadex clomid hcghttp:приёмникAhiDrawSurfDstSet( dCtx, sDisp, 0 );</pre></wwwli> <li>'''Установить поверхность-источник<br>Обычно для этой роли используют либо пользовательскую поверхность с нужной к выводу картинкой, либо системную внеэкранную поверхность (см.buyambienzolpidem[[Двойная буферизация]]).com#15784 buy generic Ambien no prescription <pre>// Сохраним сюда системную внеэкранную поверхностьAHISURFACE_T sDraw; // Получим системную внеэкранную поверхностьsDraw = DAL_GetDrawingSurface( DISPLAY_MAIN ); // Устанавливаем поверхность- buy Zolpidem pharmacyhttp:источникAhiDrawSurfSrcSet( dCtx, sDraw, 0 );</pre></www.buylevitraed.com#27966 buy levitra li> <li>'''Установить [[Clipping|области вырезания]] для приёмника и источника<br>Пока что выключим их, и для этого передадим в функции [[AhiDrawClipDstSet]] и [[AhiDrawClipSrcSet]] - buy levitra no prescriptionhttp<tt>NULL</tt>:<pre>//www.buyvaliumdiazepam.orgВыключаем области вырезания для приёмника и источникаAhiDrawClipDstSet( dCtx, NULL );AhiDrawClipSrcSet( dCtx, NULL );</pre></#24957 buy diazepam overnight - valium and alcoholhttpli> <li>'''Установить [[Raster Operations|растровую операцию]]<br>Чтобы не углубляться в рамках этой статьи в растровые операции, ограничимся пока что простым правилом: Для вывода растровых изображений устанавливаем <tt>AHIROP_SRCCOPY</tt>, а для рисования цветом - <tt>AHIROP_PATCOPY</wwwtt>.buylexapronowОтсановимся на последнем, так как пригодится в последующем примере.com<pre>//#11415 buy lexapro generic online - effects of lexaprohttp:Устанавливаем растровую операцию на применение кистиAhiDrawRopSet( dCtx, AHIROP3(AHIROP_PATCOPY) );</pre></wwwli> <li>'''Настроить кисть<br>Это делать не обязательно, если мы не собираемся рисовать графические примитивы. Но так как мы собираемся, то..buyambienzolpidem.com#20658 buy ambien online no prescription - buy zolpidem no prescriptionhttp:<pre>// Установим кисть на самую обычную, сплошную (SOLID)AhiDrawBrushSet(devCx, NULL, NULL, 0x0, AHIFLAG_BRUSH_SOLID);</pre></li></wwwol> Конечно, некоторые из этих операций понадобится повторить перед вызовом определённых функций, с другими установками, но надеюсь это уже не составит для Вас проблем. == Примеры == Наконец, уже можно что-нибудь да и нарисовать!Не будем здесь заострять внимание на таких тривиальных вещах, как размещение последующих примеров в коде и инициализация приложения. Пускай, например, рисовать мы будем в вызове по таймеру.buyvaliumdiazepam === Первый пример === Для первого раза нарисуем цветной графический примитив.org <pre>/#64448 what are some generic forms of diazepam - buy roche diazepam 10mghttp:/ Вспомогательная переменная для указания области экранаAHIRECT_T rect; //wwwУстановим цвет кисти.buylexapronow.comЭтим цветом будут выводиться наши графические примитивыAhiDrawBrushFgColorSet(devCx, ATI_565RGB(0,0,255)); //#12040 buy lexapro medication Ярко- purchase lexapro onlinehttp:синий //wwwЗададим прямоугольник на экране, который будет залит нашим цветомrect.buyphenterminedietx1 = 0;rect.org#67837 phentermine for sale - phentermine shipped cod overnighthttp://wwwy1 = 0;rect.buyphenterminedietx2 = 64;rect.org#39981 phentermine - buy phentermine onlinehttp:y2 = 64; //Нарисуем прямоугольник rectAhiDrawSpans( dCtx, &rect, 1, 0);</wwwpre>References: [[AhiDrawSpans]], [[AhiDrawBrushFgColorSet]] После этого мы получим на экране синий квадрат в левом верхнем углу.purchaseНе больно-то и сложно, не так ли? === Второй пример === Теперь мы попытаемся решить задачу чуть посложнее, а именно -clomidвыведем какую-onlineнибдь картинку.comКод для загрузки картинок можно взять из библиотеки AHG, написанной '''tim apple''', а саму картинку нужно будет [[Подготовка графики для ATI|подготовить особым образом]]. <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Загружаем картинку!BMP_LoadFromFile(L"file://wwwb/image.bmp", &bitmap); /* Теперь нарисуем картинку на экране средствами ATI */ AHIPOINT_T point;AHIRECT_T rect; // Пусть мы хотим вывести картинку в левом верхнем углу, задаём область как в предыдущем примереrect.x1 = 0;rect.y1 = 0;rect.x2 = bitmap.width;rect.y2 = bitmap.purchaseheight; // И ещё -clomid-onlineточку на исходной картинке. Мы выводим целиком, так что нули.point.x = 0;point.comy = 0; // Не забываем, что в прошлый раз мы установили операцию PATCOPY, но она не подходит для вывода растра!AhiDrawRopSet( dCtx, AHIROP3(AHIROP_SRCCOPY) ); /#37676 clomid and twin / Осталось собственно вывести картинку!AhiDrawBitmapBlt( dCtx, &rect, &point, &bitmap, NULL, 0 );</pre>References: [[AhiDrawBitmapBlt]], [[AhiDrawRopSet]] === Третий пример === В третьем, заключительном примере мы создадим собственную поверхность, перенесём её в видеопамять и будем работать уже из неё.Пример во многом повторяет предыдущий, но смотрите внимательнее - buy clomid no prescription online httpесть значительные отличия! <pre>/* Проведём инициализацию при загрузке эльфа:*/ //wwwСюда будет загружена наша картинка.buyphenterminedietНе забудьте освободить память bitmap.orgimage по завершению!AHIBITMAP_T bitmap;//#84132 buy phentermine diet pills Это - buy phentermine no prescriptionhttpразмер новой поверхностиAHIPOINT_T size;// Сюда мы сохраним указатель на новую поверхностьAHISURFACE_T surface; // Загружаем картинку!BMP_LoadFromFile(L"file://wwwb/image.bmp", &bitmap); /* Создадим новую поверхность - surface, по размеру картинки*/size.x = bitmap.width;size.shopviagraonliney = bitmap.net#64018 viagra - buy viagrahttp:height; AhiSurfAlloc( dCtx, &surface, &size, AHIFMT_16BPP_565, 0 ); /* Перенесём картинку на нашу новую поверхность, просто нарисовав её из системной памяти */ AHIPOINT_T point;AHIRECT_T rect; //wwwЗадаём область выводаrect.x1 = 0;rect.y1 = 0;rect.x2 = bitmap.shopviagraonlinewidth;rect.net#82343 http ez4uy2 = bitmap.net order viagra cheapheight; // И точку на исходной картинкеpoint.html - buy cheap uk viagrahttp:x = 0;point.y = 0; // Не забываем, что в прошлый раз мы установили операцию PATCOPY, но она не подходит для вывода растра!AhiDrawRopSet( dCtx, AHIROP3(AHIROP_SRCCOPY) ); //wwwСейчас мы хотим вывести картинку на новую поверхность.purchaseAhiDrawSurfDstSet( dCtx, surface, 0 );// Так как выводить будем из системной памяти, поверхность-clomid-onlineисточник нам не важна.com // Выводим картинкуAhiDrawBitmapBlt( dCtx, &rect, &point, &bitmap, NULL, 0 ); /* Теперь мы можем работать с этой картинкой в видеопамяти */#24733 buy cheap clomid online - buy clomid medicine http:AHIPOINT_T point;AHIRECT_T rect; //wwwСейчас мы хотим вывести картинку из новой поверхности на экран.AhiDrawSurfSrcSet( dCtx, surface, 0 );AhiDrawSurfDstSet( dCtx, sDisp, 0 ); point.buyphenterminedietx = 0;point.orgy = 0; rect.x1 = 0;rect.y1 = 0;rect.x2 = bitmap.width;rect.y2 = bitmap.height; // Для вывода из видеопамяти используется эта функцияAhiDrawBitBlt( dCtx, &rect, &point );</#48120 order phentermine yellow online pre>References: [[AhiDrawBitBlt]], [[AhiSurfAlloc]], [[AhiDrawSurfSrcSet]], [[AhiDrawSurfDstSet]], [[AhiDrawBitmapBlt]], [[AhiDrawRopSet]] == Заключение == Итак, рассмотрев основные моменты работы с драйвером ATI и даже несколько конкретных примеров, у вас не должно возникнуть больших проблем с разработкой эльфов с его использованием.Тем более, что уже существует несколько подобных эльфов, с исходным кодом которых можно ознакомиться. '''Если эта статья вам чем-то помогла - пожалуйста, отпишитесь на форуме!''' -- order phentermine on line[[Участник:Andy51|Andy51]] 19:13, 29 августа 2009 (MSD) [[Категория:Эльфостроение]]