12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package UI
- import (
- "github.com/veandco/go-sdl2/sdl"
- "github.com/veandco/go-sdl2/ttf"
- "github.com/cuu/gogame/color"
- "github.com/cuu/gogame/draw"
- "github.com/cuu/gogame/rect"
- )
- type AboveAllPatch struct {
- Widget
- Text string
- FontObj *ttf.Font
- Color *color.Color
- ValColor *color.Color
- CanvasHWND *sdl.Surface
- Icons map[string]IconItemInterface
- Value int
- }
- func NewAboveAllPatch() *AboveAllPatch {
- p := &AboveAllPatch{}
- p.PosX = Width / 2
- p.PosY = Height / 2
- p.Width = 50
- p.Height = 120
- p.FontObj = Fonts["veramono20"]
- p.Color = MySkinManager.GiveColor("Text")
- p.ValColor = MySkinManager.GiveColor("URL")
- p.Icons = make(map[string]IconItemInterface)
- p.Value = 0
- return p
- }
- func (self *AboveAllPatch) SetCanvasHWND(_canvashwnd *sdl.Surface) {
- self.CanvasHWND = _canvashwnd
- }
- func (self *AboveAllPatch) Draw() {
- start_rect := draw.MidRect(self.PosX, self.PosY, self.Width, self.Height, Width, Height)
- draw.AARoundRect(self.CanvasHWND, start_rect, self.Color, 3, 0, self.Color)
- if self.Value > 10 {
- vol_height := int(float64(self.Height) * (float64(self.Value) / 100.0))
- dheight := self.Height - vol_height
- vol_rect := rect.Rect(self.PosX-self.Width/2, self.PosY-self.Height/2+dheight, self.Width, vol_height)
- draw.AARoundRect(self.CanvasHWND, &vol_rect, self.ValColor, 3, 0, self.ValColor)
- } else {
- vol_height := 10
- dheight := self.Height - vol_height
- vol_rect := rect.Rect(self.PosX-self.Width/2, self.PosY-self.Height/2+dheight, self.Width, vol_height)
- draw.AARoundRect(self.CanvasHWND, &vol_rect, self.ValColor, 3, 0, self.ValColor)
- }
- }
|