aboutsummaryrefslogtreecommitdiff
path: root/CruUI/graph
diff options
context:
space:
mode:
Diffstat (limited to 'CruUI/graph')
-rw-r--r--CruUI/graph/graph.cpp8
-rw-r--r--CruUI/graph/graph.h11
2 files changed, 19 insertions, 0 deletions
diff --git a/CruUI/graph/graph.cpp b/CruUI/graph/graph.cpp
index 00d5137d..94c7029e 100644
--- a/CruUI/graph/graph.cpp
+++ b/CruUI/graph/graph.cpp
@@ -213,5 +213,13 @@ namespace cru {
d2d1_factory_->ReloadSystemMetrics()
);
}
+
+ ComPtr<ID2D1SolidColorBrush> CreateSolidBrush(const D2D1_COLOR_F& color)
+ {
+ const auto device_context = graph::GraphManager::GetInstance()->GetD2D1DeviceContext();
+ ComPtr<ID2D1SolidColorBrush> solid_color_brush;
+ device_context->CreateSolidColorBrush(color, &solid_color_brush);
+ return solid_color_brush;
+ }
}
}
diff --git a/CruUI/graph/graph.h b/CruUI/graph/graph.h
index 990b51b3..fd062787 100644
--- a/CruUI/graph/graph.h
+++ b/CruUI/graph/graph.h
@@ -164,5 +164,16 @@ namespace cru
{
return graph_manager_->GetD2D1DeviceContext();
}
+
+ Microsoft::WRL::ComPtr<ID2D1SolidColorBrush> CreateSolidBrush(const D2D1_COLOR_F& color);
+
+ inline void WithTransform(ID2D1DeviceContext* device_context, const D2D1_MATRIX_3X2_F matrix, Action<ID2D1DeviceContext*>&& action)
+ {
+ D2D1_MATRIX_3X2_F old_transform;
+ device_context->GetTransform(&old_transform);
+ device_context->SetTransform(old_transform * matrix);
+ action(device_context);
+ device_context->SetTransform(old_transform);
+ }
}
}