Поделиться через


Метод ID2D1EffectImpl::P repareForRender (d2d1effectauthor.h)

Подготавливает эффект для процесса отрисовки.

Синтаксис

HRESULT PrepareForRender(
  D2D1_CHANGE_TYPE changeType
);

Параметры

changeType

Тип: D2D1_CHANGE_TYPE

Указывает тип изменения, ожидаемого эффектом.

Возвращаемое значение

Тип: HRESULT

Если метод завершается успешно, он возвращает S_OK. В случае сбоя возвращается код ошибки HRESULT .

Комментарии

Этот метод вызывается отрисовщиком, когда эффект находится в отрисованном графе эффекта.

Метод будет вызываться:

  • Значение , если эффект был инициализирован, но не был нарисован ранее.
  • Значение , если свойство эффекта задано с момента последнего вызова draw.
  • Если состояние контекста изменилось с момента последнего рисования эффекта.
В противном случае метод не будет вызываться. Преобразования, созданные эффектом, будут вызываться для обработки входных и выходных прямоугольников для каждого вызова draw.

Большинство эффектов откладывают создание ресурсов или указание топологии до выполнения этого вызова. Они хранят свои свойства и сопоставляют их с конкретным набором методов отрисовки при первом рисовании.

Примеры

Эффект обычно ожидает, пока он не будет отображен, прежде чем прикрепить его текущее состояние и применить его к любым преобразованиям, которые он инкапсулировал.

class CMyTransform : public ID2D1DrawTransform
{
public:

    // Transform methods omitted.
    
    HRESULT PrepareForRender(FLOAT radius);
};

class CEffectImplementation : public ID2D1EffectImpl
{
public:

    void SetRadius(FLOAT radius) { _radius = radius; }

    IFACEMETHODIMP PrepareForRender(D2D1_CHANGE_TYPE /*type*/)
    {
        // Send the radius to the transform and ask it to render.
        return _pMyTransform->PrepareForRender(_radius);
    }

private:

    CMyTransform *_pMyTransform;
    FLOAT _radius;
};

Требования

Требование Значение
Минимальная версия клиента Windows 8 и обновление платформы для Windows 7 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2012 и обновление платформы для Windows Server 2008 R2 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header d2d1effectauthor.h
Библиотека D2D1.lib

См. также раздел

ID2D1DeviceContext

ID2D1EffectImpl