mirror of
https://github.com/imgproxy/imgproxy.git
synced 2025-02-02 11:34:20 +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
|
||
|
}
|