Применение Windows API
Шрифт:
int y = yRange + static_cast<int>(yRange * cos(4 * speed * _tick));
Blitter bltMask(_mask);
bltMask.SetMode(SRCPAINT);
bltMask.SetDest(x, y);
bltMask.BlitTo(bmpCanvas);
Blitter bltSprite(_sprite);
bltSprite.SetMode(SRCAND);
bltSprite.SetDest(x, y);
bltSprite.BlitTo(bmpCanvas);
// update the buffer
_bitmapBuf = bmp;
}
For completeness, here's the definition of bitmap canvas. You draw directly on this canvas using standard canvas methods, like Line, Text, SetPixel, etc... Here we only blit bitmaps into it.
class BitmapCanvas: public MemCanvas {
public:
BitmapCanvas(HDC hdc, HBITMAP hBitmap) : MemCanvas(hdc) {
// convert bitmap to format compatible with canvas
_hOldBitmap = reinterpret_cast(::SelectObject(_hdc, hBitmap));
}
~BitmapCanvas {
::SelectObject(_hdc, _hOldBitmap);
}
private:
HBITMAP _hOldBitmap;
};
class MemCanvas: public Canvas {
public:
MemCanvas(HDC hdc) : Canvas(::CreateCompatibleDC(hdc)) {}
~MemCanvas {
::DeleteDC(_hdc);
}
};
Now, if you want more speed, read about DirectDraw.
Поделиться:
Популярные книги
Средневековая история. Тетралогия
Средневековая история
Фантастика:
фэнтези
попаданцы
9.16
рейтинг книги
Попаданка в деле, или Ваш любимый доктор
1. Попаданка в деле, или Ваш любимый доктор
Фантастика:
фэнтези
5.50
рейтинг книги
Сумеречный Стрелок 2
2. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Новый Рал 7
7. Рал!
Фантастика:
попаданцы
5.00
рейтинг книги
Релокант
1. Релокант в другой мир
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Кадет Морозов
4. Живой лёд
Фантастика:
боевая фантастика
5.72
рейтинг книги
Солдат Империи
1. Страж
Фантастика:
попаданцы
альтернативная история
6.67
рейтинг книги
Последний Паладин. Том 4
4. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Новый Рал 2
2. Рал!
Фантастика:
фэнтези
7.62
рейтинг книги
Измена. Верни мне мою жизнь
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Мне нужна жена
Любовные романы:
современные любовные романы
6.88
рейтинг книги
Аромат невинности
Любовные романы:
любовно-фантастические романы
эро литература
9.23
рейтинг книги
Повелитель механического легиона. Том III
3. Повелитель механического легиона
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Последний Паладин. Том 6
6. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00