Exemple #1
0
        ////////////////////////////////////////////////////////////////////////////

        ////////////////////////////////////////////////////////////////////////////
        protected override void DrawControl(Renderer renderer, Rectangle rect, GameTime gameTime)
        {
            BlendState bs = Manager.GraphicsDevice.BlendState;

            Manager.GraphicsDevice.BlendState = BlendState.NonPremultiplied;

            //if (this.Name == "Close.Buttom")
            //{
            //}

            if (mode == ButtonMode.PushButton && pushed)
            {
                SkinLayer l = Skin.Layers[lrButton];
                renderer.DrawLayer(l, rect, l.States.Pressed.Color, l.States.Pressed.Index);
                if (l.States.Pressed.Overlay)
                {
                    renderer.DrawLayer(l, rect, l.Overlays.Pressed.Color, l.Overlays.Pressed.Index);
                }
            }
            else
            {
                base.DrawControl(renderer, rect, gameTime);
            }

            SkinLayer  layer = Skin.Layers[lrButton];
            SpriteFont font = (layer.Text != null && layer.Text.Font != null) ? layer.Text.Font.Resource : null;
            Color      col = Color.White;
            int        ox = 0; int oy = 0;

            if (ControlState == ControlState.Pressed)
            {
                if (layer.Text != null)
                {
                    col = layer.Text.Colors.Pressed;
                }
                ox = 1; oy = 1;
            }
            if (glyph != null)
            {
                Margins   cont = layer.ContentMargins;
                Rectangle r    = new Rectangle(rect.Left + cont.Left,
                                               rect.Top + cont.Top,
                                               rect.Width - cont.Horizontal,
                                               rect.Height - cont.Vertical);
                renderer.DrawGlyph(glyph, r);
            }
            else
            {
                renderer.DrawString(this, layer, Text, rect, true, ox, oy);
            }
            Manager.GraphicsDevice.BlendState = bs;
        }
Exemple #2
0
    ////////////////////////////////////////////////////////////////////////////
    
    ////////////////////////////////////////////////////////////////////////////
    protected override void DrawControl(Renderer renderer, Rectangle rect, GameTime gameTime)
    {                    

      if (mode == ButtonMode.PushButton && pushed)
      {
        SkinLayer l = Skin.Layers[lrButton];
        renderer.DrawLayer(l, rect, l.States.Pressed.Color, l.States.Pressed.Index);
        if (l.States.Pressed.Overlay)
        {
          renderer.DrawLayer(l, rect, l.Overlays.Pressed.Color, l.Overlays.Pressed.Index);          
        }                
      }
      else
      {
        base.DrawControl(renderer, rect, gameTime);
      }
    
      SkinLayer layer = Skin.Layers[lrButton];                                  
      SpriteFont font = (layer.Text != null && layer.Text.Font != null) ? layer.Text.Font.Resource : null;
      Color col = Color.White;              
      int ox = 0; int oy = 0;
    
      if (ControlState == ControlState.Pressed)
      {       
        if (layer.Text != null) col = layer.Text.Colors.Pressed;
        ox = 1; oy = 1;
      }                               
      if (glyph != null)
      {
        Margins cont = layer.ContentMargins;
        Rectangle r = new Rectangle(rect.Left + cont.Left, 
                                    rect.Top + cont.Top, 
                                    rect.Width - cont.Horizontal, 
                                    rect.Height - cont.Vertical);
        renderer.DrawGlyph(glyph, r);
      }
      else 
      {
        renderer.DrawString(this, layer, Text, rect, true, ox, oy);
      }       
    }
Exemple #3
0
        /// <summary>
        /// Draws the button control.
        /// </summary>
        /// <param name="renderer">Rendering management object.</param>
        /// <param name="rect">Destination rectangle.</param>
        /// <param name="gameTime">Snapshot of the application's timing values.</param>
        protected override void DrawControl(Renderer renderer, Rectangle rect, GameTime gameTime)
        {
            // Toggle button in pressed state?
            if (mode == ButtonMode.PushButton && pushed)
            {
                SkinLayer l = Skin.Layers[lrButton];
                renderer.DrawLayer(l, rect, l.States.Pressed.Color, l.States.Pressed.Index);

                // Does the layer's pressed state have an overlay?
                if (l.States.Pressed.Overlay)
                {
                    // Draw the overlay on top of the button.
                    renderer.DrawLayer(l, rect, l.Overlays.Pressed.Color, l.Overlays.Pressed.Index);
                }
            }

            else
            {
                // Standard button. ButtonBase can handle drawing.
                base.DrawControl(renderer, rect, gameTime);
            }

            SkinLayer layer = Skin.Layers[lrButton];
            SpriteFont font = (layer.Text != null && layer.Text.Font != null) ? layer.Text.Font.Resource : null;
            Color col = Color.White;
            int ox = 0; int oy = 0;

            // Standard button pressed?
            if (ControlState == ControlState.Pressed)
            {
                if (layer.Text != null) col = layer.Text.Colors.Pressed;
                ox = 1; oy = 1;
            }

            // Button has an image to apply?
            if (glyph != null)
            {
                // Draw the button image.
                Margins cont = layer.ContentMargins;
                Rectangle r = new Rectangle(rect.Left + cont.Left,
                                            rect.Top + cont.Top,
                                            rect.Width - cont.Horizontal,
                                            rect.Height - cont.Vertical);
                renderer.DrawGlyph(glyph, r);
            }

            else
            {
                // Draw the button text.
                renderer.DrawString(this, layer, Text, rect, true, ox, oy);
            }
        }