Пример #1
0
	GLXPlatformContext::GLXPlatformContext()
	{
		mInitialized = false;
		mDisplay = 0;
		mVisual = 0;
		createSignal("WindowResized");
		createSignal("WindowClosed");
	}
Пример #2
0
// signal activation setup
VRSignal* VRDevice::addSignal(int key) {
    BStates[key] = false;

    // activation signal
    VRSignal* sigA = createSignal(key, 1);
    sigA->setUpdate(true);

    // deactivation signal
    VRSignal* sigB = createSignal(key, 0);
    sigB->add( new VRDevCb("Device_remUpdate", boost::bind(&VRDevice::remUpdateSignal, this, sigA, _1)) );

    return sigA;
}
Пример #3
0
// signal activation setup
VRSignalPtr VRDevice::addToggleSignal(int key) {
    BStates[key] = false;

    // activation signal
    VRSignalPtr sigA = createSignal(key, 1);
    sigA->setUpdate(true);

    // deactivation signal
    VRSignalPtr sigB = createSignal(key, 0);
    auto fkt = VRFunction<VRDevice*>::create("Device_remUpdate", boost::bind(&VRDevice::remUpdateSignal, this, sigA, _1));
    sigB->add( fkt );
    deactivationCallbacks[sigA.get()] = fkt;

    return sigA;
}
Пример #4
0
	FPSCamera::FPSCamera()
		:Object(),mPitch(0)
	{
		createSlot("look",this,&FPSCamera::look);
		EventHandler::getDestination("OISSubsystem")->getSignal("mouseMoved")
			->addListener(getSlot("look"));
    createSignal("moved");

		mOgre = Engine::getPtr()->getSubsystem("OgreSubsystem")->castType<OgreSubsystem>();
		mOIS = Engine::getPtr()->getSubsystem("OISSubsystem")->castType<OISSubsystem>();

		mCamera = mOgre->createCamera();
		mCamera->setFarClip(1000.f);
		mCamera->setNearClip(0.1f);
		mOgre->setActiveCamera(mCamera);

		mRollNode = mOgre->createSceneNode();
		mYawNode = mOgre->createSceneNode();
		mPitchNode = mOgre->createSceneNode();
		mPosNode = mOgre->createSceneNode();
		mOriNode = mOgre->createSceneNode();

		mOgre->getRootSceneNode()->addChild(mPosNode);
		mPosNode->addChild(mOriNode);
		mOriNode->addChild(mYawNode);
		mYawNode->addChild(mPitchNode);
		mPitchNode->addChild(mRollNode);
		mRollNode->addChild(mCamera);

		mCamera->setFOV(75.f);
	}
Пример #5
0
    void test_signal3()
    {
#ifdef DBUSTL_CXX0X
        emitSignal("TestSignal3", "Signal 3 value", dbustl::Interface("com.example.AlternateInterface"));
#else
        dbustl::Message signal = createSignal("TestSignal3", "com.example.AlternateInterface");
        signal << "Signal 3 value";
        emitSignal(signal);
#endif
    };
Пример #6
0
    void test_signal()
    {
#ifdef DBUSTL_CXX0X
        emitSignal("TestSignal", "Signal 1 value");
#else
        dbustl::Message signal = createSignal("TestSignal");
        signal << "Signal 1 value";
        emitSignal(signal);
#endif
    };
Пример #7
0
	Batch::Batch(Oyster::Batch* b)
		:GUIElement(0),mOysterBatch(b),mWidth(b->getWidth()),mHeight(b->getHeight())
	{
		createSignal("update");
		createSignal("clickUp");
		createSignal("mouseMoved");

		mHovered = 0;
		mClicked = 0;

		mBatch = this;
		mCursor = 0;//new Empty(this, 9001);// the layer is OVER NINE THOUSAND (aka, it's always on top)
		//addChild(mCursor);
	
		createSlot("mouseMoved", this, &Batch::mouseMoved);
		createSlot("mouseUp", this, &Batch::mouseUp);
		createSlot("mouseDown", this, &Batch::mouseDown);
		createSlot("keyUp", this, &Batch::keyUp);
		createSlot("keyDown", this, &Batch::keyDown);
		createSlot("charUp", this, &Batch::charUp);
		createSlot("charDown", this, &Batch::charDown);
	}
Пример #8
0
int main(int argc, char* argv[]) {
  Signal* signals = NULL;
  unsigned int nsignals = 0;

  const char* vcd_file = argv[1];
  char* name;
  char id;

  // Read VCD file
  FILE* fp;
  char* line = NULL;
  ssize_t len = 0;

  char* token = NULL;
  char* signalName = NULL;
  char signalId;

  if((fp = fopen(vcd_file, "r")) == NULL) {
    fprintf(stderr, "Failed to open VCD file: %s\n", vcd_file);
    exit(1);
  }

  unsigned char dumpVarsStarted = 0,
                dumpVarsEnded = 0;
  unsigned int timestamp = 0;
  while (getline(&line, &len, fp) != -1) {
    // Removing trailing line break
    if (line[strlen(line)-1] == '\n') {
      line[strlen(line)-1] = '\0';
    }

    // Signal declaration line
    if (startsWith("$var", line)) {
      // Ignore the first 3 parts of string.
      // Signal symbol is in the 4o part.
      // Signal name is in the 5o part.
      strtok(line, " ");
      strtok(NULL, " ");
      strtok(NULL, " ");
      token = strtok(NULL, " ");
      signalName = strtok(NULL, " ");
      signalId = token[0];
      createSignal(&signals, &nsignals, signalName, signalId);
    }
    else if (startsWith("$dumpvars", line)) {
      dumpVarsStarted = 1;
    }
    else if (startsWith("$end", line) && dumpVarsStarted) {
      dumpVarsEnded = 1;
    }
    else if (dumpVarsEnded) {
      if (line[0] == '#') {
        // Timestamp update
        char timestampStr[16];
        strcpy(timestampStr, line+1);
        timestamp = atoi(timestampStr);
      }
      else {
        // Signal value update
        unsigned char value  = line[0] - 0x30;
        char symbol = line[strlen(line)-1];
        Signal* signal = findSignalBySymbol(signals, nsignals, symbol);
        assignSignalUpdate(signal, value, timestamp);
      }
    }
  }

  // close all signals counters
  unsigned int i;
  for (i = 0; i < nsignals; i++) {
    closeSignalCounters(&signals[i], timestamp);
  }

  printf("--- REPORT ---\n");
  Signal *sigShortDelay = NULL,
         *sigLongDelay  = NULL;
  for(i = 0; i < nsignals; i++) {
    printSignal(&signals[i]);

    if (sigShortDelay == NULL || signals[i].shortestIdleDelay < sigShortDelay->shortestIdleDelay) {
      sigShortDelay = &signals[i];
    }

    if (sigLongDelay == NULL || signals[i].longestIdleDelay > sigLongDelay->longestIdleDelay) {
      sigLongDelay = &signals[i];
    }
  }

  printf("\nNumber of Signals: %d\n", nsignals);
  printf("Shortest delay: signal \"%s\" with delay of %d\n", sigShortDelay ? sigShortDelay->name : "", sigShortDelay ? sigShortDelay->shortestIdleDelay : -1);
  printf("Longest  delay: signal \"%s\" with delay of %d\n", sigLongDelay ? sigLongDelay->name : "", sigLongDelay ? sigLongDelay->longestIdleDelay : -1);

  return 0;
}
Пример #9
0
	void OISSubsystem::_init()
	{
		if(!mInitialized)
		{
			Logger::getPtr()->logMessage("OIS Subsystem starting up...");

			createSignal("keyPressed");   // passes keycode on press
			createSignal("keyReleased");  // passes keycode on release
			createSignal("charPressed");  // passes char value on press
			createSignal("charReleased");  // passes char value on release
			createSignal("mousePressed"); // passes mouse button code on click
			createSignal("mouseReleased"); // passes mouse button code on release
			createSignal("mouseMoved");   // passes mouse pos on move
			createSignal("mouseMovedAbs");// passes absolute mouse pos when moved
			createSignal("mouseScrolled");   // passes mouse pos on move
			createSignal("mouseScrolledAbs");// passes absolute mouse pos when moved


			assignConversions();

			std::map<uint,String>::iterator it = mKeys.begin();
			for(it;it!=mKeys.end();++it)
			{
				mKeyNames[it->second] = it->first;
				mKeyStates[it->first] = false;
				createSignal("released_"+it->second);
				createSignal("pressed_"+it->second);
			}

			std::vector<String>::iterator iter = mButtons.begin();
			int i = 0;
			for(iter;iter!=mButtons.end();++iter)
			{
				mButtonNames[*iter] = i;
				mButtonStates.push_back(false);
				createSignal("released_"+(*iter));
				createSignal("pressed_"+(*iter));
				++i;
			}

			mKeyPresses = mKeyStates;
			mButtonPresses = mButtonStates;

			Logger::getPtr()->logMessage("OIS Subsystem started up.");
			mInitialized = true;
		}
	}
Пример #10
0
// signal event setup
VRSignal* VRDevice::addSignal(int key, int state) {
    VRSignal* sig = createSignal(key, state);
    BStates[key] = false;
    return sig;
}
Пример #11
0
VRSignal* VRDevice::addSlider(int key) {
    VRSignal* sig = createSignal(key, 0);
    SStates[key] = 0;
    return sig;
}
Пример #12
0
 void test_signal2()
 {
     dbustl::Message signal = createSignal("TestSignal2");
     signal << "Signal 2 string value" << -1;
     emitSignal(signal);
 };