Skip to content

Commit

Permalink
clean up
Browse files Browse the repository at this point in the history
  • Loading branch information
jwoo-msft committed Feb 2, 2024
1 parent 181b806 commit f659bb2
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 57 deletions.
1 change: 0 additions & 1 deletion source/uwp/SharedRenderer/lib/AdaptiveCarouselRenderer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,6 @@ namespace winrt::AdaptiveCards::Rendering::Xaml_Rendering::implementation
carouselBorder.Child(gridContainer);
}


// If we changed the context's rtl setting, set it back after rendering the children
if (updatedRtl)
{
Expand Down
84 changes: 42 additions & 42 deletions source/uwp/SharedRenderer/lib/XamlBuilder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -266,62 +266,62 @@ namespace AdaptiveCards::Rendering::Xaml_Rendering
winrt::AdaptiveFeatureRegistration const& featureRegistration,
boolean ancestorHasFallback)
{
winrt::FallbackType elementFallback = element.FallbackType();
bool elementHasFallback = elementFallback != winrt::FallbackType::None || ancestorHasFallback;
renderArgs.AncestorHasFallback(elementHasFallback);
// Check to see if element's requirements are being met
bool shouldFallback = featureRegistration && !MeetsRequirements(element, featureRegistration);
if (!elementRenderer || shouldFallback)
{
throw winrt::hresult_error(E_PERFORM_FALLBACK);
}
winrt::FallbackType elementFallback = element.FallbackType();
bool elementHasFallback = elementFallback != winrt::FallbackType::None || ancestorHasFallback;
renderArgs.AncestorHasFallback(elementHasFallback);
// Check to see if element's requirements are being met
bool shouldFallback = featureRegistration && !MeetsRequirements(element, featureRegistration);
if (!elementRenderer || shouldFallback)
{
throw winrt::hresult_error(E_PERFORM_FALLBACK);
}
}

RenderedElementStruct XamlBuilder::RenderAsUIElement(
winrt::IAdaptiveCardElement const& element,
winrt::AdaptiveRenderContext const&renderContext,
winrt::AdaptiveRenderArgs const&renderArgs,
winrt::AdaptiveRenderArgs const&renderArgs,
winrt::AdaptiveFeatureRegistration const& featureRegistration,
bool ancestorHasFallback)
{
winrt::UIElement newControl{nullptr};
winrt::IAdaptiveCardElement renderedElement{nullptr};
winrt::UIElement newControl{nullptr};
winrt::IAdaptiveCardElement renderedElement{nullptr};

try
{
try
{
auto elementRenderer = renderContext.ElementRenderers().Get(element.ElementTypeString());

ShouldFallback(
element,
elementRenderer,
renderArgs,
featureRegistration,
ShouldFallback(
element,
elementRenderer,
renderArgs,
featureRegistration,
ancestorHasFallback);

return {elementRenderer.Render(element, renderContext, renderArgs), element};

}
catch (winrt::hresult_error const& ex)
{
// We're only interested in fallback exception
if (ex.code() != E_PERFORM_FALLBACK)
{
throw ex;
}

try
{
std::tie(newControl, renderedElement) = XamlHelpers::RenderFallback(element, renderContext, renderArgs);
}
catch (winrt::hresult_error const& ex)
{
// if we get an E_PERFORM_FALLBACK error again, we should only throw it if `ancestorHasFallBack`
if (ex.code() != E_PERFORM_FALLBACK || (ex.code() == E_PERFORM_FALLBACK && ancestorHasFallback))
{
throw ex;
}
}
}
}
catch (winrt::hresult_error const& ex)
{
// We're only interested in fallback exception
if (ex.code() != E_PERFORM_FALLBACK)
{
throw ex;
}

try
{
std::tie(newControl, renderedElement) = XamlHelpers::RenderFallback(element, renderContext, renderArgs);
}
catch (winrt::hresult_error const& ex)
{
// if we get an E_PERFORM_FALLBACK error again, we should only throw it if `ancestorHasFallBack`
if (ex.code() != E_PERFORM_FALLBACK || (ex.code() == E_PERFORM_FALLBACK && ancestorHasFallback))
{
throw ex;
}
}
}

return {};
}
Expand All @@ -343,7 +343,7 @@ namespace AdaptiveCards::Rendering::Xaml_Rendering
// If we got a control, add a separator if needed and the control to the parent panel
if (newControl)
{
auto hostConfig = renderContext.HostConfig();
auto hostConfig = renderContext.HostConfig();
auto separator = XamlHelpers::AddSeparatorIfNeeded(iElement, element, hostConfig, renderContext, parentPanel);

// If the renderedElement was an input, render the label and error message
Expand Down
14 changes: 7 additions & 7 deletions source/uwp/SharedRenderer/lib/XamlBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@

namespace AdaptiveCards::Rendering::Xaml_Rendering
{
struct RenderedElementStruct
{
winrt::UIElement renderedUI {nullptr};
winrt::IAdaptiveCardElement adaptiveElement {nullptr};
};
struct RenderedElementStruct
{
winrt::UIElement renderedUI {nullptr};
winrt::IAdaptiveCardElement adaptiveElement {nullptr};
};

struct XamlBuilder : winrt::implements<XamlBuilder, winrt::IInspectable, IImageLoadTrackerListener>
{
Expand Down Expand Up @@ -55,7 +55,7 @@ namespace AdaptiveCards::Rendering::Xaml_Rendering
winrt::AdaptiveRenderContext const& renderContext,
winrt::AdaptiveRenderArgs const& renderArgs);

static RenderedElementStruct RenderAsUIElement(
static RenderedElementStruct RenderAsUIElement(
winrt::IAdaptiveCardElement const& element,
winrt::AdaptiveRenderContext const& renderContext,
winrt::AdaptiveRenderArgs const& renderArgs,
Expand Down Expand Up @@ -132,7 +132,7 @@ namespace AdaptiveCards::Rendering::Xaml_Rendering
void SetRasterizedPixelHeight(winrt::ImageSource const& imageSource, double const& imageSize);
void SetRasterizedPixelWidth(winrt::ImageSource const& imageSource, double const& imageSize);

static void ShouldFallback(winrt::IAdaptiveCardElement const& element,
static void ShouldFallback(winrt::IAdaptiveCardElement const& element,
winrt::IAdaptiveElementRenderer const& elementRenderer,
winrt::AdaptiveRenderArgs const& renderArgs,
winrt::AdaptiveFeatureRegistration const& featureRegistration,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -675,13 +675,6 @@ namespace AdaptiveCards
Boolean ExpectedVisibility;
Boolean IsStretchable;
}

//runtimeclass CarouselView : Microsoft.UI.Xaml.Controls.FlipView
//{
// CarouselView();
// void AddPanel(Microsoft.UI.Xaml.UIElement uielement);
//}

}
}
}

0 comments on commit f659bb2

Please sign in to comment.