Метод IDCompositionSurface::Scroll (dcomp.h)
Прокручивает прямоугольную область логической поверхности Microsoft DirectComposition.
Синтаксис
HRESULT Scroll(
[in] const RECT *scrollRect,
[in, optional] const RECT *clipRect,
[in] int offsetX,
[in] int offsetY
);
Параметры
[in] scrollRect
Прямоугольная область прокручиваемой поверхности относительно левого верхнего угла поверхности. Если этот параметр имеет значение NULL, прокручивается вся поверхность.
[in, optional] clipRect
ClipRect обрезает назначение (scrollRect после смещения) прокрутки. Единственное содержимое растрового изображения, которое будет прокручиваться, — это содержимое, которое остается внутри прямоугольника клипа после завершения прокрутки.
[in] offsetX
Объем горизонтальной прокрутки в пикселях. Используйте положительные значения для прокрутки вправо, а отрицательные — для прокрутки влево.
[in] offsetY
Объем вертикальной прокрутки в пикселях. Используйте положительные значения для прокрутки вниз, а отрицательные — для прокрутки вверх.
Возвращаемое значение
Если функция завершается успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT . Список кодов ошибок см. в разделе Коды ошибок DirectComposition .
Комментарии
Этот метод позволяет приложению скопировать вложенный прямоугольник поверхностного объекта DirectComposition. Это позволяет избежать повторной отрисовки содержимого, которое уже доступно.
Прямоугольник scrollRect должен содержаться в границах поверхности. Если прямоугольник scrollRect выходит за пределы поверхности, этот метод завершается ошибкой.
Биты, скопированные операцией прокрутки (источником), определяются пересечением прямоугольников scrollRect и clipRect .
Биты, отображаемые на экране (назначение), определяются пересечением прямоугольника источника смещения и clipRect.
Операции прокрутки можно вызывать только перед вызовом BeginDraw или после вызова EndDraw. Приостановленные или возобновленные поверхности не являются кандидатами для прокрутки, так как они все еще обновляются.
Приложение отвечает за то, чтобы прокручиваемая область для IDCompositionVirtualSurface была ограничена допустимыми пикселями. Поведение недопустимых пикселей в scrollRect не определено.
Части виртуальной поверхности, которые были удалены операцией обрезки или изменения размера, нельзя прокручивать, даже если обрезка или изменение размера применены в том же пакете. Обрезка и изменение размера применяются немедленно.
Требования
Минимальная версия клиента | Windows 8 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 [только классические приложения] |
Целевая платформа | Windows |
Header | dcomp.h |
Библиотека | Dcomp.lib |
DLL | Dcomp.dll |