31 Impl(
Element child,
float x,
float y)
34 void ComputeRequirement()
override {
35 NodeDecorator::ComputeRequirement();
36 requirement_.focused.enabled =
true;
37 requirement_.focused.node =
this;
38 requirement_.focused.box.x_min = int(
float(requirement_.min_x) * x_);
39 requirement_.focused.box.y_min = int(
float(requirement_.min_y) * y_);
40 requirement_.focused.box.x_max = int(
float(requirement_.min_x) * x_);
41 requirement_.focused.box.y_max = int(
float(requirement_.min_y) * y_);
50 return std::make_shared<Impl>(std::move(child), x, y);
68 Impl(
Element child,
int x,
int y)
71 void ComputeRequirement()
override {
72 NodeDecorator::ComputeRequirement();
73 requirement_.focused.enabled =
false;
75 Box& box = requirement_.focused.box;
88 return std::make_shared<Impl>(std::move(child), x, y);