// Code generated by girgen. DO NOT EDIT.

package adw

import (
	"fmt"
	"unsafe"

	coreglib "github.com/diamondburned/gotk4/pkg/core/glib"
)

// #include <stdlib.h>
// #include <adwaita.h>
// #include <glib-object.h>
import "C"

// GType values.
var (
	GTypeBannerButtonStyle = coreglib.Type(C.adw_banner_button_style_get_type())
)

func init() {
	coreglib.RegisterGValueMarshalers([]coreglib.TypeMarshaler{
		coreglib.TypeMarshaler{T: GTypeBannerButtonStyle, F: marshalBannerButtonStyle},
	})
}

// BannerButtonStyle describes the available button styles for banner.
//
// New values may be added to this enumeration over time.
//
// See banner:button-style.
type BannerButtonStyle C.gint

const (
	// BannerButtonDefault: default button style.
	BannerButtonDefault BannerButtonStyle = iota
	// BannerButtonSuggested: button in the suggested action style.
	BannerButtonSuggested
)

func marshalBannerButtonStyle(p uintptr) (interface{}, error) {
	return BannerButtonStyle(coreglib.ValueFromNative(unsafe.Pointer(p)).Enum()), nil
}

// String returns the name in string for BannerButtonStyle.
func (b BannerButtonStyle) String() string {
	switch b {
	case BannerButtonDefault:
		return "Default"
	case BannerButtonSuggested:
		return "Suggested"
	default:
		return fmt.Sprintf("BannerButtonStyle(%d)", b)
	}
}
