Files
supersonic/backend/windows/taskbar_buttons.go
T

30 lines
618 B
Go

//go:build windows
package windows
/*
#cgo LDFLAGS: -lole32
#include "taskbar_buttons.h"
extern void goButtonClicked(int);
*/
import "C"
import (
"unsafe"
)
var gTaskbarButtonCallback func(TaskbarButton)
func InitializeTaskbarButtons(hwnd uintptr, callback func(TaskbarButton)) error {
gTaskbarButtonCallback = callback
C.initialize_taskbar_buttons(unsafe.Pointer(hwnd), C.ThumbnailCallback(C.goButtonClicked))
return nil
}
//export goButtonClicked
func goButtonClicked(buttonID C.int) {
if gTaskbarButtonCallback != nil {
gTaskbarButtonCallback(TaskbarButton(buttonID))
}
}