Advertisement
Vlue

Basic Window Resizer

Aug 5th, 2012
16,736
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 2.27 KB | None | 0 0
  1. #Basic Window Resizer v1.1
  2. #----------#
  3. #Features: Allows you to resize the window to whatever size you like! (This is not
  4. #            like Graphics.resize, this will scale to fit)
  5. #
  6. #Usage:   Script calls:
  7. #           Window_Resize.r(width, height)     - Self-explanatory
  8. #           Window_Resize.f                    - fits the game window to monitor size
  9. #           Window_Resize.full                 - switches to full screen unless already fullscreened
  10. #           Window_Resize.window               - same as full but opposite
  11. #           Window_Resize.toggle               - toggles between full and window
  12. #
  13. #No Customization
  14. #
  15. #----------#
  16. #-- Script by: V.M of D.T
  17. #
  18. #- Questions or comments can be:
  19. #    given by email: sumptuaryspade@live.ca
  20. #    provided on facebook: http://www.facebook.com/DaimoniousTailsGames
  21. #   All my other scripts and projects can be found here: http://daimonioustails.weebly.com/
  22. #
  23. #--- Free to use in any project, commercial or non-commercial, with credit given
  24. # - - Though a donation's always a nice way to say thank you~ (I also accept actual thank you's)
  25.  
  26. SWPO = Win32API.new 'user32', 'SetWindowPos', ['l','i','i','i','i','i','p'], 'i'
  27. WINX = Win32API.new 'user32', 'FindWindowEx', ['l','l','p','p'], 'i'
  28. SMET = Win32API.new 'user32', 'GetSystemMetrics', ['i'], 'i'
  29.  
  30. module Window_Resize
  31.   def self.r(width, height)
  32.     resw = SMET.call(0)
  33.     resh = SMET.call(1)
  34.     window_loc = WINX.call(0,0,"RGSS Player",0)
  35.     width += (SMET.call(5) + SMET.call(45)) * 2
  36.     height += (SMET.call(6) + SMET.call(45)) * 2 + SMET.call(4)
  37.     x = (resw - width) / 2; y = (resh - height) / 2
  38.     y = 0 if y < 0;x = 0 if x < 0
  39.     SWPO.call(window_loc,0,x,y,width,height,0)
  40.   end
  41.   def self.f
  42.     resw = SMET.call(0)
  43.     resh = SMET.call(1)
  44.     window_loc = WINX.call(0,0,"RGSS Player",0)
  45.     SWPO.call(window_loc,0,0,0,resw,resh,0)
  46.   end
  47.   def self.full
  48.     resw = SMET.call(0)
  49.     return unless resw > 640
  50.     toggle
  51.   end
  52.   def self.window
  53.     resw = SMET.call(0)
  54.     return unless resw <= 640
  55.     toggle
  56.   end
  57.   def self.toggle
  58.     keybd = Win32API.new 'user32.dll', 'keybd_event', ['i', 'i', 'l', 'l'], 'v'
  59.     keybd.call 0xA4, 0, 0, 0
  60.     keybd.call 13, 0, 0, 0
  61.     keybd.call 13, 0, 2, 0
  62.     keybd.call 0xA4, 0, 2, 0
  63.   end
  64. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement