| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- package imgui
- // #include "DragDropWrapper.h"
- import "C"
- import (
- "unsafe"
- )
- type Payload uintptr
- func (p Payload) handle() C.IggPayload {
- return C.IggPayload(p)
- }
- func (p Payload) Data() int {
- raw := C.iggPayloadGetData(p.handle())
- return *(*int)((unsafe.Pointer)(raw))
- }
- func BeginDragDropSource() bool {
- return BeginDragDropSourceV(0)
- }
- func BeginDragDropSourceV(flags int) bool {
- return C.iggBeginDragDropSource(C.int(flags)) != 0
- }
- func SetDragDropPayload(payloadType string, data int) bool {
- return SetDragDropPayloadV(payloadType, data, 0)
- }
- func SetDragDropPayloadV(payloadType string, data int, cond int) bool {
- typeArg, typeFn := wrapString(payloadType)
- defer typeFn()
- return C.iggSetDragDropPayload(typeArg, unsafe.Pointer(&data), C.uint(unsafe.Sizeof(&data)), C.int(cond)) != 0
- }
- func EndDragDropSource() {
- C.iggEndDragDropSource()
- }
- func BeginDragDropTarget() bool {
- return C.iggBeginDragDropTarget() != 0
- }
- func AcceptDragDropPayload(payloadType string) Payload {
- return AcceptDragDropPayloadV(payloadType, 0)
- }
- func AcceptDragDropPayloadV(payloadType string, flags int) Payload {
- typeArg, typeFn := wrapString(payloadType)
- defer typeFn()
- payload := C.iggAcceptDragDropPayload(typeArg, C.int(flags))
- return Payload(payload)
- }
- func EndDragDropTarget() {
- C.iggEndDragDropTarget()
- }
|