ui

package
v1.0.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 1, 2025 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EdgeWidth              = 80
	DotWidth               = EdgeWidth / 5
	HalfDotWidth           = DotWidth / 2
	BoxWidth               = EdgeWidth - DotWidth
	MinMargin              = EdgeWidth / 3 * 2
	GameInterfaceMinHeight = EdgeWidth*model.DotsHeight + MinMargin
	GameInterfaceMinWidth  = EdgeWidth*model.DotsWidth + MinMargin
)

Variables

View Source
var (
	MainWindow   = app.NewWithID("io.github.dotsandboxes").NewWindow("Dots and Boxes")
	ThemeVariant = fyne.CurrentApp().Settings().ThemeVariant()
)
View Source
var (
	LightThemeDotCanvasColor               = &color.NRGBA{R: 255, G: 255, B: 255, A: 255}
	DarkThemeDotCanvasColor                = &color.NRGBA{R: 202, G: 202, B: 202, A: 255}
	LightThemeGameInterfaceBackGroundColor = &color.NRGBA{R: 242, G: 242, B: 242, A: 255}
	DarkThemeGameInterfaceBackGroundColor  = &color.NRGBA{R: 43, G: 43, B: 43, A: 255}
	LightThemeEmptyEdgeColor               = &color.NRGBA{R: 217, G: 217, B: 217, A: 255}
	DarkThemeEmptyEdgeColor                = &color.NRGBA{R: 65, G: 65, B: 65, A: 255}
	Player1EdgeHighlightColor              = &color.NRGBA{R: 64, G: 64, B: 255, A: 255}
	Player2EdgeHighlightColor              = &color.NRGBA{R: 255, G: 64, B: 64, A: 255}
	LightThemeScoreableTipsColor           = &color.NRGBA{R: 250, G: 250, B: 200, A: 255}
	DarkThemeScoreableTipsColor            = &color.NRGBA{R: 65, G: 65, B: 15, A: 255}
	Player1BoxFilledColor                  = &color.NRGBA{R: 64, G: 64, B: 255, A: 64}
	Player2BoxFilledColor                  = &color.NRGBA{R: 255, G: 64, B: 64, A: 64}
	LightThemeConversionColor              = &color.NRGBA{R: 252, G: 252, B: 252, A: 255}
	DarkThemeConversionColor               = &color.NRGBA{R: 33, G: 33, B: 33, A: 255}
	DarkThemeStartMenuBackgroundColor      = &color.NRGBA{R: 16, G: 16, B: 16, A: 255}
	LightThemeStartMenuBackgroundColor     = &color.NRGBA{R: 255, G: 255, B: 255, A: 255}
	LinkColor                              = &color.NRGBA{R: 73, G: 148, B: 236, A: 255}
)
View Source
var (
	Icon                = fyne.NewStaticResource("Icon", gen.Icon)
	TimesNewRomanItalic = fyne.NewStaticResource("TimesNewRomanItalic", gen.TimesNewRomanItalic)
	TimesNewRomanBold   = fyne.NewStaticResource("TimesNewRomanBold", gen.TimesNewRomanBold)
)
View Source
var Spinning bool

Functions

func BackGroundColor

func BackGroundColor() *color.NRGBA

func BoxFilledColor

func BoxFilledColor(turn int) *color.NRGBA

func BoxTipsColor

func BoxTipsColor() *color.NRGBA

func ButtonColor

func ButtonColor() *color.NRGBA

func ConversionColor

func ConversionColor() *color.NRGBA

func DotCanvasColor

func DotCanvasColor() *color.NRGBA

func EdgeHighlightColor

func EdgeHighlightColor(turn int) *color.NRGBA

func GetColor

func GetColor(lightColor, darkColor *color.NRGBA) *color.NRGBA

func NewBoxCanvas

func NewBoxCanvas(b model.Box) *canvas.Rectangle

func NewButtonCanvas

func NewButtonCanvas(e model.Edge, tapped func()) *widget.Button

func NewDotCanvas

func NewDotCanvas(d model.Dot, c color.Color) *canvas.Circle

func NewEdgeCanvas

func NewEdgeCanvas(e model.Edge, c color.Color) *canvas.Line

func Restart

func Restart()

func ShowConversionAnimation

func ShowConversionAnimation()

func ShowIntroduceInterface

func ShowIntroduceInterface()

func ShowSettingFormDialog

func ShowSettingFormDialog() *dialog.FormDialog

func ShowStartMenu

func ShowStartMenu()

func SpinnerCanvas

func SpinnerCanvas() *canvas.Image

func StartMenuBackgroundColor

func StartMenuBackgroundColor() *color.NRGBA

func TextColor

func TextColor() color.Color

Types

type CenterLayout

type CenterLayout struct {
	Min fyne.Size
}

func (*CenterLayout) Layout

func (l *CenterLayout) Layout(objects []fyne.CanvasObject, size fyne.Size)

func (*CenterLayout) MinSize

func (l *CenterLayout) MinSize([]fyne.CanvasObject) fyne.Size

type FyneDefaultTheme

type FyneDefaultTheme struct{}

func (*FyneDefaultTheme) Font

func (t *FyneDefaultTheme) Font(style fyne.TextStyle) fyne.Resource

func (*FyneDefaultTheme) Icon

func (*FyneDefaultTheme) Size

type GameInterface

type GameInterface struct {
	Board          board.BoardV2
	DotCanvases    [model.MaxDot]canvas.Circle
	EdgeCanvases   [model.MaxEdge]canvas.Line
	EdgeAnimation  [model.MaxEdge]*fyne.Animation
	EdgeLastColor  [model.MaxEdge]color.NRGBA
	BoxCanvases    [model.MaxBox]canvas.Rectangle
	BoxAnimation   [model.MaxBox]*fyne.Animation
	BoxTipped      [model.MaxBox]bool
	Buttons        [model.MaxEdge]widget.Button
	UserInputEdge  model.Edge
	LastEdge       model.Edge
	Container      *fyne.Container
	PauseDialog    *dialog.CustomDialog
	GameOverDialog *dialog.ConfirmDialog
	End            bool
	Paused         bool
}

func NewGameInterface

func NewGameInterface() *GameInterface

func (*GameInterface) Add

func (game *GameInterface) Add(e model.Edge)

func (*GameInterface) Close

func (game *GameInterface) Close()

func (*GameInterface) CurrentBoard

func (game *GameInterface) CurrentBoard() *board.BoardV2

func (*GameInterface) Gaming

func (game *GameInterface) Gaming() bool

func (*GameInterface) GetUserEdge

func (game *GameInterface) GetUserEdge() model.Edge

func (*GameInterface) Lock

func (game *GameInterface) Lock()

func (*GameInterface) RemoveHighlight

func (game *GameInterface) RemoveHighlight()

func (*GameInterface) ScoreLabel

func (game *GameInterface) ScoreLabel() *widget.Label

func (*GameInterface) Unlock

func (game *GameInterface) Unlock()

type GameTheme

type GameTheme struct {
	FyneDefaultTheme
}

func (*GameTheme) Color

func (t *GameTheme) Color(name fyne.ThemeColorName, variant fyne.ThemeVariant) color.Color

type StartMenuTheme

type StartMenuTheme struct {
	FyneDefaultTheme
}

func (*StartMenuTheme) Color

func (s *StartMenuTheme) Color(name fyne.ThemeColorName, variant fyne.ThemeVariant) color.Color

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL