bool PoolTeeBox::Load(File* pf) { // Get vertex. if (!pf->GetFloat(&m_teeVertex.x) || !pf->GetFloat(&m_teeVertex.y) || !pf->GetFloat(&m_teeVertex.z)) { pf->ReportError("Failed to load tee box vertex."); return false; } m_bs.SetCentre(m_teeVertex); m_bs.SetRadius(TEE_BOX_DECAL_SIZE); SetShadowSize(TEE_BOX_DECAL_SIZE); // TODO TEMP TEST CreateShadow(); Orientation o; o.SetVertex(m_teeVertex); SetOrientation(o); TEE_BOX_DECAL_SIZE = Engine::Instance()->GetConfigFloat("golf_tee_size"); return true; }
void TShadow::setActor( TActor* actor ) { if ( actor ) { m_fyActor.Object( actor->getFlyActor().Object() ); SetShadowSize( 200 ); Show( TRUE ); Vec3D pos( 100 , 100 , 500 ); SetCharacter( m_fyActor.Object() , pos ); } else { Show( false ); } }
BOOL QFrame::Create( HWND hWndParent /*= ::GetAncestor(::GetActiveWindow(),GA_ROOT)*/, UINT nStyle/*=WS_POPUP|WS_VISIBLE*/,UINT nStyleEx/*=0*/, UINT nDecoratedStyle /*= WS_QEX_WNDSHADOW|WS_QEX_ROUNDCONNER*/, LPCRECT rcWnd/* = NULL*/) { ATLASSERT(!IsWindow()); _RemoveFlag(nStyle,WS_CHILD); // QFrame 不能用于创建子窗口 _AddFlag(nStyle,WS_CLIPCHILDREN); // 防止内嵌子HWND窗口时闪烁 ModifyQEXStyle(nDecoratedStyle, 0); CRect rc(0, 0, 0, 0); if (NULL != rcWnd) { rc = *rcWnd; } if (QView::Create(hWndParent, rc, NULL, nStyle, nStyleEx) != NULL) { // 看下都具有什么系统的按钮 if (GetCtrl("#wc-caption [xrole=\"MINIMAZE\"]").is_valid()) { ModifyStyle(0,WS_MINIMIZEBOX); } if (GetCtrl("#wc-caption [xrole=\"MAXIMAZE\"]").is_valid()) { ModifyStyle(0,WS_MAXIMIZEBOX); } if ( _HasFlag(QUIGetApp()->GetTopFrameStyle(), WS_QEX_WNDSHADOW) && HasQEXStyle(WS_QEX_WNDSHADOW) ) { // 使用阴影美化窗体 SetShadowPosition(0,0); SetShadowSharpness(4); SetShadowSize(3); SetShadowColor(RGB(80, 80, 80)); wnd_shadow_.Create(GetSafeHwnd()); } return TRUE; } return FALSE; }