Ejemplo n.º 1
0
void Popup::_fix_size() {

#if 0
	Point2 pos = get_position();
	Size2 size = get_size();
	Point2 window_size = window==this ? get_parent_area_size()  :window->get_size();
#else

	Point2 pos = get_global_position();
	Size2 size = get_size();
	Point2 window_size = get_viewport_rect().size;

#endif
	if (pos.x + size.width > window_size.width)
		pos.x = window_size.width - size.width;
	if (pos.x < 0)
		pos.x = 0;

	if (pos.y + size.height > window_size.height)
		pos.y = window_size.height - size.height;
	if (pos.y < 0)
		pos.y = 0;
#if 0
	if (pos!=get_pos())
		set_position(pos);
#else
	if (pos != get_position())
		set_global_position(pos);

#endif
}
Ejemplo n.º 2
0
void Node2D::global_translate(const Vector2 &p_amount) {

	set_global_position(get_global_position() + p_amount);
}