Skip to content
  • Emmanuele Bassi's avatar
    event/x11: Rework the way we translate X11 events · 1b1e77b4
    Emmanuele Bassi authored
    This is a lump commit that is fairly difficult to break down without
    either breaking bisecting or breaking the test cases.
    
    The new design for handling X11 event translation works this way:
    
      - ClutterBackend::translate_event() has been added as the central
        point used by a ClutterBackend implementation to translate a
        native event into a ClutterEvent;
    
      - ClutterEventTranslator is a private interface that should be
        implemented by backend-specific objects, like stage
        implementations and ClutterDeviceManager sub-classes, and
        allows dealing with class-specific event translation;
    
      - ClutterStageX11 implements EventTranslator, and deals with the
        stage-relative X11 events coming from the X11 event source;
    
      - ClutterStageGLX overrides EventTranslator, in order to
        deal with the INTEL_GLX_swap_event extension, and it chains up
        to the X11 default implementation;
    
      - ClutterDeviceManagerX11 has been split into two separate classe...
    1b1e77b4