196 lines
4.7 KiB
Go
196 lines
4.7 KiB
Go
package main
|
|
|
|
import (
|
|
_ "embed"
|
|
"github.com/diamondburned/gotk4/pkg/gdk/v4"
|
|
"github.com/diamondburned/gotk4/pkg/gdkpixbuf/v2"
|
|
)
|
|
|
|
//go:embed debug.png
|
|
var defaultAvatarBytes []byte
|
|
|
|
//go:embed failed_load.png
|
|
var failedBytes []byte
|
|
|
|
//go:embed assets/owner.png
|
|
var ownerMedalBytes []byte
|
|
|
|
//go:embed assets/admin.png
|
|
var adminMedalBytes []byte
|
|
|
|
//go:embed assets/member.png
|
|
var memberMedalBytes []byte
|
|
|
|
//go:embed assets/noaffiliation.png
|
|
var noneMedalBytes []byte
|
|
|
|
//go:embed assets/outcast.png
|
|
var outcastMedalBytes []byte
|
|
|
|
//go:embed assets/cancel.png
|
|
var cancelBytes []byte
|
|
|
|
//go:embed assets/status_away.png
|
|
var sABytes []byte
|
|
|
|
//go:embed assets/status_busy.png
|
|
var sBBytes []byte
|
|
|
|
//go:embed assets/status_chatty.png
|
|
var sCBytes []byte
|
|
|
|
//go:embed assets/status_online.png
|
|
var sOBytes []byte
|
|
|
|
//go:embed assets/status_xa.png
|
|
var xaBytes []byte
|
|
|
|
//go:embed assets/tag.png
|
|
var tagBytes []byte
|
|
|
|
//go:embed assets/lambda-disabled.png
|
|
var logoDisabledBytes []byte
|
|
|
|
//go:embed assets/group.png
|
|
var groupBytes []byte
|
|
|
|
//go:embed assets/door_in.png
|
|
var doorInBytes []byte
|
|
|
|
//go:embed assets/door_out.png
|
|
var doorOutBytes []byte
|
|
|
|
//go:embed assets/large_group.png
|
|
var largeGroupBytes []byte
|
|
|
|
//go:embed assets/world.png
|
|
var worldBytes []byte
|
|
|
|
//go:embed assets/disconnect.png
|
|
var disconnectBytes []byte
|
|
|
|
//go:embed assets/chart_bar.png
|
|
var barBytes []byte
|
|
|
|
//go:embed assets/chart_bar_laggy.png
|
|
var barLaggyBytes []byte
|
|
|
|
//go:embed assets/ok.png
|
|
var okBytes []byte
|
|
|
|
//go:embed assets/hourglass.png
|
|
var hourglassBytes []byte
|
|
|
|
//go:embed assets/connect_tls.png
|
|
var connectBytes []byte
|
|
|
|
//go:embed assets/comment.png
|
|
var commentBytes []byte
|
|
|
|
//go:embed assets/information.png
|
|
var informationBytes []byte
|
|
|
|
//go:embed assets/car.png
|
|
var carBytes []byte
|
|
|
|
//go:embed assets/car_high.png
|
|
var carHighBytes []byte
|
|
|
|
// muc icons
|
|
|
|
//go:embed assets/muc_open.png
|
|
var mucOpenBytes []byte
|
|
|
|
//go:embed assets/muc_membersonly.png
|
|
var mucMembersOnlyBytes []byte
|
|
|
|
//go:embed assets/muc_passwordprotected.png
|
|
var mucPasswordProtectedBytes []byte
|
|
|
|
//go:embed assets/muc_unsecured.png
|
|
var mucUnsecuredBytes []byte
|
|
|
|
//go:embed assets/muc_hidden.png
|
|
var mucHiddenBytes []byte
|
|
|
|
//go:embed assets/muc_public.png
|
|
var mucPublicBytes []byte
|
|
|
|
//go:embed assets/muc_unmoderated.png
|
|
var mucUnmoderatedBytes []byte
|
|
|
|
//go:embed assets/muc_moderated.png
|
|
var mucModeratedBytes []byte
|
|
|
|
//go:embed assets/muc_nonanonymous.png
|
|
var mucNonAnonymousBytes []byte
|
|
|
|
//go:embed assets/muc_semianonymous.png
|
|
var mucSemiAnonymousBytes []byte
|
|
|
|
//go:embed assets/muc_persistent.png
|
|
var mucPersistentBytes []byte
|
|
|
|
//go:embed assets/muc_temporary.png
|
|
var mucTemporaryBytes []byte
|
|
|
|
//go:embed assets/moderate.png
|
|
var moderateBytes []byte
|
|
|
|
func loadAsset(key string, data []byte) {
|
|
loader := gdkpixbuf.NewPixbufLoader()
|
|
loader.Write(data)
|
|
loader.Close()
|
|
clientAssets[key] = gdk.NewTextureForPixbuf(loader.Pixbuf())
|
|
}
|
|
|
|
func init() {
|
|
for key, data := range map[string][]byte{
|
|
"DefaultAvatar": defaultAvatarBytes,
|
|
"FailedAvatar": failedBytes,
|
|
"owner": ownerMedalBytes,
|
|
"admin": adminMedalBytes,
|
|
"member": memberMedalBytes,
|
|
"none": noneMedalBytes,
|
|
"outcast": outcastMedalBytes,
|
|
"cancel": cancelBytes,
|
|
"tag": tagBytes,
|
|
"disabled_logo": logoDisabledBytes,
|
|
"group": groupBytes,
|
|
"door_in": doorInBytes,
|
|
"door_out": doorOutBytes,
|
|
"large_group": largeGroupBytes,
|
|
"world": worldBytes,
|
|
"disconnect": disconnectBytes,
|
|
"chart_bar": barBytes,
|
|
"chart_bar_laggy": barLaggyBytes,
|
|
"ok": okBytes,
|
|
"hourglass": hourglassBytes,
|
|
"connect": connectBytes,
|
|
"comment": commentBytes,
|
|
"information": informationBytes,
|
|
"status_away": sABytes,
|
|
"status_dnd": sBBytes,
|
|
"status_chat": sCBytes,
|
|
"status_xa": xaBytes,
|
|
"status_": sOBytes,
|
|
"car": carBytes,
|
|
"car_high": carHighBytes,
|
|
"muc_open": mucOpenBytes,
|
|
"muc_membersonly": mucMembersOnlyBytes,
|
|
"muc_passwordprotected": mucPasswordProtectedBytes,
|
|
"muc_unsecured": mucUnsecuredBytes,
|
|
"muc_hidden": mucHiddenBytes,
|
|
"muc_public": mucPublicBytes,
|
|
"muc_unmoderated": mucUnmoderatedBytes,
|
|
"muc_moderated": mucModeratedBytes,
|
|
"muc_nonanonymous": mucNonAnonymousBytes,
|
|
"muc_semianonymous": mucSemiAnonymousBytes,
|
|
"muc_persistent": mucPersistentBytes,
|
|
"muc_temporary": mucTemporaryBytes,
|
|
"moderate": moderateBytes,
|
|
} {
|
|
loadAsset(key, data)
|
|
}
|
|
}
|