llwindowheadless.h
上传用户:king477883
上传日期:2021-03-01
资源大小:9553k
文件大小:5k
源码类别:

游戏引擎

开发平台:

C++ Builder

  1. /** 
  2.  * @file llwindowheadless.h
  3.  * @brief Headless definition of LLWindow class
  4.  *
  5.  * $LicenseInfo:firstyear=2001&license=viewergpl$
  6.  * 
  7.  * Copyright (c) 2001-2010, Linden Research, Inc.
  8.  * 
  9.  * Second Life Viewer Source Code
  10.  * The source code in this file ("Source Code") is provided by Linden Lab
  11.  * to you under the terms of the GNU General Public License, version 2.0
  12.  * ("GPL"), unless you have obtained a separate licensing agreement
  13.  * ("Other License"), formally executed by you and Linden Lab.  Terms of
  14.  * the GPL can be found in doc/GPL-license.txt in this distribution, or
  15.  * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
  16.  * 
  17.  * There are special exceptions to the terms and conditions of the GPL as
  18.  * it is applied to this Source Code. View the full text of the exception
  19.  * in the file doc/FLOSS-exception.txt in this software distribution, or
  20.  * online at
  21.  * http://secondlifegrid.net/programs/open_source/licensing/flossexception
  22.  * 
  23.  * By copying, modifying or distributing this software, you acknowledge
  24.  * that you have read and understood your obligations described above,
  25.  * and agree to abide by those obligations.
  26.  * 
  27.  * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
  28.  * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
  29.  * COMPLETENESS OR PERFORMANCE.
  30.  * $/LicenseInfo$
  31.  */
  32. #ifndef LL_LLWINDOWHEADLESS_H
  33. #define LL_LLWINDOWHEADLESS_H
  34. #include "llwindow.h"
  35. class LLWindowHeadless : public LLWindow
  36. {
  37. public:
  38. /*virtual*/ void show() {};
  39. /*virtual*/ void hide() {};
  40. /*virtual*/ void close() {};
  41. /*virtual*/ BOOL getVisible() {return FALSE;};
  42. /*virtual*/ BOOL getMinimized() {return FALSE;};
  43. /*virtual*/ BOOL getMaximized() {return FALSE;};
  44. /*virtual*/ BOOL maximize() {return FALSE;};
  45. /*virtual*/ void minimize() {};
  46. /*virtual*/ void restore() {};
  47. /*virtual*/ BOOL getFullscreen() {return FALSE;};
  48. /*virtual*/ BOOL getPosition(LLCoordScreen *position) {return FALSE;};
  49. /*virtual*/ BOOL getSize(LLCoordScreen *size) {return FALSE;};
  50. /*virtual*/ BOOL getSize(LLCoordWindow *size) {return FALSE;};
  51. /*virtual*/ BOOL setPosition(LLCoordScreen position) {return FALSE;};
  52. /*virtual*/ BOOL setSize(LLCoordScreen size) {return FALSE;};
  53. /*virtual*/ BOOL switchContext(BOOL fullscreen, const LLCoordScreen &size, BOOL disable_vsync, const LLCoordScreen * const posp = NULL) {return FALSE;};
  54. /*virtual*/ BOOL setCursorPosition(LLCoordWindow position) {return FALSE;};
  55. /*virtual*/ BOOL getCursorPosition(LLCoordWindow *position) {return FALSE;};
  56. /*virtual*/ void showCursor() {};
  57. /*virtual*/ void hideCursor() {};
  58. /*virtual*/ void showCursorFromMouseMove() {};
  59. /*virtual*/ void hideCursorUntilMouseMove() {};
  60. /*virtual*/ BOOL isCursorHidden() {return FALSE;};
  61. /*virtual*/ void setCursor(ECursorType cursor) {};
  62. //virtual ECursorType getCursor() { return mCurrentCursor; };
  63. /*virtual*/ void captureMouse() {};
  64. /*virtual*/ void releaseMouse() {};
  65. /*virtual*/ void setMouseClipping( BOOL b ) {};
  66. /*virtual*/ BOOL isClipboardTextAvailable() {return FALSE; };
  67. /*virtual*/ BOOL pasteTextFromClipboard(LLWString &dst) {return FALSE; };
  68. /*virtual*/ BOOL copyTextToClipboard(const LLWString &src) {return FALSE; };
  69. /*virtual*/ void flashIcon(F32 seconds) {};
  70. /*virtual*/ F32 getGamma() {return 1.0f; };
  71. /*virtual*/ BOOL setGamma(const F32 gamma) {return FALSE; }; // Set the gamma
  72. /*virtual*/ void setFSAASamples(const U32 fsaa_samples) { }
  73. /*virtual*/ U32 getFSAASamples() { return 0; }
  74. /*virtual*/ BOOL restoreGamma() {return FALSE; }; // Restore original gamma table (before updating gamma)
  75. //virtual ESwapMethod getSwapMethod() { return mSwapMethod; }
  76. /*virtual*/ void gatherInput() {};
  77. /*virtual*/ void delayInputProcessing() {};
  78. /*virtual*/ void swapBuffers();
  79. // handy coordinate space conversion routines
  80. /*virtual*/ BOOL convertCoords(LLCoordScreen from, LLCoordWindow *to) { return FALSE; };
  81. /*virtual*/ BOOL convertCoords(LLCoordWindow from, LLCoordScreen *to) { return FALSE; };
  82. /*virtual*/ BOOL convertCoords(LLCoordWindow from, LLCoordGL *to) { return FALSE; };
  83. /*virtual*/ BOOL convertCoords(LLCoordGL from, LLCoordWindow *to) { return FALSE; };
  84. /*virtual*/ BOOL convertCoords(LLCoordScreen from, LLCoordGL *to) { return FALSE; };
  85. /*virtual*/ BOOL convertCoords(LLCoordGL from, LLCoordScreen *to) { return FALSE; };
  86. /*virtual*/ LLWindowResolution* getSupportedResolutions(S32 &num_resolutions) { return NULL; };
  87. /*virtual*/ F32 getNativeAspectRatio() { return 1.0f; };
  88. /*virtual*/ F32 getPixelAspectRatio() { return 1.0f; };
  89. /*virtual*/ void setNativeAspectRatio(F32 ratio) {}
  90. /*virtual*/ void *getPlatformWindow() { return 0; };
  91. /*virtual*/ void bringToFront() {};
  92. LLWindowHeadless(LLWindowCallbacks* callbacks,
  93. const std::string& title, const std::string& name,
  94. S32 x, S32 y, 
  95. S32 width, S32 height,
  96. U32 flags,  BOOL fullscreen, BOOL clear_background,
  97. BOOL disable_vsync, BOOL use_gl, BOOL ignore_pixel_depth);
  98. virtual ~LLWindowHeadless();
  99. private:
  100. };
  101. class LLSplashScreenHeadless : public LLSplashScreen
  102. {
  103. public:
  104. LLSplashScreenHeadless() {};
  105. virtual ~LLSplashScreenHeadless() {};
  106. /*virtual*/ void showImpl() {};
  107. /*virtual*/ void updateImpl(const std::string& mesg) {};
  108. /*virtual*/ void hideImpl() {};
  109. };
  110. #endif //LL_LLWINDOWHEADLESS_H