vlang / ui

A cross-platform UI library written in V

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

vui Padding similar to Flutter

igotfr opened this issue · comments

module vui

pub enum SideStyle {
  none
  hidden
  dotted
  dashed
  solid
  double
  groove
  ridge
  inset
  outset
}

pub struct Side {
  thickness f64
  color Color
  style SideStyle
}

pub struct Sides {
  top    Side
  right  Side
  bottom Side
  left   Side
}

pub struct Padding {
  padding Sides
  content Widget
}

//fn (static Sides) all(sides Side) Sides {
fn sides_all(sides Side) Sides {
  return Sides {
    top: sides
    right: sides
    bottom: sides
    left: sides
  }
}

//fn (static Sides) symmetric(horizontal Side, vertical Side) Sides {
fn sides_symmetric(horizontal Side, vertical Side) Sides {
  return Sides {
    top: vertical
    right: horizontal
    bottom: vertical
    left: horizontal
  }
}

//fn (static Sides) vertical(vertical Side, right Side, left Side) Sides {
fn sides_vertical (vertical Side, right Side, left Side) Sides {
  return Sides {
    top: vertical
    right: right
    bottom: vertical
    left: left
  }
}

//fn (static Sides) horizontal(horizontal Side, top Side, bottom Side) Sides {
fn sides_horizontal (horizontal Side, top Side, bottom Side) Sides {
  return Sides {
    top: top
    right: horizontal
    bottom: bottom
    left: horizontal
  }
}