다음을 통해 공유


ID2D1EffectImpl::P repareForRender 메서드(d2d1effectauthor.h)

렌더링 프로세스에 대한 효과를 준비합니다.

구문

HRESULT PrepareForRender(
  D2D1_CHANGE_TYPE changeType
);

매개 변수

changeType

형식: D2D1_CHANGE_TYPE

효과가 예상해야 하는 변경 유형을 나타냅니다.

반환 값

형식: HRESULT

메서드가 성공하면 S_OK 반환합니다. 실패하면 HRESULT 오류 코드를 반환합니다.

설명

이 메서드는 효과가 그려진 효과 그래프 내에 있을 때 렌더러에 의해 호출됩니다.

메서드가 호출됩니다.

  • 효과가 초기화되었지만 이전에 그려지지 않은 경우입니다.
  • 마지막 그리기 호출 이후 효과 속성이 설정된 경우
  • 효과가 마지막으로 그려진 이후 컨텍스트 상태가 변경된 경우입니다.
그렇지 않으면 메서드가 호출되지 않습니다. 효과에 의해 생성된 변환은 모든 그리기 호출에 대한 입력 및 출력 사각형을 처리하기 위해 호출됩니다.

대부분의 효과는 이 호출이 수행될 때까지 리소스를 만들거나 토폴로지를 지정하는 것을 연기합니다. 속성을 저장하고 처음 그릴 때 구체적인 렌더링 기술 세트에 매핑합니다.

예제

효과는 일반적으로 현재 상태를 스냅하고 캡슐화된 모든 변환에 적용하기 전에 렌더링될 때까지 기다립니다.

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 7용 Windows 8 및 플랫폼 업데이트 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 R2용 Windows Server 2012 및 플랫폼 업데이트 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 d2d1effectauthor.h
라이브러리 D2D1.lib

추가 정보

ID2D1DeviceContext

ID2D1EffectImpl