vr::VRTextureBounds_t CompositorBase::ViewportToTextureBounds(ovrRecti viewport, ovrTextureSwapChain swapChain, unsigned int flags) { vr::VRTextureBounds_t bounds; float w = (float)swapChain->Desc.Width; float h = (float)swapChain->Desc.Height; bounds.uMin = viewport.Pos.x / w; bounds.vMin = viewport.Pos.y / h; // Sanity check for the viewport size. // Workaround for Defense Grid 2, which leaves these variables unintialized. if (viewport.Size.w > 0 && viewport.Size.h > 0) { bounds.uMax = (viewport.Pos.x + viewport.Size.w) / w; bounds.vMax = (viewport.Pos.y + viewport.Size.h) / h; } else { bounds.uMax = 1.0f; bounds.vMax = 1.0f; } if (flags & ovrLayerFlag_TextureOriginAtBottomLeft) { bounds.vMin = 1.0f - bounds.vMin; bounds.vMax = 1.0f - bounds.vMax; } if (GetAPI() == vr::TextureType_OpenGL) { bounds.vMin = 1.0f - bounds.vMin; bounds.vMax = 1.0f - bounds.vMax; } return bounds; }
MainLoop::MainLoop(LuaInterpreter& lua) : mLua(lua) , mRenderer(Utils::make_unique<NullRenderer>(mLua)) { atexit(SDL_Quit); instances.Add(mLua.GetState(), *this); mLua.RegisterAPI(GetModuleName(), GetAPI().data()); }
void clGLVertexArray::AfterConstruction() { iVertexArray::AfterConstruction(); GetAPI( Env ); Env->Connect( L_EVENT_SURFACE_ATTACHED, BIND( &clGLVertexArray::Event_SURFACE_ATTACHED ) ); Env->Connect( L_EVENT_SURFACE_DETACHED, BIND( &clGLVertexArray::Event_SURFACE_DETACHED ) ); }
bool GMPChild::AnswerStartPlugin() { LOGD("%s", __FUNCTION__); #if defined(XP_WIN) PreLoadLibraries(mPluginPath); #endif if (!PreLoadPluginVoucher()) { NS_WARNING("Plugin voucher failed to load!"); return false; } PreLoadSandboxVoucher(); nsCString libPath; if (!GetUTF8LibPath(libPath)) { return false; } auto platformAPI = new GMPPlatformAPI(); InitPlatformAPI(*platformAPI, this); mGMPLoader = GMPProcessChild::GetGMPLoader(); if (!mGMPLoader) { NS_WARNING("Failed to get GMPLoader"); delete platformAPI; return false; } #if defined(MOZ_GMP_SANDBOX) && defined(XP_MACOSX) if (!SetMacSandboxInfo()) { NS_WARNING("Failed to set Mac GMP sandbox info"); delete platformAPI; return false; } #endif if (!mGMPLoader->Load(libPath.get(), libPath.Length(), mNodeId.BeginWriting(), mNodeId.Length(), platformAPI)) { NS_WARNING("Failed to load GMP"); delete platformAPI; return false; } void* sh = nullptr; GMPAsyncShutdownHost* host = static_cast<GMPAsyncShutdownHost*>(this); GMPErr err = GetAPI(GMP_API_ASYNC_SHUTDOWN, host, &sh); if (err == GMPNoErr && sh) { mAsyncShutdown = reinterpret_cast<GMPAsyncShutdown*>(sh); SendAsyncShutdownRequired(); } return true; }
Player::Player(LuaInterpreter& lua, const World& world) : mWorld(world) , mInput(Utils::make_unique<Input>(SDL_SCANCODE_W, SDL_SCANCODE_S, SDL_SCANCODE_A, SDL_SCANCODE_D, SDL_SCANCODE_E, SDL_SCANCODE_F)) { init_me_next = this; LuaHelper::InitInstance("player", "player.lua", l_init); init_me_next = nullptr; instances.Add(lua.GetState(), *this); lua.RegisterAPI(GetModuleName(), GetAPI().data()); }
bool CSynapseAPIManager::CheckSetActive() { if ( mType == API_MATCH ) { return false; } // mType == API_LIST int i,max = GetAPICount(); for ( i = 0; i < max; i++ ) { if ( !GetAPI( i )->mbTableInitDone ) { return false; } } return true; }
IPlugSideChain::IPlugSideChain(IPlugInstanceInfo instanceInfo) : IPLUG_CTOR(kNumParams, kNumPrograms, instanceInfo), mGain(1.) , mPrevL(0.0) , mPrevR(0.0) , mPrevLS(0.0) , mPrevRS(0.0) { TRACE; //arguments are: name, defaultVal, minVal, maxVal, step, label GetParam(kGain)->InitDouble("Gain", 50., 0., 100.0, 0.01, "%"); GetParam(kGain)->SetShape(2.); IGraphics* pGraphics = MakeGraphics(this, kWidth, kHeight); pGraphics->AttachPanelBackground(&COLOR_RED); IBitmap knob = pGraphics->LoadIBitmap(KNOB_ID, KNOB_FN, kKnobFrames); IText text = IText(14); pGraphics->AttachControl(new IKnobMultiControlText(this, IRECT(kGainX, kGainY, kGainX + 48, kGainY + 48 + 20), kGain, &knob, &text)); mMeterIdx_L = pGraphics->AttachControl(new IPeakMeterVert(this, MakeIRect(kMeterL))); mMeterIdx_R = pGraphics->AttachControl(new IPeakMeterVert(this, MakeIRect(kMeterR))); mMeterIdx_LS = pGraphics->AttachControl(new IPeakMeterVert(this, MakeIRect(kMeterLS))); mMeterIdx_RS = pGraphics->AttachControl(new IPeakMeterVert(this, MakeIRect(kMeterRS))); if (GetAPI() == kAPIVST2) // for VST2 we name individual outputs { SetInputLabel(0, "main input L"); SetInputLabel(1, "main input R"); SetInputLabel(2, "sc input L"); SetInputLabel(3, "sc input R"); SetOutputLabel(0, "output L"); SetOutputLabel(1, "output R"); } else // for AU and VST3 we name buses { SetInputBusLabel(0, "main input"); SetInputBusLabel(1, "sc input"); SetOutputBusLabel(0, "output"); } AttachGraphics(pGraphics); //MakePreset("preset 1", ... ); MakeDefaultPreset((char *) "-", kNumPrograms); }
bool GMPChild::AnswerStartPlugin(const nsString& aAdapter) { LOGD("%s", __FUNCTION__); if (!PreLoadPluginVoucher()) { NS_WARNING("Plugin voucher failed to load!"); return false; } PreLoadSandboxVoucher(); nsCString libPath; if (!GetUTF8LibPath(libPath)) { return false; } auto platformAPI = new GMPPlatformAPI(); InitPlatformAPI(*platformAPI, this); mGMPLoader = GMPProcessChild::GetGMPLoader(); if (!mGMPLoader) { NS_WARNING("Failed to get GMPLoader"); delete platformAPI; return false; } bool isWidevine = aAdapter.EqualsLiteral("widevine"); #if defined(MOZ_GMP_SANDBOX) && defined(XP_MACOSX) MacSandboxPluginType pluginType = MacSandboxPluginType_GMPlugin_Default; if (isWidevine) { pluginType = MacSandboxPluginType_GMPlugin_EME_Widevine; } if (!SetMacSandboxInfo(pluginType)) { NS_WARNING("Failed to set Mac GMP sandbox info"); delete platformAPI; return false; } #endif GMPAdapter* adapter = (isWidevine) ? new WidevineAdapter() : nullptr; if (!mGMPLoader->Load(libPath.get(), libPath.Length(), mNodeId.BeginWriting(), mNodeId.Length(), platformAPI, adapter)) { NS_WARNING("Failed to load GMP"); delete platformAPI; return false; } void* sh = nullptr; GMPAsyncShutdownHost* host = static_cast<GMPAsyncShutdownHost*>(this); GMPErr err = GetAPI(GMP_API_ASYNC_SHUTDOWN, host, &sh); if (err == GMPNoErr && sh) { mAsyncShutdown = reinterpret_cast<GMPAsyncShutdown*>(sh); SendAsyncShutdownRequired(); } return true; }
FString FUnrealSourceFile::GetFileDefineName() const { return FString::Printf(TEXT("%s_%s_generated_h"), *GetAPI(), *GetStrippedFilename()); }
void clGLQuery::AfterConstruction() { iQuery::AfterConstruction(); GetAPI( Env ); }