當前位置: 首頁>>代碼示例>>C++>>正文


C++ Active函數代碼示例

本文整理匯總了C++中Active函數的典型用法代碼示例。如果您正苦於以下問題:C++ Active函數的具體用法?C++ Active怎麽用?C++ Active使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了Active函數的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C++代碼示例。

示例1: locker

void OSMutexRW::LockWrite()
{
    OSMutexLocker locker(&fInternalLock);
    AddWriteWaiter();       //  1 writer queued            
#if DEBUGMUTEXRW

    if (Active()) 
    {   qtss_printf("LockWrite(conflict) state = %d active readers = %d, waiting writers = %d, waiting readers=%d\n", fState, fActiveReaders, fWriteWaiters, fReadWaiters);
        CountConflict(1);  
    }

    qtss_printf("LockWrite 'waiting' fState = %d locked active readers = %d, waiting writers = %d, waiting readers=%d\n",fState, fActiveReaders, fReadWaiters, fWriteWaiters);
#endif

    //while   (ActiveReaders())  // active readers
	while (Active())//modify by tex
	{       
        fWritersCond.Wait(&fInternalLock,OSMutexRW::eMaxWait);
    }

    RemoveWriteWaiter(); // remove from waiting writers
    SetState(OSMutexRW::eActiveWriterState);    // this is the active writer    
    fActiveReaders = fState; 
#if DEBUGMUTEXRW
//  qtss_printf("LockWrite 'locked' fState = %d locked active readers = %d, waiting writers = %d, waiting readers=%d\n",fState, fActiveReaders, fReadWaiters, fWriteWaiters);
#endif

}
開發者ID:sunfirefox,項目名稱:tangramcom,代碼行數:28,代碼來源:OSMutexRW.cpp

示例2: switch

void MenuItem::Mouse(HWND hwnd, UINT uMsg, DWORD wParam, DWORD lParam)
{
    int i = 0;
    switch(uMsg)
    {
        case WM_MBUTTONUP:
            i = INVOKE_MID;
            break;

        case WM_RBUTTONUP:
            i = INVOKE_RIGHT;
            break;

        case WM_LBUTTONUP:
            i = INVOKE_LEFT;
            if (m_pMenu->m_dblClicked)
                i |= INVOKE_DBL;

            if (0x8000 & GetAsyncKeyState(VK_MENU))
            {
                if (i & INVOKE_DBL)
                    i = INVOKE_PROP;
                else
                    i = 0;
            }
            break;

        case WM_LBUTTONDBLCLK:
        case WM_LBUTTONDOWN:
        case WM_MBUTTONDOWN:
        case WM_RBUTTONDOWN:
            m_pMenu->set_capture(MENU_CAPT_ITEM);
            Active(1);
            break;

        case WM_MOUSEMOVE:
            if (m_pMenu->m_captureflg && hwnd != window_under_mouse())
            {
                // start drag operation on mouseleave
                m_pMenu->set_capture(0);
                i = INVOKE_DRAG;
                break;
            }
            Active(1);
            break;

        case WM_MOUSEWHEEL:
            m_pMenu->HideChild();
            Active(2);
            break;
    }

    if (i && m_bActive && false == m_bNOP)
        Invoke(i);
}
開發者ID:Jmos,項目名稱:bbclean-xzero450,代碼行數:55,代碼來源:MenuItem.cpp

示例3: CommitActive

    void MasterEntity::PreFrame( bool paused )
    {
        if( m_Ready && !Active() )
            CommitActive();

        if( !paused )
            GameCall<void>( "GamePreFrame" );

        if( m_Controller.Exists() && Active() )
            m_Controller->PreFrame();
    }
開發者ID:rsk78n,項目名稱:zoya,代碼行數:11,代碼來源:masterentity.cpp

示例4: switch

// Mouse command MOUSEMOVE, LB_PRESSED, ...
void MenuItem::Mouse(HWND hwnd, UINT uMsg, DWORD wParam, DWORD lParam)
{
	int i = 0;
	switch (uMsg)
	{
	case WM_MBUTTONUP:
		i = INVOKE_MID;
		break;

	case WM_RBUTTONUP:
		i = INVOKE_RIGHT;
		break;

	case WM_LBUTTONUP:
		i = INVOKE_LEFT;
		if (m_pMenu->m_dblClicked) i |= INVOKE_DBL;
		break;

	case WM_LBUTTONDBLCLK:
	case WM_LBUTTONDOWN:
	case WM_MBUTTONDOWN:
	case WM_RBUTTONDOWN:
		SetCapture(hwnd);

	case WM_MOUSEMOVE:
		Active(1);
		break;
	}

	if (i && m_bActive)// && 0 == m_isNOP)
	{
		Menu::g_DiscardMouseMoves = 5;
		Invoke(i);
	}
}
開發者ID:BackupTheBerlios,項目名稱:boxcore,代碼行數:36,代碼來源:MenuItem.cpp

示例5: WriteLine

void DriverLog::WriteLine(LPCTSTR message, ...)
{
	if (!Active() || message == 0)
		return;

    m_cs.Enter();
    
    static TCHAR lineStart[512];
    int lineStartSize = _stprintf_s(lineStart, 512, _T("[%4d][%6d]"), ::GetCurrentThreadId(), ::GetTickCount() - startTick);
    WriteFileLog(lineStart, lineStartSize);

    va_list args;
    va_start( args, message );

    int characters = _vsctprintf(message, args);
    if (characters != -1) {
		DynamicArray<TCHAR> buffer(characters + 5);
        if(-1 != _vstprintf_s(buffer, characters + 5, message, args)) {
			WritePipeLog(buffer, characters);
            buffer[characters] = _T('\r');
            buffer[characters + 1] = _T('\n');
            WriteFileLog(buffer, characters + 2);
        }
    }
    
    m_cs.Leave();
}
開發者ID:devSolo,項目名稱:partcover-fork,代碼行數:27,代碼來源:logging.cpp

示例6: ZGetGame

void ZModule_HealOverTime::BeginHeal(MMatchDamageType type, int nHealAmount, int numHeal, MMatchItemEffectId effectId, int nItemId)
{
	if (type != MMDT_HEAL && type != MMDT_REPAIR) { _ASSERT(0); return; }

	m_type.Set_CheckCrc(type);
	m_nEffectId = effectId;

	float fCurrTime = ZGetGame()->GetTime();

	m_fBeginTime.Set_CheckCrc(fCurrTime);

	m_fHeal.Set_CheckCrc((float)nHealAmount);
	m_numHealDesire.Set_CheckCrc(numHeal);
	m_numHealDone.Set_CheckCrc(0);

	if (!m_bOnHeal.Ref())
	{
		m_fNextHealTime.Set_CheckCrc(fCurrTime);
	}

	m_bOnHeal.Set_CheckCrc(true);
	m_nItemId = nItemId;

	Active();
}
開發者ID:MagistrAVSH,項目名稱:node3d,代碼行數:25,代碼來源:ZModule_HealOverTime.cpp

示例7: RSKMAP_ITERATE_VALUE_NAMED

    void PhysicsBodyObject::SetActive( bool active )
    {
        if( active == Active() )
            return;

        rsk::ActiveObject::SetActive( active );
    //
    //  Encapsulate RSKMAP_ITERATE; duplicate them so only what's needed is run
        PhysicsWorld* world = gGame->GetWorld();
        if( active )
        {
            RSKMAP_ITERATE_VALUE_NAMED( m_Detectors, slot )
            {
                if( slot->active )
                {
                    world->AddBody( slot->area.Self() );
                    CommitDetectorActive( *slot, active );
                }
            }
            return;
        }

        if( world )
        {
            RSKMAP_ITERATE_VALUE_NAMED( m_Detectors, slot )
            {
                CommitDetectorActive( *slot, active );
                world->RemoveBody( slot->area->GetID() );
            }
            return;
        }
開發者ID:rsk78n,項目名稱:zoya,代碼行數:31,代碼來源:physicsbody.cpp

示例8: HighQuality

/*
==================
FullscreenFX_DoubleVision::HighQuality
==================
*/
void FullscreenFX_DoubleVision::HighQuality() {
	int offset = fxman->GetPlayerView()->dvFinishTime - gameLocal.fast.time;
	float scale = offset * g_dvAmplitude.GetFloat();

	// for testing purposes
	if ( !Active() ) {
		static int test = 0;
		if ( test > 312 ) {
			test = 0;
		}

		offset = test++;
		scale = offset * g_dvAmplitude.GetFloat();
	}

	idPlayer * player = fxman->GetPlayer();

	if( player == NULL ) {
		return;
	}

	offset *= 2;		// crutch up for higher res

	// set the scale and shift
	if ( scale > 0.5f ) {
		scale = 0.5f;
	}
	float shift = scale * sin( sqrtf( (float)offset ) * g_dvFrequency.GetFloat() );
	shift = fabs( shift );

	// carry red tint if in berserk mode
	idVec4 color( 1.0f, 1.0f, 1.0f, 1.0f );
	if ( gameLocal.fast.time < player->inventory.powerupEndTime[ BERSERK ] ) {
		color.y = 0.0f;
		color.z = 0.0f;
	}

	if ( !common->IsMultiplayer() && gameLocal.fast.time < player->inventory.powerupEndTime[ HELLTIME ] || gameLocal.fast.time < player->inventory.powerupEndTime[ INVULNERABILITY ]) {
		color.y = 0.0f;
		color.z = 0.0f;
	}

	// uv coordinates
	float s0 = shift;
	float t0 = 1.0f;
	float s1 = 1.0f;
	float t1 = 0.0f;


	renderSystem->SetColor4( color.x, color.y, color.z, 1.0f );
	renderSystem->DrawStretchPic( 0.0f, 0.0f, SCREEN_WIDTH, SCREEN_HEIGHT, s0, t0, s1, t1, material );

	renderSystem->SetColor4( color.x, color.y, color.z, 0.5f );
	s0 = 0.0f;
	t0 = 1.0f;
	s1 = ( 1.0-shift );
	t1 = 0.0f;

	renderSystem->DrawStretchPic( 0.0f, 0.0f, SCREEN_WIDTH, SCREEN_HEIGHT, s0, t0, s1, t1, material );
}
開發者ID:469486139,項目名稱:DOOM-3-BFG,代碼行數:65,代碼來源:PlayerView.cpp

示例9: SetActive

void cVnsiOsd::SetActive(bool On)
{
  if (On != Active())
  {
    cOsd::SetActive(On);
    if (On)
    {
      // must clear all windows here to avoid flashing effects - doesn't work if done
      // in Flush() only for the windows that are actually used...
      for (int i = 0; i < MAXNUMWINDOWS; i++)
      {
        Cmd(VNSI_OSD_CLEAR, i);
      }
      if (GetBitmap(0)) // only flush here if there are already bitmaps
        Flush();
    }
    else if (shown)
    {
      for (int i = 0; GetBitmap(i); i++)
      {
        Cmd(VNSI_OSD_CLOSE, i);
      }
      shown = false;
    }
  }
}
開發者ID:AlwinEsch,項目名稱:vdr-plugin-vnsiserver,代碼行數:26,代碼來源:vnsiosd.c

示例10: qDebug

void
IrcAbstractChannel::Incoming (const QString & message,
                         const QString & rawMessage)
{
  QString cooked = HtmlMangle::Anchorize (message, 
                         HtmlMangle::HttpExp(),
                         HtmlMangle::HtmlAnchor);
qDebug () << " cooked message " << cooked;
  QDateTime now = QDateTime::currentDateTime ();
  QString smalldate ("<span style=\"font-size:small\">"
                     "%1</span> %2");
  QString cookedLine;
  cookedLine.append ("<br>\n");
  cookedLine.append (smalldate
                          .arg (now.toString ("hh:mm:ss"))
                          .arg (cooked));
  cookedLog.append (cookedLine);
  UpdateCooked ();
  if (logging) {
    logFile.write (cookedLine.toUtf8());
    logFile.flush ();
  }
  CheckWatch (rawMessage.length() > 0 ? rawMessage : message);
  emit Active (this);
}
開發者ID:berndhs,項目名稱:e6irc,代碼行數:25,代碼來源:irc-abstract-channel.cpp

示例11: switch

RefResult Composite::NotifyRefChanged(Interval changeInt, RefTargetHandle hTarget, 
   PartID& partID, RefMessage message ) {
	switch (message) {
		case REFMSG_CHANGE:			
			if (paramDlg) 
				paramDlg->Invalidate();
			if (pblock->LastNotifyParamID() == comptex_tex && pblock->Count(comptex_tex) != subTex.Count())
				SetNumMaps(pblock->Count(comptex_tex));
			else if (pblock->LastNotifyParamID() == comptex_ons && pblock->Count(comptex_ons) != subTex.Count())
				SetNumMaps(pblock->Count(comptex_ons));
			DiscardTexHandles(); // DS 5/4/00
			ivalid.SetEmpty();
			if (paramDlg&&Active())
				paramDlg->ip->MtlChanged();
			break;
		
		case REFMSG_GET_PARAM_DIM:
			return REF_STOP; 
		
		case REFMSG_GET_PARAM_NAME: {
			GetParamName *gpn = (GetParamName*)partID;
			gpn->name= GetSubTexmapSlotName(gpn->index);			
			return REF_STOP; 
			}
		}
	return(REF_SUCCEED);
	}
開發者ID:2asoft,項目名稱:xray,代碼行數:27,代碼來源:composit.cpp

示例12: Active

void
TMagnify::StartSave()
{
	fImageFrozenOnSave = Active();
	if (fImageFrozenOnSave)
		MakeActive(false);
}
開發者ID:AmirAbrams,項目名稱:haiku,代碼行數:7,代碼來源:Magnify.cpp

示例13: OnRender

void CScoreboard::OnRender()
{
	if(!Active())
		return;

	// if the score board is active, then we should clear the motd message aswell
	if(m_pClient->m_pMotd->IsActive())
		m_pClient->m_pMotd->Clear();


	float Width = 400*3.0f*Graphics()->ScreenAspect();
	float Height = 400*3.0f;

	Graphics()->MapScreen(0, 0, Width, Height);

	float w = 700.0f;

	if(m_pClient->m_Snap.m_pGameInfoObj)
	{
		if(!(m_pClient->m_Snap.m_pGameInfoObj->m_GameFlags&GAMEFLAG_TEAMS))
			RenderScoreboard(Width/2-w/2, 150.0f, w, 0, 0);
		else
		{
			const char *pRedClanName = GetClanName(TEAM_RED);
			const char *pBlueClanName = GetClanName(TEAM_BLUE);

			if(m_pClient->m_Snap.m_pGameInfoObj->m_GameStateFlags&GAMESTATEFLAG_GAMEOVER && m_pClient->m_Snap.m_pGameDataObj)
			{
				char aText[256];
				str_copy(aText, Localize("Draw!"), sizeof(aText));

				if(m_pClient->m_Snap.m_pGameDataObj->m_TeamscoreRed > m_pClient->m_Snap.m_pGameDataObj->m_TeamscoreBlue)
				{
					if(pRedClanName)
						str_format(aText, sizeof(aText), Localize("%s wins!"), pRedClanName);
					else
						str_copy(aText, Localize("Red team wins!"), sizeof(aText));
				}
				else if(m_pClient->m_Snap.m_pGameDataObj->m_TeamscoreBlue > m_pClient->m_Snap.m_pGameDataObj->m_TeamscoreRed)
				{
					if(pBlueClanName)
						str_format(aText, sizeof(aText), Localize("%s wins!"), pBlueClanName);
					else
						str_copy(aText, Localize("Blue team wins!"), sizeof(aText));
				}

				float w = TextRender()->TextWidth(0, 86.0f, aText, -1);
				TextRender()->Text(0, Width/2-w/2, 39, 86.0f, aText, -1);
			}

			RenderScoreboard(Width/2-w-5.0f, 150.0f, w, TEAM_RED, pRedClanName ? pRedClanName : Localize("Red team"));
			RenderScoreboard(Width/2+5.0f, 150.0f, w, TEAM_BLUE, pBlueClanName ? pBlueClanName : Localize("Blue team"));
		}
	}

	RenderGoals(Width/2-w/2, 150+760+10, w);
	RenderSpectators(Width/2-w/2, 150+760+10+50+10, w);
	RenderRecordingNotification((Width/7)*4);
}
開發者ID:gclxry,項目名稱:teeworlds,代碼行數:59,代碼來源:scoreboard.cpp

示例14: Activate

void cStreamdevStreamer::Activate(bool On) 
{
	if (On && !Active()) {
		Dprintf("activate streamer\n");
		m_Writer->Start();
		cThread::Start();
	}
}
開發者ID:FFTEAM,項目名稱:evolux-spark-sh4,代碼行數:8,代碼來源:streamer.c

示例15: PrepareLua

int CScriptDebugger::PrepareLua(lua_State* l)
{
	// call this function immediatly before calling lua_pcall. 
	//returns index in stack for errorFunc
	if(!Active())return -1;

	m_nMode = DMOD_NONE;
	return m_lua->PrepareLua(l);
}
開發者ID:2asoft,項目名稱:xray,代碼行數:9,代碼來源:script_debugger.cpp


注:本文中的Active函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。