An AtkStateSet determines a component's state set.

An AtkStateSet determines a component's state set. It is composed of a set of AtkStates.

— Function: **atk-state-set-new**` ⇒ `(`ret `

`<atk-state-set>`

)Creates a new empty state set.

ret- a new
`<atk-state-set>`

— Function: **atk-state-set-is-empty** (`self `` ⇒ `(`ret `

— Method:**is-empty**

`<atk-state-set>`

)`bool`

)— Method:

Checks whether the state set is empty, i.e. has no states set.

set- an
`<atk-state-type>`

ret- ‘
’ if`#t`

sethas no states set, otherwise ‘’`#f`

— Function: **atk-state-set-add-state** (`self ``type `` ⇒ `(`ret `

— Method:**add-state**

`<atk-state-set>`

) (`<atk-state-type>`

)`bool`

)— Method:

Add a new state for the specified type to the current state set if it is not already present.

set- an
`<atk-state-set>`

type- an
`<atk-state-type>`

ret- ‘
’ if the state for`#t`

typeis not already inset.

— Function: **atk-state-set-clear-states** (`self `

— Method:**clear-states**

`<atk-state-set>`

)— Method:

Removes all states from the state set.

set- an
`<atk-state-set>`

— Function: **atk-state-set-contains-state** (`self ``type `` ⇒ `(`ret `

— Method:**contains-state**

`<atk-state-set>`

) (`<atk-state-type>`

)`bool`

)— Method:

Checks whether the state for the specified type is in the specified set.

set- an
`<atk-state-set>`

type- an
`<atk-state-type>`

ret- ‘
’ if`#t`

typeis the state type is inset.

— Function: **atk-state-set-remove-state** (`self ``type `` ⇒ `(`ret `

— Method:**remove-state**

`<atk-state-set>`

) (`<atk-state-type>`

)`bool`

)— Method:

Removes the state for the specified type from the state set.

set- an
`<atk-state-set>`

type- an
`<atk-type>`

ret- ‘
’ if`#t`

typewas the state type is inset.

— Function: **atk-state-set-and-sets** (`self ``compare_set `` ⇒ `(`ret `

— Method:**and-sets**

`<atk-state-set>`

) (`<atk-state-set>`

)`<atk-state-set>`

)— Method:

Constructs the intersection of the two sets, returning ‘

’ if the intersection is empty.`#f`

set- an
`<atk-state-set>`

compare-set- another
`<atk-state-set>`

ret- a new
`<atk-state-set>`

which is the intersection of the two sets.

— Function: **atk-state-set-or-sets** (`self ``compare_set `` ⇒ `(`ret `

— Method:**or-sets**

`<atk-state-set>`

) (`<atk-state-set>`

)`<atk-state-set>`

)— Method:

Constructs the union of the two sets.

set- an
`<atk-state-set>`

compare-set- another
`<atk-state-set>`

ret- a new
`<atk-state-set>`

which is the union of the two sets, returning ‘’ is empty.`#f`

— Function: **atk-state-set-xor-sets** (`self ``compare_set `` ⇒ `(`ret `

— Method:**xor-sets**

`<atk-state-set>`

) (`<atk-state-set>`

)`<atk-state-set>`

)— Method:

Constructs the exclusive-or of the two sets, returning ‘

’ is empty. The set returned by this operation contains the states in exactly one of the two sets.`#f`

set- an
`<atk-state-set>`

compare-set- another
`<atk-state-set>`

ret- a new
`<atk-state-set>`

which contains the states which are in exactly one of the two sets.