70 lines
1.7 KiB
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)
|
|
}
|