コード例 #1
0
ファイル: Slider.cs プロジェクト: TheKeaver/Adrift-Updated-
        public override void Render(SpriteBatch spriteBatch, FieldFontRenderer fieldFontRenderer)
        {
            if (!Hidden)
            {
                NinePatchRegion2D ninePatch = _releasedNinePatch;
                if (SliderState == SliderState.Hover && Root.MouseMode == true)
                {
                    ninePatch = _hoverNinePatch;
                }
                if (this.isSelected == true && Root.MouseMode == false)
                {
                    ninePatch = _hoverNinePatch;
                }
                if (SliderState == SliderState.Pressed)
                {
                    ninePatch = _pressedNinePatch;
                }

                spriteBatch.Draw(ninePatch,
                                 new Rectangle((int)TopLeft.X,
                                               (int)(TopLeft.Y + (Height / 2) - Height / 20),
                                               (int)Width,
                                               (int)Height / 10),
                                 Color.Green);

                SliderButton.Render(spriteBatch, fieldFontRenderer);
            }
        }
コード例 #2
0
ファイル: Button.cs プロジェクト: helluvamatt/MazeGame
        protected override void OnRender(WindowManager uiRenderer, SpriteBatch sb, Texture2D uiTexture)
        {
            int spriteRegionY;

            if (!IsEnabled)
            {
                spriteRegionY = SPRITE_Y_DISABLED;
            }
            else if (IsFocused && _Pressed)
            {
                spriteRegionY = SPRITE_Y_FOCUSED_PRESSED;
            }
            else if (IsFocused)
            {
                spriteRegionY = SPRITE_Y_FOCUSED;
            }
            else if (_Pressed)
            {
                spriteRegionY = SPRITE_Y_PRESSED;
            }
            else
            {
                spriteRegionY = SPRITE_Y_NORMAL;
            }
            var frameRegion = new NinePatchRegion2D(new TextureRegion2D(uiTexture, new Rectangle(SPRITE_X, spriteRegionY, SPRITE_WIDTH, SPRITE_HEIGHT)), new MonoGame.Extended.Thickness(SPRITE_9P_PADDING_X, SPRITE_9P_PADDING_Y));

            sb.Begin();
            sb.Draw(frameRegion, Bounds, Color.White);
            sb.DrawString(TextFont, Text, _TextLocation, TextColor);
            sb.End();
        }
コード例 #3
0
ファイル: Button.cs プロジェクト: TheKeaver/Adrift-Updated-
        public override void Render(SpriteBatch spriteBatch, FieldFontRenderer fieldFontRenderer)
        {
            if (!Hidden)
            {
                NinePatchRegion2D ninePatch = _releasedNinePatch;
                if (ButtonState == ButtonState.Hover && Root.MouseMode == true)
                {
                    ninePatch = _hoverNinePatch;
                }
                if (this.isSelected == true && Root.MouseMode == false)
                {
                    ninePatch = _hoverNinePatch;
                }
                if (ButtonState == ButtonState.Pressed || ForceShowAsPressed)
                {
                    ninePatch = _pressedNinePatch;
                }

                spriteBatch.Draw(ninePatch,
                                 new Rectangle((int)TopLeft.X,
                                               (int)TopLeft.Y,
                                               (int)Width,
                                               (int)Height),
                                 TintColor);
                SubPanel.Render(spriteBatch, fieldFontRenderer);
            }
        }
コード例 #4
0
ファイル: Button.cs プロジェクト: TheKeaver/Adrfit
        public Button(NinePatchRegion2D releasedTexture,
                      NinePatchRegion2D hoverTexture,
                      NinePatchRegion2D pressedTexture,
                      Origin origin,
                      float percentX,
                      float pOffsetX,
                      float percentY,
                      float pOffsetY,
                      float percentWidth,
                      float pOffsetWidth,
                      float percentHeight,
                      float pOffsetHeight)
            : base(origin, percentX, pOffsetX, percentY, pOffsetY,
                   percentWidth, pOffsetWidth, percentHeight, pOffsetHeight)
        {
            _releasedTexture = releasedTexture;
            _hoverTexture    = hoverTexture;
            _pressedTexture  = pressedTexture;
            _bounds          = new Vector2(releasedTexture.Width, releasedTexture.Height);

            SubPanel = new Panel(Origin.TopLeft,
                                 0,
                                 0,
                                 0,
                                 0,
                                 1,
                                 0,
                                 1,
                                 (float)0)
            {
                Parent = this
            };
        }
コード例 #5
0
        public override void LoadContent()
        {
            _mainFont       = Content.Load <BitmapFont>(Constants.Resources.FONT_MENU_BUTTON);
            _buttonReleased = new NinePatchRegion2D(new TextureRegion2D(Content.Load <Texture2D>(Constants.Resources.TEXTURE_BUTTON_RELEASED)),
                                                    4, 4, 4, 4);
            _buttonHover = new NinePatchRegion2D(new TextureRegion2D(Content.Load <Texture2D>(Constants.Resources.TEXTURE_BUTTON_HOVER)),
                                                 4, 4, 4, 4);
            _buttonPressed = new NinePatchRegion2D(new TextureRegion2D(Content.Load <Texture2D>(Constants.Resources.TEXTURE_BUTTON_PRESSED)),
                                                   4, 4, 4, 4);

            ReloadKeyIcons();
        }
コード例 #6
0
ファイル: MenuGameState.cs プロジェクト: pjrader1/SuperPong
        public override void LoadContent()
        {
            Content.Load <Texture2D>(Constants.Resources.TEXTURE_LOGO);
            Content.Load <Texture2D>(Constants.Resources.TEXTURE_CREDITS_AND_VERSION);
            Content.Load <BitmapFont>(Constants.Resources.FONT_MENU_BUTTON);

            _buttonReleased = new NinePatchRegion2D(new TextureRegion2D(Content.Load <Texture2D>(Constants.Resources.TEXTURE_BUTTON_RELEASED)),
                                                    4, 4, 4, 4);
            _buttonHover = new NinePatchRegion2D(new TextureRegion2D(Content.Load <Texture2D>(Constants.Resources.TEXTURE_BUTTON_HOVER)),
                                                 4, 4, 4, 4);
            _buttonPressed = new NinePatchRegion2D(new TextureRegion2D(Content.Load <Texture2D>(Constants.Resources.TEXTURE_BUTTON_PRESSED)),
                                                   4, 4, 4, 4);
        }
コード例 #7
0
        public NinePatchImage(NinePatchRegion2D ninePatch,

                              HorizontalAlignment hAlign,
                              AbstractValue horizontal,

                              VerticalAlignment vAlign,
                              AbstractValue vertical,

                              AbstractValue width,
                              AbstractValue height) : base(hAlign, horizontal, vAlign, vertical, width, height)
        {
            NinePatch = ninePatch;
        }
コード例 #8
0
        public void DesiredSizeShouldBeTheSizeOfTheMarginsInANinePatchRegion()
        {
            var availableSize    = new Size2(800, 480);
            var context          = Substitute.For <IGuiContext>();
            var texture          = new Texture2D(new TestGraphicsDevice(), 512, 512);
            var backgroundRegion = new NinePatchRegion2D(new TextureRegion2D(texture), new Thickness(10, 20));
            var button           = new GuiButton()
            {
                BackgroundRegion = backgroundRegion
            };
            var desiredSize = button.GetDesiredSize(context, availableSize);

            Assert.That(desiredSize, Is.EqualTo(new Size2(20, 40)));
        }
コード例 #9
0
 public NinePatchImage(NinePatchRegion2D ninePatch,
                       Origin origin,
                       float percentX,
                       float pOffsetX,
                       float percentY,
                       float pOffsetY,
                       float percentWidth,
                       float pOffsetWidth,
                       float percentHeight,
                       float pOffsetHeight)
     : base(origin, percentX, pOffsetX, percentY, pOffsetY,
            percentWidth, pOffsetWidth, percentHeight, pOffsetHeight)
 {
     _ninePatch = ninePatch;
 }
コード例 #10
0
 public NinePatchImage(NinePatchRegion2D ninePatch,
                       Origin origin,
                       float percentX,
                       float pOffsetX,
                       float percentY,
                       float pOffsetY,
                       float percentAspect,
                       float pOffsetAspect,
                       float aspectRatio,
                       AspectRatioType aspectRatioType)
     : base(origin, percentX, pOffsetX, percentY, pOffsetY,
            percentAspect, pOffsetAspect, aspectRatio, aspectRatioType)
 {
     _ninePatch = ninePatch;
 }
コード例 #11
0
ファイル: Button.cs プロジェクト: TheKeaver/Adrfit
        public override void Draw(SpriteBatch spriteBatch)
        {
            if (!Hidden)
            {
                NinePatchRegion2D ninePatch = _releasedTexture;
                if (ButtonState == ButtonState.Hover)
                {
                    ninePatch = _hoverTexture;
                }
                if (ButtonState == ButtonState.Pressed)
                {
                    ninePatch = _pressedTexture;
                }

                spriteBatch.Draw(ninePatch,
                                 new Rectangle((int)TopLeft.X,
                                               (int)TopLeft.Y,
                                               (int)Width,
                                               (int)Height),
                                 Color.White);
                SubPanel.Draw(spriteBatch);
            }
        }
コード例 #12
0
ファイル: Slider.cs プロジェクト: TheKeaver/Adrift-Updated-
        public Slider(NinePatchRegion2D releasedNinePatch,
                      NinePatchRegion2D hoverNinePatch,
                      NinePatchRegion2D pressedNinePatch,

                      HorizontalAlignment hAlign,
                      AbstractValue horizontal,

                      VerticalAlignment vAlign,
                      AbstractValue vertical,

                      AbstractValue width,
                      AbstractValue height,
                      bool isVertical,
                      bool isHorizontal,
                      int divisions,
                      string cvar) : base(hAlign, horizontal, vAlign, vertical, width, height)
        {
            _releasedNinePatch = releasedNinePatch;
            _hoverNinePatch    = hoverNinePatch;
            _pressedNinePatch  = pressedNinePatch;

            this.isVertical   = isVertical;
            this.isHorizontal = isHorizontal;
            this.divisions    = divisions;
            this.cvar         = cvar;

            SliderButton = new Button(_releasedNinePatch,
                                      _hoverNinePatch,
                                      _pressedNinePatch,
                                      HorizontalAlignment.Center, new FixedValue(0), // TODO: Make dependent on isHorizontal
                                      VerticalAlignment.Center, new FixedValue(0),   // TODO: Make dependent on isVertical
                                      new RelativeValue(0.2f, () => { return(Width); }),
                                      new RelativeValue(0.3f, () => { return(Height); }));

            SliderButton.Parent = this;
        }
コード例 #13
0
ファイル: Button.cs プロジェクト: TheKeaver/Adrift-Updated-
        public Button(NinePatchRegion2D releasedNinePatch,
                      NinePatchRegion2D hoverNinePatch,
                      NinePatchRegion2D pressedNinePatch,

                      HorizontalAlignment hAlign,
                      AbstractValue horizontal,

                      VerticalAlignment vAlign,
                      AbstractValue vertical,

                      AbstractValue width,
                      AbstractValue height) : base(hAlign, horizontal, vAlign, vertical, width, height)
        {
            _releasedNinePatch = releasedNinePatch;
            _hoverNinePatch    = hoverNinePatch;
            _pressedNinePatch  = pressedNinePatch;

            SubPanel = new Panel(HorizontalAlignment.Center, new FixedValue(0),
                                 VerticalAlignment.Center, new FixedValue(0),
                                 new RelativeValue(1, () => { return(Width); }),
                                 new RelativeValue(1, () => { return(Height); }));

            SubPanel.Parent = this;
        }