00001 /* 00002 * PROPRIETARY INFORMATION. This software is proprietary to 00003 * Side Effects Software Inc., and is not to be reproduced, 00004 * transmitted, or disclosed in any way without written permission. 00005 * 00006 * Produced by: 00007 * Side Effects 00008 * 123 Front Street West, Suite 1401 00009 * Toronto, Ontario 00010 * Canada M5J 2M2 00011 * 416-504-9876 00012 * 00013 * NAME: RE_EGLServer.h (C++) 00014 * 00015 * COMMENTS: 00016 * X server abstraction interface for basic session interaction 00017 * 00018 */ 00019 #ifndef __RE_EGLServer__ 00020 #define __RE_EGLServer__ 00021 00022 #include "RE_API.h" 00023 #include <stddef.h> 00024 #include "RE_Server.h" 00025 00026 class RE_EGLDisplay; 00027 00028 class RE_API RE_EGLServer : public RE_Server 00029 { 00030 public: 00031 RE_EGLServer(); 00032 virtual ~RE_EGLServer(); 00033 00034 virtual char initServer(char *hostSystem = 0); 00035 virtual void flush() const; 00036 00037 virtual Display *getDisplay() const { return (Display *) myDisplay; } 00038 00039 virtual short getWidth() const; 00040 virtual short getHeight() const; 00041 virtual short getWidthMM() const; 00042 virtual short getHeightMM() const; 00043 00044 virtual UT_DimRect getWorkArea(); 00045 00046 virtual bool GLMakeCurrent( OGLDrawable draw, 00047 RE_OGLContext context ); 00048 00049 virtual int GLMakeCopyCurrent( OGLDrawable draw, 00050 RE_OGLContext sourceContext, 00051 RE_OGLContext targetContext ); 00052 virtual void GLSwapBuffers(RE_Window *currentWindow); 00053 virtual OGLDrawable GLGetCurrentDrawable(); 00054 virtual void GLWaitGL(); 00055 00056 virtual bool windowUnderCursor(RE_IDType, int x, int y); 00057 00058 virtual bool getColorUnderCursor(float color[3]); 00059 00060 private: 00061 EGLDisplay myDisplay; 00062 EGLint myMaxWidth; 00063 EGLint myMaxHeight; 00064 }; 00065 00066 #endif
1.5.9