text: ﻿#pragma once
  //------------------------------------------------------------------------------
  // <auto-generated>
  //     This code was generated by a tool.
  //
  //       LottieGen version:
  //           7.0.0-build.57+g2cc4f0c931
  //       
  //       Command:
  //           LottieGen -Language Cppwinrt -InputFile Controls_01_Checkmark.json
  //       
  //       Input file:
  //           Controls_01_Checkmark.json (30311 bytes created 16:32-08:00 Nov 23 2020)
  //       
  //       LottieGen source:
  //           http://aka.ms/Lottie
  //
  //     Changes to this file may cause incorrect behavior and will be lost if
  //     the code is regenerated.
  // </auto-generated>
  //------------------------------------------------------------------------------
  #include "common.h"
  #include "AnimatedVisuals\Controls_01_Checkmark.g.h"
  
      // Name:        Controls_01_Checkmark
      // Frame rate:  60 fps
      // Frame count: 270
      // Duration:    4500.0 mS
      // ________________________________________________________________________________________________
      // |           Marker            |           Constant            | Frame |   mS   |   Progress    |
      // |_____________________________|_______________________________|_______|________|_______________|
      // | NormalOnToNormalOff_Start   | M_NormalOnToNormalOff_Start   |   0.0 |    0.0 | 0.0F          |
      // | NormalOnToNormalOff_End     | M_NormalOnToNormalOff_End     |   9.0 |  150.0 | 0.0333333351F |
      // | NormalOnToHoverOn_Start     | M_NormalOnToHoverOn_Start     |  10.0 |  166.7 | 0.0370370373F |
      // | NormalOnToHoverOn_End       | M_NormalOnToHoverOn_End       |  19.0 |  316.7 | 0.0703703687F |
      // | NormalOnToPressedOn_Start   | M_NormalOnToPressedOn_Start   |  20.0 |  333.3 | 0.0740740746F |
      // | NormalOnToPressedOn_End     | M_NormalOnToPressedOn_End     |  29.0 |  483.3 | 0.107407406F  |
      // | NormalOffToNormalOn_Start   | M_NormalOffToNormalOn_Start   |  30.0 |  500.0 | 0.111111112F  |
      // | NormalOffToNormalOn_End     | M_NormalOffToNormalOn_End     |  59.0 |  983.3 | 0.218518525F  |
      // | NormalOffToHoverOff_Start   | M_NormalOffToHoverOff_Start   |  60.0 | 1000.0 | 0.222222224F  |
      // | NormalOffToHoverOff_End     | M_NormalOffToHoverOff_End     |  69.0 | 1150.0 | 0.25555557F   |
      // | NormalOffToPressedOff_Start | M_NormalOffToPressedOff_Start |  70.0 | 1166.7 | 0.259259254F  |
      // | NormalOffToPressedOff_End   | M_NormalOffToPressedOff_End   |  89.0 | 1483.3 | 0.32962963F   |
      // | HoverOnToHoverOff_Start     | M_HoverOnToHoverOff_Start     |  90.0 | 1500.0 | 0.333333343F  |
      // | HoverOnToHoverOff_End       | M_HoverOnToHoverOff_End       |  99.0 | 1650.0 | 0.366666675F  |
      // | HoverOnToNormalOn_Start     | M_HoverOnToNormalOn_Start     | 100.0 | 1666.7 | 0.370370358F  |
      // | HoverOnToNormalOn_End       | M_HoverOnToNormalOn_End       | 109.0 | 1816.7 | 0.40370369F   |
      // | HoverOnToPressedOn_Start    | M_HoverOnToPressedOn_Start    | 110.0 | 1833.3 | 0.407407403F  |
      // | HoverOnToPressedOn_End      | M_HoverOnToPressedOn_End      | 119.0 | 1983.3 | 0.440740734F  |
      // | HoverOffToHoverOn_Start     | M_HoverOffToHoverOn_Start     | 120.0 | 2000.0 | 0.444444448F  |
      // | HoverOffToHoverOn_End       | M_HoverOffToHoverOn_End       | 129.0 | 2150.0 | 0.477777779F  |
      // | HoverOffToNormalOff_Start   | M_HoverOffToNormalOff_Start   | 130.0 | 2166.7 | 0.481481493F  |
      // | HoverOffToNormalOff_End     | M_HoverOffToNormalOff_End     | 139.0 | 2316.7 | 0.514814794F  |
      // | HoverOffToPressedOff_Start  | M_HoverOffToPressedOff_Start  | 140.0 | 2333.3 | 0.518518507F  |
      // | HoverOffToPressedOff_End    | M_HoverOffToPressedOff_End    | 149.0 | 2483.3 | 0.551851869F  |
      // | PressedOnToPressedOff_Start | M_PressedOnToPressedOff_Start | 150.0 | 2500.0 | 0.555555582F  |
      // | PressedOnToPressedOff_End   | M_PressedOnToPressedOff_End   | 159.0 | 2650.0 | 0.588888884F  |
      // | PressedOnToHoverOff_Start   | M_PressedOnToHoverOff_Start   | 160.0 | 2666.7 | 0.592592597F  |
      // | PressedOnToHoverOff_End     | M_PressedOnToHoverOff_End     | 179.0 | 2983.3 | 0.662962973F  |
      // | PressedOnToNormalOff_Start  | M_PressedOnToNormalOff_Start  | 180.0 | 3000.0 | 0.666666687F  |
      // | PressedOnToNormalOff_End    | M_PressedOnToNormalOff_End    | 199.0 | 3316.7 | 0.737037063F  |
      // | PressedOffToPressedOn_Start | M_PressedOffToPressedOn_Start | 200.0 | 3333.3 | 0.740740716F  |
      // | PressedOffToPressedOn_End   | M_PressedOffToPressedOn_End   | 209.0 | 3483.3 | 0.774074078F  |
      // | PressedOffToHoverOn_Start   | M_PressedOffToHoverOn_Start   | 210.0 | 3500.0 | 0.777777791F  |
      // | PressedOffToHoverOn_End     | M_PressedOffToHoverOn_End     | 239.0 | 3983.3 | 0.885185182F  |
      // | PressedOffToNormalOn_Start  | M_PressedOffToNormalOn_Start  | 240.0 | 4000.0 | 0.888888896F  |
      // | PressedOffToNormalOn_End    | M_PressedOffToNormalOn_End    | 269.0 | 4483.3 | 0.996296287F  |
      // ------------------------------------------------------------------------------------------------
      // _________________________________________________________
      // | Theme property |  Accessor  | Type  |  Default value  |
      // |________________|____________|_______|_________________|
      // | Foreground     | Foreground | Color | #FF000000 Black |
      // ---------------------------------------------------------
  class Controls_01_Checkmark
      : public winrt::implementation::Controls_01_CheckmarkT<Controls_01_Checkmark>
  {
      winrt::Windows::UI::Composition::CompositionPropertySet _themeProperties{ nullptr };
      winrt::Windows::UI::Color _themeForeground{ 0xFF, 0x00, 0x00, 0x00 };
      winrt::Windows::UI::Composition::CompositionPropertySet EnsureThemeProperties(winrt::Windows::UI::Composition::Compositor compositor);
  
      static winrt::Windows::Foundation::Numerics::float4 ColorAsVector4(winrt::Windows::UI::Color color);
  public:
      // Animation duration: 4.500 seconds.
      static constexpr int64_t c_durationTicks{ 45000000L };
  
      // Marker: NormalOnToNormalOff_Start.
      static constexpr float M_NormalOnToNormalOff_Start{ 0.0F };
  
      // Marker: NormalOnToNormalOff_End.
      static constexpr float M_NormalOnToNormalOff_End{ 0.0333333351F };
  
      // Marker: NormalOnToHoverOn_Start.
      static constexpr float M_NormalOnToHoverOn_Start{ 0.0370370373F };
  
      // Marker: NormalOnToHoverOn_End.
      static constexpr float M_NormalOnToHoverOn_End{ 0.0703703687F };
  
      // Marker: NormalOnToPressedOn_Start.
      static constexpr float M_NormalOnToPressedOn_Start{ 0.0740740746F };
  
      // Marker: NormalOnToPressedOn_End.
      static constexpr float M_NormalOnToPressedOn_End{ 0.107407406F };
  
      // Marker: NormalOffToNormalOn_Start.
      static constexpr float M_NormalOffToNormalOn_Start{ 0.111111112F };
  
      // Marker: NormalOffToNormalOn_End.
      static constexpr float M_NormalOffToNormalOn_End{ 0.218518525F };
  
      // Marker: NormalOffToHoverOff_Start.
      static constexpr float M_NormalOffToHoverOff_Start{ 0.222222224F };
  
      // Marker: NormalOffToHoverOff_End.
      static constexpr float M_NormalOffToHoverOff_End{ 0.25555557F };
  
      // Marker: NormalOffToPressedOff_Start.
      static constexpr float M_NormalOffToPressedOff_Start{ 0.259259254F };
  
      // Marker: NormalOffToPressedOff_End.
      static constexpr float M_NormalOffToPressedOff_End{ 0.32962963F };
  
      // Marker: HoverOnToHoverOff_Start.
      static constexpr float M_HoverOnToHoverOff_Start{ 0.333333343F };
  
      // Marker: HoverOnToHoverOff_End.
      static constexpr float M_HoverOnToHoverOff_End{ 0.366666675F };
  
      // Marker: HoverOnToNormalOn_Start.
      static constexpr float M_HoverOnToNormalOn_Start{ 0.370370358F };
  
      // Marker: HoverOnToNormalOn_End.
      static constexpr float M_HoverOnToNormalOn_End{ 0.40370369F };
  
      // Marker: HoverOnToPressedOn_Start.
      static constexpr float M_HoverOnToPressedOn_Start{ 0.407407403F };
  
      // Marker: HoverOnToPressedOn_End.
      static constexpr float M_HoverOnToPressedOn_End{ 0.440740734F };
  
      // Marker: HoverOffToHoverOn_Start.
      static constexpr float M_HoverOffToHoverOn_Start{ 0.444444448F };
  
      // Marker: HoverOffToHoverOn_End.
      static constexpr float M_HoverOffToHoverOn_End{ 0.477777779F };
  
      // Marker: HoverOffToNormalOff_Start.
      static constexpr float M_HoverOffToNormalOff_Start{ 0.481481493F };
  
      // Marker: HoverOffToNormalOff_End.
      static constexpr float M_HoverOffToNormalOff_End{ 0.514814794F };
  
      // Marker: HoverOffToPressedOff_Start.
      static constexpr float M_HoverOffToPressedOff_Start{ 0.518518507F };
  
      // Marker: HoverOffToPressedOff_End.
      static constexpr float M_HoverOffToPressedOff_End{ 0.551851869F };
  
      // Marker: PressedOnToPressedOff_Start.
      static constexpr float M_PressedOnToPressedOff_Start{ 0.555555582F };
  
      // Marker: PressedOnToPressedOff_End.
      static constexpr float M_PressedOnToPressedOff_End{ 0.588888884F };
  
      // Marker: PressedOnToHoverOff_Start.
      static constexpr float M_PressedOnToHoverOff_Start{ 0.592592597F };
  
      // Marker: PressedOnToHoverOff_End.
      static constexpr float M_PressedOnToHoverOff_End{ 0.662962973F };
  
      // Marker: PressedOnToNormalOff_Start.
      static constexpr float M_PressedOnToNormalOff_Start{ 0.666666687F };
  
      // Marker: PressedOnToNormalOff_End.
      static constexpr float M_PressedOnToNormalOff_End{ 0.737037063F };
  
      // Marker: PressedOffToPressedOn_Start.
      static constexpr float M_PressedOffToPressedOn_Start{ 0.740740716F };
  
      // Marker: PressedOffToPressedOn_End.
      static constexpr float M_PressedOffToPressedOn_End{ 0.774074078F };
  
      // Marker: PressedOffToHoverOn_Start.
      static constexpr float M_PressedOffToHoverOn_Start{ 0.777777791F };
  
      // Marker: PressedOffToHoverOn_End.
      static constexpr float M_PressedOffToHoverOn_End{ 0.885185182F };
  
      // Marker: PressedOffToNormalOn_Start.
      static constexpr float M_PressedOffToNormalOn_Start{ 0.888888896F };
  
      // Marker: PressedOffToNormalOn_End.
      static constexpr float M_PressedOffToNormalOn_End{ 0.996296287F };
  
      // Theme property: Foreground.
      static inline const winrt::Windows::UI::Color c_themeForeground{ 0xFF, 0x00, 0x00, 0x00 };
  
  
      winrt::Windows::UI::Color Foreground();
      void Foreground(winrt::Windows::UI::Color value);
  
      winrt::Microsoft::UI::Xaml::Controls::IAnimatedVisual TryCreateAnimatedVisual(
          winrt::Windows::UI::Composition::Compositor const& compositor,
          winrt::Windows::Foundation::IInspectable& diagnostics);
  
      winrt::Microsoft::UI::Xaml::Controls::IAnimatedVisual TryCreateAnimatedIconVisual(
          winrt::Windows::UI::Composition::Compositor const& compositor);
  
      // Converts a frame number to the corresponding progress value.
      double FrameToProgress(double frameNumber);
  
      // Returns a map from marker names to corresponding progress values.
      winrt::Windows::Foundation::Collections::IMapView<hstring, double> Markers();
  
      // Sets the color property with the given name, or does nothing if no such property
      // exists.
      void SetColorProperty(hstring const& propertyName, winrt::Windows::UI::Color value);
  
      // Sets the scalar property with the given name, or does nothing if no such property
      // exists.
      void SetScalarProperty(hstring const& propertyName, double value);
  };
  
  