def __init__(self, root): self.root = root self.linsys = LinSys(list(self.root.get_constraints())) self._solve_and_eliminate_padding() self.dependencies = self._calculate_dependencies() self.results = { } #v : v.default for v in self.get_freevars() if v.default is not None} self.observed = {}
def __init__(self, root): self.root = root self.window_width = LinVar("window_width", "input") self.window_height = LinVar("window_height", "input") self.linsys = LinSys(list(self.root.get_constraints())) self.linsys.append(LinEq(self.root.w, self.window_width)) self.linsys.append(LinEq(self.root.h, self.window_height)) freeness_relation = [ "offset", "cons", "user", None, "padding", "input" ] var_order = sorted(self.linsys.get_vars(), key=lambda v: freeness_relation.index(v.kind)) self.solution = self.linsys.solve(var_order) for var in self.get_freevars(): if var.kind == "padding": self.solution[var] = 0.0 self.dependencies = self._calculate_dependencies() self.results = {} self.watchers = {}