Interface ID2D1Factory (d2d1.h)

Cria Direct2D recursos.

Herança

A interface ID2D1Factory herda da interface IUnknown . ID2D1Factory também tem estes tipos de membros:

Métodos

A interface ID2D1Factory tem esses métodos.

 
ID2D1Factory::CreateDCRenderTarget

Cria um destino de renderização que se desenha em um contexto de dispositivo GDI (Interface de Dispositivo Gráfico do Windows).
ID2D1Factory::CreateDrawingStateBlock

Cria um ID2D1DrawingStateBlock que pode ser usado com os métodos SaveDrawingState e RestoreDrawingState de um destino de renderização. (sobrecarga 1/3)
ID2D1Factory::CreateDrawingStateBlock

Cria um ID2D1DrawingStateBlock que pode ser usado com os métodos SaveDrawingState e RestoreDrawingState de um destino de renderização. (sobrecarga 2/3)
ID2D1Factory::CreateDrawingStateBlock

Cria um ID2D1DrawingStateBlock que pode ser usado com os métodos SaveDrawingState e RestoreDrawingState de um destino de renderização. (sobrecarga 3/3)
ID2D1Factory::CreateDxgiSurfaceRenderTarget

Cria um destino de renderização que se desenha em uma superfície DXGI (DirectX Graphics Infrastructure). (sobrecarga 1/2)
ID2D1Factory::CreateDxgiSurfaceRenderTarget

Cria um destino de renderização que se desenha em uma superfície DXGI (DirectX Graphics Infrastructure). (sobrecarga 2/2)
ID2D1Factory::CreateEllipseGeometry

Cria uma ID2D1EllipseGeometry. (sobrecarga 2/2)
ID2D1Factory::CreateEllipseGeometry

Cria uma ID2D1EllipseGeometry. (sobrecarga 1/2)
ID2D1Factory::CreateGeometryGroup

Cria um ID2D1GeometryGroup, que é um objeto que contém outras geometrias.
ID2D1Factory::CreateHwndRenderTarget

Cria um ID2D1HwndRenderTarget, um destino de renderização que é renderizado em uma janela. (sobrecarga 2/2)
ID2D1Factory::CreateHwndRenderTarget

Cria um ID2D1HwndRenderTarget, um destino de renderização que é renderizado em uma janela. (sobrecarga 1/2)
ID2D1Factory::CreatePathGeometry

Cria um ID2D1PathGeometry vazio.
ID2D1Factory::CreateRectangleGeometry

Cria um ID2D1RectangleGeometry. (sobrecarga 2/2)
ID2D1Factory::CreateRectangleGeometry

Cria um ID2D1RectangleGeometry. (sobrecarga 1/2)
ID2D1Factory::CreateRoundedRectangleGeometry

Cria um ID2D1RoundedRectangleGeometry. (sobrecarga 2/2)
ID2D1Factory::CreateRoundedRectangleGeometry

Cria um ID2D1RoundedRectangleGeometry. (sobrecarga 1/2)
ID2D1Factory::CreateStrokeStyle

Cria um ID2D1StrokeStyle que descreve a tampa inicial, o padrão de traço e outros recursos de um traço. (sobrecarga 2/2)
ID2D1Factory::CreateStrokeStyle

Cria um ID2D1StrokeStyle que descreve a tampa inicial, o padrão de traço e outros recursos de um traço. (sobrecarga 1/2)
ID2D1Factory::CreateTransformedGeometry

Transforma a geometria especificada e armazena o resultado como um objeto ID2D1TransformedGeometry. (sobrecarga 2/2)
ID2D1Factory::CreateTransformedGeometry

Transforma a geometria especificada e armazena o resultado como um objeto ID2D1TransformedGeometry. (sobrecarga 1/2)
ID2D1Factory::CreateWicBitmapRenderTarget

Cria um destino de renderização que é renderizado em um bitmap do WIC (Componente de Imagens do Microsoft Windows). (sobrecarga 2/2)
ID2D1Factory::CreateWicBitmapRenderTarget

Cria um destino de renderização que é renderizado em um bitmap do WIC (Componente de Imagens do Microsoft Windows). (sobrecarga 1/2)
ID2D1Factory::GetDesktopDpi

Recupera os pontos da área de trabalho atuais por polegada (DPI). Para atualizar esse valor, chame ReloadSystemMetrics.
ID2D1Factory::ReloadSystemMetrics

Força a fábrica a atualizar os padrões do sistema que possam ter sido alterados desde a criação da fábrica.

Comentários

A interface ID2D1Factory é o ponto de partida para usar Direct2D; é o que você usa para criar outros recursos Direct2D que você pode usar para desenhar ou descrever formas.

Uma fábrica define um conjunto de métodos CreateResource que podem produzir os seguintes recursos de desenho:

  • Renderizar destinos: objetos que renderizam comandos de desenho.
  • Blocos de estado de desenho: objetos que armazenam informações de estado de desenho, como a transformação atual e o modo de suavização.
  • Geometrias: objetos que representam formas simples e potencialmente complexas.

Para criar um ID2D1Factory, use um dos métodos CreateFactory . Você deve manter a instância ID2D1Factory desde que use Direct2D recursos; em geral, não será necessário recriá-la quando o aplicativo estiver em execução. Para obter mais informações sobre Direct2D recursos, consulte a Visão geral de recursos.

Fábricas singlethreaded e multithreaded

Ao criar uma fábrica, você pode especificar se ela é multithreaded ou singlethreaded. Uma fábrica singlethreaded não fornece serialização em relação a nenhuma outra instância de thread único dentro de Direct2D, portanto, esse mecanismo fornece um grau muito grande de dimensionamento na CPU.

Você também pode criar uma instância de fábrica multithreaded. Nesse caso, a fábrica e todos os objetos derivados podem ser usados de qualquer thread e cada destino de renderização pode ser renderizado de forma independente. Direct2D serializa chamadas para esses objetos, portanto, uma única instância multithreaded Direct2D não será dimensionada tão bem na CPU quanto muitas instâncias de thread único. No entanto, os recursos podem ser compartilhados dentro da instância multithreaded.

Observe que o qualificador "Na CPU": as GPUs geralmente aproveitam o paralelismo refinado mais do que as CPUs. Por exemplo, chamadas multithread da CPU ainda podem acabar sendo serializadas ao serem enviadas para a GPU, no entanto, um banco inteiro de sombreadores de pixel e vértice será executado em paralelo para executar a renderização.

Consulte Multithreaded Direct2D Apps para obter mais informações.

Exemplos

Os fragmentos de código a seguir declaram um ponteiro de fábrica, criam uma instância de fábrica singlethreaded e usam a fábrica para criar um destino de renderização.

ID2D1Factory* m_pDirect2dFactory;

    // Create a Direct2D factory.
    hr = D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, &m_pDirect2dFactory);

        // Create a Direct2D render target.
        hr = m_pDirect2dFactory->CreateHwndRenderTarget(
            D2D1::RenderTargetProperties(),
            D2D1::HwndRenderTargetProperties(m_hwnd, size),
            &m_pRenderTarget
            );

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7, Windows Vista com SP2 e Atualização de Plataforma para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2, Windows Server 2008 com SP2 e Atualização de Plataforma para Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho d2d1.h

Confira também

Visão geral do Direct2D

Criar um aplicativo Direct2D simples

Introdução com Direct2D

IUnknown

Aplicativos Direct2D com multithread

Visão geral dos recursos