/platform/osx/scaffold/window.d

http://github.com/wilkie/djehuty · D · 148 lines · 87 code · 33 blank · 28 comment · 0 complexity · 51f6bff5b5b1e06917443a01df1855d1 MD5 · raw file

  1. module scaffold.window;
  2. import platform.vars.window;
  3. import platform.vars.view;
  4. import platform.osx.common;
  5. import graphics.view;
  6. import graphics.graphics;
  7. import core.color;
  8. import gui.window;
  9. import platform.osx.main;
  10. import core.string;
  11. import io.file;
  12. import core.main;
  13. import core.definitions;
  14. // this is an intermediate step
  15. extern(C) void _D_OSXInitView(void* windPtr, _OSXViewPlatformVars* viewVars, _OSXWindowPlatformVars* windowVars)
  16. {
  17. /*Window window = cast(Window)windPtr;
  18. WindowPlatformVars* windVars = WindowGetPlatformVars(window);
  19. windVars.viewVars = viewVars;
  20. // create the window's view object
  21. if (WindowHasView(window))
  22. {
  23. Window windref = cast(Window)window;
  24. WindowInitView(windref);
  25. }*/
  26. }
  27. // all windows
  28. extern (C) _OSXViewPlatformVars* _OSXWindowCreate(void* windowRef, _OSXWindowPlatformVars*, _OSXWindowPlatformVars**, char* initTitle, int initX, int initY, int initW, int initH);
  29. extern (C) void _OSXWindowShow(_OSXWindowPlatformVars*, int);
  30. extern (C) void _OSXWindowSetTitle(_OSXWindowPlatformVars*, char*);
  31. extern (C) void _OSXWindowStartDraw(_OSXWindowPlatformVars* windVars, _OSXViewPlatformVars* viewVars, int isSysColorWindow, double r, double g, double b);
  32. import binding.c;
  33. void WindowCreate(ref Window window, WindowPlatformVars* windowVars)
  34. {
  35. // String s = new String(window.getText());
  36. // s.appendChar('\0');
  37. // windowVars.viewVars = _OSXWindowCreate(cast(void*)window, null, &windowVars.vars, s.ptr, window.getX(), window.getY(), window.getWidth(), window.getHeight());
  38. string s = window.text;
  39. s ~= '\0';
  40. windowVars.viewVars = _OSXWindowCreate(cast(void*)window, null, &windowVars.vars, s.ptr, window.x, window.y, window.width, window.height);
  41. // show or hide the window
  42. //_OSXWindowShow(windowVars.vars, cast(int)window.getVisibility());
  43. window.onInitialize();
  44. window.onAdd();
  45. }
  46. void WindowCreate(ref Window parent, WindowPlatformVars* parentVars, ref Window window, WindowPlatformVars* windowVars)
  47. {
  48. // _OSXWindowCreate(cast(void*)window, parentVars.vars, &windowVars.vars, window.getText().ptr, window.getX(), window.getY(), window.getWidth(), window.getHeight());
  49. printf("FOO!\n");
  50. string s = window.text;
  51. s ~= '\0';
  52. windowVars.viewVars = _OSXWindowCreate(cast(void*)window, null, &windowVars.vars, s.ptr, window.x, window.y, window.width, window.height);
  53. // show or hide the window
  54. //_OSXWindowShow(windowVars.vars, cast(int)window.getVisibility());
  55. }
  56. void WindowSetStyle(ref Window window, WindowPlatformVars* windowVars)
  57. {
  58. }
  59. void WindowReposition(ref Window window, WindowPlatformVars* windowVars)
  60. {
  61. }
  62. void WindowSetState(ref Window window, WindowPlatformVars* windowVars)
  63. {
  64. }
  65. void _GatherStyleInformation(ref Window window, WindowPlatformVars* windowVars, ref uint istyle, ref uint iexstyle)
  66. {
  67. }
  68. void _ClientSizeToWindowSize(ref Window window, WindowPlatformVars* windowVars, ref int width, ref int height)
  69. {
  70. }
  71. void WindowRebound(ref Window window, WindowPlatformVars* windowVars)
  72. {
  73. }
  74. void WindowDestroy(ref Window window, WindowPlatformVars* windowVars)
  75. {
  76. }
  77. void WindowSetVisible(ref Window window, WindowPlatformVars* windowVars, bool bShow) {
  78. _OSXWindowShow(windowVars.vars, 1);
  79. }
  80. void WindowSetTitle(ref Window window, WindowPlatformVars* windowVars)
  81. {
  82. // String s = new String(window.getText());
  83. // s.appendChar('\0');
  84. string s = window.text;
  85. s ~= '\0';
  86. _OSXWindowSetTitle(windowVars.vars, s.ptr);
  87. }
  88. // CLIENT TO SCREEN
  89. // Takes a point on the window's client area and returns the actual screen
  90. // coordinates for that point.
  91. void WindowClientToScreen(ref Window window, WindowPlatformVars* windowVars, ref int x, ref int y)
  92. {
  93. }
  94. void WindowClientToScreen(ref Window window, WindowPlatformVars* windowVars, ref Coord pt)
  95. {
  96. }
  97. void WindowClientToScreen(ref Window window, WindowPlatformVars* windowVars, ref Rect rt)
  98. {
  99. }
  100. // Viewable windows
  101. void WindowStartDraw(ref Window window, WindowPlatformVars* windowVars, ref WindowView view, ref ViewPlatformVars viewVars) {
  102. _OSXWindowStartDraw(windowVars.vars, windowVars.viewVars, 1, window.color.red, window.color.green, window.color.blue);
  103. }
  104. void WindowEndDraw(ref Window window, WindowPlatformVars* windowVars, ref WindowView view, ref ViewPlatformVars viewVars)
  105. {
  106. }
  107. void WindowCaptureMouse(ref Window window, WindowPlatformVars* windowVars)
  108. {
  109. }
  110. void WindowReleaseMouse(ref Window window, WindowPlatformVars* windowVars)
  111. {
  112. }