Commit 8c506dd8 authored by santiaago's avatar santiaago
Browse files

clean up ExtraColors method.

Start refactoring colors logic.#77
parent 2c2facba
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -8,12 +8,20 @@ type GradientVector struct {
	X1, Y1, X2, Y2 uint8
}

func White() color.RGBA {
	return color.RGBA{uint8(0), uint8(0), uint8(0), uint8(255)}
}

func Black() color.RGBA {
	return color.RGBA{uint8(255), uint8(255), uint8(255), uint8(255)}
}

// MapOfColorThemes is used to build random images with colors that go together.
func MapOfColorThemes() map[string][]color.RGBA {
	return map[string][]color.RGBA{
		"base": []color.RGBA{
			color.RGBA{uint8(0), uint8(0), uint8(0), uint8(255)},       // white
			color.RGBA{uint8(255), uint8(255), uint8(255), uint8(255)}, // back
			White(),
			Black(),
		},
		"sugarsweets": []color.RGBA{
			color.RGBA{255, 245, 249, 255}, //background
+13 −8
Original line number Diff line number Diff line
@@ -16,8 +16,18 @@ func BannerRandom(w http.ResponseWriter, r *http.Request) {
	width := extract.Width(r)
	height := extract.Height(r)

	colors := GetColors(r)
	prob := extract.Probability(r, 1/float64(len(colors)))

	xt := extract.XTriangles(r)
	write.ImageSVG(w)
	isogrids.Random(w, "", colors, width, height, xt, prob)
}

func GetColors(r *http.Request) []color.RGBA {

	colorMap := colors.MapOfColorThemes()
	bg, fg := extract.ExtraColors(r, colorMap)
	bg, fg := extract.ExtraColors(r)
	theme := extract.Theme(r)
	if val, ok := colorMap[theme]; ok {
		bg = val[0]
@@ -39,12 +49,7 @@ func BannerRandom(w http.ResponseWriter, r *http.Request) {
	if newColors, err := extract.Colors(r); err == nil {
		colors = newColors
	}

	prob := extract.Probability(r, 1/float64(len(colors)))

	xt := extract.XTriangles(r)
	write.ImageSVG(w)
	isogrids.Random(w, "", colors, width, height, xt, prob)
	return colors
}

// BannerRandomGradinet handler for /isogrids/banner/random/gradient.
@@ -54,7 +59,7 @@ func BannerRandomGradient(w http.ResponseWriter, r *http.Request) {
	height := extract.Height(r)

	colorMap := colors.MapOfColorThemes()
	bg, fg := extract.ExtraColors(r, colorMap)
	bg, fg := extract.ExtraColors(r)
	theme := extract.Theme(r)
	if val, ok := colorMap[theme]; ok {
		bg = val[0]
+2 −3
Original line number Diff line number Diff line
@@ -3,7 +3,6 @@ package isogrids
import (
	"net/http"

	"github.com/taironas/tinygraphs/colors"
	"github.com/taironas/tinygraphs/draw/isogrids"
	"github.com/taironas/tinygraphs/extract"
	"github.com/taironas/tinygraphs/write"
@@ -13,7 +12,7 @@ import (
// builds a full diagonal grid.
func Diagonals(w http.ResponseWriter, r *http.Request) {

	bg, fg := extract.ExtraColors(r, colors.MapOfColorThemes())
	bg, fg := extract.ExtraColors(r)
	size := extract.Size(r)
	write.ImageSVG(w)
	isogrids.Diagonals(w, "", bg, fg, size)
@@ -23,7 +22,7 @@ func Diagonals(w http.ResponseWriter, r *http.Request) {
// builds a half diagonal (each diagonal goes to the middle of the square) grid.
func HalfDiagonals(w http.ResponseWriter, r *http.Request) {

	bg, fg := extract.ExtraColors(r, colors.MapOfColorThemes())
	bg, fg := extract.ExtraColors(r)
	size := extract.Size(r)
	write.ImageSVG(w)
	isogrids.HalfDiagonals(w, "", bg, fg, size)
+1 −1
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@ func BannerGradient(w http.ResponseWriter, r *http.Request) {

	colorMap := colors.MapOfColorThemes()

	bg, fg := extract.ExtraColors(r, colorMap)
	bg, fg := extract.ExtraColors(r)

	var colors, gColors []color.RGBA
	theme := extract.Theme(r)
+1 −1
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ func Hexa(w http.ResponseWriter, r *http.Request) {

	numColors := extract.NumColors(r)
	lines := int(extract.Hexalines(r))
	bg, fg := extract.ExtraColors(r, colorMap)
	bg, fg := extract.ExtraColors(r)

	theme := extract.Theme(r)
	if val, ok := colorMap[theme]; ok {
Loading