2021-03-13 08:21:12 +00:00
|
|
|
package avatar
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/diamondburned/cchat/text"
|
|
|
|
"github.com/diamondburned/cchat/utils/empty"
|
|
|
|
)
|
|
|
|
|
|
|
|
// Segment describes an avatar segment.
|
|
|
|
type Segment struct {
|
|
|
|
empty.TextSegment
|
|
|
|
Position int
|
|
|
|
|
|
|
|
URL string
|
|
|
|
Size int // optional
|
|
|
|
Text string // optional
|
|
|
|
}
|
|
|
|
|
|
|
|
func (s Segment) Bounds() (int, int) { return s.Position, s.Position }
|
2021-03-26 06:32:15 +00:00
|
|
|
func (s Segment) AsAvatarer() text.Avatarer { return avatarURL(s) }
|
2021-03-13 08:21:12 +00:00
|
|
|
|
2021-03-26 06:32:15 +00:00
|
|
|
type avatarURL Segment
|
2021-03-13 08:21:12 +00:00
|
|
|
|
|
|
|
var _ text.Avatarer = avatarURL{}
|
|
|
|
|
|
|
|
func (aurl avatarURL) AvatarText() string {
|
2021-03-26 06:32:15 +00:00
|
|
|
return aurl.Text
|
2021-03-13 08:21:12 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func (aurl avatarURL) AvatarSize() int {
|
2021-03-26 06:32:15 +00:00
|
|
|
return aurl.Size
|
2021-03-13 08:21:12 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func (aurl avatarURL) Avatar() string {
|
2021-03-26 06:32:15 +00:00
|
|
|
return aurl.URL
|
2021-03-13 08:21:12 +00:00
|
|
|
}
|