Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.15.169.122] |
|
Сообщ.
#1
,
|
|
|
Как создать виртуальный экран и заставить выводить на него API функции (WinDrawChars...)? Делаю так:
#define pSSA 0xfffffa00 const void * volatile *SSA = (const void**)pSSA; *SSA = newSSA; Но тот же WinDrawChars выводит в стандартный буфер. |
Сообщ.
#2
,
|
|
|
Вот извращенец, ты чего творишь??
Насколько я понял, тебе нужно создать экран в памяти и на него рисовать. А потом в случае необходимости этот виртуальный экран скидывать на реальный. Так? Если да, то вот кусок кода, делающий это (применялся мною при написании игр Reverces & Palmageddon). А если ты имел в виду не это, поясни. // Инициализируем вирт. экран WinHandle hDrawWindow = WinCreateOffscreenWindow(160, 160, genericFormat, &error); // Drawing - set up new draw target // (делаем активным вирт. экран) WinHandle hOldWindow = WinSetDrawWindow( hDrawWindow ); ... // Тут рисуем на виртуальном экране всякую фигню ... // Копируем вирт. экран на реальный. WinCopyRectangle( hDrawWindow, hOldWindow, &m_rcScene, m_rcScene.topLeft.x, m_rcScene.topLeft.y, winPaint ); // Set up old draw target WinSetDrawWindow( hOldWindow ); |