2020-01-31 23:18:11 -05:00
|
|
|
package ebiten
|
|
|
|
|
|
|
|
import (
|
2020-02-01 20:39:28 -05:00
|
|
|
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2render"
|
2020-01-31 23:18:11 -05:00
|
|
|
"github.com/hajimehoshi/ebiten"
|
|
|
|
)
|
|
|
|
|
2020-02-01 20:39:28 -05:00
|
|
|
func d2ToEbitenCompositeMode(comp d2render.CompositeMode) ebiten.CompositeMode {
|
2020-01-31 23:18:11 -05:00
|
|
|
switch comp {
|
2020-02-01 20:39:28 -05:00
|
|
|
case d2render.CompositeModeSourceOver:
|
2020-01-31 23:18:11 -05:00
|
|
|
return ebiten.CompositeModeSourceOver
|
2020-02-01 20:39:28 -05:00
|
|
|
case d2render.CompositeModeClear:
|
2020-01-31 23:18:11 -05:00
|
|
|
return ebiten.CompositeModeClear
|
2020-02-01 20:39:28 -05:00
|
|
|
case d2render.CompositeModeCopy:
|
2020-01-31 23:18:11 -05:00
|
|
|
return ebiten.CompositeModeCopy
|
2020-02-01 20:39:28 -05:00
|
|
|
case d2render.CompositeModeDestination:
|
2020-01-31 23:18:11 -05:00
|
|
|
return ebiten.CompositeModeDestination
|
2020-02-01 20:39:28 -05:00
|
|
|
case d2render.CompositeModeDestinationOver:
|
2020-01-31 23:18:11 -05:00
|
|
|
return ebiten.CompositeModeDestinationOver
|
2020-02-01 20:39:28 -05:00
|
|
|
case d2render.CompositeModeSourceIn:
|
2020-01-31 23:18:11 -05:00
|
|
|
return ebiten.CompositeModeSourceIn
|
2020-02-01 20:39:28 -05:00
|
|
|
case d2render.CompositeModeDestinationIn:
|
2020-01-31 23:18:11 -05:00
|
|
|
return ebiten.CompositeModeDestinationIn
|
2020-02-01 20:39:28 -05:00
|
|
|
case d2render.CompositeModeSourceOut:
|
2020-01-31 23:18:11 -05:00
|
|
|
return ebiten.CompositeModeSourceOut
|
2020-02-01 20:39:28 -05:00
|
|
|
case d2render.CompositeModeDestinationOut:
|
2020-01-31 23:18:11 -05:00
|
|
|
return ebiten.CompositeModeDestinationOut
|
2020-02-01 20:39:28 -05:00
|
|
|
case d2render.CompositeModeSourceAtop:
|
2020-01-31 23:18:11 -05:00
|
|
|
return ebiten.CompositeModeSourceAtop
|
2020-02-01 20:39:28 -05:00
|
|
|
case d2render.CompositeModeDestinationAtop:
|
2020-01-31 23:18:11 -05:00
|
|
|
return ebiten.CompositeModeDestinationAtop
|
2020-02-01 20:39:28 -05:00
|
|
|
case d2render.CompositeModeXor:
|
2020-01-31 23:18:11 -05:00
|
|
|
return ebiten.CompositeModeXor
|
2020-02-01 20:39:28 -05:00
|
|
|
case d2render.CompositeModeLighter:
|
2020-01-31 23:18:11 -05:00
|
|
|
return ebiten.CompositeModeLighter
|
|
|
|
}
|
|
|
|
|
|
|
|
return ebiten.CompositeModeSourceOver
|
|
|
|
}
|
|
|
|
|
2020-02-01 20:39:28 -05:00
|
|
|
func ebitenToD2CompositeMode(comp ebiten.CompositeMode) d2render.CompositeMode {
|
2020-01-31 23:18:11 -05:00
|
|
|
switch comp {
|
|
|
|
case ebiten.CompositeModeSourceOver:
|
2020-02-01 20:39:28 -05:00
|
|
|
return d2render.CompositeModeSourceOver
|
2020-01-31 23:18:11 -05:00
|
|
|
case ebiten.CompositeModeClear:
|
2020-02-01 20:39:28 -05:00
|
|
|
return d2render.CompositeModeClear
|
2020-01-31 23:18:11 -05:00
|
|
|
case ebiten.CompositeModeCopy:
|
2020-02-01 20:39:28 -05:00
|
|
|
return d2render.CompositeModeCopy
|
2020-01-31 23:18:11 -05:00
|
|
|
case ebiten.CompositeModeDestination:
|
2020-02-01 20:39:28 -05:00
|
|
|
return d2render.CompositeModeDestination
|
2020-01-31 23:18:11 -05:00
|
|
|
case ebiten.CompositeModeDestinationOver:
|
2020-02-01 20:39:28 -05:00
|
|
|
return d2render.CompositeModeDestinationOver
|
2020-01-31 23:18:11 -05:00
|
|
|
case ebiten.CompositeModeSourceIn:
|
2020-02-01 20:39:28 -05:00
|
|
|
return d2render.CompositeModeSourceIn
|
2020-01-31 23:18:11 -05:00
|
|
|
case ebiten.CompositeModeDestinationIn:
|
2020-02-01 20:39:28 -05:00
|
|
|
return d2render.CompositeModeDestinationIn
|
2020-01-31 23:18:11 -05:00
|
|
|
case ebiten.CompositeModeSourceOut:
|
2020-02-01 20:39:28 -05:00
|
|
|
return d2render.CompositeModeSourceOut
|
2020-01-31 23:18:11 -05:00
|
|
|
case ebiten.CompositeModeDestinationOut:
|
2020-02-01 20:39:28 -05:00
|
|
|
return d2render.CompositeModeDestinationOut
|
2020-01-31 23:18:11 -05:00
|
|
|
case ebiten.CompositeModeSourceAtop:
|
2020-02-01 20:39:28 -05:00
|
|
|
return d2render.CompositeModeSourceAtop
|
2020-01-31 23:18:11 -05:00
|
|
|
case ebiten.CompositeModeDestinationAtop:
|
2020-02-01 20:39:28 -05:00
|
|
|
return d2render.CompositeModeDestinationAtop
|
2020-01-31 23:18:11 -05:00
|
|
|
case ebiten.CompositeModeXor:
|
2020-02-01 20:39:28 -05:00
|
|
|
return d2render.CompositeModeXor
|
2020-01-31 23:18:11 -05:00
|
|
|
case ebiten.CompositeModeLighter:
|
2020-02-01 20:39:28 -05:00
|
|
|
return d2render.CompositeModeLighter
|
2020-01-31 23:18:11 -05:00
|
|
|
}
|
|
|
|
|
2020-02-01 20:39:28 -05:00
|
|
|
return d2render.CompositeModeSourceOver
|
2020-01-31 23:18:11 -05:00
|
|
|
}
|