W3DFunctionLexicon.cpp 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. /*
  2. ** Command & Conquer Generals(tm)
  3. ** Copyright 2025 Electronic Arts Inc.
  4. **
  5. ** This program is free software: you can redistribute it and/or modify
  6. ** it under the terms of the GNU General Public License as published by
  7. ** the Free Software Foundation, either version 3 of the License, or
  8. ** (at your option) any later version.
  9. **
  10. ** This program is distributed in the hope that it will be useful,
  11. ** but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. ** GNU General Public License for more details.
  14. **
  15. ** You should have received a copy of the GNU General Public License
  16. ** along with this program. If not, see <http://www.gnu.org/licenses/>.
  17. */
  18. ////////////////////////////////////////////////////////////////////////////////
  19. // //
  20. // (c) 2001-2003 Electronic Arts Inc. //
  21. // //
  22. ////////////////////////////////////////////////////////////////////////////////
  23. // FILE: W3DFunctionLexicon.cpp ///////////////////////////////////////////////////////////////////
  24. // Created: Colin Day, September 2001
  25. // Desc: Function lexicon for w3d specific function pointers
  26. ///////////////////////////////////////////////////////////////////////////////////////////////////
  27. #include <stdlib.h>
  28. #include "GameClient/GameWindow.h"
  29. #include "W3DDevice/Common/W3DFunctionLexicon.h"
  30. #include "W3DDevice/GameClient/W3DGUICallbacks.h"
  31. #include "W3DDevice/GameClient/W3DGameWindow.h"
  32. #include "W3DDevice/GameClient/W3DGadget.h"
  33. ///////////////////////////////////////////////////////////////////////////////////////////////////
  34. // PRIVATE DATA
  35. ///////////////////////////////////////////////////////////////////////////////////////////////////
  36. // Game Window draw methods -----------------------------------------------------------------------
  37. static FunctionLexicon::TableEntry gameWinDrawTable [] =
  38. {
  39. { NAMEKEY_INVALID, "GameWinDefaultDraw", GameWinDefaultDraw },
  40. { NAMEKEY_INVALID, "W3DGameWinDefaultDraw", W3DGameWinDefaultDraw },
  41. { NAMEKEY_INVALID, "W3DGadgetPushButtonDraw", W3DGadgetPushButtonDraw },
  42. { NAMEKEY_INVALID, "W3DGadgetPushButtonImageDraw", W3DGadgetPushButtonImageDraw },
  43. { NAMEKEY_INVALID, "W3DGadgetCheckBoxDraw", W3DGadgetCheckBoxDraw },
  44. { NAMEKEY_INVALID, "W3DGadgetCheckBoxImageDraw", W3DGadgetCheckBoxImageDraw },
  45. { NAMEKEY_INVALID, "W3DGadgetRadioButtonDraw", W3DGadgetRadioButtonDraw },
  46. { NAMEKEY_INVALID, "W3DGadgetRadioButtonImageDraw", W3DGadgetRadioButtonImageDraw },
  47. { NAMEKEY_INVALID, "W3DGadgetTabControlDraw", W3DGadgetTabControlDraw },
  48. { NAMEKEY_INVALID, "W3DGadgetTabControlImageDraw", W3DGadgetTabControlImageDraw },
  49. { NAMEKEY_INVALID, "W3DGadgetListBoxDraw", W3DGadgetListBoxDraw },
  50. { NAMEKEY_INVALID, "W3DGadgetListBoxImageDraw", W3DGadgetListBoxImageDraw },
  51. { NAMEKEY_INVALID, "W3DGadgetComboBoxDraw", W3DGadgetComboBoxDraw },
  52. { NAMEKEY_INVALID, "W3DGadgetComboBoxImageDraw", W3DGadgetComboBoxImageDraw },
  53. { NAMEKEY_INVALID, "W3DGadgetHorizontalSliderDraw", W3DGadgetHorizontalSliderDraw },
  54. { NAMEKEY_INVALID, "W3DGadgetHorizontalSliderImageDraw", W3DGadgetHorizontalSliderImageDraw },
  55. { NAMEKEY_INVALID, "W3DGadgetVerticalSliderDraw", W3DGadgetVerticalSliderDraw },
  56. { NAMEKEY_INVALID, "W3DGadgetVerticalSliderImageDraw", W3DGadgetVerticalSliderImageDraw },
  57. { NAMEKEY_INVALID, "W3DGadgetProgressBarDraw", W3DGadgetProgressBarDraw },
  58. { NAMEKEY_INVALID, "W3DGadgetProgressBarImageDraw", W3DGadgetProgressBarImageDraw },
  59. { NAMEKEY_INVALID, "W3DGadgetStaticTextDraw", W3DGadgetStaticTextDraw },
  60. { NAMEKEY_INVALID, "W3DGadgetStaticTextImageDraw", W3DGadgetStaticTextImageDraw },
  61. { NAMEKEY_INVALID, "W3DGadgetTextEntryDraw", W3DGadgetTextEntryDraw },
  62. { NAMEKEY_INVALID, "W3DGadgetTextEntryImageDraw", W3DGadgetTextEntryImageDraw },
  63. { NAMEKEY_INVALID, "W3DLeftHUDDraw", W3DLeftHUDDraw },
  64. { NAMEKEY_INVALID, "W3DCameoMovieDraw", W3DCameoMovieDraw },
  65. { NAMEKEY_INVALID, "W3DRightHUDDraw", W3DRightHUDDraw },
  66. { NAMEKEY_INVALID, "W3DPowerDraw", W3DPowerDraw },
  67. { NAMEKEY_INVALID, "W3DMainMenuDraw", W3DMainMenuDraw },
  68. { NAMEKEY_INVALID, "W3DMainMenuFourDraw", W3DMainMenuFourDraw },
  69. { NAMEKEY_INVALID, "W3DMetalBarMenuDraw", W3DMetalBarMenuDraw },
  70. { NAMEKEY_INVALID, "W3DCreditsMenuDraw", W3DCreditsMenuDraw },
  71. { NAMEKEY_INVALID, "W3DClockDraw", W3DClockDraw },
  72. { NAMEKEY_INVALID, "W3DMainMenuMapBorder", W3DMainMenuMapBorder },
  73. { NAMEKEY_INVALID, "W3DMainMenuButtonDropShadowDraw", W3DMainMenuButtonDropShadowDraw },
  74. { NAMEKEY_INVALID, "W3DMainMenuRandomTextDraw", W3DMainMenuRandomTextDraw },
  75. { NAMEKEY_INVALID, "W3DThinBorderDraw", W3DThinBorderDraw },
  76. { NAMEKEY_INVALID, "W3DShellMenuSchemeDraw", W3DShellMenuSchemeDraw },
  77. { NAMEKEY_INVALID, "W3DCommandBarBackgroundDraw", W3DCommandBarBackgroundDraw },
  78. { NAMEKEY_INVALID, "W3DCommandBarTopDraw", W3DCommandBarTopDraw },
  79. { NAMEKEY_INVALID, "W3DCommandBarGenExpDraw", W3DCommandBarGenExpDraw },
  80. { NAMEKEY_INVALID, "W3DCommandBarHelpPopupDraw", W3DCommandBarHelpPopupDraw },
  81. { NAMEKEY_INVALID, "W3DCommandBarGridDraw", W3DCommandBarGridDraw },
  82. { NAMEKEY_INVALID, "W3DCommandBarForegroundDraw", W3DCommandBarForegroundDraw },
  83. { NAMEKEY_INVALID, "W3DNoDraw", W3DNoDraw },
  84. { NAMEKEY_INVALID, "W3DDrawMapPreview", W3DDrawMapPreview },
  85. { NAMEKEY_INVALID, NULL, NULL },
  86. };
  87. // Game Window init methods -----------------------------------------------------------------------
  88. static FunctionLexicon::TableEntry layoutInitTable [] =
  89. {
  90. { NAMEKEY_INVALID, "W3DMainMenuInit", W3DMainMenuInit },
  91. { NAMEKEY_INVALID, NULL, NULL },
  92. };
  93. ///////////////////////////////////////////////////////////////////////////////////////////////////
  94. // PUBLIC FUNCTIONS
  95. ///////////////////////////////////////////////////////////////////////////////////////////////////
  96. //-------------------------------------------------------------------------------------------------
  97. //-------------------------------------------------------------------------------------------------
  98. W3DFunctionLexicon::W3DFunctionLexicon( void )
  99. {
  100. } // end W3DFunctionLexicon
  101. //-------------------------------------------------------------------------------------------------
  102. //-------------------------------------------------------------------------------------------------
  103. W3DFunctionLexicon::~W3DFunctionLexicon( void )
  104. {
  105. } // end ~W3DFunctionLexicon
  106. //-------------------------------------------------------------------------------------------------
  107. /** Initialize the function table specific for our implementations of
  108. * the w3d device */
  109. //-------------------------------------------------------------------------------------------------
  110. void W3DFunctionLexicon::init( void )
  111. {
  112. // extend functionality
  113. FunctionLexicon::init();
  114. // load our own tables
  115. loadTable( gameWinDrawTable, TABLE_GAME_WIN_DEVICEDRAW );
  116. loadTable( layoutInitTable, TABLE_WIN_LAYOUT_DEVICEINIT );
  117. } // end init
  118. //-------------------------------------------------------------------------------------------------
  119. /** Reset */
  120. //-------------------------------------------------------------------------------------------------
  121. void W3DFunctionLexicon::reset( void )
  122. {
  123. // Pay attention to the order of what happens in the base class as you reset
  124. // extend
  125. FunctionLexicon::reset();
  126. } // end reset
  127. //-------------------------------------------------------------------------------------------------
  128. /** Update */
  129. //-------------------------------------------------------------------------------------------------
  130. void W3DFunctionLexicon::update( void )
  131. {
  132. // extend?
  133. FunctionLexicon::update();
  134. } // end update