---
name: "SWF::Button"
section: "3pm"
platform: "linux"
package: "libswf-perl"
version: "1:0.4.4-1.1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/SWF::Button"
---

# SWF::Button(3pm)

SWF button class

## NAME

SWF::Button - SWF button class

## SYNOPSIS

```
        use SWF::Button;
        $button = new SWF::Button();
        $button->setUp($shape1);
        $button->setDown($shape2);
```

## DESCRIPTION

Creates buttons for flash movies. Buttons are controlled by various methods for visible design and triggered actions, see below:

## METHODS

- new *SWF::Button()*

  Creates a new Button object.

- $button-\>addShape($shape, FLAG)

  Adds `$shape` to the button. Using this method is not recommended,  better use *addCharacter()*, see next item for details. Also unlike *addCharacter()* this method does not return any SWF::ButtonRecord objects

- $buttonrecord = $button-\>addCharacter($character \[, $flags\])

  Adds character `$shape` to the button. Valid FLAGs are:

  ```
          SWFBUTTON_HIT
          SWFBUTTON_UP
          SWFBUTTON_DOWN
          SWFBUTTON_OVER
  ```

  Unlike *addShape()* this method returns an object of SWF::ButtonRecord class. The flag states can be combined using the binary or operator.

- $buttonrecord = $button-\>setOver($shape)

  Shortcut for `$button`-\>addCharacter($shape, SWFBUTTON\_OVER);

- $buttonrecord = $button-\>setHit($shape)

  Shortcut for `$button`-\>addCharacter($shape, SWFBUTTON\_HIT);

- $buttonrecord = $button-\>setUp($shape)

  Shortcut for `$button`-\>addCharacter($shape, SWFBUTTON\_UP);

- $buttonrecord = $button-\>setDown($shape)

  Shortcut for `$button`-\>addCharacter($shape, SWFBUTTON\_DOWN);

- $button-\>addAction($action \[,FLAG\])

  - $button-\>setAction($action \[,FLAG\])

  Adds `$action` object (see SWF::Action). Valid FLAGs are:

  ```
          SWFBUTTON_MOUSEUP
          SWFBUTTON_MOUSEOVER
          SWFBUTTON_MOUSEOUT
          SWFBUTTON_MOUSEDOWN
          SWFBUTTON_DRAGOVER
          SWFBUTTON_DRAGOUT
  ```

  SWFBUTTON\_MOUSEUP is the default value of FLAG.

- $button-\>setMenu(0\|1)

  Parameter is 0 (off) or 1(on). Can be used for a slight different behavior of buttons.

- $soundinstance = $button-\>addSound($sound, $flags)

  Plays a prepared SWF::Sound object and returns an object of SWF::SoundInstance. Once more valid flags are:

  ```
          SWFBUTTON_MOUSEUP
          SWFBUTTON_MOUSEOVER
          SWFBUTTON_MOUSEOUT
          SWFBUTTON_MOUSEDOWN
  ```

  For example:

  ```
          $sound = new SWF::Sound("wow.mp3", SWF_SOUND_MP3_COMPRESSED );
          $soundinstance = $button->addSound($sound, SWFBUTTON_MOUSEDOWN );
  ```

- $button-\>setScalingGrid($x, $y, $w, $h)

  This function (available from SWF\>=8) sets a 9 slice scaling grid: 1 2 3  4 5 6  7 8 9 X, y, w and h define a rectangle, which is the dimension of the center slice (5). All other slices are determined out of the characters bounds and the defined rect. While slice 5 is scaled vertical and horizontal, slice 2 and 8 are only scaled horizontal. Slice 4 and 6 only vertical. The 4 corner slices are not scaled (1, 3, 7, 9).

- $button-\>*removeScalingGrid()*

  Removes scaling grid rectangles.

## AUTHOR

wrapper written by

Soheil Seyfaie   (soheil at users dot sourceforge dot net) Peter Liscovius (peterdd at users dot sourceforge dot net) and many others.

## SEE ALSO

SWF, SWF::Action, SWF::Shape, SWF::Movie, SWF::MovieClip, SWF::Constants, SWF::Sound, SWF::SoundInstance
