-
Notifications
You must be signed in to change notification settings - Fork 7
Panel
Refaltor77 edited this page Mar 29, 2026
·
2 revisions
Container element for grouping and layout. Most properties inherited by StackPanel.
use refaltor\ui\elements\Panel;
$panel = Panel::create("my_panel");All Element properties are available, plus:
// Visibility & state
$panel->setVisible(true);
$panel->setEnabled(true);
$panel->setAlpha(0.9);
$panel->setPropagateAlpha(true);
// Clipping
$panel->setClipsChildren(true);
$panel->setAllowClipping(true);
$panel->setClipOffset([0, 0]);
$panel->setEnableScissorTest(true);
// Layout
$panel->setLayer(2);
$panel->setSelected(false);
$panel->setUseChildAnchors(true);
// Animation
$panel->setDisableAnimFastForward(false);
$panel->setAnimationResetName("reset_anim");
// Data
$panel->setPropertyBag(["#key" => "value"]);$panel->addChild($label);
$panel->addChilds([$image, $button, $grid]);$mainPanel = Panel::create("main")
->setSizePercentage(100, 100);
// Background
$mainPanel->addChild(
Image::create("bg", "textures/ui/dialog_background_opaque")
->setSizePercentage(100, 100)
->setNinesliceSize(4)
->setLayer(-1)
);
// Content
$mainPanel->addChild(
Label::create("title", "My Panel")
->setFontSize(Label::FONT_LARGE)
->setShadow()
->setAnchorFrom(Element::ANCHOR_TOP_MIDDLE)
->setAnchorTo(Element::ANCHOR_TOP_MIDDLE)
->setOffset(0, 10)
);
$root->addElement($mainPanel);$panel = Panel::create("animated_panel")
->setSize(200, 100)
->addAnim("@fade_in")
->addBinding(Binding::visibility("(#title_text = 'SHOW_ME')"));- Element — Base class
- Stack Panel — Auto-stacking variant
- Binding — Visibility bindings
- Animation — Panel animations