| Version: 3.2.8

Classes | Enumerations
art.h File Reference

## Classes
class | wxRibbonArtProvider
| wxRibbonArtProvider is responsible for drawing all the components of the ribbon interface. More...
class | wxRibbonMSWArtProvider
class | wxRibbonAUIArtProvider

## Enumerations
enum | wxRibbonArtSetting { wxRIBBON_ART_TAB_SEPARATION_SIZE , wxRIBBON_ART_PAGE_BORDER_LEFT_SIZE , wxRIBBON_ART_PAGE_BORDER_TOP_SIZE , wxRIBBON_ART_PAGE_BORDER_RIGHT_SIZE , wxRIBBON_ART_PAGE_BORDER_BOTTOM_SIZE , wxRIBBON_ART_PANEL_X_SEPARATION_SIZE , wxRIBBON_ART_PANEL_Y_SEPARATION_SIZE , wxRIBBON_ART_TOOL_GROUP_SEPARATION_SIZE , wxRIBBON_ART_GALLERY_BITMAP_PADDING_LEFT_SIZE , wxRIBBON_ART_GALLERY_BITMAP_PADDING_RIGHT_SIZE , wxRIBBON_ART_GALLERY_BITMAP_PADDING_TOP_SIZE , wxRIBBON_ART_GALLERY_BITMAP_PADDING_BOTTOM_SIZE , wxRIBBON_ART_PANEL_LABEL_FONT , wxRIBBON_ART_BUTTON_BAR_LABEL_FONT , wxRIBBON_ART_TAB_LABEL_FONT , wxRIBBON_ART_BUTTON_BAR_LABEL_COLOUR , wxRIBBON_ART_BUTTON_BAR_LABEL_DISABLED_COLOUR , wxRIBBON_ART_BUTTON_BAR_HOVER_BORDER_COLOUR , wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_TOP_COLOUR , wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR , wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_COLOUR , wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_GRADIENT_COLOUR , wxRIBBON_ART_BUTTON_BAR_ACTIVE_BORDER_COLOUR , wxRIBBON_ART_BUTTON_BAR_ACTIVE_BACKGROUND_TOP_COLOUR , wxRIBBON_ART_BUTTON_BAR_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR , wxRIBBON_ART_BUTTON_BAR_ACTIVE_BACKGROUND_COLOUR , wxRIBBON_ART_BUTTON_BAR_ACTIVE_BACKGROUND_GRADIENT_COLOUR , wxRIBBON_ART_GALLERY_BORDER_COLOUR , wxRIBBON_ART_GALLERY_HOVER_BACKGROUND_COLOUR , wxRIBBON_ART_GALLERY_BUTTON_BACKGROUND_COLOUR , wxRIBBON_ART_GALLERY_BUTTON_BACKGROUND_GRADIENT_COLOUR , wxRIBBON_ART_GALLERY_BUTTON_BACKGROUND_TOP_COLOUR , wxRIBBON_ART_GALLERY_BUTTON_FACE_COLOUR , wxRIBBON_ART_GALLERY_BUTTON_HOVER_BACKGROUND_COLOUR , wxRIBBON_ART_GALLERY_BUTTON_HOVER_BACKGROUND_GRADIENT_COLOUR , wxRIBBON_ART_GALLERY_BUTTON_HOVER_BACKGROUND_TOP_COLOUR , wxRIBBON_ART_GALLERY_BUTTON_HOVER_FACE_COLOUR , wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_BACKGROUND_COLOUR , wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_BACKGROUND_GRADIENT_COLOUR , wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_BACKGROUND_TOP_COLOUR , wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_FACE_COLOUR , wxRIBBON_ART_GALLERY_BUTTON_DISABLED_BACKGROUND_COLOUR , wxRIBBON_ART_GALLERY_BUTTON_DISABLED_BACKGROUND_GRADIENT_COLOUR , wxRIBBON_ART_GALLERY_BUTTON_DISABLED_BACKGROUND_TOP_COLOUR , wxRIBBON_ART_GALLERY_BUTTON_DISABLED_FACE_COLOUR , wxRIBBON_ART_GALLERY_ITEM_BORDER_COLOUR , wxRIBBON_ART_TAB_LABEL_COLOUR , wxRIBBON_ART_TAB_ACTIVE_LABEL_COLOUR , wxRIBBON_ART_TAB_HOVER_LABEL_COLOUR , wxRIBBON_ART_TAB_SEPARATOR_COLOUR , wxRIBBON_ART_TAB_SEPARATOR_GRADIENT_COLOUR , wxRIBBON_ART_TAB_CTRL_BACKGROUND_COLOUR , wxRIBBON_ART_TAB_CTRL_BACKGROUND_GRADIENT_COLOUR , wxRIBBON_ART_TAB_HOVER_BACKGROUND_TOP_COLOUR , wxRIBBON_ART_TAB_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR , wxRIBBON_ART_TAB_HOVER_BACKGROUND_COLOUR , wxRIBBON_ART_TAB_HOVER_BACKGROUND_GRADIENT_COLOUR , wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_TOP_COLOUR , wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR , wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_COLOUR , wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_GRADIENT_COLOUR , wxRIBBON_ART_TAB_BORDER_COLOUR , wxRIBBON_ART_PANEL_BORDER_COLOUR , wxRIBBON_ART_PANEL_BORDER_GRADIENT_COLOUR , wxRIBBON_ART_PANEL_HOVER_BORDER_COLOUR , wxRIBBON_ART_PANEL_HOVER_BORDER_GRADIENT_COLOUR , wxRIBBON_ART_PANEL_MINIMISED_BORDER_COLOUR , wxRIBBON_ART_PANEL_MINIMISED_BORDER_GRADIENT_COLOUR , wxRIBBON_ART_PANEL_LABEL_BACKGROUND_COLOUR , wxRIBBON_ART_PANEL_LABEL_BACKGROUND_GRADIENT_COLOUR , wxRIBBON_ART_PANEL_LABEL_COLOUR , wxRIBBON_ART_PANEL_HOVER_LABEL_BACKGROUND_COLOUR , wxRIBBON_ART_PANEL_HOVER_LABEL_BACKGROUND_GRADIENT_COLOUR , wxRIBBON_ART_PANEL_HOVER_LABEL_COLOUR , wxRIBBON_ART_PANEL_MINIMISED_LABEL_COLOUR , wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_TOP_COLOUR , wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR , wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_COLOUR , wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_GRADIENT_COLOUR , wxRIBBON_ART_PAGE_BORDER_COLOUR , wxRIBBON_ART_PAGE_BACKGROUND_TOP_COLOUR , wxRIBBON_ART_PAGE_BACKGROUND_TOP_GRADIENT_COLOUR , wxRIBBON_ART_PAGE_BACKGROUND_COLOUR , wxRIBBON_ART_PAGE_BACKGROUND_GRADIENT_COLOUR , wxRIBBON_ART_PAGE_HOVER_BACKGROUND_TOP_COLOUR , wxRIBBON_ART_PAGE_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR , wxRIBBON_ART_PAGE_HOVER_BACKGROUND_COLOUR , wxRIBBON_ART_PAGE_HOVER_BACKGROUND_GRADIENT_COLOUR , wxRIBBON_ART_TOOLBAR_BORDER_COLOUR , wxRIBBON_ART_TOOLBAR_HOVER_BORDER_COLOUR , wxRIBBON_ART_TOOLBAR_FACE_COLOUR , wxRIBBON_ART_TOOL_BACKGROUND_TOP_COLOUR , wxRIBBON_ART_TOOL_BACKGROUND_TOP_GRADIENT_COLOUR , wxRIBBON_ART_TOOL_BACKGROUND_COLOUR , wxRIBBON_ART_TOOL_BACKGROUND_GRADIENT_COLOUR , wxRIBBON_ART_TOOL_HOVER_BACKGROUND_TOP_COLOUR , wxRIBBON_ART_TOOL_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR , wxRIBBON_ART_TOOL_HOVER_BACKGROUND_COLOUR , wxRIBBON_ART_TOOL_HOVER_BACKGROUND_GRADIENT_COLOUR , wxRIBBON_ART_TOOL_ACTIVE_BACKGROUND_TOP_COLOUR , wxRIBBON_ART_TOOL_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR , wxRIBBON_ART_TOOL_ACTIVE_BACKGROUND_COLOUR , wxRIBBON_ART_TOOL_ACTIVE_BACKGROUND_GRADIENT_COLOUR , wxRIBBON_ART_BUTTON_BAR_LABEL_HIGHLIGHT_COLOUR , wxRIBBON_ART_BUTTON_BAR_LABEL_HIGHLIGHT_GRADIENT_COLOUR , wxRIBBON_ART_BUTTON_BAR_LABEL_HIGHLIGHT_TOP_COLOUR , wxRIBBON_ART_BUTTON_BAR_LABEL_HIGHLIGHT_GRADIENT_TOP_COLOUR }
| Identifiers for common settings on ribbon art providers which can be used to tweak the appearance of the art provider. More...
enum | wxRibbonScrollButtonStyle { wxRIBBON_SCROLL_BTN_LEFT = 0 , wxRIBBON_SCROLL_BTN_RIGHT = 1 , wxRIBBON_SCROLL_BTN_UP = 2 , wxRIBBON_SCROLL_BTN_DOWN = 3 , wxRIBBON_SCROLL_BTN_DIRECTION_MASK = 3 , wxRIBBON_SCROLL_BTN_NORMAL = 0 , wxRIBBON_SCROLL_BTN_HOVERED = 4 , wxRIBBON_SCROLL_BTN_ACTIVE = 8 , wxRIBBON_SCROLL_BTN_STATE_MASK = 12 , wxRIBBON_SCROLL_BTN_FOR_OTHER = 0 , wxRIBBON_SCROLL_BTN_FOR_TABS = 16 , wxRIBBON_SCROLL_BTN_FOR_PAGE = 32 , wxRIBBON_SCROLL_BTN_FOR_MASK = 48 }
| Flags used to describe the direction, state, and/or purpose of a ribbon-style scroll button. More...
enum | wxRibbonButtonKind { wxRIBBON_BUTTON_NORMAL = 1 << 0 , wxRIBBON_BUTTON_DROPDOWN = 1 << 1 , wxRIBBON_BUTTON_HYBRID = wxRIBBON_BUTTON_NORMAL | wxRIBBON_BUTTON_DROPDOWN , wxRIBBON_BUTTON_TOGGLE = 1 << 2 }
| Buttons on a ribbon button bar and tools on a ribbon tool bar can each be one of three different kinds. More...

## Enumeration Type Documentation

## ◆ wxRibbonArtSetting

enum wxRibbonArtSetting

Identifiers for common settings on ribbon art providers which can be used to tweak the appearance of the art provider.

See also
  wxRibbonArtProvider::GetColour()
  wxRibbonArtProvider::GetFont()
  wxRibbonArtProvider::GetMetric()
  wxRibbonArtProvider::SetColour()
  wxRibbonArtProvider::SetFont()
  wxRibbonArtProvider::SetMetric()

Enumerator
wxRIBBON_ART_TAB_SEPARATION_SIZE |
wxRIBBON_ART_PAGE_BORDER_LEFT_SIZE |
wxRIBBON_ART_PAGE_BORDER_TOP_SIZE |
wxRIBBON_ART_PAGE_BORDER_RIGHT_SIZE |
wxRIBBON_ART_PAGE_BORDER_BOTTOM_SIZE |
wxRIBBON_ART_PANEL_X_SEPARATION_SIZE |
wxRIBBON_ART_PANEL_Y_SEPARATION_SIZE |
wxRIBBON_ART_TOOL_GROUP_SEPARATION_SIZE |
wxRIBBON_ART_GALLERY_BITMAP_PADDING_LEFT_SIZE |
wxRIBBON_ART_GALLERY_BITMAP_PADDING_RIGHT_SIZE |
wxRIBBON_ART_GALLERY_BITMAP_PADDING_TOP_SIZE |
wxRIBBON_ART_GALLERY_BITMAP_PADDING_BOTTOM_SIZE |
wxRIBBON_ART_PANEL_LABEL_FONT |
wxRIBBON_ART_BUTTON_BAR_LABEL_FONT |
wxRIBBON_ART_TAB_LABEL_FONT |
wxRIBBON_ART_BUTTON_BAR_LABEL_COLOUR |
wxRIBBON_ART_BUTTON_BAR_LABEL_DISABLED_COLOUR | Since 2.9.5
wxRIBBON_ART_BUTTON_BAR_HOVER_BORDER_COLOUR |
wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_TOP_COLOUR |
wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR |
wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_COLOUR |
wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_GRADIENT_COLOUR |
wxRIBBON_ART_BUTTON_BAR_ACTIVE_BORDER_COLOUR |
wxRIBBON_ART_BUTTON_BAR_ACTIVE_BACKGROUND_TOP_COLOUR |
wxRIBBON_ART_BUTTON_BAR_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR |
wxRIBBON_ART_BUTTON_BAR_ACTIVE_BACKGROUND_COLOUR |
wxRIBBON_ART_BUTTON_BAR_ACTIVE_BACKGROUND_GRADIENT_COLOUR |
wxRIBBON_ART_GALLERY_BORDER_COLOUR |
wxRIBBON_ART_GALLERY_HOVER_BACKGROUND_COLOUR |
wxRIBBON_ART_GALLERY_BUTTON_BACKGROUND_COLOUR |
wxRIBBON_ART_GALLERY_BUTTON_BACKGROUND_GRADIENT_COLOUR |
wxRIBBON_ART_GALLERY_BUTTON_BACKGROUND_TOP_COLOUR |
wxRIBBON_ART_GALLERY_BUTTON_FACE_COLOUR |
wxRIBBON_ART_GALLERY_BUTTON_HOVER_BACKGROUND_COLOUR |
wxRIBBON_ART_GALLERY_BUTTON_HOVER_BACKGROUND_GRADIENT_COLOUR |
wxRIBBON_ART_GALLERY_BUTTON_HOVER_BACKGROUND_TOP_COLOUR |
wxRIBBON_ART_GALLERY_BUTTON_HOVER_FACE_COLOUR |
wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_BACKGROUND_COLOUR |
wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_BACKGROUND_GRADIENT_COLOUR |
wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_BACKGROUND_TOP_COLOUR |
wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_FACE_COLOUR |
wxRIBBON_ART_GALLERY_BUTTON_DISABLED_BACKGROUND_COLOUR |
wxRIBBON_ART_GALLERY_BUTTON_DISABLED_BACKGROUND_GRADIENT_COLOUR |
wxRIBBON_ART_GALLERY_BUTTON_DISABLED_BACKGROUND_TOP_COLOUR |
wxRIBBON_ART_GALLERY_BUTTON_DISABLED_FACE_COLOUR |
wxRIBBON_ART_GALLERY_ITEM_BORDER_COLOUR |
wxRIBBON_ART_TAB_LABEL_COLOUR |
wxRIBBON_ART_TAB_ACTIVE_LABEL_COLOUR | Since 3.1.3
wxRIBBON_ART_TAB_HOVER_LABEL_COLOUR | Since 3.1.3
wxRIBBON_ART_TAB_SEPARATOR_COLOUR |
wxRIBBON_ART_TAB_SEPARATOR_GRADIENT_COLOUR |
wxRIBBON_ART_TAB_CTRL_BACKGROUND_COLOUR |
wxRIBBON_ART_TAB_CTRL_BACKGROUND_GRADIENT_COLOUR |
wxRIBBON_ART_TAB_HOVER_BACKGROUND_TOP_COLOUR |
wxRIBBON_ART_TAB_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR |
wxRIBBON_ART_TAB_HOVER_BACKGROUND_COLOUR |
wxRIBBON_ART_TAB_HOVER_BACKGROUND_GRADIENT_COLOUR |
wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_TOP_COLOUR |
wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR |
wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_COLOUR |
wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_GRADIENT_COLOUR |
wxRIBBON_ART_TAB_BORDER_COLOUR |
wxRIBBON_ART_PANEL_BORDER_COLOUR |
wxRIBBON_ART_PANEL_BORDER_GRADIENT_COLOUR |
wxRIBBON_ART_PANEL_HOVER_BORDER_COLOUR | Since 3.1.5
wxRIBBON_ART_PANEL_HOVER_BORDER_GRADIENT_COLOUR | Since 3.1.5
wxRIBBON_ART_PANEL_MINIMISED_BORDER_COLOUR |
wxRIBBON_ART_PANEL_MINIMISED_BORDER_GRADIENT_COLOUR |
wxRIBBON_ART_PANEL_LABEL_BACKGROUND_COLOUR |
wxRIBBON_ART_PANEL_LABEL_BACKGROUND_GRADIENT_COLOUR |
wxRIBBON_ART_PANEL_LABEL_COLOUR |
wxRIBBON_ART_PANEL_HOVER_LABEL_BACKGROUND_COLOUR |
wxRIBBON_ART_PANEL_HOVER_LABEL_BACKGROUND_GRADIENT_COLOUR |
wxRIBBON_ART_PANEL_HOVER_LABEL_COLOUR |
wxRIBBON_ART_PANEL_MINIMISED_LABEL_COLOUR |
wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_TOP_COLOUR |
wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR |
wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_COLOUR |
wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_GRADIENT_COLOUR |
wxRIBBON_ART_PAGE_BORDER_COLOUR |
wxRIBBON_ART_PAGE_BACKGROUND_TOP_COLOUR |
wxRIBBON_ART_PAGE_BACKGROUND_TOP_GRADIENT_COLOUR |
wxRIBBON_ART_PAGE_BACKGROUND_COLOUR |
wxRIBBON_ART_PAGE_BACKGROUND_GRADIENT_COLOUR |
wxRIBBON_ART_PAGE_HOVER_BACKGROUND_TOP_COLOUR |
wxRIBBON_ART_PAGE_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR |
wxRIBBON_ART_PAGE_HOVER_BACKGROUND_COLOUR |
wxRIBBON_ART_PAGE_HOVER_BACKGROUND_GRADIENT_COLOUR |
wxRIBBON_ART_TOOLBAR_BORDER_COLOUR |
wxRIBBON_ART_TOOLBAR_HOVER_BORDER_COLOUR |
wxRIBBON_ART_TOOLBAR_FACE_COLOUR |
wxRIBBON_ART_TOOL_BACKGROUND_TOP_COLOUR |
wxRIBBON_ART_TOOL_BACKGROUND_TOP_GRADIENT_COLOUR |
wxRIBBON_ART_TOOL_BACKGROUND_COLOUR |
wxRIBBON_ART_TOOL_BACKGROUND_GRADIENT_COLOUR |
wxRIBBON_ART_TOOL_HOVER_BACKGROUND_TOP_COLOUR |
wxRIBBON_ART_TOOL_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR |
wxRIBBON_ART_TOOL_HOVER_BACKGROUND_COLOUR |
wxRIBBON_ART_TOOL_HOVER_BACKGROUND_GRADIENT_COLOUR |
wxRIBBON_ART_TOOL_ACTIVE_BACKGROUND_TOP_COLOUR |
wxRIBBON_ART_TOOL_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR |
wxRIBBON_ART_TOOL_ACTIVE_BACKGROUND_COLOUR |
wxRIBBON_ART_TOOL_ACTIVE_BACKGROUND_GRADIENT_COLOUR |
wxRIBBON_ART_BUTTON_BAR_LABEL_HIGHLIGHT_COLOUR |
wxRIBBON_ART_BUTTON_BAR_LABEL_HIGHLIGHT_GRADIENT_COLOUR |
wxRIBBON_ART_BUTTON_BAR_LABEL_HIGHLIGHT_TOP_COLOUR |
wxRIBBON_ART_BUTTON_BAR_LABEL_HIGHLIGHT_GRADIENT_TOP_COLOUR |

## ◆ wxRibbonButtonKind

enum wxRibbonButtonKind

Buttons on a ribbon button bar and tools on a ribbon tool bar can each be one of three different kinds.

Enumerator
wxRIBBON_BUTTON_NORMAL | Normal button or tool with a clickable area which causes some generic action.
wxRIBBON_BUTTON_DROPDOWN | Dropdown button or tool with a clickable area which typically causes a dropdown menu.
wxRIBBON_BUTTON_HYBRID | Button or tool with two clickable areas - one which causes a dropdown menu, and one which causes a generic action.
wxRIBBON_BUTTON_TOGGLE | Normal button or tool with a clickable area which toggles the button between a pressed and unpressed state.

## ◆ wxRibbonScrollButtonStyle

enum wxRibbonScrollButtonStyle

Flags used to describe the direction, state, and/or purpose of a ribbon-style scroll button.

See also
  wxRibbonArtProvider::DrawScrollButton()
  wxRibbonArtProvider::GetScrollButtonMinimumSize()

Enumerator
wxRIBBON_SCROLL_BTN_LEFT | Button will scroll to the left.
wxRIBBON_SCROLL_BTN_RIGHT | Button will scroll to the right.
wxRIBBON_SCROLL_BTN_UP | Button will scroll upward.
wxRIBBON_SCROLL_BTN_DOWN | Button will scroll downward.
wxRIBBON_SCROLL_BTN_DIRECTION_MASK | A mask to extract direction from a combination of flags.
wxRIBBON_SCROLL_BTN_NORMAL | Button is not active or hovered.
wxRIBBON_SCROLL_BTN_HOVERED | Button has a cursor hovering over it.
wxRIBBON_SCROLL_BTN_ACTIVE | Button is being pressed.
wxRIBBON_SCROLL_BTN_STATE_MASK | A mask to extract state from a combination of flags.
wxRIBBON_SCROLL_BTN_FOR_OTHER | Button is not for scrolling tabs nor pages.
wxRIBBON_SCROLL_BTN_FOR_TABS | Button is for scrolling tabs.
wxRIBBON_SCROLL_BTN_FOR_PAGE | Button is for scrolling pages.
wxRIBBON_SCROLL_BTN_FOR_MASK | A mask to extract purpose from a combination of flags.