Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi-window support in Sdl2Application and GlfwApplication #168

Draft
wants to merge 9 commits into
base: master
Choose a base branch
from

Commits on Feb 5, 2024

  1. Configuration menu
    Copy the full SHA
    001cc8f View commit details
    Browse the repository at this point in the history
  2. Platform: drop unneeded Windowless*Application constructor overloads.

    The Configuration class is defined on the Windowless*Context already,
    which means it's available at the point where the constructor is defined
    and thus there's no need for such workarounds anymore.
    mosra committed Feb 5, 2024
    Configuration menu
    Copy the full SHA
    21fc128 View commit details
    Browse the repository at this point in the history
  3. Platform: clean up windowed *Application constructor overloads as well.

    This is just documentation-facing, instead of documenting an overload as
    having a default-constructed argument simply show just one constructor
    with a default value.
    
    Also simplify the wording. They either create an OpenGL context or not
    (or not implicitly).
    mosra committed Feb 5, 2024
    Configuration menu
    Copy the full SHA
    c602b51 View commit details
    Browse the repository at this point in the history
  4. Platform: disallow WindowFlag::Contextless when creating a GL context.

    Used to be silently ignored in some places, silently discarded in some
    other and probably causing an error elsewhere. Better be strict instead.
    mosra committed Feb 5, 2024
    Configuration menu
    Copy the full SHA
    a21636f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    17dd7bb View commit details
    Browse the repository at this point in the history
  6. Platform: nobody's ever going to use ~Configuration::WindowFlags{}.

    So don't bother building the correct mask of it.
    mosra committed Feb 5, 2024
    Configuration menu
    Copy the full SHA
    6394c85 View commit details
    Browse the repository at this point in the history
  7. [wip] Platform: create a Sdl2ApplicationWindow base class.

    Mostly just code motion and related documentation updates because
    Doxygen is such a crap that it can link to functions defined in a base
    class but not types! FFS.
    
    No actual multi-window support yet, that'll be in the next commits to
    avoid this noise obscuring them.
    
    TODO: Sdl2Window instead?
    TODO: unsure about certain APIs, whether they should be per-window or
    not
     - contextless / gl / vulkan?
     - mouse warp?
     - ...?
    mosra committed Feb 5, 2024
    Configuration menu
    Copy the full SHA
    a902b84 View commit details
    Browse the repository at this point in the history
  8. Platform: make GPU context options application-global.

    Instead of per-window. It's just too complicated to allow some windows
    with GL context, some with Vulkan, some with neither and some with
    both. For now at least.
    mosra committed Feb 5, 2024
    Configuration menu
    Copy the full SHA
    e192be5 View commit details
    Browse the repository at this point in the history
  9. [wip] everything is terrible

    TODO: some of this (the configuration DPI scaling/policy) should go to
      the previos commit i guess?
    mosra committed Feb 5, 2024
    Configuration menu
    Copy the full SHA
    17c74b2 View commit details
    Browse the repository at this point in the history