• Screwtape's avatar
    Update to v104r13 release. · 1ff31583
    Screwtape authored
    byuu says:
    
    Changelog:
    
      - nall/GNUmakefile: build=release changed to -O2, build=optimize is
        now -O3
      - hiro: added Monitor::dpi(uint index) → Position [returns logical
        DPI for x, y]
          - Position is a bad name, but dpi(monitor).(x,y)() make more sense
            than .(width,height)()
      - hiro: Position, Size, Geometry, Font changed from using signed int
        to float
      - hiro: Alignment changed from using double to float
      - hiro: added skeleton (unused) Application::scale(), setScale()
        functions
    
    Errata:
    
      - hiro/cocoa's Monitor::dpi() is untested. Probably will cause issues
        with macOS' automatic scaling.
      - hiro/gtk lacks a way to get both per-monitor and per-axis (x,y) DPI
        scaling
      - hiro/qt lacks a way to get per-monitor DPI scaling (Qt 5.x has this,
        but I still use Qt 4.x)
          - and just to get global DPI, hiro/qt's DPI retrieval has to use
            undocumented functions ... fun
    
    The goal with this WIP was basically to prepare hiro for potential
    automatic scaling. It'll be extremely difficult, but I'm convinced that
    it must be possible if macOS can do it.
    
    By moving from signed integers to floats for coordinates, we can now
    scale and unscale without losing precision. That of course isn't the
    hard part, though. The hard part is where and how to do the scaling. In
    the ideal application, hiro/core and hiro/extension will handle 100% of
    this, and the per-platform hiro/(cocoa,gtk,qt,windows) will not be aware
    of what's going on, but ... to even make that possible, things will need
    to change in every per-platform core, eg the per-platform code will have
    to call a core function to change geometry, which will know about the
    scaling and unscale the values back down again.
    
    Gonna be a lot of work, but ... it's a start.
    1ff31583
Name
Last commit
Last update
docs Loading commit data...
higan Loading commit data...
hiro Loading commit data...
icarus Loading commit data...
libco Loading commit data...
nall Loading commit data...
ruby Loading commit data...
shaders Loading commit data...
.gitignore Loading commit data...
.gitlab-ci.yml Loading commit data...
CONTRIBUTING.md Loading commit data...
README.md Loading commit data...
mkdocs.yml Loading commit data...