2 #ifndef __RE_Window_h__
3 #define __RE_Window_h__
15 #if !defined(EXPERIMENTAL_GL_DRAWABLE_FEEL)
19 #if !defined(EXPERIMENTAL_GL_DRAWABLE_FEEL)
22 #if defined(EXPERIMENTAL_GL_DRAWABLE_FEEL)
46 void setName(
const char *
name);
47 void setIconName(
const char *name);
52 void setDialogParentHint(
RE_IDType parent_hint);
56 #if !defined(EXPERIMENTAL_GL_DRAWABLE_FEEL)
58 {
return myVisualResource; }
70 void initMaxSize(
int w,
int h );
71 void initMinSize(
int w,
int h );
72 #if !defined(EXPERIMENTAL_GL_DRAWABLE_FEEL)
76 { myLimitPositions = limitpos; }
78 {
return myLimitPositions; }
80 void moveWindow(
int x,
int y);
81 void sizeWindow(
int w,
int h);
85 void setWindowOpacity(
fpreal opacity);
90 void maximizeWindow();
93 bool isMaximized()
const;
99 void fullscreenWindow(
bool full);
100 bool isFullscreenWindow()
const;
105 void setHasWindowFrame(
bool b);
106 bool hasWindowFrame()
const;
109 {
return myLeftBorder+myRightBorder; }
111 {
return myTopBorder+myBottomBorder; }
113 {
return myTopBorder; }
115 {
return myLeftBorder; }
117 {
return myBottomBorder; }
119 {
return myRightBorder; }
125 void setWindowAlwaysOnTop(
bool newstate);
128 void setWindowFloatOnTop(
bool on_top);
133 {
return myVisualType; }
138 { myWindowType =
t; }
143 #if !defined(EXPERIMENTAL_GL_DRAWABLE_FEEL)
146 {
return myWindowID; }
151 {
return wid == myWindowID; }
155 #if !defined(EXPERIMENTAL_GL_DRAWABLE_FEEL)
161 void setIMESupport(
bool enable);
164 static QWidget * mainQtWindow();
168 static void initQtWindow(
177 static bool appActive();
182 myRightBorder =
right;
191 winFlags.maximized = is_maximized;
194 static bool isTabFocusEnabled();
195 static void enableTabFocus(
bool enable);
201 #if !defined(EXPERIMENTAL_GL_DRAWABLE_FEEL)
202 bool isQuadBufferStereo()
const;
211 fpreal screenToDeviceScale()
const;
214 static const int* getDefaultWindowBorderSizes();
215 static int getDefaultWindowTitleBarHeight();
217 #if defined(EXPERIMENTAL_GL_DRAWABLE_FEEL)
223 void initBorderSizes_();
226 void moveQtWindow_();
230 void addAlwaysOnTopSystemMenuItem_();
234 #if defined(EXPERIMENTAL_GL_DRAWABLE_FEEL)
235 QWidget *getOrCreateQtWindow_()
const;
239 #if !defined(EXPERIMENTAL_GL_DRAWABLE_FEEL)
244 #if !defined(EXPERIMENTAL_GL_DRAWABLE_FEEL)
256 QWidget *myStashWidget;
265 using IntPair = std::pair<int, int>;
271 #if !defined(EXPERIMENTAL_GL_DRAWABLE_FEEL)
276 unsigned long myIconPixmap;
288 unsigned int myLimitPositions:1;
293 bool myAddedAlwaysOnTopMenuItem;
310 { lock(); myWindows.append(w); unlock(); }
312 { lock(); myWindows.findAndRemove(w); unlock(); }
314 {
return myWindows.entries(); }
316 {
return myWindows(index); }
GLfloat GLfloat GLfloat top
GLboolean GLboolean GLboolean b
void setRender(RE_Render *r)
void removeWindow(RE_Window *w)
const RE_Window * getParentWindow() const
void setWindowID(RE_IDType id)
RE_VisualType getVisualType() const
int getBorderLeftSize() const
int getBorderWidth() const
void setWindowType(RE_WindowType t)
void addWindow(RE_Window *w)
GLuint const GLchar * name
RE_Window * getWindow(int index) const
int getWindowAlwaysOnTop() const
GLubyte GLubyte GLubyte GLubyte w
OGLDrawable getGraphicsDrawable() const
void setGraphicsDrawable(OGLDrawable d)
int getBorderBottomSize() const
GLint GLint GLsizei GLint GLenum GLenum type
void setVisualType(RE_VisualType t)
virtual RE_IDType getBufferID() const
int matchID(RE_IDType wid) const
int getNumWindows() const
int getBorderRightSize() const
void setLimitPositions(bool limitpos)
GLfloat GLfloat GLfloat GLfloat h
int getBorderHeight() const
int getBorderTopSize() const
void updateMaximizedFlag(bool is_maximized)
void setWindowBorders(int left, int right, int top, int bottom)
static const char * windowTag()
bool getLimitPositions() const
RE_IDType getWindowID() const