If the "pos" calculated is TOPRIGHT, compute_shadow won't be called since old_pos is set to TOPRIGHT initially and the old_pos = pos.
This causes the arrow to show bottom left position (arrow_up is default false and the offset isn't drawn to the right because compute_shadow isn't called).
Ok. So the way it was at first was "PopPosition pos = PopPosition. TOPRIGHT; "
Now inside of compute_ pop_position it sets "var old_pos = pos;"
So old_pos is now set to TOPRIGHT.
At the end of compute_ pop_position after it calculates the new position, it checks
if (old_pos != pos) { width (), get_allocated_ height ());
compute_shadow (get_allocated_
}
If the "pos" calculated is TOPRIGHT, compute_shadow won't be called since old_pos is set to TOPRIGHT initially and the old_pos = pos.
This causes the arrow to show bottom left position (arrow_up is default false and the offset isn't drawn to the right because compute_shadow isn't called).