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
Criar um aplicativo Direct2D simples