mirror of
https://github.com/Microsoft/calculator.git
synced 2025-08-21 05:43:10 -07:00
resolve comments
This commit is contained in:
parent
4a9723feaf
commit
4286051b42
3 changed files with 17 additions and 30 deletions
|
@ -55,7 +55,7 @@ namespace
|
|||
// Translate the pointer position to the [-1, 1] bounds.
|
||||
__inline std::pair<double, double> PointerPositionToGraphPosition(double posX, double posY, double width, double height)
|
||||
{
|
||||
return std::make_pair((2 * posX / width - 1), (1 - 2 * posY / height));
|
||||
return { (2 * posX / width - 1), (1 - 2 * posY / height) };
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -381,7 +381,7 @@ namespace GraphControl
|
|||
|
||||
if (initResult.has_value())
|
||||
{
|
||||
auto graphedEquations = *initResult;
|
||||
auto& graphedEquations = *initResult;
|
||||
|
||||
for (size_t i = 0; i < validEqs.size(); ++i)
|
||||
{
|
||||
|
@ -573,8 +573,8 @@ namespace GraphControl
|
|||
}
|
||||
|
||||
eq->GraphedEquation->GetGraphEquationOptions()->SetLineStyle(static_cast<::Graphing::Renderer::LineStyle>(eq->EquationStyle));
|
||||
eq->GraphedEquation->GetGraphEquationOptions()->SetLineWidth(LineWidth);
|
||||
eq->GraphedEquation->GetGraphEquationOptions()->SetSelectedEquationLineWidth(LineWidth + ((LineWidth <= 2) ? 1 : 2));
|
||||
eq->GraphedEquation->GetGraphEquationOptions()->SetLineWidth(static_cast<float>(LineWidth));
|
||||
eq->GraphedEquation->GetGraphEquationOptions()->SetSelectedEquationLineWidth(static_cast<float>(LineWidth + ((LineWidth <= 2) ? 1 : 2)));
|
||||
}
|
||||
}
|
||||
options.SetGraphColors(graphColors);
|
||||
|
@ -1070,7 +1070,7 @@ void Grapher::OnLineWidthPropertyChanged(double oldValue, double newValue)
|
|||
UpdateGraphOptions(m_graph->GetOptions(), GetGraphableEquations());
|
||||
if (m_renderMain)
|
||||
{
|
||||
m_renderMain->SetPointRadius(LineWidth + 1);
|
||||
m_renderMain->SetPointRadius(static_cast<float>(LineWidth + 1));
|
||||
m_renderMain->RunRenderPass();
|
||||
|
||||
TraceLogger::GetInstance()->LogLineWidthChanged();
|
||||
|
|
|
@ -46,7 +46,6 @@ namespace GraphControl::DX
|
|||
|
||||
RenderMain::~RenderMain()
|
||||
{
|
||||
m_renderPassCts.cancel();
|
||||
UnregisterEventHandlers();
|
||||
}
|
||||
|
||||
|
@ -206,44 +205,32 @@ namespace GraphControl::DX
|
|||
|
||||
concurrency::task<bool> RenderMain::RunRenderPassAsync(bool allowCancel)
|
||||
{
|
||||
if (allowCancel)
|
||||
{
|
||||
m_renderPassCts.cancel();
|
||||
}
|
||||
m_renderPassCts = concurrency::cancellation_token_source{};
|
||||
|
||||
bool result = false;
|
||||
auto currentVer = ++m_renderPassVer;
|
||||
Platform::WeakReference that{ this };
|
||||
co_await m_coreWindow->Dispatcher->RunAsync(
|
||||
CoreDispatcherPriority::High,
|
||||
ref new DispatchedHandler(
|
||||
[this, &result, cancel = m_renderPassCts.get_token()]
|
||||
[&]
|
||||
{
|
||||
if (cancel.is_canceled())
|
||||
auto self = that.Resolve<RenderMain>();
|
||||
if (self == nullptr || (allowCancel && m_renderPassVer != currentVer))
|
||||
{
|
||||
return;
|
||||
result = RunRenderPassInternal();
|
||||
}
|
||||
result = self->RunRenderPassInternal();
|
||||
}));
|
||||
co_return result;
|
||||
}
|
||||
|
||||
bool RenderMain::RunRenderPassInternal()
|
||||
{
|
||||
// We are accessing Direct3D resources directly without Direct2D's knowledge, so we
|
||||
// must manually acquire and apply the Direct2D factory lock.
|
||||
winrt::com_ptr<ID2D1Multithread> d2dmultithread;
|
||||
m_deviceResources.GetD2DFactory()->QueryInterface(IID_PPV_ARGS(d2dmultithread.put()));
|
||||
d2dmultithread->Enter();
|
||||
|
||||
bool succesful = Render();
|
||||
|
||||
if (succesful)
|
||||
if (Render())
|
||||
{
|
||||
m_deviceResources.Present();
|
||||
return true;
|
||||
}
|
||||
|
||||
// It is absolutely critical that the factory lock be released upon
|
||||
// exiting this function, or else any consequent Direct2D calls will be blocked.
|
||||
d2dmultithread->Leave();
|
||||
return succesful;
|
||||
return false;
|
||||
}
|
||||
|
||||
// Renders the current frame according to the current application state.
|
||||
|
|
|
@ -184,7 +184,7 @@ namespace GraphControl::DX
|
|||
// Are we currently showing the tracing value
|
||||
bool m_Tracing;
|
||||
|
||||
concurrency::cancellation_token_source m_renderPassCts;
|
||||
unsigned m_renderPassVer = 0;
|
||||
|
||||
HRESULT m_HResult;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue