Files
beadimager/canvas.go

70 lines
1.7 KiB
Go

package main
import (
"log"
"github.com/lxn/walk"
)
type (
Canvas struct {
*walk.Canvas
gridVisible bool
gridColor walk.Color
canvasBackground walk.Brush
}
)
func CreateCanvasGroup(mw *MyMainWindow) {
cg, err := walk.NewGroupBox(mw.content)
if err != nil {
log.Println("Error creating canvas group: ", err)
}
err = cg.SetTitle("Canvas")
if err != nil {
log.Println("Error setting canvas group title: ", err)
}
err = cg.SetAlignment(walk.AlignHNearVNear)
if err != nil {
log.Println("Error setting canvas group alignment: ", err)
}
err = cg.SetLayout(walk.NewVBoxLayout())
if err != nil {
log.Println("Error setting canvas group layout: ", err)
}
mw.canvasScroll, err = walk.NewScrollView(cg)
if err != nil {
log.Println("Error creating canvas scroll: ", err)
}
vb := walk.NewVBoxLayout()
err = mw.canvasScroll.SetLayout(vb)
if err != nil {
log.Println("Error setting canvas scroll layout: ", err)
}
err = mw.canvasScroll.SetAlignment(walk.AlignHNearVNear)
if err != nil {
log.Println("Error setting canvas scroll alignment: ", err)
}
iw, err := walk.NewImageView(mw.canvasScroll)
if err != nil {
log.Println("Error creating image view: ", err)
}
im, err := walk.NewBitmapFromFile(UserPath + Sep + "images\\chip'n'dale_christmas.jpg")
if err != nil {
log.Println("Error creating bitmap from file: ", err)
}
err = iw.SetImage(im)
if err != nil {
log.Println("Error setting image view image: ", err)
}
err = iw.SetAlignment(walk.AlignHNearVNear)
if err != nil {
log.Println("Error setting image view alignment: ", err)
}
err = iw.SetSize(walk.Size{Width: 800, Height: 600})
if err != nil {
log.Println("Error setting image view size: ", err)
}
iw.SetMode(walk.ImageViewModeZoom)
}