From 71117073d0ff7767588dda407c59028ecdea48cf Mon Sep 17 00:00:00 2001 From: Hajime Hoshi Date: Mon, 21 Aug 2017 01:58:34 +0900 Subject: [PATCH] doc: Update examples/hsv --- docs/examples/hsv.html | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/docs/examples/hsv.html b/docs/examples/hsv.html index fc543f261..a9ca2d070 100644 --- a/docs/examples/hsv.html +++ b/docs/examples/hsv.html @@ -49,7 +49,10 @@ var ( hueInt = 0 saturationInt = 128 valueInt = 128 - gophersImage *ebiten.Image + inverted = false + + prevPressedI = false + gophersImage *ebiten.Image ) func clamp(v, min, max int) int { @@ -84,6 +87,13 @@ func update(screen *ebiten.Image) error { if ebiten.IsKeyPressed(ebiten.KeyX) { valueInt++ } + + pressedI := ebiten.IsKeyPressed(ebiten.KeyI) + if pressedI && !prevPressedI { + inverted = !inverted + } + prevPressedI = pressedI + if ebiten.IsRunningSlowly() { return nil } @@ -94,15 +104,26 @@ func update(screen *ebiten.Image) error { w, h := gophersImage.Size() op := &ebiten.DrawImageOptions{} op.GeoM.Translate(float64(screenWidth-w)/2, float64(screenHeight-h)/2) + hue := float64(hueInt) * 2 * math.Pi / 128 saturation := float64(saturationInt) / 128 value := float64(valueInt) / 128 op.ColorM.ChangeHSV(hue, saturation, value) + if inverted { + op.ColorM.Scale(-1, -1, -1, 1) + op.ColorM.Translate(1, 1, 1, 0) + } + screen.DrawImage(gophersImage, op) + msgInverted := "false" + if inverted { + msgInverted = "true" + } msg := fmt.Sprintf(`Hue: %0.2f [Q][W] Saturation: %0.2f [A][S] -Value: %0.2f [Z][X]`, hue, saturation, value) +Value: %0.2f [Z][X] +Inverted: %s [I]`, hue, saturation, value, msgInverted) ebitenutil.DebugPrint(screen, msg) return nil }