['CreateWindow', sub { my $self = shift; my($wid, $parent, $class, $depth, $visual, $x, $y, $width, $height, $border_width, %values) = @_; my($mask, $i, @values); $mask = 0; for $i (0 .. 14) { if (exists $values{$Attributes_ValueMask[$i][0]}) { $mask |= (1 << $i); push @values, &{$Attributes_ValueMask[$i][1]} ($self, $values{$Attributes_ValueMask[$i][0]}); } } $visual = 0 if $visual eq 'CopyFromParent'; $class = $self->num('Class', $class); return pack("LLssSSSSLL", $wid, $parent, $x, $y, $width, $height, $border_width, $class, $visual, $mask) . join("", @values), $depth; }],