示例#1
0
        protected virtual void LoadTextures(GraphicsDevice graphics)
        {
            if(graphics == null)
                return;

            //throw new Exception("No graphics device defined!");

            // Fill creation
            this.graphics = graphics;

             // update size?
            if (fillInfo.texture == null)
            {
                fill = new Texture2D(graphics, (int)this.Size.X, (int)this.Size.Y);
                fill.GenColorTexture((int)this.Size.X, (int)this.Size.Y, Color.White);
            }
            else
            {
                fill = fillInfo.texture;
            }

            // Border creation
            //border = borderInfo.texture; // update size?

            if (borderInfo.sprite == null)
            {
                border = new Texture2D(graphics, (int)this.Size.X, (int)this.Size.Y);
                border.CreateBorder(borderInfo.width, Color.White);
            }
            else
            {

                if (borderInfo.sprite.Texture == null)
                {
                    //borderInfo.sprite.Texture = new Texture2D(graphics, borderInfo.sprite.Width, borderInfo.sprite.Height);
                    borderInfo.sprite.Texture = contentManager.Load<Texture2D>("./GUI/" + borderInfo.sprite.FileName);
                }

                border = borderInfo.sprite.Texture;
            }

            if (inactiveAlpha == null)
            {
                inactiveAlpha = new Texture2D(graphics, (int)this.Size.X, (int)this.Size.Y);
                inactiveAlpha.GenColorTexture((int)this.Size.X, (int)this.Size.Y, new Color(Color.Gray, 90));
            }

            foreach (Control c in controls)
                c.LoadTextures(graphics);
        }
示例#2
0
        private void UpdateBorder()
        {
            if (borderInfo.sprite == null)
            {
                border = new Texture2D(graphics, (int)this.Size.X, (int)this.Size.Y);
                border.CreateBorder(borderInfo.width, Color.White);
            }
            else
            {

                if (borderInfo.sprite.Texture == null)
                {
                    //borderInfo.sprite.Texture = new Texture2D(graphics, borderInfo.sprite.Width, borderInfo.sprite.Height);
                    borderInfo.sprite.Texture = contentManager.Load<Texture2D>("./GUI/" + borderInfo.sprite.FileName);
                }

                border = borderInfo.sprite.Texture;
            }
            /*
            border = new Texture2D(graphics, (int)this.Size.X, (int)this.Size.Y);
            border.CreateBorder(borderInfo.width, Color.White);
             * */
        }
示例#3
0
        public void ControlSizeChange(Vector2 lastSize)
        {
            ControlSizeChangeAlignControl(lastSize);

            // REMAKE BORDERS AND STUFF
            // Fill creation
            if (this.Size == Vector2.Zero)
                return;

            if (fillInfo.texture == null)
            {
                if (fill != null)
                {
                    fill = new Texture2D(fill.GraphicsDevice, (int)this.Size.X, (int)this.Size.Y);
                    fill.GenColorTexture((int)this.Size.X, (int)this.Size.Y, Color.White);
                }
            }
            else
                fill = fillInfo.texture; // update size?

            // Border creation
            if (borderInfo.sprite == null)
            {
                if (border != null)
                {
                    border = new Texture2D(border.GraphicsDevice, (int)this.Size.X, (int)this.Size.Y);
                    border.CreateBorder(borderInfo.width, Color.White);
                }
            }
            else
            {

                if (borderInfo.sprite.Texture == null)
                {
                    //borderInfo.sprite.Texture = new Texture2D(graphics, borderInfo.sprite.Width, borderInfo.sprite.Height);
                    borderInfo.sprite.Texture = contentManager.Load<Texture2D>("./GUI/" + borderInfo.sprite.FileName);
                }

                border = borderInfo.sprite.Texture;
            }

            // REMAKE BORDERS AND STUFF
        }