void Widget::ResizeRequest() { if (!IsVisible()) return; if (m_parent) m_parent->OnChildResizeRequest(this); else { float size[2] = { FLT_MAX, FLT_MAX }; GetSizeRequested(size); SetSize(size[0], size[1]); } }
DeathView::DeathView(): View() { float size[2]; GetSizeRequested(size); SetTransparency(true); float znear; float zfar; Pi::renderer->GetNearFarRange(znear, zfar); const float fovY = Pi::config->Float("FOVVertical"); m_cam.Reset(new Camera(Graphics::GetScreenWidth(), Graphics::GetScreenHeight(), fovY, znear, zfar)); }
ObjectViewerView::ObjectViewerView(): UIView() { SetTransparency(true); viewingDist = 1000.0f; m_camRot = matrix4x4d::Identity(); float size[2]; GetSizeRequested(size); SetTransparency(true); float znear; float zfar; Pi::renderer->GetNearFarRange(znear, zfar); const float fovY = Pi::config->Float("FOVVertical"); m_cameraContext.Reset(new CameraContext(Graphics::GetScreenWidth(), Graphics::GetScreenHeight(), fovY, znear, zfar)); m_camera.reset(new Camera(m_cameraContext, Pi::renderer)); m_cameraContext->SetFrame(Pi::player->GetFrame()); m_cameraContext->SetPosition(Pi::player->GetInterpPosition() + vector3d(0, 0, viewingDist)); m_cameraContext->SetOrient(matrix3x3d::Identity()); m_infoLabel = new Gui::Label(""); Add(m_infoLabel, 2, Gui::Screen::GetHeight()-66-Gui::Screen::GetFontHeight()); m_vbox = new Gui::VBox(); Add(m_vbox, 580, 2); m_vbox->PackEnd(new Gui::Label("Mass (earths):")); m_sbodyMass = new Gui::TextEntry(); m_vbox->PackEnd(m_sbodyMass); m_vbox->PackEnd(new Gui::Label("Radius (earths):")); m_sbodyRadius = new Gui::TextEntry(); m_vbox->PackEnd(m_sbodyRadius); m_vbox->PackEnd(new Gui::Label("Integer seed:")); m_sbodySeed = new Gui::TextEntry(); m_vbox->PackEnd(m_sbodySeed); m_vbox->PackEnd(new Gui::Label("Volatile gases (>= 0):")); m_sbodyVolatileGas = new Gui::TextEntry(); m_vbox->PackEnd(m_sbodyVolatileGas); m_vbox->PackEnd(new Gui::Label("Volatile liquid (0-1):")); m_sbodyVolatileLiquid = new Gui::TextEntry(); m_vbox->PackEnd(m_sbodyVolatileLiquid); m_vbox->PackEnd(new Gui::Label("Volatile ices (0-1):")); m_sbodyVolatileIces = new Gui::TextEntry(); m_vbox->PackEnd(m_sbodyVolatileIces); m_vbox->PackEnd(new Gui::Label("Life (0-1):")); m_sbodyLife = new Gui::TextEntry(); m_vbox->PackEnd(m_sbodyLife); m_vbox->PackEnd(new Gui::Label("Volcanicity (0-1):")); m_sbodyVolcanicity = new Gui::TextEntry(); m_vbox->PackEnd(m_sbodyVolcanicity); m_vbox->PackEnd(new Gui::Label("Crust metallicity (0-1):")); m_sbodyMetallicity = new Gui::TextEntry(); m_vbox->PackEnd(m_sbodyMetallicity); Gui::LabelButton *b = new Gui::LabelButton(new Gui::Label("Change planet terrain type")); b->onClick.connect(sigc::mem_fun(this, &ObjectViewerView::OnChangeTerrain)); m_vbox->PackEnd(b); Gui::HBox *hbox = new Gui::HBox(); b = new Gui::LabelButton(new Gui::Label("Prev Seed")); b->onClick.connect(sigc::mem_fun(this, &ObjectViewerView::OnPrevSeed)); hbox->PackEnd(b); b = new Gui::LabelButton(new Gui::Label("Random Seed")); b->onClick.connect(sigc::mem_fun(this, &ObjectViewerView::OnRandomSeed)); hbox->PackEnd(b); b = new Gui::LabelButton(new Gui::Label("Next Seed")); b->onClick.connect(sigc::mem_fun(this, &ObjectViewerView::OnNextSeed)); hbox->PackEnd(b); m_vbox->PackEnd(hbox); }