| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- // package view_size -- размер области
- package view_size
- import (
- "fmt"
- "gitp78su.ipnodns.ru/svi/kern/v3"
- "gitp78su.ipnodns.ru/svi/goarch/lev0/alias"
- "gitp78su.ipnodns.ru/svi/goarch/lev0/types"
- "gitp78su.ipnodns.ru/svi/goarch/lev1/view_node"
- )
- // ViewSize -- размер области
- type ViewSize struct {
- *view_node.ViewNode
- W_ alias.SizeX
- H_ alias.SizeY
- }
- var (
- hassert = kern.GetFnHassert()
- )
- // NewViewSize -- возвращает новый размер
- func NewViewSize(w alias.SizeX, h alias.SizeY) *ViewSize {
- sf := &ViewSize{
- W_: w,
- H_: h,
- }
- sf.SelfCheck()
- _ = types.IViewSize(sf)
- return sf
- }
- // SelfCheck -- проверяет корректность размера
- func (sf *ViewSize) SelfCheck() {
- hassert(sf.H_ >= 0, "Size.SelfCheck(): H_(%v)<0", sf.H_)
- hassert(sf.W_ >= 0, "Size.SelfCheck(): W_(%v)<0", sf.W_)
- }
- // String -- возвращает строковое представление размера
- func (sf *ViewSize) String() string {
- return fmt.Sprintf("size:%vx%v", sf.W_, sf.H_)
- }
- // W -- возвращает ширину
- func (sf *ViewSize) W() alias.SizeX {
- return sf.W_
- }
- // H -- возвращает высоту
- func (sf *ViewSize) H() alias.SizeY {
- return sf.H_
- }
- // Get -- возвращает размер
- func (sf *ViewSize) Get() (alias.SizeX, alias.SizeY) {
- return sf.W_, sf.H_
- }
- // Int -- возвращает размер
- func (sf *ViewSize) Int() (int, int) {
- return int(sf.W_), int(sf.H_)
- }
|