2 #ifndef __RE_Window_h__
3 #define __RE_Window_h__
45 virtual
void initializeForRender() = 0;
60 void setName(
const char *
name);
61 void setIconName(
const char *name);
63 void setParentWindow(RE_Window *parent);
66 void setDialogParentHint(
RE_IDType parent_hint);
71 {
return myVisualResource; }
75 { myRender = std::move(r); }
82 void initMaxSize(
int w,
int h );
83 void initMinSize(
int w,
int h );
86 { myLimitPositions = limitpos; }
88 {
return myLimitPositions; }
90 void moveWindow(
int x,
int y);
91 void sizeWindow(
int w,
int h);
95 void setWindowOpacity(
fpreal opacity);
100 void maximizeWindow();
101 void restoreWindow();
103 bool isMaximized()
const;
109 void fullscreenWindow(
bool full);
110 bool isFullscreenWindow()
const;
115 void setHasWindowFrame(
bool b);
116 bool hasWindowFrame()
const;
119 {
return myLeftBorder+myRightBorder; }
121 {
return myTopBorder+myBottomBorder; }
123 {
return myTopBorder; }
125 {
return myLeftBorder; }
127 {
return myBottomBorder; }
129 {
return myRightBorder; }
136 void setWindowAlwaysOnTop(
bool newstate);
139 void setWindowFloatOnTop(
bool on_top);
144 {
return myVisualType; }
149 { myWindowType =
t; }
156 {
return myWindowID; }
158 {
return wid == myWindowID; }
175 void setIMESupport(
bool enable);
178 static QWidget * mainQtWindow();
182 static void initQtWindow(
191 static bool appActive();
196 myRightBorder =
right;
205 winFlags.maximized = is_maximized;
208 static bool isTabFocusEnabled();
209 static void enableTabFocus(
bool enable);
215 bool isQuadBufferStereo()
const;
223 fpreal screenToDeviceScale()
const;
229 void requestRender();
251 static const int* getDefaultWindowBorderSizes();
252 static int getDefaultWindowTitleBarHeight();
256 void initBorderSizes_();
259 void moveQtWindow_();
263 void addAlwaysOnTopSystemMenuItem_();
278 #if defined(WIN32) || defined(USE_QT6)
287 QWidget *myStashWidget;
296 using IntPair = std::pair<int, int>;
312 unsigned long myIconPixmap;
314 RE_Window *parentWindow;
324 unsigned int myLimitPositions:1;
329 bool myAddedAlwaysOnTopMenuItem;
348 { lock(); myWindows.append(w); unlock(); }
350 { lock(); myWindows.findAndRemove(w); unlock(); }
352 {
return myWindows.entries(); }
354 {
return myWindows(index); }
void removeWindow(RE_Window *w)
const RE_Window * getParentWindow() const
*get result *(waiting if necessary)*A common idiom is to fire a bunch of sub tasks at the and then *wait for them to all complete We provide a helper class
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)
RE_Window * getWindow(int index) const
int getWindowAlwaysOnTop() const
IFDmantra you can see code vm_image_mplay_direction endcode When SOHO starts a render
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
OGLDrawable getGraphicsDrawable() const
=====================================================================
void setGraphicsDrawable(OGLDrawable d)
GLint GLint GLsizei GLint GLenum GLenum type
int getBorderBottomSize() const
void setVisualType(RE_VisualType t)
virtual RE_IDType getBufferID() const
int matchID(RE_IDType wid) const
int getNumWindows() const
#define UT_NON_COPYABLE(CLASS)
Define deleted copy constructor and assignment operator inside a class.
RE_WindowDrawable * getDrawable() const
int getBorderRightSize() const
GLuint const GLchar * name
GLboolean GLboolean GLboolean b
void setLimitPositions(bool limitpos)
GLfloat GLfloat GLfloat GLfloat h
int getBorderHeight() const
virtual ~RE_WindowOwner()
GLdouble GLdouble GLdouble top
int getBorderTopSize() const
GLubyte GLubyte GLubyte GLubyte w
void setRender(UT_UniquePtr< RE_Render > r)
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