ebiten/internal/graphicsdriver/monogame/image.go

63 lines
1.5 KiB
Go
Raw Normal View History

2020-04-02 16:29:34 +02:00
// Copyright 2020 The Ebiten Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// +build js
package monogame
import (
"github.com/hajimehoshi/ebiten/internal/driver"
"github.com/hajimehoshi/ebiten/internal/graphics"
2020-04-02 16:29:34 +02:00
)
type RenderTarget2D interface {
2020-04-05 19:17:49 +02:00
SetAsDestination(viewportWidth, viewportHeight int)
SetAsSource()
ReplacePixels(args []*driver.ReplacePixelsArgs)
Dispose()
}
2020-04-02 16:29:34 +02:00
type Image struct {
v RenderTarget2D
g *Graphics
2020-04-02 16:29:34 +02:00
width int
height int
}
func (i *Image) Dispose() {
i.v.Dispose()
2020-04-02 16:29:34 +02:00
}
func (*Image) IsInvalidated() bool {
return false
}
func (*Image) Pixels() ([]byte, error) {
panic("monogame: Pixels is not implemented yet")
2020-04-02 16:29:34 +02:00
return nil, nil
}
func (i *Image) SetAsDestination() {
w, h := graphics.InternalImageSize(i.width), graphics.InternalImageSize(i.height)
i.v.SetAsDestination(w, h)
2020-04-02 16:29:34 +02:00
}
func (i *Image) SetAsSource() {
2020-04-05 12:19:28 +02:00
i.v.SetAsSource()
2020-04-02 16:29:34 +02:00
}
func (i *Image) ReplacePixels(args []*driver.ReplacePixelsArgs) {
i.v.ReplacePixels(args)
2020-04-02 16:29:34 +02:00
}