mirror of
https://github.com/imgproxy/imgproxy.git
synced 2024-12-09 09:56:01 +02:00
53 lines
898 B
Go
53 lines
898 B
Go
package options
|
|
|
|
import "fmt"
|
|
|
|
type GravityType int
|
|
|
|
const (
|
|
GravityUnknown GravityType = iota
|
|
GravityCenter
|
|
GravityNorth
|
|
GravityEast
|
|
GravitySouth
|
|
GravityWest
|
|
GravityNorthWest
|
|
GravityNorthEast
|
|
GravitySouthWest
|
|
GravitySouthEast
|
|
GravitySmart
|
|
GravityFocusPoint
|
|
)
|
|
|
|
var gravityTypes = map[string]GravityType{
|
|
"ce": GravityCenter,
|
|
"no": GravityNorth,
|
|
"ea": GravityEast,
|
|
"so": GravitySouth,
|
|
"we": GravityWest,
|
|
"nowe": GravityNorthWest,
|
|
"noea": GravityNorthEast,
|
|
"sowe": GravitySouthWest,
|
|
"soea": GravitySouthEast,
|
|
"sm": GravitySmart,
|
|
"fp": GravityFocusPoint,
|
|
}
|
|
|
|
func (gt GravityType) String() string {
|
|
for k, v := range gravityTypes {
|
|
if v == gt {
|
|
return k
|
|
}
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (gt GravityType) MarshalJSON() ([]byte, error) {
|
|
for k, v := range gravityTypes {
|
|
if v == gt {
|
|
return []byte(fmt.Sprintf("%q", k)), nil
|
|
}
|
|
}
|
|
return []byte("null"), nil
|
|
}
|