From dc9f682863a51fa80603d23a4d529143fb03519b Mon Sep 17 00:00:00 2001 From: Hajime Hoshi Date: Wed, 27 Nov 2013 11:56:44 +0900 Subject: [PATCH] Refactoring --- graphics/opengl/context.go | 25 +++++++------------------ graphics/opengl/device.go | 8 +++++--- 2 files changed, 12 insertions(+), 21 deletions(-) diff --git a/graphics/opengl/context.go b/graphics/opengl/context.go index 53027d17d..759b8fdcb 100644 --- a/graphics/opengl/context.go +++ b/graphics/opengl/context.go @@ -10,32 +10,25 @@ import ( "github.com/hajimehoshi/go-ebiten/graphics/matrix" "github.com/hajimehoshi/go-ebiten/graphics/opengl/offscreen" "github.com/hajimehoshi/go-ebiten/graphics/opengl/texture" - grendertarget "github.com/hajimehoshi/go-ebiten/graphics/rendertarget" "image" "math" ) type Context struct { - screenId graphics.RenderTargetId - screenWidth int - screenHeight int - screenScale int - ids *ids - offscreen *offscreen.Offscreen + screenId graphics.RenderTargetId + ids *ids + offscreen *offscreen.Offscreen } func newContext(screenWidth, screenHeight, screenScale int) *Context { context := &Context{ - screenWidth: screenWidth, - screenHeight: screenHeight, - screenScale: screenScale, - ids: newIds(), - offscreen: offscreen.New(screenWidth, screenHeight, screenScale), + ids: newIds(), + offscreen: offscreen.New(screenWidth, screenHeight, screenScale), } var err error context.screenId, err = context.createRenderTarget( - context.screenWidth, context.screenHeight, texture.FilterNearest) + screenWidth, screenHeight, texture.FilterNearest) if err != nil { panic("initializing the offscreen failed: " + err.Error()) } @@ -88,11 +81,7 @@ func (context *Context) ResetOffscreen() { func (context *Context) SetOffscreen(renderTargetId graphics.RenderTargetId) { renderTarget := context.ids.RenderTargetAt(renderTargetId) - context.setOffscreen(renderTarget) -} - -func (context *Context) setOffscreen(rt *grendertarget.RenderTarget) { - context.offscreen.Set(rt) + context.offscreen.Set(renderTarget) } func (context *Context) setMainFramebufferOffscreen() { diff --git a/graphics/opengl/device.go b/graphics/opengl/device.go index 18ae8edf6..8f715184e 100644 --- a/graphics/opengl/device.go +++ b/graphics/opengl/device.go @@ -6,13 +6,15 @@ import ( ) type Device struct { - context *Context + context *Context + screenScale int } func NewDevice(screenWidth, screenHeight, screenScale int) *Device { context := newContext(screenWidth, screenHeight, screenScale) return &Device{ - context: context, + context: context, + screenScale: screenScale, } } @@ -28,7 +30,7 @@ func (device *Device) Update(draw func(graphics.Context)) { context.setMainFramebufferOffscreen() context.Clear() - scale := float64(context.screenScale) + scale := float64(device.screenScale) geometryMatrix := matrix.IdentityGeometry() geometryMatrix.Scale(scale, scale) context.DrawTexture(context.ToTexture(context.screenId),