<commit_before>﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UrbanSketchers.Controls;
using Xamarin.Forms;


namespace UrbanSketchers.Controls
{
    /// <summary>
    /// Image that supports connected animations
    /// </summary>
    public class ConnectedImage : Image
    {
        /// <summary>
        /// Gets or sets the native control
        /// </summary>
        public object Control { get; set; }

        /// <summary>
        /// Event to animate the control
        /// </summary>
        public event EventHandler<TypedEventArgs<string>> Animate;

        public event EventHandler<TypedEventArgs<string>> PrepareToAnimate;

        /// <summary>
        /// Start the connected animation
        /// </summary>
        /// <param name="name">the name of the animation</param>
        public void StartConnectedAnimation(string name)
        {
            Animate?.Invoke(Control, new TypedEventArgs<string>(name));
        }

        /// <summary>
        /// Prepare to animate
        /// </summary>
        /// <param name="name">the animation name</param>
        public void Prepare(string name)
        {
            PrepareToAnimate?.Invoke(Control, new TypedEventArgs<string>(name));
        }
    }
}<commit_msg>Added comments.<commit_after>﻿using System;
using Xamarin.Forms;

namespace UrbanSketchers.Controls
{
    /// <summary>
    ///     Image that supports connected animations
    /// </summary>
    public class ConnectedImage : Image
    {
        /// <summary>
        ///     Gets or sets the native control
        /// </summary>
        public object Control { get; set; }

        /// <summary>
        ///     Event to animate the destination control
        /// </summary>
        public event EventHandler<TypedEventArgs<string>> Animate;


        /// <summary>
        ///     Event to prepare the source control to animate
        /// </summary>
        public event EventHandler<TypedEventArgs<string>> PrepareToAnimate;

        /// <summary>
        ///     Start the connected animation
        /// </summary>
        /// <param name="name">the name of the animation</param>
        public void StartConnectedAnimation(string name)
        {
            Animate?.Invoke(Control, new TypedEventArgs<string>(name));
        }

        /// <summary>
        ///     Prepare to animate
        /// </summary>
        /// <param name="name">the animation name</param>
        public void Prepare(string name)
        {
            PrepareToAnimate?.Invoke(Control, new TypedEventArgs<string>(name));
        }
    }
}
{'fraction_non_alphanumeric': 0.12154486936766376, 'fraction_numerical': 0.0, 'mean_word_length': 1.9161147902869757, 'pattern_counts': {'":': 0, '<': 45, '<?xml version=': 0, '>': 45, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6076578', 'n_tokens_mistral': 676, 'n_tokens_neox': 666, 'n_words': 182}