Skip to content
Snippets Groups Projects
  1. Oct 11, 2024
    • Deucе's avatar
      Store window size on size change event. · f8044342
      Deucе authored
      Allows arbitrary sized windows on Darwin... the OS is still scaling
      the window contents though rather than allowing us to dynamically
      update them.
      f8044342
  2. Sep 23, 2024
  3. Mar 17, 2024
  4. Mar 05, 2024
    • Deucе's avatar
      Fix for SourceForge issue 134 · 447830b4
      Deucе authored
      Translation from mouse coordinates to screen coordinates had issues
      with internal vs. external scaling and for when there are gutters
      (ie: black bars) on the edges.
      
      This change snaps all gutter clicks to the nearest position inside
      the window instead of discarding them, and ensures the calculations
      are correct regardless of scaling mode.
      
      Win32GDI mode was not tested, the only change there was to stop
      ignoring mouse positions in the gutters.
      447830b4
  5. Feb 17, 2024
  6. Feb 16, 2024
  7. Feb 11, 2024
  8. Dec 09, 2023
  9. Jul 30, 2023
  10. Jun 09, 2023
    • Deucе's avatar
      Fix more Coverity "Issues" · 519f09a5
      Deucе authored
      Add some malloc() return checks, comment fall-throughs, and resolve
      a sleep while holding lock.
      
      None of these should actually matter, so hopefully I didn't add a
      new bug.
      519f09a5
  11. Jun 07, 2023
    • Deucе's avatar
      Work around marco or SDL bug in SDL_SetWindowMinimumSize() · 18fd98aa
      Deucе authored
      When using the marco WM, and resizing using ALT-Right-drag, calls to
      SDL_SetWindowMinimumSize() result in the top-left corner of the
      window moving up and to the left (appears to be by the border size).
      
      To prevent this from being a maddening issue under marco, ensure
      we only call SDL_SetWindowMinimumSize() once when the minimum size
      changes on the window.
      
      Fixes SF ticket 115, thanks Ragnarok!
      
      While we're hear, ensure the minimium maximum window size holds
      the original sized window... we're not interested in downscaling.
      18fd98aa
  12. Jun 04, 2023
  13. Jun 03, 2023
  14. Jun 01, 2023
  15. May 15, 2023
  16. May 13, 2023
  17. May 12, 2023
    • Deucе's avatar
      Use a double for scaling instead of an integer · f9808ca5
      Deucе authored
      All bitmap drivers now support arbitrary scaling, and the scaling
      factor is a double, allowing arbitrary window scaling in all bitmap
      modes (making nelgin happy).
      
      While we're here, fix bugs in horizontal interpolation and X window
      resizeing.
      f9808ca5
  18. May 07, 2023
    • Deucе's avatar
      Add a new ciolib_initial_mode global variable · be69d658
      Deucе authored
      For graphical modes, this requests that ciolib be initialized in
      the specified mode.  For text-based modes (ANSI, Curses, Win32 Console),
      this is not used and "current" is used instead.
      be69d658
  19. May 06, 2023
  20. May 04, 2023
  21. May 03, 2023
    • Deucе's avatar
      Implement set/get scaling for SDL and GDI. · 81c23f17
      Deucе authored
      This is now simple to implement.
      
      Also, add ciolib_initial_scaling so the initial window can be created
      with the appropriate scaling already applied.
      
      We still need a way to specifiy the initial text mode, but these
      globals are not the right way.
      81c23f17
  22. May 02, 2023
  23. Apr 29, 2023
    • Deucе's avatar
      Don't treat numpad /*-+ differently based on NumLock in SDL · 6582f296
      Deucе authored
      This caused double-keys on those when numlock was off.  Only the
      number keys and period need special NumLock handling.
      
      Fixes bug 108 on SourceForge, thanks nelgin!
      6582f296
    • Deucе's avatar
      Default to building with GDI · f7a2fd72
      Deucе authored
      Add setwinsize and setwinpos
      Move blit from rect into gdi_thread
      Add beep support
      Add (non-functional) settitle support
      Support ciolib scaling in addition to GDI scaling
      Add window-size snapping
      Support -iG in SyncTERM
      
      GDI is still the second-least preferred mode, so auto mode will only
      use it if the windows console somehow fails.  But at least people
      can play with it.
      f7a2fd72
  24. Apr 26, 2023
  25. Apr 25, 2023
  26. Apr 24, 2023
    • Deucе's avatar
      Remove blinker_lock · 2333bcc1
      Deucе authored
      This lock has devolved into a wrapper lock for vstatlock.
      2333bcc1
    • Deucе's avatar
      Some minor synchronization fiddling · acb867df
      Deucе authored
      Use pthread_once() for init_mouse() instead of a global
      Fix some lock issues in cb_drawrect()
      acb867df
    • Deucе's avatar
      Use a single memmove() when moving the entire width. · d0240b88
      Deucе authored
      When fast scrolling, memmove() takes most of the CPU by far... it
      is likely actually worth having each line be a buffer of its own
      and just moving the pointers around.  To help with this optimization
      in the future, move the screen memmove() bit into a separate function.
      d0240b88
  27. Apr 23, 2023
  28. Apr 22, 2023
  29. Apr 21, 2023
    • Deucе's avatar
      Get vstat out of sdl_add_key() path · 86e67556
      Deucе authored
      This should almost completely remove vstatlock contention in SyncTERM,
      which should bring SDL output performance close to X11 performance.
      86e67556
    • Deucе's avatar
      Push cvstat into sdl_video_event_thread() stack · 6db09d3c
      Deucе authored
      This makes cvstat work as intended, so we no longer need to lock
      vstatlock when accessing it since it's only accessed from the
      video event thread.
      
      There's still an irritating dependency on vstat for ALT-Enter handling.
      6db09d3c
Loading