mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-29 08:15:18 -04:00
fix alignment code
This commit is contained in:
parent
b424464034
commit
b4053a4256
@ -158,14 +158,22 @@ void GuiLabel::get_extents(float& l, float& r, float& b, float& t) {
|
||||
case SIMPLE_TEXT:
|
||||
{
|
||||
TextNode* n = DCAST(TextNode, _geom);
|
||||
LVector3f ul = n->get_upper_left_3d() - LPoint3f::origin();
|
||||
LVector3f lr = n->get_lower_right_3d() - LPoint3f::origin();
|
||||
LVector3f up = LVector3f::up();
|
||||
LVector3f right = LVector3f::right();
|
||||
l = ul.dot(right);
|
||||
r = lr.dot(right);
|
||||
b = lr.dot(up);
|
||||
t = ul.dot(up);
|
||||
if (n->has_card()) {
|
||||
LVecBase4f v = n->get_card_transformed();
|
||||
l = v[0];
|
||||
r = v[1];
|
||||
b = v[2];
|
||||
t = v[3];
|
||||
} else {
|
||||
LVector3f ul = n->get_upper_left_3d() - LPoint3f::origin();
|
||||
LVector3f lr = n->get_lower_right_3d() - LPoint3f::origin();
|
||||
LVector3f up = LVector3f::up();
|
||||
LVector3f right = LVector3f::right();
|
||||
l = ul.dot(right);
|
||||
r = lr.dot(right);
|
||||
b = lr.dot(up);
|
||||
t = ul.dot(up);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case SIMPLE_TEXTURE:
|
||||
|
@ -256,10 +256,14 @@ static void setup_gui(void) {
|
||||
GuiButton* b5 = new GuiButton("fox", b5l1, b5l2, b5l3, b5l3, b5l1);
|
||||
b5->set_scale(0.1);
|
||||
f1->add_item(b5);
|
||||
f1->pack_item(b2, GuiFrame::UNDER, b1);
|
||||
f1->pack_item(b3, GuiFrame::UNDER, b2);
|
||||
f1->pack_item(b4, GuiFrame::UNDER, b3);
|
||||
f1->pack_item(b5, GuiFrame::UNDER, b4);
|
||||
f1->pack_item(b2, GuiFrame::UNDER, b1, 0.05);
|
||||
f1->pack_item(b2, GuiFrame::ALIGN_LEFT, b1);
|
||||
f1->pack_item(b3, GuiFrame::UNDER, b2, 0.05);
|
||||
f1->pack_item(b3, GuiFrame::ALIGN_LEFT, b2);
|
||||
f1->pack_item(b4, GuiFrame::UNDER, b3, 0.05);
|
||||
f1->pack_item(b4, GuiFrame::ALIGN_LEFT, b3);
|
||||
f1->pack_item(b5, GuiFrame::UNDER, b4, 0.05);
|
||||
f1->pack_item(b5, GuiFrame::ALIGN_LEFT, b4);
|
||||
float w, w1, w2;
|
||||
w1 = b1l1->get_width();
|
||||
w2 = b2l1->get_width();
|
||||
@ -285,6 +289,7 @@ static void setup_gui(void) {
|
||||
b5l1->set_width(w);
|
||||
b5l2->set_width(w);
|
||||
b5l3->set_width(w);
|
||||
f1->recompute();
|
||||
f1->manage(mgr, event_handler);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user