コード例 #1
0
void visualiserWin::initialiseStockEventHandlers()
{
	quitEvent* quitevent = new quitEvent(this);
	keyQuit* keyquit = new keyQuit(this);
	registerEventHandler(quitevent);
	registerEventHandler(keyquit);
}
コード例 #2
0
DisplayScreen::DisplayScreen(ExportScreen* _export_screen, int _screen_width, int _screen_height):
    window_height(420), window_width(337), paused(false), export_screen(_export_screen),
    screen_height(_screen_height), screen_width(_screen_width)
{
    // Initialise SDL Video */
    if (SDL_Init(SDL_INIT_VIDEO) < 0) {
        fprintf(stderr, "Could not initialize SDL: %s\n", SDL_GetError());
        exit(1);
    }

    screen = SDL_SetVideoMode(window_width,window_height, 0, SDL_HWPALETTE|SDL_DOUBLEBUF|SDL_RESIZABLE);
	
    if (screen == NULL) {
        fprintf(stderr, "Couldn't Initialize Screen: %s\n", SDL_GetError());
        exit(-1);
    }

    // Set the screen title
    SDL_WM_SetCaption("A.L.E. Viz", NULL);

    // Initialize our screen matrix
    for (int i=0; i<screen_height; ++i) { 
        IntVect row;
        for (int j=0; j<screen_width; ++j)
            row.push_back(-1);
        screen_matrix.push_back(row);
    }

    // Register ourselves as an event handler
    registerEventHandler(this);

    fprintf(stderr, "Screen Display Active. Press 'h' for help.\n");
}
コード例 #3
0
	/* CONSTRUCTORS */
	InterfaceManager::InterfaceManager(bool dispatchEvents) :
		MultiTouchEventManager(dispatchEvents)
	{
		interfaceRoot	= new Canvas(Point2f(0.0f, 0.0f), WORLD_WIDTH, WORLD_HEIGHT);

		registerEventHandler(interfaceRoot);
	}
コード例 #4
0
    /* Public */
    Camera::Camera(const Point2i &position, const Point2i &dimensions, const Point2i &frameDimensions, const Point2i &textureDimensions) :
        UIElement(position, dimensions)
    {
        this->frameDimensions = frameDimensions;
        
        int px = position.getX();
        int py = position.getY() + dimensions.getY() - CONTROL_BAR_HEIGHT;
        int dx = dimensions.getX() - 125;
        int dy = CONTROL_BAR_HEIGHT;
        
        controls = new CameraControls(Point2i(px, py), Point2i(dx, dy));
        controls->setClickedCallback(MakeDelegate(this, &Camera::controls_Clicked));
        registerEventHandler(controls);
        
        mode = new ModeToggle(Point2i(dx, py), Point2i(125, dy), "switch_slide.png", "switch_rub.png");
        mode->setClickedCallback(MakeDelegate(this, &Camera::mode_Clicked));
        registerEventHandler(mode);
        
        GLfloat data[12] =
		{
			0.0f, 0.0f, 0.0f,
			0.0f, 1.0f, 0.0f,
			1.0f, 0.0f, 0.0f,
			1.0f, 1.0f, 0.0f
		};

        float u0 = 0.0f;
        float u1 = (float)frameDimensions.getX() / (float)textureDimensions.getX();
        float v0 = 0.0f;// 
        float v1 = (float)frameDimensions.getY() / (float)textureDimensions.getY();
        GLfloat textureData[8] =
		{
			u0, v1,
			u1, v1,
			u0, v0,
			u1, v0
		};

        vbo = new GLVbo(GL_TRIANGLE_STRIP, GL_STATIC_DRAW, data, 4, textureData);
    }
コード例 #5
0
std::string
ServerMethods::connectEventHandler (std::shared_ptr<MediaObject> obj,
                                    const std::string &sessionId, const std::string &eventType,
                                    std::shared_ptr<EventHandler> handler)
{
  std::string subscriptionId;

  subscriptionId = obj->connect (eventType, handler);

  if (subscriptionId == "") {
    throw KurentoException (MEDIA_OBJECT_EVENT_NOT_SUPPORTED, "Event not found");
  }

  registerEventHandler (obj, sessionId, subscriptionId, handler);

  return subscriptionId;
}
コード例 #6
0
 /* Public */
 RubBrowserControls::RubBrowserControls(const Point2i &position, const Point2i &dimensions) :
     BrowserControls(position, dimensions)
 {
     int px = position.getX();
     int py = position.getY();
     int dx = dimensions.getX() - CONTROL_BAR_HEIGHT;
     int dy = dimensions.getY();
     
     bx = getSizef(dx);
     by = getSizef(dy);
     
     px += dx;
     dy = CONTROL_BAR_HEIGHT;
     
     exit = new ExitButton(Point2i(px, py), Point2i(dy, dy));
     exit->setClickedCallback(MakeDelegate(this, &RubBrowserControls::exit_Clicked));
     registerEventHandler(exit);
 }
コード例 #7
0
	void ObjectPicker::init(void)
	{
		clear();
		
		assert(world);
		std::vector<PhysicsObject *> objects	= world->getObjects();
		unsigned int count						= objects.size();

		if(count > 0)
		{
			unsigned int labelHeight	= getLabelHeight();
			unsigned int height			= labelHeight * 2;
			unsigned int width			= dimensions.getX() / NUM_COLS;

			for(unsigned int i = 0; i < count; i++)
			{
				PhysicsObject *o = objects[i];
				assert(o);

				unsigned int row = i / NUM_COLS;
				unsigned int col = i % NUM_COLS;
				unsigned int x = position.getX() + (col * width);
				unsigned int y = position.getY() + (row * height) + labelHeight;
			
				ObjectPickerItem *opi = new ObjectPickerItem(o, Point2i(x, y), width);
				opi->setClickedCallback(MakeDelegate(this, &ObjectPicker::object_Clicked));

				items.push_back(opi);
				registerEventHandler(opi);
			}

			unsigned int rows = ((count - 1) / NUM_COLS) + 1;
			dimensions.setY(labelHeight + (rows * height));
		}
		else
		{
			dimensions.setY(0);
		}
	}
コード例 #8
0
	void ObjectMenu::updateState(void)
	{
		unregisterEventHandler(circleMenu);
		unregisterEventHandler(squareMenu);
		unregisterEventHandler(triangleMenu);
		unregisterEventHandler(particleEmitterMenu);
		unregisterEventHandler(bombMenu);
		unregisterEventHandler(wheelMenu);

		switch(state)
		{
			case PhysicsObject::CIRCLE:
				registerEventHandler(circleMenu);
				break;

			case PhysicsObject::SQUARE:
				registerEventHandler(squareMenu);
				break;

			case PhysicsObject::TRIANGLE:
				registerEventHandler(triangleMenu);
				break;

			case PhysicsObject::PARTICLES:
				registerEventHandler(particleEmitterMenu);
				break;

			case PhysicsObject::BOMB:
				registerEventHandler(bombMenu);
				break;

			case PhysicsObject::WHEEL:
				registerEventHandler(wheelMenu);
				break;
		}
	}
コード例 #9
0
ファイル: eventmanager.cpp プロジェクト: ginggs/quassel2go
void EventManager::registerEventHandler(EventType event, QObject *object, const char *slot, Priority priority, bool isFilter) {
  registerEventHandler(QList<EventType>() << event, object, slot, priority, isFilter);
}
コード例 #10
0
ファイル: eventmanager.cpp プロジェクト: ginggs/quassel2go
void EventManager::registerEventFilter(QList<EventType> events, QObject *object, const char *slot) {
  registerEventHandler(events, object, slot, NormalPriority, true);
}