Параметры функции DirectDraw Blt - PullRequest
       30

Параметры функции DirectDraw Blt

1 голос
/ 04 августа 2011

Просто простая функция blt:

RECT dstRect = {dstL, dstT, dstR, dstB};
RECT srcRect = {srcL, srcT, srcR, srcB};

HRESULT hr = _surface->Blt(&dstRect,source,&srcRect,DDBLT_WAIT, NULL);

Мой вопрос:

допустим, у меня есть буфер шириной 'w', я указываю dstL = 0. Что должно быть dstR?w или w-1?

означает, что dstR включен или нет?(<или <=)? </p>

1 Ответ

1 голос
/ 04 августа 2011

Прямоугольники DirectDraw похожи на прямоугольники GDI в том смысле, что они покрывают область вплоть до (но не включая) правого столбца и нижней строки. Так и должно быть.

Ссылка: http://msdn.microsoft.com/en-us/library/aa911080.aspx:

Структуры RECT определены таким образом, что правый и нижний элементы являются исключительными: правый минус левый равен ширине прямоугольника, не на единицу меньше ширины.

...