本文整理汇总了Golang中github.com/google/gxui.Driver.CreateTexture方法的典型用法代码示例。如果您正苦于以下问题:Golang Driver.CreateTexture方法的具体用法?Golang Driver.CreateTexture怎么用?Golang Driver.CreateTexture使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/google/gxui.Driver
的用法示例。
在下文中一共展示了Driver.CreateTexture方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: appMain
func appMain(driver gxui.Driver) {
file := "./img/block.bmp"
f, err := os.Open(file)
if err != nil {
fmt.Printf("Failed to open image '%s': %v\n", file, err)
os.Exit(1)
}
source, _, err := image.Decode(f)
if err != nil {
fmt.Printf("Failed to read image '%s': %v\n", file, err)
os.Exit(1)
}
theme := flags.CreateTheme(driver)
img := theme.CreateImage()
//mx := source.Bounds().Max
window := theme.CreateWindow(1000, 1000, "Tetris")
window.SetScale(flags.DefaultScaleFactor)
window.AddChild(img)
rgba := image.NewRGBA(source.Bounds())
draw.Draw(rgba, source.Bounds(), source, image.ZP, draw.Src)
texture := driver.CreateTexture(rgba, 1)
img.SetTexture(texture)
window.OnClose(driver.Terminate)
}
示例2: appMain
func appMain(driver gxui.Driver) {
theme := dark.CreateTheme(driver)
img := theme.CreateImage()
// mx := source.Bounds().Max
// fmt.Println(mx)
window := theme.CreateWindow(500, 500, "Screenshot")
size := window.Viewport().SizePixels()
fmt.Println(size)
window.SetScale(flags.DefaultScaleFactor)
window.AddChild(img)
go func() {
for {
source, err := goss.Capture()
if err != nil {
fmt.Fprintln(os.Stderr, "Failed to capture screenshot.")
os.Exit(1)
}
rgba := image.NewRGBA(source.Bounds())
draw.Draw(rgba, source.Bounds(), source, image.ZP, draw.Src)
texture := driver.CreateTexture(rgba, 1)
img.SetTexture(texture)
}
}()
window.OnClose(driver.Terminate)
}
示例3: appMain
func appMain(driver gxui.Driver) {
theme := dark.CreateTheme(driver)
window := theme.CreateWindow(800, 600, "Polygon")
container := theme.CreateLinearLayout()
// texture := driver.CreateTexture(getImage(cacheDir, tweet.User.ProfileImageURL), 96)
f, err := os.Open("data/icont19.png")
if err != nil {
log.Fatalln(err)
}
defer f.Close()
im, _, err := image.Decode(f)
if err != nil {
log.Fatalln(err)
}
for i := 0; i < 100; i++ {
pict := theme.CreateImage()
texture := driver.CreateTexture(im, 96)
texture.SetFlipY(true)
pict.SetTexture(texture)
pict.SetExplicitSize(math.Size{32, 32})
pict.SetMargin(math.CreateSpacing(4))
container.AddChild(pict)
}
label := theme.CreateLabel()
label.SetText("hogehogehoge")
label.SetMargin(math.CreateSpacing(200))
container.AddChild(label)
window.OnClose(driver.Terminate)
window.AddChild(container)
gxui.EventLoop(driver)
}
示例4: appMain
func appMain(driver gxui.Driver) {
d = driver
source := image.Image(newMandelbrot())
theme := flags.CreateTheme(driver)
mx := source.Bounds().Max
img = theme.CreateImage()
window = theme.CreateWindow(mx.X, mx.Y, "Image viewer")
window.SetScale(flags.DefaultScaleFactor)
window.AddChild(img)
rgba := image.NewRGBA(source.Bounds())
draw.Draw(rgba, source.Bounds(), source, image.ZP, draw.Src)
texture = driver.CreateTexture(rgba, 1)
img.SetTexture(texture)
window.OnClick(windowOnClickHandler)
window.OnClose(driver.Terminate)
}
示例5: appMain
func appMain(driver gxui.Driver) {
args := flag.Args()
if len(args) != 1 {
fmt.Print("usage: image_viewer image-path\n")
os.Exit(1)
}
file := args[0]
f, err := os.Open(file)
if err != nil {
fmt.Printf("Failed to open image '%s': %v\n", file, err)
os.Exit(1)
}
source, _, err := image.Decode(f)
if err != nil {
fmt.Printf("Failed to read image '%s': %v\n", file, err)
os.Exit(1)
}
theme := flags.CreateTheme(driver)
img := theme.CreateImage()
mx := source.Bounds().Max
window := theme.CreateWindow(mx.X, mx.Y, "Image viewer")
window.SetScale(flags.DefaultScaleFactor)
window.AddChild(img)
// Copy the image to a RGBA format before handing to a gxui.Texture
rgba := image.NewRGBA(source.Bounds())
draw.Draw(rgba, source.Bounds(), source, image.ZP, draw.Src)
texture := driver.CreateTexture(rgba, 1)
img.SetTexture(texture)
window.OnClose(driver.Terminate)
}
示例6: getFilm
func getFilm(driver gxui.Driver, h1Title gxui.Label, KinopoiskLabel gxui.Label, ImdbLabel gxui.Label, img gxui.Image) {
m := Movies{}
// TODO: cache file in memory
xmlFile, _ := ioutil.ReadFile(XML_PATH)
err := xml.Unmarshal(xmlFile, &m)
catch(err)
rand := rand.Intn(len(m.FilmsList))
random_movie := m.FilmsList[rand]
search_movie_title := ""
if random_movie.En != "" {
search_movie_title += random_movie.En + " "
}
if random_movie.Ru != "" {
search_movie_title += random_movie.Ru + " "
}
if random_movie.Year != "" {
search_movie_title += random_movie.Year + " "
}
search_movie_title += EN_SEARCH_PREFIX
if search_movie_title != "" {
resp, err := http.Get(GOOGLE_IMAGES_URL + url.QueryEscape(search_movie_title))
catch(err)
if resp.StatusCode == 200 {
defer resp.Body.Close()
jsonData, err := ioutil.ReadAll(resp.Body)
catch(err)
var jsonMap JsonMap
err = json.Unmarshal([]byte(jsonData), &jsonMap)
catch(err)
ImageUrl := filterFromBlockedResources(jsonMap)
f, err := http.Get(ImageUrl)
catch(err)
source, _, err := image.Decode(f.Body)
catch(err)
rgba := image.NewRGBA(source.Bounds())
draw.Draw(rgba, source.Bounds(), source, image.ZP, draw.Src)
texture := driver.CreateTexture(rgba, 1)
img.SetTexture(texture)
}
title := ""
if random_movie.Ru != "" {
title += random_movie.Ru + " | "
}
if random_movie.En != "" {
title += random_movie.En + " | "
}
if random_movie.Year != "" {
title += random_movie.Year
}
if title[len(title)-2:] == "| " {
title = title[:len(title)-2]
}
h1Title.SetText(title)
//p.TitleForSearch = strings.Replace(title, " | ", " ", -1) // TODO: TitleForSearch == search_movie_title ? replace it!
KinopoiskLabel.SetText(random_movie.Kinopoisk)
ImdbLabel.SetText(random_movie.Imdb)
} else {
h1Title.SetText("Movie [" + strconv.Itoa(rand) + "] - not found!")
}
}
示例7: appMain
func appMain(driver gxui.Driver) {
theme := flags.CreateTheme(driver)
font, err := driver.CreateFont(gxfont.Default, 75)
if err != nil {
panic(err)
}
window := theme.CreateWindow(800, 480, "Привет")
window.SetBackgroundBrush(gxui.CreateBrush(gxui.Gray50))
window.SetBorderPen(gxui.Pen{Width: 5, Color: gxui.Yellow})
f, err := os.Open("wallpaper.jpg")
if err != nil {
fmt.Printf("Failed to open image %v\n", err)
os.Exit(1)
}
source, _, err := image.Decode(f)
if err != nil {
fmt.Printf("Failed to open image %v\n", err)
os.Exit(2)
}
wallpaper := theme.CreateImage()
window.AddChild(wallpaper)
// Copy the image to a RGBA format before handing to a gxui.Texture
rgba := image.NewRGBA(source.Bounds())
draw.Draw(rgba, source.Bounds(), source, image.ZP, draw.Src)
texture := driver.CreateTexture(rgba, 1)
wallpaper.SetTexture(texture)
layout := theme.CreateLinearLayout()
layout.SetDirection(gxui.TopToBottom)
window.AddChild(layout)
label := theme.CreateLabel()
label.SetFont(font)
label.SetText("Здравствуй мир")
label.OnMouseMove(func(e gxui.MouseEvent) {
fmt.Printf("X=%d; Y=%d\n", e.Point.X, e.Point.Y)
})
layout.AddChild(label)
lTimer := theme.CreateLabel()
lTimer.SetFont(font)
lTimer.SetColor(gxui.Green30)
layout.AddChild(lTimer)
button := theme.CreateButton()
button.SetText("Exit")
button.SetPadding(math.Spacing{20, 10, 20, 10})
button.SetMargin(math.Spacing{20, 10, 20, 10})
button.OnClick(func(e gxui.MouseEvent) {
window.Close()
})
layout.AddChild(button)
ticker := time.NewTicker(time.Millisecond * 30)
go func() {
phase := float32(0)
for _ = range ticker.C {
c := gxui.Color{
R: 0.75 + 0.25*math.Cosf((phase+0.000)*math.TwoPi),
G: 0.75 + 0.25*math.Cosf((phase+0.333)*math.TwoPi),
B: 0.75 + 0.25*math.Cosf((phase+0.666)*math.TwoPi),
A: 0.50 + 0.50*math.Cosf(phase*10),
}
phase += 0.01
driver.Call(func() {
label.SetColor(c)
})
}
}()
ticker2 := time.NewTicker(time.Millisecond * 100)
go func() {
for t := range ticker.C {
driver.Call(func() {
lTimer.SetText(t.Format(time.Stamp))
})
}
}()
window.OnClose(ticker.Stop)
window.OnClose(ticker2.Stop)
window.OnClose(driver.Terminate)
}