Example #1
0
    protected override void DataBinding()
    {
        base.DataBinding();
        ImageBinder imageBinder = base.FindTransform("StatusIcon").get_gameObject().AddComponent <ImageBinder>();

        imageBinder.BindingProxy             = base.get_gameObject();
        imageBinder.SpriteBinding.MemberName = "StatusIcon";
        imageBinder.SetNativeSize            = true;
        TextBinder textBinder = base.FindTransform("SendDate").get_gameObject().AddComponent <TextBinder>();

        textBinder.BindingProxy            = base.get_gameObject();
        textBinder.LabelBinding.MemberName = "SendDate";
        textBinder = base.FindTransform("SendName").get_gameObject().AddComponent <TextBinder>();
        textBinder.BindingProxy            = base.get_gameObject();
        textBinder.LabelBinding.MemberName = "SendName";
        textBinder = base.FindTransform("MailDesc").get_gameObject().AddComponent <TextBinder>();
        textBinder.BindingProxy            = base.get_gameObject();
        textBinder.LabelBinding.MemberName = "MailContent";
        VisibilityBinder visibilityBinder = base.get_gameObject().AddComponent <VisibilityBinder>();

        visibilityBinder.BindingProxy            = base.get_gameObject();
        visibilityBinder.ValueBinding.MemberName = "IsSelected";
        visibilityBinder.Target = base.FindTransform("Selected").get_gameObject();
        ActionBinder actionBinder = base.get_gameObject().AddComponent <ActionBinder>();

        actionBinder.BindingProxy = base.get_gameObject();
        actionBinder.CallActionOfBoolBinding.MemberName = "CallAction";
        actionBinder.actoncall_bool = new Action <bool>(this.DelAnim);
    }
        //
        /// <summary>
        /// async request for image
        /// </summary>
        /// <param name="binder"></param>
        /// <param name="requestFrom"></param>
        public void RequestImageAsync(ImageBinder binder,
                                      CssImageRun imgRun,
                                      object requestFrom)
        {
            if (_htmlVisualRoot != null)
            {
                _htmlVisualRoot.RaiseImageRequest(
                    binder,
                    requestFrom,
                    false);
            }
            else
            {
                binder.LazyLoadImage();
            }

            //--------------------------------------------------
            if (binder.State == BinderState.Loaded)
            {
                Image img = binder.LocalImage;
                if (img != null)
                {
                    //set real image info
                    imgRun.ImageRectangle = new Rectangle(
                        (int)imgRun.Left, (int)imgRun.Top,
                        img.Width, img.Height);
                }
            }
        }
Example #3
0
        protected override void OnStart(AppHost host)
        {
            ImageBinder imgBinder = host.LoadImageAndBind("../Data/imgs/favorites32.png");

            for (int i = 0; i < 100; ++i)
            {
                //share 1 img binder with multiple img boxes
                var imgBox = new CustomWidgets.ImageBox(
                    imgBinder.Width,
                    imgBinder.Height);

                imgBox.ImageBinder = imgBinder;
                imgBox.SetLocation(i * 32, 20);
                imgBox.MouseDown += (s, e) =>
                {
                    //test start animation
                    int nsteps = 40;
                    UIPlatform.RegisterTimerTask(20, timer =>
                    {
                        imgBox.SetLocation(imgBox.Left, imgBox.Top + 10);
                        nsteps--;
                        if (nsteps <= 0)
                        {
                            timer.Remove();
                        }
                    });
                };
                host.AddChild(imgBox);
            }
        }
        protected override void OnStartDemo(SampleViewport viewport)
        {
            ImageBinder imgBinder = viewport.GetImageBinder2("../../Data/imgs/favorites32.png");

            for (int i = 0; i < 100; ++i)
            {
                //share 1 img binder with multiple img boxes
                var imgBox = new CustomWidgets.ImageBox(
                    imgBinder.Image.Width,
                    imgBinder.Image.Height);

                imgBox.ImageBinder = imgBinder;
                imgBox.SetLocation(i * 32, 20);
                imgBox.MouseDown += (s, e) =>
                {
                    //test start animation
                    int nsteps = 40;
                    UIPlatform.RegisterTimerTask(20, timer =>
                    {
                        imgBox.SetLocation(imgBox.Left, imgBox.Top + 10);
                        nsteps--;
                        if (nsteps <= 0)
                        {
                            timer.Remove();
                        }
                    });
                };
                viewport.AddContent(imgBox);
            }
        }
Example #5
0
        public ImageBinder GetImageBinder(string imgurl)
        {
            ImageBinder imgBinder = new ImageBinder(imgurl);

            Host.ChildRequestImage(imgBinder, null);
            return(imgBinder);
        }
Example #6
0
    protected override void DataBinding()
    {
        base.DataBinding();
        ImageBinder imageBinder = base.FindTransform("FriendIcon").get_gameObject().AddComponent <ImageBinder>();

        imageBinder.BindingProxy             = base.get_gameObject();
        imageBinder.SetNativeSize            = true;
        imageBinder.SpriteBinding.MemberName = "FriendIcon";
        imageBinder.HSVBinding.MemberName    = "FriendIconHSV";
        imageBinder = base.FindTransform("VIPLevel1").get_gameObject().AddComponent <ImageBinder>();
        imageBinder.BindingProxy             = base.get_gameObject();
        imageBinder.SpriteBinding.MemberName = "VIPLevel1";
        imageBinder = base.FindTransform("VIPLevel2").get_gameObject().AddComponent <ImageBinder>();
        imageBinder.BindingProxy             = base.get_gameObject();
        imageBinder.SpriteBinding.MemberName = "VIPLevel2";
        TextBinder textBinder = base.FindTransform("LevelValue").get_gameObject().AddComponent <TextBinder>();

        textBinder.BindingProxy            = base.get_gameObject();
        textBinder.LabelBinding.MemberName = "Level";
        textBinder = base.FindTransform("FriendName").get_gameObject().AddComponent <TextBinder>();
        textBinder.BindingProxy            = base.get_gameObject();
        textBinder.LabelBinding.MemberName = "FriendName";
        textBinder = base.FindTransform("BattlePowerValue").get_gameObject().AddComponent <TextBinder>();
        textBinder.BindingProxy            = base.get_gameObject();
        textBinder.LabelBinding.MemberName = "BattlePower";
        VisibilityBinder visibilityBinder = base.FindTransform("Buttons").get_gameObject().AddComponent <VisibilityBinder>();

        visibilityBinder.BindingProxy            = base.get_gameObject();
        visibilityBinder.ValueBinding.MemberName = "BtnCheckVisibility";
        visibilityBinder.Target                  = base.FindTransform("CheckBtn").get_gameObject();
        visibilityBinder                         = base.FindTransform("Buttons").get_gameObject().AddComponent <VisibilityBinder>();
        visibilityBinder.BindingProxy            = base.get_gameObject();
        visibilityBinder.ValueBinding.MemberName = "BtnChatVisibility";
        visibilityBinder.Target                  = base.FindTransform("ChatBtn").get_gameObject();
        visibilityBinder                         = base.FindTransform("Buttons").get_gameObject().AddComponent <VisibilityBinder>();
        visibilityBinder.BindingProxy            = base.get_gameObject();
        visibilityBinder.ValueBinding.MemberName = "BtnAgreeVisibility";
        visibilityBinder.Target                  = base.FindTransform("AgreeBtn").get_gameObject();
        visibilityBinder                         = base.FindTransform("Buttons").get_gameObject().AddComponent <VisibilityBinder>();
        visibilityBinder.BindingProxy            = base.get_gameObject();
        visibilityBinder.ValueBinding.MemberName = "BtnRefuseVisibility";
        visibilityBinder.Target                  = base.FindTransform("RefuseBtn").get_gameObject();
        visibilityBinder                         = base.FindTransform("Buttons").get_gameObject().AddComponent <VisibilityBinder>();
        visibilityBinder.BindingProxy            = base.get_gameObject();
        visibilityBinder.ValueBinding.MemberName = "BtnRemoveVisibility";
        visibilityBinder.Target                  = base.FindTransform("RemoveBtn").get_gameObject();
        visibilityBinder                         = base.get_gameObject().AddComponent <VisibilityBinder>();
        visibilityBinder.BindingProxy            = base.get_gameObject();
        visibilityBinder.ValueBinding.MemberName = "RecommendImgVisibility";
        visibilityBinder.Target                  = base.FindTransform("RecommendImage").get_gameObject();
        UtilsBinder utilsBinder = base.FindTransform("BtnTops").get_gameObject().AddComponent <UtilsBinder>();

        utilsBinder.BindingProxy = base.get_gameObject();
        utilsBinder.Set2ParentPositionBinding.MemberName = "BtnTopsTransform";
        ActionBinder actionBinder = base.get_gameObject().AddComponent <ActionBinder>();

        actionBinder.BindingProxy = base.get_gameObject();
        actionBinder.CallActionOfBoolBinding.MemberName = "CallAction";
        actionBinder.actoncall_bool = new Action <bool>(this.DelAnim);
    }
Example #7
0
        void menuModule_menuItemClick(object sender, MenuItemClickEventArgs e)
        {
            switch (e.MenuName)
            {
            case "Rect":
            {
                //create rect from spec

                dzBoardModule.AddNewRect(0, 0, 50, 50);
            } break;

            case "Box":
            {
                dzBoardModule.AddNewBox(20, 20, 50, 50);
            } break;

            case "Text":
            {
            } break;

            case "Image":
            {
                //load image
                //Image img = viewport.P.CreatePlatformBitmap(
                //dzBoardModule.AddNewImageBox(20, 20, 100, 50);
                ImageBinder imgBinder = LoadImage("../../Demo/favorites32.png");
                var         holder    = dzBoardModule.AddNewImageBox(20, 20, 50, 50, imgBinder);
                holder.SetSerializeDelegate(SerializeDzImageBox);
                holder.SetCloneDelegate(CloneImageBox);
            } break;
            }
        }
Example #8
0
    protected override void DataBinding()
    {
        base.DataBinding();
        ListBinder listBinder = base.FindTransform("SmallList").get_gameObject().AddComponent <ListBinder>();

        listBinder.BindingProxy             = base.get_gameObject();
        listBinder.PrefabName               = "PrivilegeSmallItem";
        listBinder.SourceBinding.MemberName = "SmallItems";
        ImageBinder imageBinder = base.FindTransform("PrivilegeItemBg").get_gameObject().AddComponent <ImageBinder>();

        imageBinder.BindingProxy             = base.get_gameObject();
        imageBinder.SpriteBinding.MemberName = "PrivilegeItemBg";
        TextBinder textBinder = base.FindTransform("VIPName").get_gameObject().AddComponent <TextBinder>();

        textBinder.BindingProxy            = base.get_gameObject();
        textBinder.LabelBinding.MemberName = "VIPName";
        textBinder = base.FindTransform("TimesNum").get_gameObject().AddComponent <TextBinder>();
        textBinder.BindingProxy            = base.get_gameObject();
        textBinder.LabelBinding.MemberName = "TimesNum";
        VisibilityBinder visibilityBinder = base.get_gameObject().AddComponent <VisibilityBinder>();

        visibilityBinder.BindingProxy            = base.get_gameObject();
        visibilityBinder.Target                  = base.FindTransform("Node2Hide").get_gameObject();
        visibilityBinder.ValueBinding.MemberName = "Node2HideVisibility";
        visibilityBinder = base.get_gameObject().AddComponent <VisibilityBinder>();
        visibilityBinder.BindingProxy            = base.get_gameObject();
        visibilityBinder.Target                  = base.FindTransform("TimesTip").get_gameObject();
        visibilityBinder.ValueBinding.MemberName = "TimesTipOn";
        ActionBinder actionBinder = base.get_gameObject().AddComponent <ActionBinder>();

        actionBinder.BindingProxy = base.get_gameObject();
        actionBinder.CallActionOfBoolBinding.MemberName = "RefreshFXOfBox";
        actionBinder.actoncall_bool = new Action <bool>(this.RefreshFXOfBox);
    }
Example #9
0
 internal void RaiseImageRequest(
     ImageBinder binder,
     object reqBy,
     bool _sync)
 {
     //TODO: sync or async?
     OnRequestImage(binder, reqBy, false);
 }
Example #10
0
 internal void RaiseImageRequest(
     ImageBinder binder,
     object reqBy,
     bool _sync = false)
 {
     //async by default
     OnRequestImage(binder, reqBy, false);
 }
 protected override void OnRequestImage(ImageBinder binder, object reqFrom, bool _sync)
 {
     //send request to host
     if (binder.State == ImageBinderState.Unload)
     {
         this.htmlhost.ChildRequestImage(binder, this, reqFrom, _sync);
     }
 }
Example #12
0
        public GLBitmap(ImageBinder bmpBuffProvider)
        {
            _width             = bmpBuffProvider.Width;
            _height            = bmpBuffProvider.Height;
            _bmpBufferProvider = bmpBuffProvider;

            this.IsYFlipped   = bmpBuffProvider.IsYFlipped;
            this.BitmapFormat = bmpBuffProvider.BitmapFormat;
        }
Example #13
0
 public void ChildRequestImage(ImageBinder binder, HtmlContainer htmlCont, object reqFrom, bool _sync)
 {
     if (this.requestImage != null)
     {
         ImageRequestEventArgs resReq = new ImageRequestEventArgs(binder);
         resReq.requestBy = reqFrom;
         requestImage(this, resReq);
     }
 }
Example #14
0
 public void ChildRequestImage(ImageBinder binder, HtmlContainer htmlCont, object reqFrom, bool _sync)
 {
     if (this.requestImage != null)
     {
         ImageRequestEventArgs resReq = new ImageRequestEventArgs(binder);
         resReq.requestBy = reqFrom;
         requestImage(this, resReq);
     }
 }
Example #15
0
    protected override void DataBinding()
    {
        base.DataBinding();
        ImageBinder imageBinder = base.FindTransform("Frame").get_gameObject().AddComponent <ImageBinder>();

        imageBinder.SpriteBinding.MemberName = "Frame";
        imageBinder = base.FindTransform("Icon").get_gameObject().AddComponent <ImageBinder>();
        imageBinder.SpriteBinding.MemberName = "Icon";
    }
Example #16
0
    protected override void DataBinding()
    {
        base.DataBinding();
        ImageBinder imageBinder = base.FindTransform("BattlePassUIPetIcon").get_gameObject().AddComponent <ImageBinder>();

        imageBinder.SpriteBinding.MemberName = "Icon";
        FillAmmountBinder fillAmmountBinder = base.FindTransform("BattlePassUIPetBarFg").get_gameObject().AddComponent <FillAmmountBinder>();

        fillAmmountBinder.FillValueBinding.MemberName = "ExpAmount";
    }
Example #17
0
	protected override void DataBinding()
	{
		base.DataBinding();
		TextBinder textBinder = base.FindTransform("Num").get_gameObject().AddComponent<TextBinder>();
		textBinder.BindingProxy = base.get_gameObject();
		textBinder.LabelBinding.MemberName = "Content";
		ImageBinder imageBinder = base.FindTransform("Icon").get_gameObject().AddComponent<ImageBinder>();
		imageBinder.BindingProxy = base.get_gameObject();
		imageBinder.SpriteBinding.MemberName = "Icon";
	}
Example #18
0
 /// <summary>
 /// Init.
 /// </summary>
 /// <param name="parent">the parent box of this box</param>
 /// <param name="controller">the html tag data of this box</param>
 public CssBoxImage(Css.BoxSpec boxSpec,
     RootGraphic rootgfx, ImageBinder binder)
     : base(boxSpec, rootgfx)
 {
     this._imgRun = new CssImageRun();
     this._imgRun.ImageBinder = binder;
     this._imgRun.SetOwner(this);
     var runlist = new List<CssRun>(1);
     runlist.Add(_imgRun);
     CssBox.UnsafeSetContentRuns(this, runlist, false);
 }
Example #19
0
        public void SetImageSource(ImageBinder imgBinder)
        {
            DomAttribute attr = this.OwnerDocument.CreateAttribute("src", imgBinder.ImageSource);

            SetDomAttribute(attr);
            //----
            if (_principalBox != null)
            {
                InternalSetImageBinder(_owner.GetImageBinder(attr.Value));
            }
        }
Example #20
0
    protected override void DataBinding()
    {
        base.DataBinding();
        ListBinder listBinder = base.FindTransform("attrs").get_gameObject().AddComponent <ListBinder>();

        listBinder.PrefabName = "LevelUpUnit";
        listBinder.SourceBinding.MemberName = "UpgradeUnits";
        ImageBinder imageBinder = base.FindTransform("Name").get_gameObject().AddComponent <ImageBinder>();

        imageBinder.SpriteBinding.MemberName = "FunctionName";
    }
Example #21
0
        /// <summary>
        /// Init.
        /// </summary>
        /// <param name="parent">the parent box of this box</param>
        /// <param name="controller">the html tag data of this box</param>
        public CssBoxImage(Css.BoxSpec boxSpec,
                           IRootGraphics rootgfx, ImageBinder binder)
            : base(boxSpec, rootgfx)
        {
            this._imgRun             = new CssImageRun();
            this._imgRun.ImageBinder = binder;
            this._imgRun.SetOwner(this);
            var runlist = new List <CssRun>(1);

            runlist.Add(_imgRun);
            CssBox.UnsafeSetContentRuns(this, runlist, false);
        }
Example #22
0
        /// <summary>
        /// Draw the background image of the given box in the given rectangle.<br/>
        /// Handle background-repeat and background-position values.
        /// </summary>
        /// <param name="g">the device to draw into</param>
        /// <param name="box">the box to draw its background image</param>
        /// <param name="imageLoadHandler">the handler that loads image to draw</param>
        /// <param name="rectangle">the rectangle to draw image in</param>
        public static void DrawBackgroundImage(Canvas g, CssBox box, ImageBinder imageBinder, RectangleF rectangle)
        {
            var image = imageBinder.Image;

            //temporary comment image scale code
            var imgSize = image.Size;
            //new Size(imageLoadHandler.Rectangle == Rectangle.Empty ? imageLoadHandler.Image.Width : imageLoadHandler.Rectangle.Width,
            //                 imageLoadHandler.Rectangle == Rectangle.Empty ? imageLoadHandler.Image.Height : imageLoadHandler.Rectangle.Height);

            // get the location by BackgroundPosition value
            var location = GetLocation(box.BackgroundPositionX, box.BackgroundPositionY, rectangle, imgSize);

            //var srcRect = imageLoadHandler.Rectangle == Rectangle.Empty
            //                  ? new Rectangle(0, 0, imgSize.Width, imgSize.Height)
            //                  : new Rectangle(imageLoadHandler.Rectangle.Left, imageLoadHandler.Rectangle.Top, imgSize.Width, imgSize.Height);
            var srcRect = new Rectangle(0, 0, image.Width, image.Height);

            // initial image destination rectangle
            var destRect = new Rectangle(location, imgSize);

            // need to clip so repeated image will be cut on rectangle

            var prevClip = g.CurrentClipRect;

            PixelFarm.Drawing.Rectangle copyRect = new PixelFarm.Drawing.Rectangle(
                (int)rectangle.X,
                (int)rectangle.Y,
                (int)rectangle.Width,
                (int)rectangle.Height);
            copyRect.Intersect(prevClip);
            g.SetClipRect(copyRect);

            switch (box.BackgroundRepeat)
            {
            case CssBackgroundRepeat.NoRepeat:
                g.DrawImage(image, new RectangleF(location, imgSize), new RectangleF(0, 0, image.Width, image.Height));
                break;

            case CssBackgroundRepeat.RepeatX:
                DrawRepeatX(g, image, rectangle, srcRect, destRect, imgSize);
                break;

            case CssBackgroundRepeat.RepeatY:
                DrawRepeatY(g, image, rectangle, srcRect, destRect, imgSize);
                break;

            default:
                DrawRepeat(g, image, rectangle, srcRect, destRect, imgSize);
                break;
            }

            g.SetClipRect(prevClip);
        }
Example #23
0
    protected override void DataBinding()
    {
        base.DataBinding();
        ImageBinder imageBinder = base.FindTransform("Frame").get_gameObject().AddComponent <ImageBinder>();

        imageBinder.SpriteBinding.MemberName = "Frame";
        imageBinder = base.FindTransform("Icon").get_gameObject().AddComponent <ImageBinder>();
        imageBinder.SpriteBinding.MemberName = "Icon";
        VisibilityBinder visibilityBinder = base.get_gameObject().AddComponent <VisibilityBinder>();

        visibilityBinder.Target = base.FindTransform("Checked").get_gameObject();
        visibilityBinder.ValueBinding.MemberName = "CheckVisibility";
    }
    protected override void DataBinding()
    {
        base.DataBinding();
        ImageBinder imageBinder = base.FindTransform("Name").get_gameObject().AddComponent <ImageBinder>();

        imageBinder.SpriteBinding.MemberName = "Name";
        imageBinder = base.FindTransform("ItemIcon").get_gameObject().AddComponent <ImageBinder>();
        imageBinder.SpriteBinding.MemberName = "ItemIcon";
        imageBinder.SetNativeSize            = true;
        imageBinder = base.FindTransform("ItemIconCm").get_gameObject().AddComponent <ImageBinder>();
        imageBinder.SpriteBinding.MemberName = "ItemIconCm";
        imageBinder.SetNativeSize            = true;
    }
        /// <summary>
        /// Draw the background image of the given box in the given rectangle.<br/>
        /// Handle background-repeat and background-position values.
        /// </summary>
        /// <param name="drawboard">the device to draw into</param>
        /// <param name="box">the box to draw its background image</param>
        /// <param name="imageLoadHandler">the handler that loads image to draw</param>
        /// <param name="rectangle">the rectangle to draw image in</param>
        public static void DrawBackgroundImage(DrawBoard drawboard, CssBox box, ImageBinder imageBinder, RectangleF rectangle)
        {
            Image image = imageBinder.LocalImage;
            //temporary comment image scale code
            Size imgSize = new Size(image.Width, image.Height);
            //new Size(imageLoadHandler.Rectangle == Rectangle.Empty ? imageLoadHandler.Image.Width : imageLoadHandler.Rectangle.Width,
            //                 imageLoadHandler.Rectangle == Rectangle.Empty ? imageLoadHandler.Image.Height : imageLoadHandler.Rectangle.Height);

            // get the location by BackgroundPosition value
            Point location = GetLocation(box.BackgroundPositionX, box.BackgroundPositionY, rectangle, imgSize);
            //var srcRect = imageLoadHandler.Rectangle == Rectangle.Empty
            //                  ? new Rectangle(0, 0, imgSize.Width, imgSize.Height)
            //                  : new Rectangle(imageLoadHandler.Rectangle.Left, imageLoadHandler.Rectangle.Top, imgSize.Width, imgSize.Height);
            var srcRect = new Rectangle(0, 0, image.Width, image.Height);
            // initial image destination rectangle
            var destRect = new Rectangle(location, imgSize);
            // need to clip so repeated image will be cut on rectangle

            //Rectangle prevClip = drawboard.CurrentClipRect;
            //TODO: use u1 from pool
            UpdateArea u1 = new UpdateArea();

            u1.CurrentRect = drawboard.CurrentClipRect;

            if (drawboard.PushClipAreaRect((int)rectangle.Left,
                                           (int)rectangle.Top,
                                           (int)rectangle.Width,
                                           (int)rectangle.Height,
                                           u1))
            {
                switch (box.BackgroundRepeat)
                {
                case CssBackgroundRepeat.NoRepeat:
                    drawboard.DrawImage(image, new RectangleF(location, imgSize), new RectangleF(0, 0, image.Width, image.Height));
                    break;

                case CssBackgroundRepeat.RepeatX:
                    DrawRepeatX(drawboard, image, rectangle, srcRect, destRect, imgSize);
                    break;

                case CssBackgroundRepeat.RepeatY:
                    DrawRepeatY(drawboard, image, rectangle, srcRect, destRect, imgSize);
                    break;

                default:
                    DrawRepeat(drawboard, image, rectangle, srcRect, destRect, imgSize);
                    break;
                }
                drawboard.PopClipAreaRect();
            }
        }
Example #26
0
        /// <summary>
        /// Init.
        /// </summary>
        /// <param name="parent">the parent box of this box</param>
        /// <param name="controller">the html tag data of this box</param>
        public CssBoxImage(Css.BoxSpec boxSpec,
                           ImageBinder binder)
            : base(boxSpec)
        {
            _imgRun              = new CssImageRun();
            _imgRun.ImageBinder  = binder;
            binder.ImageChanged += Binder_ImageChanged;
            _imgRun.SetOwner(this);
            //
            var runlist = new List <CssRun>(1);

            runlist.Add(_imgRun);
            CssBox.UnsafeSetContentRuns(this, runlist, false);
        }
Example #27
0
        protected override void OnStartDemo(SampleViewport viewport)
        {
            ImageBinder imgBinder = viewport.GetImageBinder2("../../Data/imgs/favorites32.png");


            for (int i = 0; i < 100; ++i)
            {
                //share 1 img binder with multiple img boxes
                var imgBox = new CustomWidgets.ImageBox(imgBinder.Image.Width, imgBinder.Image.Height);
                imgBox.ImageBinder = imgBinder;
                imgBox.SetLocation(i * 10, i * 10);
                viewport.AddContent(imgBox);
            }
        }
    protected override void DataBinding()
    {
        base.DataBinding();
        TextBinder textBinder = base.FindTransform("titleName").get_gameObject().AddComponent <TextBinder>();

        textBinder.BindingProxy            = base.get_gameObject();
        textBinder.LabelBinding.MemberName = "Title";
        textBinder = base.FindTransform("BtnLeftText").get_gameObject().AddComponent <TextBinder>();
        textBinder.BindingProxy            = base.get_gameObject();
        textBinder.LabelBinding.MemberName = "BtnLeftText";
        textBinder = base.FindTransform("BtnRightText").get_gameObject().AddComponent <TextBinder>();
        textBinder.BindingProxy            = base.get_gameObject();
        textBinder.LabelBinding.MemberName = "BtnRightText";
        textBinder = base.FindTransform("BtnConfirmText").get_gameObject().AddComponent <TextBinder>();
        textBinder.BindingProxy            = base.get_gameObject();
        textBinder.LabelBinding.MemberName = "BtnConfirmText";
        textBinder = base.FindTransform("ContentTipText").get_gameObject().AddComponent <TextBinder>();
        textBinder.BindingProxy            = base.get_gameObject();
        textBinder.LabelBinding.MemberName = "ContentTipText";
        VisibilityBinder visibilityBinder = base.get_gameObject().AddComponent <VisibilityBinder>();

        visibilityBinder.BindingProxy            = base.get_gameObject();
        visibilityBinder.ValueBinding.MemberName = "BtnLeftVisibility";
        visibilityBinder.Target                  = base.FindTransform("BtnLeft").get_gameObject();
        visibilityBinder                         = base.get_gameObject().AddComponent <VisibilityBinder>();
        visibilityBinder.BindingProxy            = base.get_gameObject();
        visibilityBinder.ValueBinding.MemberName = "BtnRightVisibility";
        visibilityBinder.Target                  = base.FindTransform("BtnRight").get_gameObject();
        visibilityBinder                         = base.get_gameObject().AddComponent <VisibilityBinder>();
        visibilityBinder.BindingProxy            = base.get_gameObject();
        visibilityBinder.ValueBinding.MemberName = "BtnConfirmVisibility";
        visibilityBinder.Target                  = base.FindTransform("BtnConfirm").get_gameObject();
        ImageBinder imageBinder = base.FindTransform("BtnLeftBg").get_gameObject().AddComponent <ImageBinder>();

        imageBinder.BindingProxy             = base.get_gameObject();
        imageBinder.SpriteBinding.MemberName = "ImageBtnL";
        imageBinder = base.FindTransform("BtnRightBg").get_gameObject().AddComponent <ImageBinder>();
        imageBinder.BindingProxy             = base.get_gameObject();
        imageBinder.SpriteBinding.MemberName = "ImageBtnR";
        imageBinder = base.FindTransform("BtnConfirmBg").get_gameObject().AddComponent <ImageBinder>();
        imageBinder.BindingProxy             = base.get_gameObject();
        imageBinder.SpriteBinding.MemberName = "ImageBtnC";
        ListBinder component = base.FindTransform("ItemList").get_gameObject().GetComponent <ListBinder>();

        component.BindingProxy             = base.get_gameObject();
        component.PrefabName               = "MultiCheckItem";
        component.SourceBinding.MemberName = "Items";
        component.ITEM_NAME = "_Item";
    }
    protected override void DataBinding()
    {
        base.DataBinding();
        ImageBinder imageBinder = base.FindTransform("ItemFrame").get_gameObject().AddComponent <ImageBinder>();

        imageBinder.BindingProxy             = base.get_gameObject();
        imageBinder.SpriteBinding.MemberName = "IconBg";
        imageBinder = base.FindTransform("ItemIcon").get_gameObject().AddComponent <ImageBinder>();
        imageBinder.BindingProxy             = base.get_gameObject();
        imageBinder.SpriteBinding.MemberName = "Icon";
        imageBinder.SetNativeSize            = true;
        TextBinder textBinder = base.FindTransform("Num").get_gameObject().AddComponent <TextBinder>();

        textBinder.BindingProxy            = base.get_gameObject();
        textBinder.LabelBinding.MemberName = "GoodNum";
    }
Example #30
0
        void InternalSetImageBinder(ImageBinder imgBinder)
        {
            if (_principalBox == null)
            {
                return;
            }

            //
            CssBoxImage boxImg = (CssBoxImage)_principalBox;

            //implementation specific...
            //if the binder is loaded , not need TempTranstionImageBinder
            boxImg.TempTranstionImageBinder = (imgBinder.State == BinderState.Loaded) ? null : boxImg.ImageBinder;
            boxImg.ImageBinder = imgBinder;
            boxImg.InvalidateGraphics();
        }
    protected override void DataBinding()
    {
        base.DataBinding();
        ListBinder listBinder = base.FindTransform("Channels").get_gameObject().AddComponent <ListBinder>();

        listBinder.PrefabName = "AccessChannelUIItem";
        listBinder.SourceBinding.MemberName = "AccessChannelUIItems";
        ImageBinder imageBinder = base.FindTransform("ItemIcon").get_gameObject().AddComponent <ImageBinder>();

        imageBinder.SpriteBinding.MemberName = "ItemIcon";
        imageBinder = base.FindTransform("ItemIconBg").get_gameObject().AddComponent <ImageBinder>();
        imageBinder.SpriteBinding.MemberName = "ItemIconBg";
        TextBinder textBinder = base.FindTransform("ItemName").get_gameObject().AddComponent <TextBinder>();

        textBinder.LabelBinding.MemberName = "ItemName";
    }
Example #32
0
 public void AddRequestImage(ImageBinder contentReq)
 {
     if (contentReq.ImageSource == null && !contentReq.HasLazyFunc)
     {
         contentReq.State = ImageBinderState.NoImage;
         return;
     }
     //binder and req box
     //1.
     contentReq.State = ImageBinderState.Loading;
     //2.
     inputList.AddLast(contentReq);
     //another thread will manage this request
     //and store in outputlist
     hasSomeInputHint = true;
 }
        /// <summary>
        /// Draw the background image of the given box in the given rectangle.<br/>
        /// Handle background-repeat and background-position values.
        /// </summary>
        /// <param name="g">the device to draw into</param>
        /// <param name="box">the box to draw its background image</param>
        /// <param name="imageLoadHandler">the handler that loads image to draw</param>
        /// <param name="rectangle">the rectangle to draw image in</param>
        public static void DrawBackgroundImage(Canvas g, CssBox box, ImageBinder imageBinder, RectangleF rectangle)
        {
            var image = imageBinder.Image;
            //temporary comment image scale code 
            var imgSize = image.Size;
            //new Size(imageLoadHandler.Rectangle == Rectangle.Empty ? imageLoadHandler.Image.Width : imageLoadHandler.Rectangle.Width,
            //                 imageLoadHandler.Rectangle == Rectangle.Empty ? imageLoadHandler.Image.Height : imageLoadHandler.Rectangle.Height);

            // get the location by BackgroundPosition value
            var location = GetLocation(box.BackgroundPositionX, box.BackgroundPositionY, rectangle, imgSize);
            //var srcRect = imageLoadHandler.Rectangle == Rectangle.Empty
            //                  ? new Rectangle(0, 0, imgSize.Width, imgSize.Height)
            //                  : new Rectangle(imageLoadHandler.Rectangle.Left, imageLoadHandler.Rectangle.Top, imgSize.Width, imgSize.Height);
            var srcRect = new Rectangle(0, 0, image.Width, image.Height);
            // initial image destination rectangle
            var destRect = new Rectangle(location, imgSize);
            // need to clip so repeated image will be cut on rectangle

            var prevClip = g.CurrentClipRect;
            PixelFarm.Drawing.Rectangle copyRect = new PixelFarm.Drawing.Rectangle(
               (int)rectangle.X,
               (int)rectangle.Y,
               (int)rectangle.Width,
               (int)rectangle.Height);
            copyRect.Intersect(prevClip);
            g.SetClipRect(copyRect);
            switch (box.BackgroundRepeat)
            {
                case CssBackgroundRepeat.NoRepeat:
                    g.DrawImage(image, new RectangleF(location, imgSize), new RectangleF(0, 0, image.Width, image.Height));
                    break;
                case CssBackgroundRepeat.RepeatX:
                    DrawRepeatX(g, image, rectangle, srcRect, destRect, imgSize);
                    break;
                case CssBackgroundRepeat.RepeatY:
                    DrawRepeatY(g, image, rectangle, srcRect, destRect, imgSize);
                    break;
                default:
                    DrawRepeat(g, image, rectangle, srcRect, destRect, imgSize);
                    break;
            }

            g.SetClipRect(prevClip);
        }
Example #34
0
 public override void ReEvaluateComputeValue(ref ReEvaluateArgs args)
 {
     var myspec = this.imageSpec;
     this.fillColor = myspec.ActualColor;
     this.strokeColor = myspec.StrokeColor;
     this.ActualX = ConvertToPx(myspec.X, ref args);
     this.ActualY = ConvertToPx(myspec.Y, ref args);
     this.ActualWidth = ConvertToPx(myspec.Width, ref args);
     this.ActualHeight = ConvertToPx(myspec.Height, ref args);
     this.ActualStrokeWidth = ConvertToPx(myspec.StrokeWidth, ref args);
     this._path = CreateRectGraphicPath( 
             this.ActualX,
             this.ActualY,
             this.ActualWidth,
             this.ActualHeight);
     if (this._imgRun.ImageBinder == null)
     {
         this._imgRun.ImageBinder = new SvgImageBinder(myspec.ImageSrc);
     }
     ValidatePath();
 }
 public void AddRequestImage(ImageBinder contentReq)
 {
     if (contentReq.ImageSource == null && !contentReq.HasLazyFunc)
     {
         contentReq.State = ImageBinderState.NoImage;
         return;
     }
     //binder and req box 
     //1. 
     contentReq.State = ImageBinderState.Loading;
     //2.
     inputList.AddLast(contentReq);
     //another thread will manage this request 
     //and store in outputlist         
     hasSomeInputHint = true;
 }
 public ImageRequestEventArgs(ImageBinder binder)
 {
     this.ImageBinder = binder;
 }
Example #37
0
 internal void RequestImage(ImageBinder binder, CssBox requestFrom)
 {
     this.htmlContainer.RaiseImageRequest(binder,
         requestFrom,
         false);
 }
Example #38
0
 protected override void OnRequestImage(ImageBinder binder, object reqFrom, bool _sync)
 {
     //send request to host
     if (binder.State == ImageBinderState.Unload)
     {
         this.htmlhost.ChildRequestImage(binder, this, reqFrom, _sync);
     }
 }
Example #39
0
 //------------------------------------------------------------------
 protected abstract void OnRequestImage(ImageBinder binder,
     object reqFrom, bool _sync);
Example #40
0
 internal void RaiseImageRequest(
     ImageBinder binder,
     object reqBy,
     bool _sync)
 {
     //TODO: sync or async?
     OnRequestImage(binder, reqBy, false);
 }
 public UIHolderBox AddNewImageBox(int x, int y, int w, int h, ImageBinder imgBinder)
 {
     //add new user box
     var box1 = new UIHolderBox(w, h);
     box1.BackColor = Color.White;
     box1.SetLocation(x, y);
     var imgBox = new LayoutFarm.CustomWidgets.ImageBox(imgBinder.Image.Width, imgBinder.Image.Height);
     imgBox.ImageBinder = imgBinder;
     box1.AddChild(imgBox);
     imgBox.SetLocation(10, 10);
     box1.TargetBox = imgBox;
     box1.SetSize(imgBinder.ImageWidth + 20, imgBinder.ImageHeight + 20);
     SetupActiveBoxProperties(box1);
     viewport.AddContent(box1);
     userBoxes.Add(box1);
     return box1;
 }
Example #42
0
        /// <summary>
        /// async request for image
        /// </summary>
        /// <param name="binder"></param>
        /// <param name="requestFrom"></param>
        public void RequestImageAsync(ImageBinder binder, CssImageRun imgRun, object requestFrom)
        {
            if (htmlContainer != null)
            {
                this.htmlContainer.RaiseImageRequest(
                    binder,
                    requestFrom,
                    false);
            }
            else
            {
                binder.LazyLoadImage();
            }

            //--------------------------------------------------
            if (binder.State == ImageBinderState.Loaded)
            {
                Image img = binder.Image;
                if (img != null)
                {
                    //set real image info
                    imgRun.ImageRectangle = new Rectangle(
                        (int)imgRun.Left, (int)imgRun.Top,
                        img.Width, img.Height);
                }
            }
        }