////////////////////////////////////////////////////////////////////////////////
// Do not modify!
// Generated by codergen -go
////////////////////////////////////////////////////////////////////////////////

package gfxapi

import "fmt"

func init() {
}

var ()

const _FramebufferAttachment_name = "ColorDepthStencil"

var _FramebufferAttachment_map = map[FramebufferAttachment]string{
	0: _FramebufferAttachment_name[0:5],
	1: _FramebufferAttachment_name[5:10],
	2: _FramebufferAttachment_name[10:17],
}

func (v FramebufferAttachment) String() string {
	if s, ok := _FramebufferAttachment_map[v]; ok {
		return s
	}
	return fmt.Sprintf("FramebufferAttachment(%d)", v)
}

func (v *FramebufferAttachment) Parse(s string) error {
	for k, t := range _FramebufferAttachment_map {
		if s == t {
			*v = k
			return nil
		}
	}
	return fmt.Errorf("%s not in FramebufferAttachment", s)
}
