• Armin Krezović's avatar
    weston: Port headless backend to new output handling API · 7fb17756
    Armin Krezović authored
    This is a complete port of the headless backend that
    uses the recently added output handling API for output
    configuration.
    
    - Output can be configured at runtime by passing the
      necessary configuration parameters, which can be
      filled in manually, obtained from the configuration
      file or obtained from the command line using
      previously added functionality. It is required that
      the scale and transform values are set using the
      previously added functionality.
    
    - Output can be created at runtime using the output
      API. The output creation only creates a pending
      output, which needs to be configured the same way as
      mentioned above.
    
    After everything has been set, output needs to be
    enabled manually using weston_output_enable().
    
    Same as before, a single output is created at runtime
    using the default configuration or a configuration
    parsed from the command line. The no-outputs
    functionality is also preserved, which means that no
    output will be created initially, but more outputs can
    be added at runtime using the output API.
    
    New feature:
    
    This patch also adds, as a bonus of using shared
    functionality, support for setting options for outputs
    created by this backend in the weston config file in
    addition to setting them from the command line.
    
    v2:
    
     - Fix wet_configure_windowed_output_from_config() usage.
     - Call headless_output_disable() explicitly from
       headless_output_destroy().
    
    v3:
    
     - Add scale support to output width and height.
     - Use scaled values in calls to various functions which
       require width and height.
     - Disallow calling headless_output_configure more than once.
     - Remove unneeded checks for output->name == NULL as that
       has been disallowed.
     - Use weston_compositor_add_pending_output().
     - Bump weston_headless_backend_config version to 2.
    Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
    Signed-off-by: default avatarArmin Krezović <krezovic.armin@gmail.com>
    7fb17756
compositor-headless.h 1.58 KB