/*! \since 5.4 \obsolete Installs translator functions on the given \a object, or on the Global Object if no object is specified. The relation between script translator functions and C++ translator functions is described in the following table: \table \header \li Script Function \li Corresponding C++ Function \row \li qsTr() \li QObject::tr() \row \li QT_TR_NOOP() \li QT_TR_NOOP() \row \li qsTranslate() \li QCoreApplication::translate() \row \li QT_TRANSLATE_NOOP() \li QT_TRANSLATE_NOOP() \row \li qsTrId() \li qtTrId() \row \li QT_TRID_NOOP() \li QT_TRID_NOOP() \endtable It also adds an arg() method to the string prototype. \sa {Internationalization with Qt} */ void QJSEngine::installTranslatorFunctions(const QJSValue &object) { installExtensions(TranslationExtension, object); }
bool Modules::init() { // Create modules (order is important because of dependencies) if( _extensionManager == 0x0 ) _extensionManager = new ExtensionManager(); if( _engineLog == 0x0 ) _engineLog = new EngineLog(); if( _engineConfig == 0x0 ) _engineConfig = new EngineConfig(); if( _sceneManager == 0x0 ) _sceneManager = new SceneManager(); if( _resourceManager == 0x0 ) _resourceManager = new ResourceManager(); if( _renderDevice == 0x0 ) _renderDevice = new RenderDevice(); gRDI = _renderDevice; if( _renderer == 0x0 ) _renderer = new Renderer(); if( _statManager == 0x0 ) _statManager = new StatManager(); // Init modules if( !renderer().init() ) return false; // Register resource types resMan().registerType( ResourceTypes::SceneGraph, "SceneGraph", 0x0, 0x0, SceneGraphResource::factoryFunc ); resMan().registerType( ResourceTypes::Geometry, "Geometry", GeometryResource::initializationFunc, GeometryResource::releaseFunc, GeometryResource::factoryFunc ); resMan().registerType( ResourceTypes::Animation, "Animation", 0x0, 0x0, AnimationResource::factoryFunc ); resMan().registerType( ResourceTypes::Material, "Material", 0x0, 0x0, MaterialResource::factoryFunc ); resMan().registerType( ResourceTypes::Code, "Code", 0x0, 0x0, CodeResource::factoryFunc ); resMan().registerType( ResourceTypes::Shader, "Shader", 0x0, 0x0, ShaderResource::factoryFunc ); resMan().registerType( ResourceTypes::Texture, "Texture", TextureResource::initializationFunc, TextureResource::releaseFunc, TextureResource::factoryFunc ); resMan().registerType( ResourceTypes::ParticleEffect, "ParticleEffect", 0x0, 0x0, ParticleEffectResource::factoryFunc ); resMan().registerType( ResourceTypes::Pipeline, "Pipeline", 0x0, 0x0, PipelineResource::factoryFunc ); // Register node types sceneMan().registerType( SceneNodeTypes::Group, "Group", GroupNode::parsingFunc, GroupNode::factoryFunc, 0x0 ); sceneMan().registerType( SceneNodeTypes::Model, "Model", ModelNode::parsingFunc, ModelNode::factoryFunc, 0x0 ); sceneMan().registerType( SceneNodeTypes::Mesh, "Mesh", MeshNode::parsingFunc, MeshNode::factoryFunc, Renderer::drawMeshes ); sceneMan().registerType( SceneNodeTypes::Joint, "Joint", JointNode::parsingFunc, JointNode::factoryFunc, 0x0 ); sceneMan().registerType( SceneNodeTypes::Light, "Light", LightNode::parsingFunc, LightNode::factoryFunc, 0x0 ); sceneMan().registerType( SceneNodeTypes::Camera, "Camera", CameraNode::parsingFunc, CameraNode::factoryFunc, 0x0 ); sceneMan().registerType( SceneNodeTypes::Emitter, "Emitter", EmitterNode::parsingFunc, EmitterNode::factoryFunc, Renderer::drawParticles ); // Install extensions installExtensions(); // Create default resources TextureResource *tex2DRes = new TextureResource( "$Tex2D", 32, 32, 1, TextureFormats::BGRA8, ResourceFlags::NoTexMipmaps ); void *image = tex2DRes->mapStream( TextureResData::ImageElem, 0, TextureResData::ImgPixelStream, false, true ); ASSERT( image != 0x0 ); for( uint32 i = 0; i < 32*32; ++i ) ((uint32 *)image)[i] = 0xffffffff; tex2DRes->unmapStream(); tex2DRes->addRef(); resMan().addNonExistingResource( *tex2DRes, false ); TextureResource *texCubeRes = new TextureResource( "$TexCube", 32, 32, 1, TextureFormats::BGRA8, ResourceFlags::TexCubemap | ResourceFlags::NoTexMipmaps ); for( uint32 i = 0; i < 6; ++i ) { image = texCubeRes->mapStream( TextureResData::ImageElem, i, TextureResData::ImgPixelStream, false, true ); ASSERT( image != 0x0 ); for( uint32 j = 0; j < 32*32; ++j ) ((uint32 *)image)[j] = 0xff000000; texCubeRes->unmapStream(); } texCubeRes->addRef(); resMan().addNonExistingResource( *texCubeRes, false ); TextureResource *tex3DRes = new TextureResource( "$Tex3D", 16, 16, 4, TextureFormats::BGRA8, ResourceFlags::NoTexMipmaps ); image = tex3DRes->mapStream( TextureResData::ImageElem, 0, TextureResData::ImgPixelStream, false, true ); ASSERT( image != 0x0 ); for( uint32 i = 0; i < 16*16*4; ++i ) ((uint32 *)image)[i] = 0xffffffff; tex3DRes->unmapStream(); tex3DRes->addRef(); resMan().addNonExistingResource( *tex3DRes, false ); return true; }