fltksystem.bmx 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. ' fltksystem.bmx
  2. Strict
  3. Import BRL.System
  4. Import "fltkimports.bmx"
  5. Private
  6. Include "fltkdecls.bmx"
  7. ?Win32
  8. Const NATIVEREQUESTERS=1
  9. ?MacOS
  10. Const NATIVEREQUESTERS=0
  11. ?Linux
  12. Const NATIVEREQUESTERS=0
  13. ?
  14. Public
  15. Type TFLSystemDriver Extends TSystemDriver
  16. Field NativeDriver:TSystemDriver
  17. Method New()
  18. NativeDriver=brl.System.Driver
  19. End Method
  20. Method Poll()
  21. NativeDriver.Poll()
  22. End Method
  23. Method Wait()
  24. NativeDriver.Wait()
  25. End Method
  26. Method Emit( osevent:Byte Ptr,source:Object )
  27. Throw "simon come here"
  28. End Method
  29. Method IsFullScreen()
  30. Return False
  31. End Method
  32. Method SetMouseVisible(bool)
  33. NativeDriver.SetMouseVisible bool
  34. End Method
  35. Method MoveMouse( x,y )
  36. NativeDriver.MoveMouse x,y
  37. End Method
  38. Method Notify( text$,serious )
  39. If NATIVEREQUESTERS Return NativeDriver.Notify(text,serious)
  40. If IsFullScreen() RuntimeError "Notify currently not supported in fullscreen mode."
  41. If serious serious=1
  42. flRequest(text,serious)
  43. End Method
  44. Method Confirm( text$,serious )
  45. If NATIVEREQUESTERS Return NativeDriver.Confirm(text,serious)
  46. If IsFullScreen() RuntimeError "Confirm currently not supported in fullscreen mode."
  47. Return flRequest(text,2)
  48. End Method
  49. Method Proceed( text$,serious )
  50. If NATIVEREQUESTERS Return NativeDriver.Proceed(text,serious)
  51. If IsFullScreen() RuntimeError "Proceed currently not supported in fullscreen mode."
  52. Return flRequest(text,3)-1 'yes/no/cancel -> 1,0,-1
  53. End Method
  54. Method RequestFile$( text$,exts$,save,file$ )
  55. If NATIVEREQUESTERS Return NativeDriver.RequestFile( text$,exts$,save,file$ )
  56. If IsFullScreen() RuntimeError "RequestFile currently not supported in fullscreen mode."
  57. If exts
  58. If exts.Find(":")<>-1
  59. exts=exts.Replace(":","(*.{")
  60. exts=exts.Replace(";","})~t")
  61. exts:+"})"
  62. exts=exts.Replace("*.{*}","*")
  63. Else
  64. exts="(*.{"+exts+"})"
  65. EndIf
  66. EndIf
  67. Return flRequestFile(text,exts,file,save)
  68. End Method
  69. Method RequestDir$( text$,path$ )
  70. If NATIVEREQUESTERS Return NativeDriver.RequestDir( text$,path$ )
  71. If IsFullScreen() RuntimeError "RequestFile currently not supported in fullscreen mode."
  72. Return flRequestDir(text,path,0)
  73. End Method
  74. Method OpenURL( url$ )
  75. Return NativeDriver.OpenURL(url)
  76. End Method
  77. End Type