Beispiel #1
0
        public void Render(ItemTransform pTransform, DrawingContext2D dc)
        {
            if (!Visible)
            {
                return;
            }

            switch (_character)
            {
            case Shape s:
                var geometry = _context.GetGeometry(s.Geometry, _character);
                AptRenderer.RenderGeometry(dc, _context, geometry, pTransform);
                break;

            case Text t:
                if (t.Value.Length > 0)
                {
                    var val = ScriptObject.ResolveValue(t.Value, ScriptObject);
                    if (val.Type != ValueType.Undefined)
                    {
                        t.Content = val.ToString();
                    }
                }

                //localize our content
                t.Content = t.Content.Replace("$", "APT:");
                t.Content = _context.ContentManager.TranslationManager.Lookup(t.Content);

                AptRenderer.RenderText(dc, _context, t, pTransform);
                break;
            }
        }
Beispiel #2
0
        public override void Render(AptRenderer renderer, ItemTransform pTransform, DrawingContext2D dc)
        {
            if (!Visible)
            {
                return;
            }

            var cTransform = pTransform * Transform;

            switch (Character)
            {
            case Shape s:
                var geometry = Context.GetGeometry(s.Geometry, Character);

                renderer.RenderGeometry(dc, Context, geometry, cTransform, Texture);
                break;

            case Text t:
                if (t.Value.Length > 0)
                {
                    var val = ScriptObject.ResolveValue(t.Value, ScriptObject);
                    if (val.Type != ValueType.Undefined)
                    {
                        t.Content = val.ToString();
                    }
                }

                //localize our content
                t.Content = t.Content.Replace("$", "APT:");
                t.Content = t.Content.Translate();

                renderer.RenderText(dc, Context, t, cTransform);
                break;
            }
        }
Beispiel #3
0
        internal AptWindow(Game game, ContentManager contentManager, AptFile aptFile)
        {
            _game          = game;
            ContentManager = contentManager;
            AssetStore     = game.AssetStore;
            AptFile        = aptFile;

            //Create our context
            _context = new AptContext(this);

            //First thing to do here is to initialize the display list
            Root = new SpriteItem
            {
                Transform          = ItemTransform.None,
                SetBackgroundColor = (c) => _backgroundColor = c
            };
            Root.Create(aptFile.Movie, _context);

            _context.Root = Root;
            _context.Avm.CommandHandler = HandleCommand;

            var m = Root.Character as Movie;

            _movieSize = new Vector2(m.ScreenWidth, m.ScreenHeight);

            Renderer = new AptRenderer(this, contentManager);

            _resolver = new AptCallbackResolver(game);
        }
Beispiel #4
0
        public AptWindow(Game game, ContentManager contentManager, AptFile aptFile)
        {
            _contentManager = contentManager;

            //Create our context
            _context = new AptContext(aptFile, contentManager);

            //First thing to do here is to initialize the display list
            Root = new SpriteItem {
                Transform = ItemTransform.None
            };
            Root.SetBackgroundColor = (c) => _backgroundColor = c;
            Root.Create(aptFile.Movie, _context);
            _context.Root = Root;

            _context.Avm.CommandHandler = HandleCommand;

            AptFile = aptFile;

            Renderer = new AptRenderer(contentManager);

            ImageLoader = new MappedImageLoader(contentManager);

            _resolver = new AptCallbackResolver(game);
        }
Beispiel #5
0
        public override void Render(AptRenderer renderer, ItemTransform pTransform, DrawingContext2D dc)
        {
            var button = Character as Button;

            _curTransform = pTransform * Transform;
            _curTransform.GeometryTranslation  *= renderer.Window.GetScaling();
            _curTransform.GeometryRotation.M11 *= renderer.Window.GetScaling().X;
            _curTransform.GeometryRotation.M22 *= renderer.Window.GetScaling().Y;
        }
Beispiel #6
0
        public override void Render(AptRenderer renderer, ItemTransform pTransform, DrawingContext2D dc)
        {
            if (!Visible)
            {
                return;
            }

            //calculate the transform for this element
            var cTransform = pTransform * Transform;

            //render all subItems
            foreach (var item in Content.Items.Values)
            {
                item.Render(renderer, cTransform, dc);
            }
        }
Beispiel #7
0
        public override void Render(AptRenderer renderer, ItemTransform pTransform, DrawingContext2D dc)
        {
            var button = Character as Button;

            _curTransform = pTransform * Transform;
            _curTransform.GeometryTranslation  *= renderer.Window.GetScaling();
            _curTransform.GeometryRotation.M11 *= renderer.Window.GetScaling().X;
            _curTransform.GeometryRotation.M22 *= renderer.Window.GetScaling().Y;

            var transform = _curTransform.GeometryRotation;

            transform.Translation = _curTransform.GeometryTranslation;
            ApplyCurrentRecord(ref transform);

            var verts = button.Vertices;

            foreach (var tri in button.Triangles)
            {
                var v1 = Vector2.Transform(verts[tri.IDX0], transform);
                var v2 = Vector2.Transform(verts[tri.IDX1], transform);
                var v3 = Vector2.Transform(verts[tri.IDX2], transform);

                var color = ColorRgbaF.White;

                if (button.IsMenu)
                {
                    color = new ColorRgbaF(1.0f, 0.0f, 0.0f, 1.0f);
                }

                if (_isHovered)
                {
                    color = new ColorRgbaF(0.0f, 1.0f, 1.0f, 1.0f);
                }

                dc.DrawLine(new Line2D(v1, v2), 1.0f, color);
                dc.DrawLine(new Line2D(v2, v3), 1.0f, color);
                dc.DrawLine(new Line2D(v3, v1), 1.0f, color);
            }
        }