initial commit
This commit is contained in:
70
model_output.go
Normal file
70
model_output.go
Normal file
@ -0,0 +1,70 @@
|
||||
package niri
|
||||
|
||||
import "encoding/json"
|
||||
|
||||
type OutputName string
|
||||
|
||||
type Output struct {
|
||||
Name OutputName `json:"name"`
|
||||
Make string `json:"make"`
|
||||
Model string `json:"model"`
|
||||
Serial string `json:"serial"`
|
||||
PhysicalSize [2]int `json:"physical_size"`
|
||||
Modes []OutputMode `json:"modes"`
|
||||
CurrentMode int `json:"current_mode"`
|
||||
VrrSupported bool `json:"vrr_supported"`
|
||||
VrrEnabled bool `json:"vrr_enabled"`
|
||||
Logical OutputLogical `json:"logical"`
|
||||
}
|
||||
|
||||
func (m Output) String() string {
|
||||
data, _ := json.MarshalIndent(m, "", "\t")
|
||||
return string(data)
|
||||
}
|
||||
|
||||
type OutputMode struct {
|
||||
Width int `json:"width"`
|
||||
Height int `json:"height"`
|
||||
RefreshRate int `json:"refresh_rate"`
|
||||
IsPreferred bool `json:"is_preferred"`
|
||||
}
|
||||
|
||||
func (m OutputMode) Configured() ConfiguredMode {
|
||||
return ConfiguredMode{
|
||||
Width: m.Width,
|
||||
Height: m.Height,
|
||||
Refresh: OptionOf(float64(m.RefreshRate) / 100),
|
||||
}
|
||||
}
|
||||
|
||||
func (m OutputMode) String() string {
|
||||
data, _ := json.MarshalIndent(m, "", "\t")
|
||||
return string(data)
|
||||
}
|
||||
|
||||
type OutputLogical struct {
|
||||
X int `json:"x"`
|
||||
Y int `json:"y"`
|
||||
Width int `json:"width"`
|
||||
Height int `json:"height"`
|
||||
Scale float64 `json:"scale"`
|
||||
Transform OutputTransform `json:"transform"`
|
||||
}
|
||||
|
||||
func (m OutputLogical) String() string {
|
||||
data, _ := json.MarshalIndent(m, "", "\t")
|
||||
return string(data)
|
||||
}
|
||||
|
||||
type OutputTransform string
|
||||
|
||||
const (
|
||||
TransformNormal OutputTransform = "Normal"
|
||||
Transform90 OutputTransform = "90"
|
||||
Transform180 OutputTransform = "180"
|
||||
Transform270 OutputTransform = "270"
|
||||
TransformFlipped OutputTransform = "Flipped"
|
||||
TransformFlipped90 OutputTransform = "Flipped90"
|
||||
TransformFlipped180 OutputTransform = "Flipped180"
|
||||
TransformFlipped270 OutputTransform = "Flipped270"
|
||||
)
|
Reference in New Issue
Block a user