NRender* NUiBus::CreateRender() { NRender* render = NULL; switch(renderType_) { case NRenderType::GdiRender: render = dynamic_cast<GdiRender*>(NNew(GdiRender)); break; } NAssertError(render != NULL, TEXT("unknown type of RenderType: %d"), renderType_); return render; }
void NLayout::SetLayoutType(NLayoutType layoutType) { if(layoutType == currentLayoutType_) return; switch(layoutType) { case LayoutHorz: layoutArranger_ = NNew(NHorzLayoutArranger); break; case LayoutVert: layoutArranger_ = NNew(NVertLayoutArranger); break; case LayoutTile: layoutArranger_ = NNew(NTileLayoutArranger); break; default: layoutArranger_ = NULL; } currentLayoutType_ = layoutType; RelayoutChilds(); }
void NUiBus::Init(NRenderType::Type type) { Destroy(); renderType_ = type; loader_ = NULL; switch(renderType_) { case NRenderType::GdiRender: loader_ = dynamic_cast<NResourceLoader*>(NNew(GdiResourceLoader)); dynamic_cast<GdiResourceLoader*>(loader_)->Init(); loader_->AddRef(); break; } NAssertError(loader_ != NULL, TEXT("unknown type of LoaderType: %d"), renderType_); }