Ejemplo n.º 1
0
        public ScrollingCreditsScene(Actor background, string[] text, Font font, AnimationType animateIn, float pauseS, AnimationType animateOut, string id = "") : base(background, animateIn, pauseS, animateOut, id)
        {
            // There is nothing obvious in UltraDMD that gives hint on the timing, so I choosed one.
            _length = 3f + text.Length * 0.4f;
            AddActor(_container);
            var y = 0f;

            foreach (string line in text)
            {
                var txt = line.Trim();
                if (txt.Length == 0)
                {
                    txt = " ";
                }
                var label = new Label(font, txt);
                label.Y = y;
                y      += label.Height;
                _container.AddActor(label);
            }
            _container.Height = y;
        }
Ejemplo n.º 2
0
        private void FillGroup(Group group, TextureContext texture)
        {
            float advance = 32 + Spacing;

            for (int y = 0; y < NumSprites * advance; y += (int)advance)
            {
                for (int x = 0; x < NumSprites * advance; x += (int)advance)
                {
                    Image img = new Image(new TextureRegion(texture))
                    {
                        Align   = Alignment.Center,
                        Scaling = Scaling.None,
                    };
                    img.SetBounds(x, y, 32, 32);
                    img.SetOrigin(16, 16);

                    group.AddActor(img);
                    _images.Add(img);
                }
            }
        }
Ejemplo n.º 3
0
    public VideoApp(string filename)
    {
        Stage stage = Stage.Default;

        stage.Color = new Color(0x00, 0x00, 0x00, 0x00);
        stage.SetSize(1200, 1024);

        vtexture          = new GstVideoTexture();
        vtexture.SyncSize = false;

        // add size changed call back here
        vtexture.SizeChange += HandleSizeChange;

        vtexture.Filename = filename;
        control           = new Group();

        // panel
        control_bg = new Texture("vid-panel.png");

        // play button
        control_play = new Texture("media-actions-start.png");

        // pause button
        control_pause = new Texture("media-actions-pause.png");

        control_seek1           = new Rectangle(new Color(73, 74, 77, 0xee));
        control_seek2           = new Rectangle(new Color(0xcc, 0xcc, 0xcc, 0xff));
        control_seekbar         = new Rectangle(new Color(73, 74, 77, 0xee));
        control_seekbar.Opacity = 0x99;

        // label with name
        string text = System.IO.Path.GetFileName(filename);

        control_label       = new Label("Sans Bold 24", text);
        control_label.Color = new Color(73, 74, 77, 0xee);

        control.AddActor(control_bg);
        control.AddActor(control_play);

        control.AddActor(control_pause);
        control.AddActor(control_seek1);
        control.AddActor(control_seek2);
        control.AddActor(control_seekbar);
        control.AddActor(control_label);

        control.Opacity = 0xee;
        control_play.SetPosition(30, 30);
        control_pause.SetPosition(30, 30);

        control_seek1.SetSize(SEEK_W + 10, SEEK_H + 10);
        control_seek1.SetPosition(200, 100);

        control_seek2.SetSize(SEEK_W, SEEK_H);
        control_seek2.SetPosition(205, 105);

        control_seekbar.SetSize(0, SEEK_H);
        control_seekbar.SetPosition(205, 105);

        control_label.SetPosition(200, 40);

        stage.AddActor(vtexture);
        stage.AddActor(control);

        int x = (int)((stage.Width - control.Width) / 2);
        int y = (int)(stage.Height - (stage.Height / 3));

        control.SetPosition(x, y);

        controls_tl            = new Timeline(10, 30);
        controls_tl.NewFrame  += HandleControlTlNewFrame;
        controls_tl.Completed += HandleControlTimelineCompleted;

        effect1_tl           = new Timeline(30, 90);
        effect1_tl.NewFrame += HandleEffect1TlNewFrame;

        GLib.Timeout.Add(1000, new GLib.TimeoutHandler(Tick));
        stage.MotionEvent      += delegate { ShowControls(true); };
        stage.ButtonPressEvent += HandleButtonPressEvent;
        stage.KeyReleaseEvent  += HandleKeyReleaseEvent;

        vtexture.Playing = true;
        stage.ShowAll();
        control_play.Hide();
    }
Ejemplo n.º 4
0
    public VideoApp(string filename)
    {
        Stage stage = Stage.Default;
        stage.Color = new Color (0x00, 0x00, 0x00, 0x00);
        stage.SetSize (1200, 1024);

        vtexture = new GstVideoTexture ();
        vtexture.SyncSize = false;

        // add size changed call back here
        vtexture.SizeChange += HandleSizeChange;

        vtexture.Filename = filename;
        control = new Group ();

        // panel
        control_bg = new Texture ("vid-panel.png");

        // play button
        control_play = new Texture ("media-actions-start.png");

        // pause button
        control_pause = new Texture ("media-actions-pause.png");

        control_seek1 = new Rectangle (new Color (73, 74, 77, 0xee));
        control_seek2 = new Rectangle (new Color (0xcc, 0xcc, 0xcc, 0xff));
        control_seekbar = new Rectangle (new Color (73, 74, 77, 0xee));
        control_seekbar.Opacity = 0x99;

        // label with name
        string text = System.IO.Path.GetFileName (filename);
        control_label = new Label ("Sans Bold 24", text);
        control_label.Color = new Color (73, 74, 77, 0xee);

        control.AddActor (control_bg);
        control.AddActor (control_play);

        control.AddActor (control_pause);
        control.AddActor (control_seek1);
        control.AddActor (control_seek2);
        control.AddActor (control_seekbar);
        control.AddActor (control_label);

        control.Opacity = 0xee;
        control_play.SetPosition (30, 30);
        control_pause.SetPosition (30, 30);

        control_seek1.SetSize (SEEK_W + 10, SEEK_H + 10);
        control_seek1.SetPosition (200, 100);

        control_seek2.SetSize (SEEK_W, SEEK_H);
        control_seek2.SetPosition (205, 105);

        control_seekbar.SetSize (0, SEEK_H);
        control_seekbar.SetPosition (205, 105);

        control_label.SetPosition (200, 40);

        stage.AddActor (vtexture);
        stage.AddActor (control);

        int x = (int)((stage.Width - control.Width) / 2);
        int y = (int)(stage.Height - (stage.Height / 3));

        control.SetPosition (x, y);

        controls_tl = new Timeline (10, 30);
        controls_tl.NewFrame += HandleControlTlNewFrame;
        controls_tl.Completed += HandleControlTimelineCompleted;

        effect1_tl = new Timeline (30, 90);
        effect1_tl.NewFrame += HandleEffect1TlNewFrame;

        GLib.Timeout.Add (1000, new GLib.TimeoutHandler (Tick));
        stage.MotionEvent += delegate { ShowControls (true); };
        stage.ButtonPressEvent += HandleButtonPressEvent;
        stage.KeyReleaseEvent += HandleKeyReleaseEvent;

        vtexture.Playing = true;
        stage.ShowAll ();
        control_play.Hide ();
    }