Hello, XAML! Hello, DirectX! |
前田稔(Maeda Minoru)の超初心者のプログラム入門
Hello, XAML! Hello, DirectX! |
<TextBlock x:Name="SimpleTextBlock" HorizontalAlignment="Left" FontSize="64" Height="72" Text="Direct2DApp" Margin="46,52,0,0" Foreground="#FFF80B0B" RenderTransformOrigin="0.247,-0.216" VerticalAlignment="Top" Grid.ColumnSpan="2"/> |
Platform::String^ text = "Hello, DirectX!"; |
void SimpleTextRenderer::Render() { m_d2dContext->BeginDraw(); m_d2dContext->Clear(ColorF(BackgroundColors[m_backgroundColorIndex])); Matrix3x2F translation = Matrix3x2F::Translation( m_windowBounds.Width / 2.0f - m_textMetrics.widthIncludingTrailingWhitespace / 2.0f + m_textPosition.X, m_windowBounds.Height / 2.0f - m_textMetrics.height / 2.0f + m_textPosition.Y ); m_d2dContext->SetTransform(translation * m_orientationTransform2D); m_d2dContext->DrawTextLayout( Point2F(0.0f, 0.0f), m_textLayout.Get(), m_blackBrush.Get(), D2D1_DRAW_TEXT_OPTIONS_NO_SNAP ); HRESULT hr = m_d2dContext->EndDraw(); if (hr != D2DERR_RECREATE_TARGET) { DX::ThrowIfFailed(hr); } m_renderNeeded = false; } |
void SimpleTextRenderer::Render() { m_d2dContext->BeginDraw(); m_d2dContext->Clear(D2D1::ColorF(D2D1::ColorF::CornflowerBlue)); Platform::String^ text = "Text Message"; m_d2dContext->DrawText( text->Data(), text->Length(), m_textFormat.Get(), D2D1::RectF(400, 300, 800.0f, 400.0f ), m_whiteBrush.Get() ); HRESULT hr = m_d2dContext->EndDraw(); if (hr != D2DERR_RECREATE_TARGET) { DX::ThrowIfFailed(hr); } m_renderNeeded = false; } |
void SimpleTextRenderer::Render() { m_d2dContext->BeginDraw(); m_d2dContext->Clear(D2D1::ColorF(D2D1::ColorF::CornflowerBlue)); D2D1_RECT_F rectangle1 = D2D1::RectF(200.0f, 200.0f, 600.0f, 400.0f); m_d2dContext->FillRectangle(&rectangle1, m_redBrush.Get()); HRESULT hr = m_d2dContext->EndDraw(); if (hr != D2DERR_RECREATE_TARGET) { DX::ThrowIfFailed(hr); } m_renderNeeded = false; } |
Microsoft::WRL::ComPtr<ID2D1SolidColorBrush> m_redBrush; DX::ThrowIfFailed( m_d2dContext->CreateSolidColorBrush( ColorF(ColorF::Red), &m_redBrush) ); |