| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- package imgui
- // #include "imguiWrapperTypes.h"
- import "C"
- // Vec2 represents a two-dimensional vector.
- type Vec2 struct {
- X float32
- Y float32
- }
- func (vec *Vec2) wrapped() (out *C.IggVec2, finisher func()) {
- if vec != nil {
- out = &C.IggVec2{
- x: C.float(vec.X),
- y: C.float(vec.Y),
- }
- finisher = func() {
- vec.X = float32(out.x) // nolint: gotype
- vec.Y = float32(out.y) // nolint: gotype
- }
- } else {
- finisher = func() {}
- }
- return
- }
- // Set sets values of the vec with args.
- func (vec *Vec2) Set(x, y float32) {
- vec.X = x
- vec.Y = y
- }
- // Plus returns vec + other.
- func (vec Vec2) Plus(other Vec2) Vec2 {
- return Vec2{
- X: vec.X + other.X,
- Y: vec.Y + other.Y,
- }
- }
- // Minus returns vec - other.
- func (vec Vec2) Minus(other Vec2) Vec2 {
- return Vec2{
- X: vec.X - other.X,
- Y: vec.Y - other.Y,
- }
- }
- // Times returns vec * value.
- func (vec Vec2) Times(value float32) Vec2 {
- return Vec2{
- X: vec.X * value,
- Y: vec.Y * value,
- }
- }
- // Vec4 represents a four-dimensional vector.
- type Vec4 struct {
- X float32
- Y float32
- Z float32
- W float32
- }
- func (vec *Vec4) wrapped() (out *C.IggVec4, finisher func()) {
- if vec != nil {
- out = &C.IggVec4{
- x: C.float(vec.X),
- y: C.float(vec.Y),
- z: C.float(vec.Z),
- w: C.float(vec.W),
- }
- finisher = func() {
- vec.X = float32(out.x) // nolint: gotype
- vec.Y = float32(out.y) // nolint: gotype
- vec.Z = float32(out.z) // nolint: gotype
- vec.W = float32(out.w) // nolint: gotype
- }
- } else {
- finisher = func() {}
- }
- return
- }
- // Set sets values of the vec with args.
- func (vec *Vec4) Set(x, y, z, w float32) {
- vec.X = x
- vec.Y = y
- vec.Z = z
- vec.W = w
- }
- // Plus returns vec + other.
- func (vec Vec4) Plus(other Vec4) Vec4 {
- return Vec4{
- X: vec.X + other.X,
- Y: vec.Y + other.Y,
- Z: vec.Z + other.Z,
- W: vec.W + other.W,
- }
- }
- // Minus returns vec - other.
- func (vec Vec4) Minus(other Vec4) Vec4 {
- return Vec4{
- X: vec.X - other.X,
- Y: vec.Y - other.Y,
- Z: vec.Z - other.Z,
- W: vec.W - other.W,
- }
- }
- // Times returns vec * value.
- func (vec Vec4) Times(value float32) Vec4 {
- return Vec4{
- X: vec.X * value,
- Y: vec.Y * value,
- Z: vec.Z * value,
- W: vec.W * value,
- }
- }
|