github.com/TimaSlipko/gomobile@v1.0.8/gl/types_debug.go (about)

     1  // Copyright 2014 The Go Authors.  All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  //go:build (darwin || linux || openbsd || windows) && gldebug
     6  
     7  package gl
     8  
     9  // Alternate versions of the types defined in types.go with extra
    10  // debugging information attached. For documentation, see types.go.
    11  
    12  import "fmt"
    13  
    14  type Enum uint32
    15  
    16  type Attrib struct {
    17  	Value uint
    18  	name  string
    19  }
    20  
    21  type Program struct {
    22  	Init  bool
    23  	Value uint32
    24  }
    25  
    26  type Shader struct {
    27  	Value uint32
    28  }
    29  
    30  type Buffer struct {
    31  	Value uint32
    32  }
    33  
    34  type Framebuffer struct {
    35  	Value uint32
    36  }
    37  
    38  type Renderbuffer struct {
    39  	Value uint32
    40  }
    41  
    42  type Texture struct {
    43  	Value uint32
    44  }
    45  
    46  type Uniform struct {
    47  	Value int32
    48  	name  string
    49  }
    50  
    51  type VertexArray struct {
    52  	Value uint32
    53  }
    54  
    55  func (v Attrib) c() uintptr { return uintptr(v.Value) }
    56  func (v Enum) c() uintptr   { return uintptr(v) }
    57  func (v Program) c() uintptr {
    58  	if !v.Init {
    59  		ret := uintptr(0)
    60  		ret--
    61  		return ret
    62  	}
    63  	return uintptr(v.Value)
    64  }
    65  func (v Shader) c() uintptr       { return uintptr(v.Value) }
    66  func (v Buffer) c() uintptr       { return uintptr(v.Value) }
    67  func (v Framebuffer) c() uintptr  { return uintptr(v.Value) }
    68  func (v Renderbuffer) c() uintptr { return uintptr(v.Value) }
    69  func (v Texture) c() uintptr      { return uintptr(v.Value) }
    70  func (v Uniform) c() uintptr      { return uintptr(v.Value) }
    71  func (v VertexArray) c() uintptr  { return uintptr(v.Value) }
    72  
    73  func (v Attrib) String() string       { return fmt.Sprintf("Attrib(%d:%s)", v.Value, v.name) }
    74  func (v Program) String() string      { return fmt.Sprintf("Program(%d)", v.Value) }
    75  func (v Shader) String() string       { return fmt.Sprintf("Shader(%d)", v.Value) }
    76  func (v Buffer) String() string       { return fmt.Sprintf("Buffer(%d)", v.Value) }
    77  func (v Framebuffer) String() string  { return fmt.Sprintf("Framebuffer(%d)", v.Value) }
    78  func (v Renderbuffer) String() string { return fmt.Sprintf("Renderbuffer(%d)", v.Value) }
    79  func (v Texture) String() string      { return fmt.Sprintf("Texture(%d)", v.Value) }
    80  func (v Uniform) String() string      { return fmt.Sprintf("Uniform(%d:%s)", v.Value, v.name) }
    81  func (v VertexArray) String() string  { return fmt.Sprintf("VertexArray(%d)", v.Value) }