Пример #1
0
        public void Should_have_white_color_by_default()
        {
            var slideStyle = new SlideStyle("Hello");

            Assert.AreEqual(Color.WhiteSmoke, slideStyle.Colors[0]);
            Assert.AreEqual(Color.Empty, slideStyle.Backgrounds[0]);
        }
Пример #2
0
 public void Should_have_two_styles_of_text()
 {
     SlideStyle.TryParse("<b>test</b> styles", out var slideStyle);
     Assert.AreEqual(2, slideStyle.Texts.Count);
     Assert.AreEqual(" styles", slideStyle.Texts[1]);
     Assert.AreEqual(2, slideStyle.Colors.Count);
 }
Пример #3
0
        public void Should_have_bold_style()
        {
            var slideStyle = new SlideStyle();

            slideStyle.MakeBold("Hello");
            Assert.AreEqual(FontStyle.Bold, slideStyle.Styles[0]);
        }
Пример #4
0
        private static void PlaceTextOnPicture(Slide slide, Bitmap resizedBackground)
        {
            var offset = new Offset(100, 150, WordStyles.CommonFontSize, 400);

            SlideStyle.TryParse(slide.Text, out var slideStyle);

            for (int i = 0; i < slideStyle.Texts.Count; ++i)
            {
                WordStyle wordStyle = WordStyles.GetWordStyle(
                    slideStyle.Styles[i],
                    slideStyle.Colors[i],
                    slideStyle.Backgrounds[i],
                    WordStyles.CommonFontSize);

                var words = ExtractWordsFromText(slideStyle.Texts[i]);
                for (var j = 0; j < words.Length; j++)
                {
                    var word = words[j];
                    if (word.Contains('\n'))
                    {
                        word = word.Replace("\n", "");
                        offset.NewLine();
                    }

                    DrawWord(resizedBackground, word, wordStyle, offset);
                    offset.TryMakeNewLine();
                }
            }
        }
Пример #5
0
 public void Should_have_regular_style_by_default()
 {
     SlideStyle.TryParse("test", out var slideStyle);
     Assert.AreEqual(FontStyle.Regular, slideStyle.Styles[0]);
     Assert.AreEqual("test", slideStyle.Texts[0]);
     Assert.AreEqual(Color.Empty, slideStyle.Backgrounds[0]);
 }
Пример #6
0
    public static bool TryParse(string input, out SlideStyle slideStyle)
    {
        //при усложнении -- стек как в задаче про скобки
        slideStyle = new SlideStyle();
        if (ExtractTag(input, "b", out string text))
        {
            slideStyle.MakeBold(text);
        }
        else if (ExtractTag(input, "i", out text))
        {
            slideStyle.MakeItalic(text);
        }
        slideStyle.ExtractColor(input);

        int plainTextBegins = FindWhereTagEndsInText(input);

        slideStyle.MakeTextPlain(input, plainTextBegins);
        return(true);
    }
Пример #7
0
        public void AttachToActivity(Activity activity, SlideStyle slideStyle, bool actionbarOverlay)
        {
            if (Parent != null)
            {
                throw new ArgumentException("This SlidingMenu appears to already be attached");
            }

            // get the window background
            var a          = activity.Theme.ObtainStyledAttributes(new[] { Android.Resource.Attribute.WindowBackground });
            var background = a.GetResourceId(0, 0);

            a.Recycle();

            switch (slideStyle)
            {
            case SlideStyle.Window:
                _mActionbarOverlay = false;
                var decor      = (ViewGroup)activity.Window.DecorView;
                var decorChild = (ViewGroup)decor.GetChildAt(0);
                // save ActionBar themes that have transparent assets
                decorChild.SetBackgroundResource(background);
                decor.RemoveView(decorChild);
                decor.AddView(this);
                SetContent(decorChild);
                break;

            case SlideStyle.Content:
                _mActionbarOverlay = actionbarOverlay;
                // take the above view out of
                var contentParent = (ViewGroup)activity.FindViewById(Android.Resource.Id.Content);
                var content       = contentParent.GetChildAt(0);
                contentParent.RemoveView(content);
                contentParent.AddView(this);
                SetContent(content);
                // save people from having transparent backgrounds
                if (content.Background == null)
                {
                    content.SetBackgroundResource(background);
                }
                break;
            }
        }
Пример #8
0
        public void Should_be_two_colors_by_tag()
        {
            string inputString = GetColorText("My", Color.Red) + " " + GetColorText("test", Color.Blue);

            SlideStyle.TryParse(inputString, out var slideStyle);

            var expectedColor = new Color[] { Color.Red, Color.Blue };
            var textElements  = new string[] { "My", "test" };

            var colorIterator = slideStyle.Colors.GetEnumerator();
            var textIterator  = slideStyle.Texts.GetEnumerator();

            for (int i = 0; i < expectedColor.Length; ++i)
            {
                Assert.IsTrue(colorIterator.MoveNext());
                Assert.IsTrue(ColorsAreEqual(expectedColor[i], colorIterator.Current));
                Assert.IsTrue(textIterator.MoveNext());
                Assert.AreEqual(textElements[i], textIterator.Current);
            }
        }
Пример #9
0
        public void Should_be_two_backgrounds()
        {
            var twoColorString = GetColorBackground("My", Color.Red)
                                 + " "
                                 + GetColorBackground("test", Color.Blue);

            SlideStyle.TryParse(twoColorString, out var slideStyle);

            var expectedColor = new Color[] { Color.Red, Color.Blue };
            var textElements  = new string[] { "My", "test" };

            var backgroundIterator = slideStyle.Backgrounds.GetEnumerator();
            var textIterator       = slideStyle.Texts.GetEnumerator();

            for (int i = 0; i < expectedColor.Length; ++i)
            {
                Assert.IsTrue(backgroundIterator.MoveNext());
                Assert.IsTrue(ColorsAreEqual(expectedColor[i], backgroundIterator.Current));
                Assert.IsTrue(textIterator.MoveNext());
                Assert.AreEqual(textElements[i], textIterator.Current);
            }
        }
Пример #10
0
 public void AttachToActivity(Activity activity, SlideStyle slideStyle)
 {
     AttachToActivity(activity, slideStyle, false);
 }
Пример #11
0
        public void AttachToActivity(Activity activity, SlideStyle slideStyle, bool actionbarOverlay)
        {
            if (Parent != null)
                throw new ArgumentException("This SlidingMenu appears to already be attached");

            // get the window background
            var a = activity.Theme.ObtainStyledAttributes(new[] { Android.Resource.Attribute.WindowBackground });
            var background = a.GetResourceId(0, 0);
            a.Recycle();

            switch (slideStyle)
            {
                case SlideStyle.Window:
                    _mActionbarOverlay = false;
                    var decor = (ViewGroup)activity.Window.DecorView;
                    var decorChild = (ViewGroup)decor.GetChildAt(0);
                    // save ActionBar themes that have transparent assets
                    decorChild.SetBackgroundResource(background);
                    decor.RemoveView(decorChild);
                    decor.AddView(this);
                    SetContent(decorChild);
                    break;
                case SlideStyle.Content:
                    _mActionbarOverlay = actionbarOverlay;
                    // take the above view out of
                    var contentParent = (ViewGroup)activity.FindViewById(Android.Resource.Id.Content);
                    var content = contentParent.GetChildAt(0);
                    contentParent.RemoveView(content);
                    contentParent.AddView(this);
                    SetContent(content);
                    // save people from having transparent backgrounds
                    if (content.Background == null)
                        content.SetBackgroundResource(background);
                    break;
            }
        }
Пример #12
0
 public void AttachToActivity(Activity activity, SlideStyle slideStyle)
 {
     AttachToActivity(activity, slideStyle, false);
 }
Пример #13
0
 public void Should_change_color_by_tag()
 {
     SlideStyle.TryParse(GetColorText("test", Color.Red), out var slideStyle);
     Assert.IsTrue(ColorsAreEqual(Color.Red, slideStyle.Colors[0]));
 }
Пример #14
0
 public void Should_change_background_by_tag()
 {
     SlideStyle.TryParse(GetColorBackground("test", Color.Red), out var slideStyle);
     Assert.IsTrue(ColorsAreEqual(Color.Red, slideStyle.Backgrounds[0]));
 }
Пример #15
0
 public void Make_italic_from_tag()
 {
     SlideStyle.TryParse("<i>test</i>", out var slideStyle);
     Assert.AreEqual(FontStyle.Italic, slideStyle.Styles[0]);
 }
Пример #16
0
 public void SmokeTest()
 {
     var slideStyle = new SlideStyle("Hello");
 }
Пример #17
0
        public void Should_have_default_style()
        {
            var slideStyle = new SlideStyle("Hello");

            Assert.AreEqual(FontStyle.Regular, slideStyle.Styles[0]);
        }
Пример #18
0
 public void Should_have_bold_style_when_text_tag()
 {
     SlideStyle.TryParse("<b>\r\n\"test\"</b>", out var slideStyle);
     Assert.AreEqual(FontStyle.Bold, slideStyle.Styles[0]);
     Assert.AreEqual("\r\n\"test\"", slideStyle.Texts[0]);
 }
Пример #19
0
 public void Should_be_blue_by_tag()
 {
     SlideStyle.TryParse(GetColorText("test", Color.Blue), out var slideStyle);
     Assert.IsTrue(ColorsAreEqual(Color.Blue, slideStyle.Colors[0]));
 }