wails/v3/pkg/application/messageprocessor_screens.go
Andrey Pshenkin 561473d992
[V3] Refactor binding transport layer (#4702)
* custom transport initial

* transport codecs

* runtime set transport

* events transport

* clauded example

* bundled runtime

* wip: transport

* rework transports

* rework dialog responses

* cleanup

* cleanup

* improve error handling in HTTPTransport

* cleanup

* cleanup

* cleanup

* cleanup

* review changes

* review changes

* review changes

* review changes

* review changes

* review changes

* review changes

* move documentation to website docs

* update doc

* update changelog

* introduce JSClient method for transport for embedding JS part in transport

---------

Co-authored-by: Atterpac <Capretta.Michael@gmail.com>
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2025-12-07 22:19:12 +11:00

34 lines
856 B
Go

package application
import (
"github.com/wailsapp/wails/v3/pkg/errs"
)
const (
ScreensGetAll = 0
ScreensGetPrimary = 1
ScreensGetCurrent = 2
)
var screensMethodNames = map[int]string{
ScreensGetAll: "GetAll",
ScreensGetPrimary: "GetPrimary",
ScreensGetCurrent: "GetCurrent",
}
func (m *MessageProcessor) processScreensMethod(req *RuntimeRequest) (any, error) {
switch req.Method {
case ScreensGetAll:
return globalApplication.Screen.GetAll(), nil
case ScreensGetPrimary:
return globalApplication.Screen.GetPrimary(), nil
case ScreensGetCurrent:
screen, err := globalApplication.Window.Current().GetScreen()
if err != nil {
return nil, errs.WrapInvalidScreensCallErrorf(err, "Window.GetScreen failed")
}
return screen, nil
default:
return nil, errs.NewInvalidScreensCallErrorf("Unknown method: %d", req.Method)
}
}