package tg
import (
"context"
"errors"
"fmt"
"sort"
"strings"
"go.uber.org/multierr"
"github.com/gotd/td/bin"
"github.com/gotd/td/tdjson"
"github.com/gotd/td/tdp"
"github.com/gotd/td/tgerr"
)
var (
_ = bin .Buffer {}
_ = context .Background ()
_ = fmt .Stringer (nil )
_ = strings .Builder {}
_ = errors .Is
_ = multierr .AppendInto
_ = sort .Ints
_ = tdp .Format
_ = tgerr .Error {}
_ = tdjson .Encoder {}
)
type MediaAreaCoordinates struct {
Flags bin .Fields
X float64
Y float64
W float64
H float64
Rotation float64
Radius float64
}
const MediaAreaCoordinatesTypeID = 0xcfc9e002
var (
_ bin .Encoder = &MediaAreaCoordinates {}
_ bin .Decoder = &MediaAreaCoordinates {}
_ bin .BareEncoder = &MediaAreaCoordinates {}
_ bin .BareDecoder = &MediaAreaCoordinates {}
)
func (m *MediaAreaCoordinates ) Zero () bool {
if m == nil {
return true
}
if !(m .Flags .Zero ()) {
return false
}
if !(m .X == 0 ) {
return false
}
if !(m .Y == 0 ) {
return false
}
if !(m .W == 0 ) {
return false
}
if !(m .H == 0 ) {
return false
}
if !(m .Rotation == 0 ) {
return false
}
if !(m .Radius == 0 ) {
return false
}
return true
}
func (m *MediaAreaCoordinates ) String () string {
if m == nil {
return "MediaAreaCoordinates(nil)"
}
type Alias MediaAreaCoordinates
return fmt .Sprintf ("MediaAreaCoordinates%+v" , Alias (*m ))
}
func (m *MediaAreaCoordinates ) FillFrom (from interface {
GetX () (value float64 )
GetY () (value float64 )
GetW () (value float64 )
GetH () (value float64 )
GetRotation () (value float64 )
GetRadius () (value float64 , ok bool )
}) {
m .X = from .GetX ()
m .Y = from .GetY ()
m .W = from .GetW ()
m .H = from .GetH ()
m .Rotation = from .GetRotation ()
if val , ok := from .GetRadius (); ok {
m .Radius = val
}
}
func (*MediaAreaCoordinates ) TypeID () uint32 {
return MediaAreaCoordinatesTypeID
}
func (*MediaAreaCoordinates ) TypeName () string {
return "mediaAreaCoordinates"
}
func (m *MediaAreaCoordinates ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "mediaAreaCoordinates" ,
ID : MediaAreaCoordinatesTypeID ,
}
if m == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {
{
Name : "X" ,
SchemaName : "x" ,
},
{
Name : "Y" ,
SchemaName : "y" ,
},
{
Name : "W" ,
SchemaName : "w" ,
},
{
Name : "H" ,
SchemaName : "h" ,
},
{
Name : "Rotation" ,
SchemaName : "rotation" ,
},
{
Name : "Radius" ,
SchemaName : "radius" ,
Null : !m .Flags .Has (0 ),
},
}
return typ
}
func (m *MediaAreaCoordinates ) SetFlags () {
if !(m .Radius == 0 ) {
m .Flags .Set (0 )
}
}
func (m *MediaAreaCoordinates ) Encode (b *bin .Buffer ) error {
if m == nil {
return fmt .Errorf ("can't encode mediaAreaCoordinates#cfc9e002 as nil" )
}
b .PutID (MediaAreaCoordinatesTypeID )
return m .EncodeBare (b )
}
func (m *MediaAreaCoordinates ) EncodeBare (b *bin .Buffer ) error {
if m == nil {
return fmt .Errorf ("can't encode mediaAreaCoordinates#cfc9e002 as nil" )
}
m .SetFlags ()
if err := m .Flags .Encode (b ); err != nil {
return fmt .Errorf ("unable to encode mediaAreaCoordinates#cfc9e002: field flags: %w" , err )
}
b .PutDouble (m .X )
b .PutDouble (m .Y )
b .PutDouble (m .W )
b .PutDouble (m .H )
b .PutDouble (m .Rotation )
if m .Flags .Has (0 ) {
b .PutDouble (m .Radius )
}
return nil
}
func (m *MediaAreaCoordinates ) Decode (b *bin .Buffer ) error {
if m == nil {
return fmt .Errorf ("can't decode mediaAreaCoordinates#cfc9e002 to nil" )
}
if err := b .ConsumeID (MediaAreaCoordinatesTypeID ); err != nil {
return fmt .Errorf ("unable to decode mediaAreaCoordinates#cfc9e002: %w" , err )
}
return m .DecodeBare (b )
}
func (m *MediaAreaCoordinates ) DecodeBare (b *bin .Buffer ) error {
if m == nil {
return fmt .Errorf ("can't decode mediaAreaCoordinates#cfc9e002 to nil" )
}
{
if err := m .Flags .Decode (b ); err != nil {
return fmt .Errorf ("unable to decode mediaAreaCoordinates#cfc9e002: field flags: %w" , err )
}
}
{
value , err := b .Double ()
if err != nil {
return fmt .Errorf ("unable to decode mediaAreaCoordinates#cfc9e002: field x: %w" , err )
}
m .X = value
}
{
value , err := b .Double ()
if err != nil {
return fmt .Errorf ("unable to decode mediaAreaCoordinates#cfc9e002: field y: %w" , err )
}
m .Y = value
}
{
value , err := b .Double ()
if err != nil {
return fmt .Errorf ("unable to decode mediaAreaCoordinates#cfc9e002: field w: %w" , err )
}
m .W = value
}
{
value , err := b .Double ()
if err != nil {
return fmt .Errorf ("unable to decode mediaAreaCoordinates#cfc9e002: field h: %w" , err )
}
m .H = value
}
{
value , err := b .Double ()
if err != nil {
return fmt .Errorf ("unable to decode mediaAreaCoordinates#cfc9e002: field rotation: %w" , err )
}
m .Rotation = value
}
if m .Flags .Has (0 ) {
value , err := b .Double ()
if err != nil {
return fmt .Errorf ("unable to decode mediaAreaCoordinates#cfc9e002: field radius: %w" , err )
}
m .Radius = value
}
return nil
}
func (m *MediaAreaCoordinates ) GetX () (value float64 ) {
if m == nil {
return
}
return m .X
}
func (m *MediaAreaCoordinates ) GetY () (value float64 ) {
if m == nil {
return
}
return m .Y
}
func (m *MediaAreaCoordinates ) GetW () (value float64 ) {
if m == nil {
return
}
return m .W
}
func (m *MediaAreaCoordinates ) GetH () (value float64 ) {
if m == nil {
return
}
return m .H
}
func (m *MediaAreaCoordinates ) GetRotation () (value float64 ) {
if m == nil {
return
}
return m .Rotation
}
func (m *MediaAreaCoordinates ) SetRadius (value float64 ) {
m .Flags .Set (0 )
m .Radius = value
}
func (m *MediaAreaCoordinates ) GetRadius () (value float64 , ok bool ) {
if m == nil {
return
}
if !m .Flags .Has (0 ) {
return value , false
}
return m .Radius , true
}
The pages are generated with Golds v0.8.4 . (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu .
PR and bug reports are welcome and can be submitted to the issue list .
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds .