예제 #1
0
        public override UILayout Cook(CookingContext context)
        {
            PhotoshopDocument input = Input.Cook(context);

            Vector2 windowSize = Vector2.Zero;

            windowSize.X = (float)input.Width;
            windowSize.Y = (float)input.Height;
            UIWindow rootWindow = new UIWindow()
            {
                XMode      = UIPositionMode.Undefined,
                YMode      = UIPositionMode.Undefined,
                WidthMode  = UISizeMode.Absolute,
                HeightMode = UISizeMode.Absolute,
                Width      = windowSize.X,
                Height     = windowSize.Y,
            };

            foreach (var item in input.Layers)
            {
                AddChildTo(rootWindow, item);
            }

            return(new UILayout(rootWindow));
        }
예제 #2
0
        public override Bitmap Cook(CookingContext context)
        {
            PhotoshopDocument input = Input.Cook(context);

            if (input == null)
            {
                return(null);
            }

            return(input.MergedBitmap);
        }
예제 #3
0
        public override ImageSet Cook(CookingContext context)
        {
            PhotoshopDocument input = Input.Cook(context);

            Dictionary <string, Image> items = new Dictionary <string, Image>();

            foreach (PhotoshopDocument.Layer item in input.Layers)
            {
                CollectImages(items, item);
            }

            return(new ImageSet(items));
        }
예제 #4
0
        public override SpriteSet Cook(CookingContext context)
        {
            PhotoshopDocument input = Input.Cook(context);
            var items = new Dictionary <string, Sprite>();

            foreach (var item in input.Layers)
            {
                if (item.IsGroup)
                {
                    Process(items, item, string.Empty);
                }
                else
                {
                    // 최상위 Layer에서 그룹이 아닌 레이어는 무시합니다.
                }
            }

            return(new SpriteSet(items));
        }