aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llwindow/llwindowmesaheadless.h
diff options
context:
space:
mode:
authorJacek Antonelli2008-08-15 23:44:46 -0500
committerJacek Antonelli2008-08-15 23:44:46 -0500
commit38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4 (patch)
treeadca584755d22ca041a2dbfc35d4eca01f70b32c /linden/indra/llwindow/llwindowmesaheadless.h
parentREADME.txt (diff)
downloadmeta-impy-38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4.zip
meta-impy-38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4.tar.gz
meta-impy-38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4.tar.bz2
meta-impy-38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4.tar.xz
Second Life viewer sources 1.13.2.12
Diffstat (limited to 'linden/indra/llwindow/llwindowmesaheadless.h')
-rw-r--r--linden/indra/llwindow/llwindowmesaheadless.h123
1 files changed, 123 insertions, 0 deletions
diff --git a/linden/indra/llwindow/llwindowmesaheadless.h b/linden/indra/llwindow/llwindowmesaheadless.h
new file mode 100644
index 0000000..f8599c6
--- /dev/null
+++ b/linden/indra/llwindow/llwindowmesaheadless.h
@@ -0,0 +1,123 @@
1/**
2 * @file llwindowmesaheadless.h
3 * @brief Windows implementation of LLWindow class
4 *
5 * Copyright (c) 2001-2007, Linden Research, Inc.
6 *
7 * The source code in this file ("Source Code") is provided by Linden Lab
8 * to you under the terms of the GNU General Public License, version 2.0
9 * ("GPL"), unless you have obtained a separate licensing agreement
10 * ("Other License"), formally executed by you and Linden Lab. Terms of
11 * the GPL can be found in doc/GPL-license.txt in this distribution, or
12 * online at http://secondlife.com/developers/opensource/gplv2
13 *
14 * There are special exceptions to the terms and conditions of the GPL as
15 * it is applied to this Source Code. View the full text of the exception
16 * in the file doc/FLOSS-exception.txt in this software distribution, or
17 * online at http://secondlife.com/developers/opensource/flossexception
18 *
19 * By copying, modifying or distributing this software, you acknowledge
20 * that you have read and understood your obligations described above,
21 * and agree to abide by those obligations.
22 *
23 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE.
26 */
27
28#ifndef LL_LLWINDOWMESAHEADLESS_H
29#define LL_LLWINDOWMESAHEADLESS_H
30
31#if LL_MESA_HEADLESS
32
33#include "llwindow.h"
34#include "GL/osmesa.h"
35
36class LLWindowMesaHeadless : public LLWindow
37{
38public:
39 /*virtual*/ void show() {};
40 /*virtual*/ void hide() {};
41 /*virtual*/ void close() {};
42 /*virtual*/ BOOL getVisible() {return FALSE;};
43 /*virtual*/ BOOL getMinimized() {return FALSE;};
44 /*virtual*/ BOOL getMaximized() {return FALSE;};
45 /*virtual*/ BOOL maximize() {return FALSE;};
46 /*virtual*/ BOOL getFullscreen() {return FALSE;};
47 /*virtual*/ BOOL getPosition(LLCoordScreen *position) {return FALSE;};
48 /*virtual*/ BOOL getSize(LLCoordScreen *size) {return FALSE;};
49 /*virtual*/ BOOL getSize(LLCoordWindow *size) {return FALSE;};
50 /*virtual*/ BOOL setPosition(LLCoordScreen position) {return FALSE;};
51 /*virtual*/ BOOL setSize(LLCoordScreen size) {return FALSE;};
52 /*virtual*/ BOOL switchContext(BOOL fullscreen, LLCoordScreen size, BOOL disable_vsync) {return FALSE;};
53 /*virtual*/ BOOL setCursorPosition(LLCoordWindow position) {return FALSE;};
54 /*virtual*/ BOOL getCursorPosition(LLCoordWindow *position) {return FALSE;};
55 /*virtual*/ void showCursor() {};
56 /*virtual*/ void hideCursor() {};
57 /*virtual*/ void showCursorFromMouseMove() {};
58 /*virtual*/ void hideCursorUntilMouseMove() {};
59 /*virtual*/ BOOL isCursorHidden() {return FALSE;};
60 /*virtual*/ void setCursor(ECursorType cursor) {};
61 //virtual ECursorType getCursor() { return mCurrentCursor; };
62 /*virtual*/ void captureMouse() {};
63 /*virtual*/ void releaseMouse() {};
64 /*virtual*/ void setMouseClipping( BOOL b ) {};
65 /*virtual*/ BOOL isClipboardTextAvailable() {return FALSE; };
66 /*virtual*/ BOOL pasteTextFromClipboard(LLWString &dst) {return FALSE; };
67 /*virtual*/ BOOL copyTextToClipboard(const LLWString &src) {return FALSE; };
68 /*virtual*/ void flashIcon(F32 seconds) {};
69 /*virtual*/ F32 getGamma() {return 1.0f; };
70 /*virtual*/ BOOL setGamma(const F32 gamma) {return FALSE; }; // Set the gamma
71 /*virtual*/ BOOL restoreGamma() {return FALSE; }; // Restore original gamma table (before updating gamma)
72 //virtual ESwapMethod getSwapMethod() { return mSwapMethod; }
73 /*virtual*/ void gatherInput() {};
74 /*virtual*/ void delayInputProcessing() {};
75 /*virtual*/ void swapBuffers();
76
77 /*virtual*/ LLString getTempFileName() {return LLString(""); };
78 /*virtual*/ void deleteFile( const char* file_name ) {};
79 /*virtual*/ S32 stat( const char* file_name, struct stat* stat_info ) {return 0; };
80 /*virtual*/ BOOL sendEmail(const char* address,const char* subject,const char* body_text,const char* attachment=NULL, const char* attachment_displayed_name=NULL) { return FALSE; };
81
82
83 // handy coordinate space conversion routines
84 /*virtual*/ BOOL convertCoords(LLCoordScreen from, LLCoordWindow *to) { return FALSE; };
85 /*virtual*/ BOOL convertCoords(LLCoordWindow from, LLCoordScreen *to) { return FALSE; };
86 /*virtual*/ BOOL convertCoords(LLCoordWindow from, LLCoordGL *to) { return FALSE; };
87 /*virtual*/ BOOL convertCoords(LLCoordGL from, LLCoordWindow *to) { return FALSE; };
88 /*virtual*/ BOOL convertCoords(LLCoordScreen from, LLCoordGL *to) { return FALSE; };
89 /*virtual*/ BOOL convertCoords(LLCoordGL from, LLCoordScreen *to) { return FALSE; };
90
91 /*virtual*/ LLWindowResolution* getSupportedResolutions(S32 &num_resolutions) { return NULL; };
92 /*virtual*/ F32 getNativeAspectRatio() { return 1.0f; };
93 /*virtual*/ F32 getPixelAspectRatio() { return 1.0f; };
94 /*virtual*/ void setNativeAspectRatio(F32 ratio) {}
95
96 /*virtual*/ void *getPlatformWindow() { return 0; };
97 /*virtual*/ void bringToFront() {};
98
99 LLWindowMesaHeadless(char *title, char *name, S32 x, S32 y, S32 width, S32 height,
100 U32 flags, BOOL fullscreen, BOOL clearBg,
101 BOOL disable_vsync, BOOL use_gl, BOOL ignore_pixel_depth);
102 ~LLWindowMesaHeadless();
103
104private:
105 OSMesaContext mMesaContext;
106 unsigned char * mMesaBuffer;
107};
108
109class LLSplashScreenMesaHeadless : public LLSplashScreen
110{
111public:
112 LLSplashScreenMesaHeadless() {};
113 virtual ~LLSplashScreenMesaHeadless() {};
114
115 /*virtual*/ void showImpl() {};
116 /*virtual*/ void updateImpl(const char* mesg) {};
117 /*virtual*/ void hideImpl() {};
118
119};
120
121#endif
122
123#endif //LL_LLWINDOWMESAHEADLESS_H