Beispiel #1
0
void PUObserver::copyAttributesTo( PUObserver* observer )
{
    // Copy attributes
    observer->setName(_name);
    observer->setObserverType(_observerType);
    observer->_particleTypeToObserve = _particleTypeToObserve;
    observer->_particleTypeToObserveSet = _particleTypeToObserveSet;
    observer->_particleSystem = _particleSystem;
    observer->_observerScale = _observerScale;
    observer->_observerInterval = _observerInterval;
    observer->_observerIntervalRemainder = _observerIntervalRemainder;
    observer->_observerIntervalSet = _observerIntervalSet;
    observer->_observeUntilEvent = _observeUntilEvent;
    observer->_eventHandlersExecuted = _eventHandlersExecuted;
    observer->_enabled = _enabled;
    observer->_originalEnabled = _originalEnabled;
    observer->_originalEnabledSet = _originalEnabledSet;

    // Copy event handlers
    size_t i = 0;
    PUEventHandler* eventHandler = 0;
    for(i = 0; i < getNumEventHandlers(); ++i)
    {
        eventHandler = getEventHandler(i);
        PUEventHandler *clonedEventHandler = PUEventHandlerManager::Instance()->createEventHandler(eventHandler->getEventHandlerType());
        eventHandler->copyAttributesTo(clonedEventHandler);
        observer->addEventHandler(clonedEventHandler);
    }
}
Beispiel #2
0
//////////////////
// Init the scrollbar (used by constructors)
void CScrollbar::Init()
{
	iType = wid_Scrollbar;
	iMin = 0;
	iMax = 1;
	iValue = 0;
	iItemsperbox = 1;
	iScrollPos = 0;
	bSliderGrabbed = false;
	iSliderGrabPos = 0;
	bTopButtonDown = false;
	bBotButtonDown = false;
	bSliderDown = false;
	bTopButtonOver = false;
	bBotButtonOver = false;
	bSliderOver = false;
	bBackgroundDown = false;
	bBackgroundOver = false;
	iDirection.set(scrVertical, DEFAULT_PRIORITY);
	pTimerData = new TimerData(this, false, 0);
	tTimer = new Timer("CScrollbar", getEventHandler(this, &CScrollbar::OnTimer), pTimerData, 120);

	bmpTop.set(NULL, DEFAULT_PRIORITY);
	bmpBottom.set(NULL, DEFAULT_PRIORITY);
	bmpSliderTop.set(NULL, DEFAULT_PRIORITY);
	bmpSliderMiddle.set(NULL, DEFAULT_PRIORITY);
	bmpSliderBottom.set(NULL, DEFAULT_PRIORITY);
	bmpBackground.set(NULL, DEFAULT_PRIORITY);
	iColor.set(Color(191, 191, 191), DEFAULT_PRIORITY);
	iHighlightColor.set(Color(255, 255, 255), DEFAULT_PRIORITY);
	iShadowColor.set(Color(127, 127, 127), DEFAULT_PRIORITY);
	iBackgroundColor.set(Color(0, 0, 0), DEFAULT_PRIORITY);
	iArrowColor.set(Color(0, 0, 0), DEFAULT_PRIORITY);
}
 void CCRecordGate::unregisterEvents() {
     CCLevelUpEventHandler *eventHandler = getEventHandler();
     if (eventHandler) {
         CCLevelUpEventDispatcher::getInstance()->removeEventHandler(eventHandler);
         setEventHandler(NULL);
     }
 }
Beispiel #4
0
void GLUTCanvas::mousePressed(const int& button, const int& state, const int& x, const int& y, const int& modifier) {
    // maybe there is a glutMouse that needs update
    keepMouseUpdated(x, y);

    // map glut event to tgt event
    MouseEvent::MouseButtons pressedButton;
    if (button ==  GLUT_LEFT_BUTTON)
        pressedButton = MouseEvent::MOUSE_BUTTON_LEFT;
    else if (button == GLUT_RIGHT_BUTTON)
        pressedButton = MouseEvent::MOUSE_BUTTON_RIGHT;
    else
        pressedButton = MouseEvent::MOUSE_BUTTON_MIDDLE;

    // Create tgt action and update holdButton.
    MouseEvent::MouseAction action;
    if (state == GLUT_DOWN) {
        action = MouseEvent::PRESSED;
        holdButton_ = pressedButton;
    }
    else{
        action = MouseEvent::RELEASED;
        holdButton_ = MouseEvent::MOUSE_BUTTON_NONE;
    }

    // calculate right TGT modifier
    Event::Modifier tgtModifier = static_cast<Event::Modifier>(getModifier(modifier));

    // Create and broadcast event
    MouseEvent* mousePressedEvent = new MouseEvent(x, y, action, tgtModifier, pressedButton, getSize());
    getEventHandler()->broadcast(mousePressedEvent);
}
	//-----------------------------------------------------------------------
	void ParticleObserver::copyParentAttributesTo(ParticleObserver* observer)
	{
		// Copy attributes
		observer->setName(mName);
		observer->mParticleTypeToObserve = mParticleTypeToObserve;
		observer->mParticleTypeToObserveSet = mParticleTypeToObserveSet;
		observer->mParentTechnique = mParentTechnique;
		observer->_mObserverScale = _mObserverScale;
		observer->mObserverInterval = mObserverInterval;
		observer->mObserverIntervalRemainder = mObserverIntervalRemainder;
		observer->mObserverIntervalSet = mObserverIntervalSet;
		observer->mObserveUntilEvent = mObserveUntilEvent;
		observer->mEventHandlersExecuted = mEventHandlersExecuted;
        observer->mEnabled = mEnabled;
		observer->mOriginalEnabled = mOriginalEnabled;
		observer->mOriginalEnabledSet = mOriginalEnabledSet;

		// Copy event handlers
		size_t i = 0;
		ParticleEventHandler* eventHandler = 0;
		ParticleEventHandler* clonedEventHandler = 0;
		for(i = 0; i < getNumEventHandlers(); ++i)
		{
			eventHandler = getEventHandler(i);
			clonedEventHandler = ParticleSystemManager::getSingletonPtr()->cloneEventHandler(eventHandler);
			observer->addEventHandler(clonedEventHandler);
		}
	}
Beispiel #6
0
int		SelectPolicy::waitForEvent(int timeout)
{
	struct timeval time;
	int ret;
	fd_set *set[3];
	Clock	clock;

	while (_wait)
	{
		int t = this->handleTimers(timeout);
		if (t >= 0)
		{
			time.tv_sec = t / 1000;
			time.tv_usec = (t % 1000) * 1000;
		}
		fd_set rs = _read_set, ws = _write_set, es = _except_set;
		set[0] = (_rsize == 0) ? nullptr : &rs;
		set[1] = (_wsize == 0) ? nullptr : &ws;
		set[2] = (_esize == 0) ? nullptr : &es;
#if defined (_WIN32)
		if (!set[0] && !set[1] && !set[2])
		{
			Net::Clock::sleep(t);
			continue ;
		}
		else
#endif
			ret = ::select(_maxfd + 1, set[0], set[1], set[2], (t < 0) ? nullptr : &time);
		if ((ret == -1 && errno == EINTR) || (ret == 0 && timeout != 0))
			continue ;
		if (ret == -1)
			std::cerr << Net::getLastError() << std::endl;
		if (ret == -1  || (ret == 0 && timeout == 0))
			return ret;
		if (timeout > 0)
		{
			timeout -= clock.getElapsedTime();
			clock.update();
			if (timeout < 0)
				timeout = 0;
		}
		for (auto it = _sockets.begin(); it != _sockets.end();)
		{
			auto socket = it->first;
			auto handler = socket->getEventHandler();
			auto handle = socket->getHandle();
			++it;
			if (FD_ISSET(handle, &es))
				handler->handleClose(*socket);
			else
			{
				if (FD_ISSET(handle, &rs) && handler->handleInput(*socket) <= 0)
						handler->handleClose(*socket);
				else if (FD_ISSET(handle, &ws) && handler->handleOutput(*socket) <= 0)
						handler->handleClose(*socket);
			}
		}
	}
	return 0;
}
Beispiel #7
0
void GLUTCanvas::passiveMouseMotion(const int& x, const int& y) {
    // maybe there is a glutMouse that needs update
    keepMouseUpdated(x, y);

    // Create tgt and broadcast it
    MouseEvent* moveEvent = new MouseEvent(x, y, MouseEvent::MOTION, Event::MODIFIER_NONE, MouseEvent::MOUSE_BUTTON_NONE, getSize());
    getEventHandler()->broadcast(moveEvent);
}
Beispiel #8
0
static void threadCtrlCb(evutil_socket_t fd, short event, void *arg){
    GLOBAL_LOG_ENTER_FUNC("");
    //todo: figure out event is EV_READ.
    uint8_t op;
    while(-1 != read(fd, (void*)&op, 1)){}
    ProtoWorkThread* workThread = reinterpret_cast<ProtoWorkThread*>(arg);
    std::shared_ptr<ProtoEventHandler> eventHandler = getEventHandler(workThread);
    log("eventHandler.use_count() = ", eventHandler.use_count());
    eventHandler->shutdown();
    GLOBAL_LOG_LEAVE_FUNC("");
}
LRESULT CALLBACK EventHandler::wndProc( HWND hWnd, UINT uMsg, WPARAM wParam, 
                                           LPARAM lParam )
{
    EventHandler* handler = getEventHandler( hWnd );
    if( !handler )
    {
        LBERROR << "Message arrived for unregistered window" << std::endl;
        return DefWindowProc( hWnd, uMsg, wParam, lParam );
    }

    return handler->_wndProc( hWnd, uMsg, wParam, lParam );
}
Beispiel #10
0
void StreamStore::init()
{
  if (false == this->engine.expired())
  {
    auto engineObject = engine.lock();

    this->eventHandler = engineObject->getEventHandler();
    this->streamFactory = engineObject->getStreamFactory();
    this->ontology = engineObject->getOntologyInterface();
  }

//  this->readEntitiesFromOntology();
}
Beispiel #11
0
  void EventEmitter::emitEvent(EventName evn) {
    EventID id = getEventID(evn);
    if(id == 0) return;

    EventHandler evh;
    try { evh = getEventHandler(id); }
    catch (int err) {
      //std::cout << "[EventEmitter]Warning " << err
      //          << ": Unknown handler id " << id << std::endl;
      return;
    }

    evh();
  }
Beispiel #12
0
void CSulGuiDial::init()
{
	CSulGuiCanvas::init();

	setWH( m_radius*2.0f, m_radius*2.0f );

	CSulGeodeCircle* pCircle = new CSulGeodeCircle( m_radius );
	pCircle->setOffset( osg::Vec3(m_radius, m_radius, 0.0f) );
	addChild( pCircle );

	m_mt = new osg::MatrixTransform;
	osg::Matrix m;
	m.setTrans( osg::Vec3(m_radius,m_radius,0) );
	m_mt->setMatrix( m );
	CSulGeomArrow2D* pArrow = new CSulGeomArrow2D( m_radius, 10.0f, 10.0f );
	m_mt->addChild( pArrow );
	addChild( m_mt );

	getEventHandler()->wantEvent( this, this, CSulGuiEventHandler::EVENT_MOUSERELEASE ); 

	showCanvas( false );
}
void oclFluid3D::addEventHandler(srtEvent& iEvent)
{
    oclProgram::addEventHandler(iEvent);
	mIntegrateCb = getEventHandler(EVT_INTEGRATE);
}
Beispiel #14
0
//-----------------------------------------------------------------------
void PUObserver::destroyEventHandler (size_t index)
{
    destroyEventHandler(getEventHandler(index));
}
Beispiel #15
0
events::EventHandlerNonNull HTMLMarqueeElementImp::getOnstart()
{
    return interface_cast<events::EventHandlerNonNull>(getEventHandler(u"start"));
}
Beispiel #16
0
events::EventHandlerNonNull HTMLMarqueeElementImp::getOnfinish()
{
    return interface_cast<events::EventHandlerNonNull>(getEventHandler(u"finish"));
}
Beispiel #17
0
events::EventHandlerNonNull HTMLMarqueeElementImp::getOnbounce()
{
    return interface_cast<events::EventHandlerNonNull>(getEventHandler(u"bounce"));
}
Beispiel #18
0
 void CCRecordGate::registerEvents() {
     if (!isOpen()) {
         setEventHandler(CCRecordGateEventHandler::create(this));
         CCLevelUpEventDispatcher::getInstance()->addEventHandler(getEventHandler());
     }
 }
Beispiel #19
0
void InitCacheDebug()
{
	timer = new Timer("cache", getEventHandler(&CacheTimer), NULL, 10000);
	timer->start();
}