Qyoto  4.0.7
Qyoto is a C# language binding for Qt
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Properties
QtOpenGL.QGLWidget Class Reference

The QGLWidget class is a widget for rendering OpenGL graphics. More...

Inheritance diagram for QtOpenGL.QGLWidget:
Collaboration diagram for QtOpenGL.QGLWidget:

Public Member Functions

 QGLWidget (QGLContext context, QWidget parent=null, QGLWidget shareWidget=null, Qt.WindowType f=0)
  More...
 
 QGLWidget (QGLFormat format, QWidget parent=null, QGLWidget shareWidget=null, Qt.WindowType f=0)
  More...
 
 QGLWidget (QWidget parent=null, QGLWidget shareWidget=null, Qt.WindowType f=0)
  More...
 
override void CreateProxy ()
 
new uint BindTexture (QImage image)
  More...
 
new uint BindTexture (QPixmap pixmap)
  More...
 
new uint BindTexture (QImage image, int target)
  More...
 
new uint BindTexture (QPixmap pixmap, int target)
  More...
 
new uint BindTexture (QImage image, int target, int format)
  More...
 
new uint BindTexture (QPixmap pixmap, int target, int format)
  More...
 
new uint BindTexture (QImage image, int target, int format, QGLContext.BindOption options)
  More...
 
new uint BindTexture (QPixmap pixmap, int target, int format, QGLContext.BindOption options)
  More...
 
new uint BindTexture (string fileName)
  More...
 
new void DeleteTexture (uint tx_id)
  More...
 
new void DoneCurrent ()
  More...
 
new void DrawTexture (QRectF target, uint textureId)
  More...
 
new void DrawTexture (QPointF point, uint textureId)
  More...
 
new void DrawTexture (QRectF target, uint textureId, int textureTarget)
  More...
 
new void DrawTexture (QPointF point, uint textureId, int textureTarget)
  More...
 
override bool OnEvent (QEvent e)
  More...
 
new QImage GrabFrameBuffer (bool withAlpha=false)
  More...
 
new void MakeCurrent ()
  More...
 
new void MakeOverlayCurrent ()
  More...
 
new void QglClearColor (QColor c)
  More...
 
new void QglColor (QColor c)
  More...
 
new QPixmap RenderPixmap (int w=0, int h=0, bool useContext=false)
  More...
 
new void RenderText (int x, int y, string str)
  More...
 
new void RenderText (int x, int y, string str, QFont fnt, int listBase=2000)
  More...
 
new void RenderText (double x, double y, double z, string str)
  More...
 
new void RenderText (double x, double y, double z, string str, QFont fnt, int listBase=2000)
  More...
 
new void SetContext (QGLContext context, QGLContext shareContext=null, bool deleteOldContext=true)
 
new void SetMouseTracking (bool enable)
  More...
 
new void SwapBuffers ()
  More...
 
virtual void UpdateGL ()
  More...
 
virtual void UpdateOverlayGL ()
  More...
 
new void Dispose ()
 
- Public Member Functions inherited from QtGui.QWidget
 QWidget (QWidget parent=null, Qt.WindowType f=0)
  More...
 
new void ActivateWindow ()
  More...
 
new void AddAction (QAction action)
  More...
 
new void AddActions (System.Collections.Generic.List< QAction > actions)
  More...
 
new void AdjustSize ()
  More...
 
new QWidget ChildAt (QPoint p)
  More...
 
new QWidget ChildAt (int x, int y)
  More...
 
new void ClearFocus ()
  More...
 
new void ClearMask ()
  More...
 
new bool Close ()
  More...
 
new void CreateWinId ()
 
new void EnsurePolished ()
  More...
 
override bool OnEvent (QEvent @event)
  More...
 
new QWidget FocusWidget ()
  More...
 
new void GetContentsMargins (ref int left, ref int top, ref int right, ref int bottom)
  More...
 
virtual System.IntPtr GetDC ()
  More...
 
new void GrabGesture (Qt.GestureType type, Qt.GestureFlag flags=0)
  More...
 
new void GrabKeyboard ()
  More...
 
new void GrabMouse ()
  More...
 
new void GrabMouse (QCursor cursor)
  More...
 
new int GrabShortcut (QKeySequence key, Qt.ShortcutContext context=Qt.ShortcutContext.WindowShortcut)
  More...
 
virtual int HeightForWidth (int w)
  More...
 
new void Hide ()
  More...
 
virtual object InputMethodQuery (Qt.InputMethodQuery query)
  More...
 
new void InsertAction (QAction before, QAction action)
  More...
 
new void InsertActions (QAction before, System.Collections.Generic.List< QAction > actions)
  More...
 
new bool IsAncestorOf (QWidget child)
  More...
 
new bool IsEnabledTo (QWidget ancestor)
  More...
 
new bool IsVisibleTo (QWidget ancestor)
  More...
 
new void Lower ()
  More...
 
new QPoint MapFrom (QWidget parent, QPoint pos)
  More...
 
new QPoint MapFromGlobal (QPoint pos)
  More...
 
new QPoint MapFromParent (QPoint pos)
  More...
 
new QPoint MapTo (QWidget parent, QPoint pos)
  More...
 
new QPoint MapToGlobal (QPoint pos)
  More...
 
new QPoint MapToParent (QPoint pos)
  More...
 
new void Move (int x, int y)
 
new void OverrideWindowFlags (Qt.WindowType type)
  More...
 
new void OverrideWindowState (Qt.WindowState state)
 
new void Raise ()
  More...
 
virtual void ReleaseDC (System.IntPtr hdc)
  More...
 
new void ReleaseKeyboard ()
  More...
 
new void ReleaseMouse ()
  More...
 
new void ReleaseShortcut (int id)
  More...
 
new void RemoveAction (QAction action)
  More...
 
new void Render (IQPaintDevice target)
  More...
 
new void Render (QPainter painter)
  More...
 
new void Render (IQPaintDevice target, QPoint targetOffset)
  More...
 
new void Render (QPainter painter, QPoint targetOffset)
  More...
 
new void Render (IQPaintDevice target, QPoint targetOffset, QRegion sourceRegion, QWidget.RenderFlag renderFlags=QWidget.RenderFlag.DrawWindowBackground|QWidget.RenderFlag.DrawChildren)
  More...
 
new void Render (QPainter painter, QPoint targetOffset, QRegion sourceRegion, QWidget.RenderFlag renderFlags=QWidget.RenderFlag.DrawWindowBackground|QWidget.RenderFlag.DrawChildren)
  More...
 
new void Repaint ()
  More...
 
new void Repaint (QRect rect)
  More...
 
new void Repaint (QRegion rgn)
  More...
 
new void Repaint (int x, int y, int w, int h)
  More...
 
new void Resize (int w, int h)
 
new bool RestoreGeometry (QByteArray geometry)
  More...
 
new QByteArray SaveGeometry ()
  More...
 
new void Scroll (int dx, int dy)
  More...
 
new void Scroll (int dx, int dy, QRect r)
  More...
 
new void SetAttribute (Qt.WidgetAttribute attribute, bool on=true)
  More...
 
new void SetBaseSize (int basew, int baseh)
 
new void SetContentsMargins (int left, int top, int right, int bottom)
  More...
 
new void SetDisabled (bool disable)
  More...
 
new void SetFixedHeight (int h)
  More...
 
new void SetFixedSize (QSize s)
  More...
 
new void SetFixedSize (int w, int h)
  More...
 
new void SetFixedWidth (int w)
  More...
 
new void SetFocus ()
  More...
 
new void SetFocus (Qt.FocusReason reason)
  More...
 
new void SetGeometry (int x, int y, int w, int h)
 
new void SetHidden (bool hidden)
  More...
 
new void SetMask (QBitmap bitmap)
  More...
 
new void SetMaximumSize (int maxw, int maxh)
 
new void SetMinimumSize (int minw, int minh)
 
new void SetParent (QWidget parent)
  More...
 
new void SetParent (QWidget parent, Qt.WindowType f)
  More...
 
new void SetShortcutAutoRepeat (int id, bool enable=true)
  More...
 
new void SetShortcutEnabled (int id, bool enable=true)
  More...
 
new void SetShown (bool shown)
  More...
 
new void SetSizeIncrement (int w, int h)
 
new void SetSizePolicy (QSizePolicy.Policy horizontal, QSizePolicy.Policy vertical)
 
new void Show ()
  More...
 
new void ShowFullScreen ()
  More...
 
new void ShowMaximized ()
  More...
 
new void ShowMinimized ()
  More...
 
new void ShowNormal ()
  More...
 
new void StackUnder (QWidget w)
  More...
 
new bool TestAttribute (Qt.WidgetAttribute attribute)
  More...
 
new void UngrabGesture (Qt.GestureType type)
  More...
 
new void UnsetCursor ()
 
new void UnsetLayoutDirection ()
 
new void UnsetLocale ()
 
new void Update ()
  More...
 
new void Update (QRect rect)
  More...
 
new void Update (QRegion rgn)
  More...
 
new void Update (int x, int y, int w, int h)
  More...
 
new void UpdateGeometry ()
  More...
 
new void Dispose ()
 
- Public Member Functions inherited from QtCore.QObject
 QObject (QObject parent=null)
  More...
 
new bool BlockSignals (bool b)
  More...
 
new bool Connect (QObject sender, string signal, string member, Qt.ConnectionType type=Qt.ConnectionType.AutoConnection)
  More...
 
new void DeleteLater ()
  More...
 
new bool Disconnect (QObject receiver, string member=null)
  More...
 
new bool Disconnect (string signal=null, QObject receiver=null, string member=null)
  More...
 
new void DumpObjectInfo ()
  More...
 
new void DumpObjectTree ()
  More...
 
virtual bool EventFilter (QObject watched, QEvent @event)
  More...
 
new bool Inherits (string classname)
  More...
 
new void InstallEventFilter (QObject filterObj)
  More...
 
new void KillTimer (int id)
  More...
 
new object Property (string name)
  More...
 
new void RemoveEventFilter (QObject obj)
  More...
 
new bool SetProperty (string name, object value)
  More...
 
new void SetUserData (uint id, QObjectUserData data)
 
new int StartTimer (int interval)
  More...
 
new QObjectUserData UserData (uint id)
 
new void Dispose ()
 
- Public Member Functions inherited from QtCore.Qt
delegate QTextStream FuncQTextStreamQTextStream (QTextStream qTextStream)
 
delegate void ActionQtMsgTypeString (QtMsgType qtMsgType, string @string)
 
delegate QObject FuncQObject ()
 
delegate string FuncStringQByteArray (QByteArray qByteArray)
 
delegate QByteArray FuncQByteArrayString (string @string)
 

Static Public Member Functions

static QImage ConvertToGLFormat (QImage img)
  More...
 
static string Tr (string s, string c=null)
 
static string Tr (string s, string c, int n)
 
static string TrUtf8 (string s, string c=null)
 
static string TrUtf8 (string s, string c, int n)
 
- Static Public Member Functions inherited from QtGui.QWidget
static QWidget Find (NativeULong id)
  More...
 
static void SetTabOrder (QWidget first, QWidget second)
  More...
 
static string Tr (string s, string c=null)
 
static string Tr (string s, string c, int n)
 
static string TrUtf8 (string s, string c=null)
 
static string TrUtf8 (string s, string c, int n)
 
- Static Public Member Functions inherited from QtCore.QObject
static bool Connect (QObject sender, QMetaMethod signal, QObject receiver, QMetaMethod method, Qt.ConnectionType type=Qt.ConnectionType.AutoConnection)
  More...
 
static bool Connect (QObject sender, string signal, QObject receiver, string member, Qt.ConnectionType type=Qt.ConnectionType.AutoConnection)
  More...
 
static bool Disconnect (QObject sender, QMetaMethod signal, QObject receiver, QMetaMethod member)
  More...
 
static bool Disconnect (QObject sender, string signal, QObject receiver, string member)
  More...
 
static string Tr (string s, string c=null)
  More...
 
static string Tr (string s, string c, int n)
  More...
 
static string TrUtf8 (string s, string c=null)
  More...
 
static string TrUtf8 (string s, string c, int n)
  More...
 
- Static Public Member Functions inherited from QtCore.Qt
static QDataStream Write (QDataStream s, object p)
 
static QDataStream Write (QDataStream stream, QSizeF size)
  More...
 
static QDataStream Write (QDataStream stream, QPoint point)
  More...
 
static QTextStream Write (QTextStream s, Qt.FuncQTextStreamQTextStream f)
 
static QDataStream Write (QDataStream stream, QLineF line)
  More...
 
static QDataStream Write (QDataStream stream, QPointF point)
  More...
 
static QDataStream Write (QDataStream @out, QChar chr)
  More...
 
static QDataStream Write (QDataStream @out, QByteArray ba)
  More...
 
static QDataStream Write (QDataStream stream, QEasingCurve easing)
  More...
 
static QDataStream Write (QDataStream stream, QRectF rectangle)
  More...
 
static QDataStream Write (QDataStream @out, QDateTime dateTime)
  More...
 
static QDataStream Write (QDataStream @out, QUrl url)
  More...
 
static QDataStream Write (QDataStream @out, QTime time)
  More...
 
static QDataStream Write (QDataStream arg1, QLocale arg2)
 
static QDataStream Write (QDataStream @out, QBitArray ba)
  More...
 
static QDataStream Write (QDataStream s, QUuid id)
  More...
 
static QDataStream Write (QDataStream stream, QLine line)
  More...
 
static QDataStream Write (QDataStream @out, QDate date)
  More...
 
static QDataStream Write (QDataStream @out, QRegExp regExp)
  More...
 
static QDataStream Write (QDataStream stream, QRect rectangle)
  More...
 
static QDataStream Write (QDataStream stream, QSize size)
  More...
 
static QDataStream Write (QDataStream s, QVariant.Type p)
 
static QDataStream Write (QDataStream arg1, string arg2)
 
static QDataStream Write (QDataStream @out, System.Collections.Generic.List< string > list)
  More...
 
static QDataStream Read (QDataStream @in, QChar chr)
  More...
 
static QDataStream Read (QDataStream arg1, QLocale arg2)
 
static QDataStream Read (QDataStream stream, QRect rectangle)
  More...
 
static QDataStream Read (QDataStream arg1, QEasingCurve arg2)
 
static QDataStream Read (QDataStream @in, QDate date)
  More...
 
static QDataStream Read (QDataStream @in, QUrl url)
  More...
 
static QDataStream Read (QDataStream s, QUuid id)
  More...
 
static QTextStream Read (QTextStream s, Qt.FuncQTextStreamQTextStream f)
 
static QDataStream Read (QDataStream stream, QLineF line)
  More...
 
static QDataStream Read (QDataStream stream, QRectF rectangle)
  More...
 
static QDataStream Read (QDataStream stream, QPointF point)
  More...
 
static QDataStream Read (QDataStream stream, QLine line)
  More...
 
static QDataStream Read (QDataStream @in, QBitArray ba)
  More...
 
static QDataStream Read (QDataStream stream, QSize size)
  More...
 
static QDataStream Read (QDataStream @in, QDateTime dateTime)
  More...
 
static QDataStream Read (QDataStream @in, QTime time)
  More...
 
static QDataStream Read (QDataStream stream, QPoint point)
  More...
 
static QDataStream Read (QDataStream @in, QRegExp regExp)
  More...
 
static QDataStream Read (QDataStream s, object p)
 
static QDataStream Read (QDataStream @in, QByteArray ba)
  More...
 
static QDataStream Read (QDataStream stream, QSizeF size)
  More...
 
static QDataStream Read (QDataStream arg1, string arg2)
 
static QDataStream Read (QDataStream s, QVariant.Type p)
 
static QDataStream Read (QDataStream @in, System.Collections.Generic.List< string > list)
  More...
 
static double QAcos (double v)
  More...
 
static void QAddPostRoutine (System.Action ptr)
  More...
 
static double QAsin (double v)
  More...
 
static double QAtan (double v)
  More...
 
static double QAtan2 (double x, double y)
  More...
 
static void QBadAlloc ()
 
static int QCeil (double v)
  More...
 
static ushort QChecksum (string s, uint len)
  More...
 
static QByteArray QCompress (QByteArray data, int compressionLevel=-1)
  More...
 
static QByteArray QCompress (Pointer< byte > data, int nbytes, int compressionLevel=-1)
  More...
 
static double QCos (double v)
  More...
 
static double QExp (double v)
  More...
 
static double QFabs (double v)
 
static double QFastCos (double x)
 
static double QFastSin (double x)
 
static string QFlagLocation (string method)
 
static int QFloor (double v)
  More...
 
static bool QFuzzyCompare (double p1, double p2)
  More...
 
static bool QFuzzyCompare (float p1, float p2)
  More...
 
static bool QFuzzyIsNull (double d)
 
static bool QFuzzyIsNull (float f)
 
static uint QHash (QBitArray key)
  More...
 
static uint QHash (QChar key)
  More...
 
static uint QHash (QStringRef key)
 
static uint QHash (QUrl url)
  More...
 
static uint QHash (QPersistentModelIndex index)
 
static uint QHash (QByteArray key)
  More...
 
static uint QHash (QModelIndex index)
 
static uint QHash (uint key)
  More...
 
static uint QHash (char key)
  More...
 
static uint QHash (byte key)
  More...
 
static uint QHash (short key)
  More...
 
static uint QHash (NativeLong key)
  More...
 
static uint QHash (ushort key)
  More...
 
static uint QHash (long key)
  More...
 
static uint QHash (ulong key)
  More...
 
static uint QHash (int key)
  More...
 
static uint QHash (string key)
  More...
 
static uint QHash (NativeULong key)
  More...
 
static Qt.ActionQtMsgTypeString QInstallMsgHandler (Qt.ActionQtMsgTypeString handler)
  More...
 
static int QIntCast (float f)
 
static int QIntCast (double f)
 
static bool QIsFinite (double d)
 
static bool QIsFinite (float f)
 
static bool QIsInf (float f)
 
static bool QIsInf (double d)
 
static bool QIsNaN (float f)
 
static bool QIsNaN (double d)
 
static bool QIsNull (float f)
 
static bool QIsNull (double d)
 
static double QLn (double v)
  More...
 
static double QPow (double x, double y)
  More...
 
static void QRegisterStaticPluginInstanceFunction (Qt.FuncQObject function)
  More...
 
static void QRemovePostRoutine (System.Action arg1)
 
static int QRound (double d)
  More...
 
static long QRound64 (double d)
  More...
 
static double QSin (double v)
  More...
 
static double QSqrt (double v)
  More...
 
static bool QStringComparisonHelper (QStringRef s1, string s2)
 
static double QTan (double v)
  More...
 
static QByteArray QUncompress (QByteArray data)
  More...
 
static QByteArray QUncompress (Pointer< byte > data, int nbytes)
  More...
 
static void Qbswap_helper (Pointer< byte > src, Pointer< byte > dest, int size)
 
static QByteArray Qgetenv (string varName)
  More...
 
static bool Qputenv (string varName, QByteArray value)
  More...
 
static void Qsrand (uint seed)
  More...
 
static int Qstrcmp (QByteArray str1, QByteArray str2)
 
static int Qstrcmp (QByteArray str1, string str2)
 
static int Qstrcmp (string str1, QByteArray str2)
 
static int Qstrcmp (string str1, string str2)
  More...
 
static Pointer< sbyte > Qstrcpy (Pointer< sbyte > dst, string src)
  More...
 
static Pointer< sbyte > Qstrdup (string src)
  More...
 
static int Qstricmp (string str1, string str2)
  More...
 
static uint Qstrlen (string str)
  More...
 
static int Qstrncmp (string str1, string str2, uint len)
  More...
 
static Pointer< sbyte > Qstrncpy (Pointer< sbyte > dst, string src, uint len)
  More...
 
static int Qstrnicmp (string str1, string str2, uint len)
  More...
 
static uint Qstrnlen (string str, uint maxlen)
  More...
 

Protected Member Functions

 QGLWidget (System.Type dummy)
 
new int FontDisplayListBase (QFont fnt, int listBase=2000)
  More...
 
virtual void GlDraw ()
  More...
 
virtual void GlInit ()
  More...
 
virtual void InitializeGL ()
  More...
 
virtual void InitializeOverlayGL ()
  More...
 
override void OnPaintEvent (QPaintEvent @event)
  More...
 
virtual void PaintGL ()
  More...
 
virtual void PaintOverlayGL ()
  More...
 
override void OnResizeEvent (QResizeEvent @event)
  More...
 
virtual void ResizeGL (int w, int h)
  More...
 
virtual void ResizeOverlayGL (int w, int h)
  More...
 
- Protected Member Functions inherited from QtGui.QWidget
 QWidget (System.Type dummy)
 
virtual void OnActionEvent (QActionEvent @event)
  More...
 
virtual void OnChangeEvent (QEvent @event)
  More...
 
virtual void OnCloseEvent (QCloseEvent @event)
  More...
 
virtual void OnContextMenuEvent (QContextMenuEvent @event)
  More...
 
new void Create ()
  More...
 
new void Create (NativeULong window, bool initializeWindow=true, bool destroyOldWindow=true)
  More...
 
new void OnCustomContextMenuRequested (QPoint pos)
  More...
 
new void Destroy (bool destroyWindow=true, bool destroySubWindows=true)
  More...
 
virtual void OnDragEnterEvent (QDragEnterEvent @event)
  More...
 
virtual void OnDragLeaveEvent (QDragLeaveEvent @event)
  More...
 
virtual void OnDragMoveEvent (QDragMoveEvent @event)
  More...
 
virtual void OnDropEvent (QDropEvent @event)
  More...
 
virtual void EnabledChange (bool arg1)
 
virtual void OnEnterEvent (QEvent @event)
  More...
 
virtual void OnFocusInEvent (QFocusEvent @event)
  More...
 
new bool FocusNextChild ()
  More...
 
virtual bool FocusNextPrevChild (bool next)
  More...
 
virtual void OnFocusOutEvent (QFocusEvent @event)
  More...
 
new bool FocusPreviousChild ()
  More...
 
virtual void FontChange (QFont arg1)
 
virtual void OnHideEvent (QHideEvent @event)
  More...
 
virtual void OnInputMethodEvent (QInputMethodEvent @event)
  More...
 
virtual void OnKeyPressEvent (QKeyEvent @event)
  More...
 
virtual void OnKeyReleaseEvent (QKeyEvent @event)
  More...
 
virtual void LanguageChange ()
  More...
 
virtual void OnLeaveEvent (QEvent @event)
  More...
 
virtual int Metric (QPaintDevice.PaintDeviceMetric m)
  More...
 
virtual void OnMouseDoubleClickEvent (QMouseEvent @event)
  More...
 
virtual void OnMouseMoveEvent (QMouseEvent @event)
  More...
 
virtual void OnMousePressEvent (QMouseEvent @event)
  More...
 
virtual void OnMouseReleaseEvent (QMouseEvent @event)
  More...
 
virtual void OnMoveEvent (QMoveEvent @event)
  More...
 
virtual void PaletteChange (QPalette arg1)
 
new void ResetInputContext ()
  More...
 
virtual void OnShowEvent (QShowEvent @event)
  More...
 
virtual void StyleChange (QStyle arg1)
 
virtual void OnTabletEvent (QTabletEvent @event)
  More...
 
new void UpdateMicroFocus ()
  More...
 
virtual void OnWheelEvent (QWheelEvent @event)
  More...
 
virtual void WindowActivationChange (bool arg1)
 
- Protected Member Functions inherited from QtCore.QObject
 QObject (System.Type dummy)
 
virtual void OnChildEvent (QChildEvent @event)
  More...
 
virtual void ConnectNotify (string signal)
  More...
 
virtual void OnCustomEvent (QEvent @event)
  More...
 
new void OnDestroyed (QObject obj=null)
  More...
 
virtual void DisconnectNotify (string signal)
  More...
 
new int Receivers (string signal)
  More...
 
virtual void OnTimerEvent (QTimerEvent @event)
  More...
 

Properties

bool AutoBufferSwap [get, set]
  More...
 
QGLColormap Colormap [get, set]
  More...
 
QGLFormat Format [get, set]
  More...
 
QGLContext Context [get]
  More...
 
bool DoubleBuffer [get]
  More...
 
bool IsSharing [get]
  More...
 
bool IsValid [get]
  More...
 
QGLContext OverlayContext [get]
  More...
 
override QPaintEngine PaintEngine [get]
 
static new QMetaObject StaticMetaObject [get]
 
new IQGLWidgetSignals Emit [get]
 
- Properties inherited from QtGui.QWidget
virtual EventHandler
< QEventArgs< QActionEvent > > 
ActionEvent
  More...
 
virtual EventHandler
< QEventArgs< QEvent > > 
ChangeEvent
  More...
 
virtual EventHandler
< QEventArgs< QCloseEvent > > 
CloseEvent
  More...
 
virtual EventHandler
< QEventArgs
< QContextMenuEvent > > 
ContextMenuEvent
  More...
 
virtual EventHandler
< QEventArgs< QDragEnterEvent > > 
DragEnterEvent
  More...
 
virtual EventHandler
< QEventArgs< QDragLeaveEvent > > 
DragLeaveEvent
  More...
 
virtual EventHandler
< QEventArgs< QDragMoveEvent > > 
DragMoveEvent
  More...
 
virtual EventHandler
< QEventArgs< QDropEvent > > 
DropEvent
  More...
 
virtual EventHandler
< QEventArgs< QEvent > > 
EnterEvent
  More...
 
virtual EventHandler
< QEventArgs< QFocusEvent > > 
FocusInEvent
  More...
 
virtual EventHandler
< QEventArgs< QFocusEvent > > 
FocusOutEvent
  More...
 
virtual EventHandler
< QEventArgs< QHideEvent > > 
HideEvent
  More...
 
virtual EventHandler
< QEventArgs
< QInputMethodEvent > > 
InputMethodEvent
  More...
 
virtual EventHandler
< QEventArgs< QKeyEvent > > 
KeyPressEvent
  More...
 
virtual EventHandler
< QEventArgs< QKeyEvent > > 
KeyReleaseEvent
  More...
 
virtual EventHandler
< QEventArgs< QEvent > > 
LeaveEvent
  More...
 
virtual EventHandler
< QEventArgs< QMouseEvent > > 
MouseDoubleClickEvent
  More...
 
virtual EventHandler
< QEventArgs< QMouseEvent > > 
MouseMoveEvent
  More...
 
virtual EventHandler
< QEventArgs< QMouseEvent > > 
MousePressEvent
  More...
 
virtual EventHandler
< QEventArgs< QMouseEvent > > 
MouseReleaseEvent
  More...
 
virtual EventHandler
< QEventArgs< QMoveEvent > > 
MoveEvent
  More...
 
virtual EventHandler
< QEventArgs< QPaintEvent > > 
PaintEvent
  More...
 
virtual EventHandler
< QEventArgs< QResizeEvent > > 
ResizeEvent
  More...
 
virtual EventHandler
< QEventArgs< QShowEvent > > 
ShowEvent
  More...
 
virtual EventHandler
< QEventArgs< QTabletEvent > > 
TabletEvent
  More...
 
virtual EventHandler
< QEventArgs< QWheelEvent > > 
WheelEvent
  More...
 
Slot< QPointCustomContextMenuRequested
  More...
 
QPalette.ColorRole BackgroundRole [get, set]
  More...
 
QMargins ContentsMargins [get, set]
  More...
 
QWidget FocusProxy [get, set]
  More...
 
QPalette.ColorRole ForegroundRole [get, set]
  More...
 
QGraphicsEffect GraphicsEffect [get, set]
  More...
 
QInputContext InputContext [get, set]
  More...
 
QLayout Layout [get, set]
  More...
 
QRegion Mask [get, set]
  More...
 
QStyle Style [get, set]
  More...
 
Qt.WindowType WindowFlags [get, set]
 
string WindowRole [get, set]
  More...
 
Qt.WindowState WindowState [get, set]
  More...
 
virtual int DevType [get]
 
virtual QPaintEngine PaintEngine [get]
  More...
 
int ColorCount [get]
  More...
 
int Depth [get]
  More...
 
int HeightMM [get]
  More...
 
int LogicalDpiX [get]
  More...
 
int LogicalDpiY [get]
  More...
 
int NumColors [get]
  More...
 
bool PaintingActive [get]
  More...
 
int PhysicalDpiX [get]
  More...
 
int PhysicalDpiY [get]
  More...
 
int WidthMM [get]
  More...
 
System.Collections.Generic.List
< QAction
Actions [get]
  More...
 
QRect ContentsRect [get]
  More...
 
NativeULong EffectiveWinId [get]
  More...
 
QFontInfo FontInfo [get]
  More...
 
QFontMetrics FontMetrics [get]
  More...
 
QGraphicsProxyWidget GraphicsProxyWidget [get]
  More...
 
NativeULong InternalWinId [get]
 
bool IsEnabledToTLW [get]
  More...
 
bool IsHidden [get]
  More...
 
bool IsLeftToRight [get]
 
bool IsRightToLeft [get]
 
bool IsTopLevel [get]
  More...
 
bool IsWindow [get]
  More...
 
static QWidget KeyboardGrabber [get]
  More...
 
static QWidget MouseGrabber [get]
  More...
 
QWidget NativeParentWidget [get]
  More...
 
QWidget NextInFocusChain [get]
  More...
 
QWidget ParentWidget [get]
  More...
 
QWidget PreviousInFocusChain [get]
  More...
 
QWidget TopLevelWidget [get]
  More...
 
bool UnderMouse [get]
  More...
 
QRegion VisibleRegion [get]
  More...
 
NativeULong WinId [get]
  More...
 
QWidget Window [get]
  More...
 
Qt.WindowType WindowType [get]
  More...
 
new bool Modal [get]
  More...
 
new Qt.WindowModality WindowModality [get, set]
  More...
 
new bool Enabled [get, set]
  More...
 
new QRect Geometry [get, set]
  More...
 
new QRect FrameGeometry [get]
  More...
 
new QRect NormalGeometry [get]
  More...
 
new int X [get]
  More...
 
new int Y [get]
  More...
 
new QPoint Pos [get, set]
  More...
 
new QSize FrameSize [get]
  More...
 
new QSize Size [get, set]
  More...
 
new int Width [get]
  More...
 
new int Height [get]
  More...
 
new QRect Rect [get]
  More...
 
new QRect ChildrenRect [get]
  More...
 
new QRegion ChildrenRegion [get]
  More...
 
new QSizePolicy SizePolicy [get, set]
  More...
 
new QSize MinimumSize [get, set]
  More...
 
new QSize MaximumSize [get, set]
  More...
 
new int MinimumWidth [get, set]
  More...
 
new int MinimumHeight [get, set]
  More...
 
new int MaximumWidth [get, set]
  More...
 
new int MaximumHeight [get, set]
  More...
 
new QSize SizeIncrement [get, set]
  More...
 
new QSize BaseSize [get, set]
  More...
 
new QPalette Palette [get, set]
  More...
 
new QFont Font [get, set]
  More...
 
new QCursor Cursor [get, set]
  More...
 
new bool MouseTracking [get, set]
  More...
 
new bool IsActiveWindow [get]
  More...
 
new Qt.FocusPolicy FocusPolicy [get, set]
  More...
 
new bool Focus [get]
  More...
 
new Qt.ContextMenuPolicy ContextMenuPolicy [get, set]
  More...
 
new bool UpdatesEnabled [get, set]
  More...
 
virtual new bool Visible [get, set]
  More...
 
new bool Minimized [get]
  More...
 
new bool Maximized [get]
  More...
 
new bool FullScreen [get]
  More...
 
virtual new QSize SizeHint [get]
  More...
 
virtual new QSize MinimumSizeHint [get]
  More...
 
new bool AcceptDrops [get, set]
  More...
 
new string WindowTitle [get, set]
  More...
 
new QIcon WindowIcon [get, set]
  More...
 
new string WindowIconText [get, set]
  More...
 
new double WindowOpacity [get, set]
  More...
 
new bool WindowModified [get, set]
  More...
 
new string ToolTip [get, set]
  More...
 
new string StatusTip [get, set]
  More...
 
new string WhatsThis [get, set]
  More...
 
new string AccessibleName [get, set]
  More...
 
new string AccessibleDescription [get, set]
  More...
 
new Qt.LayoutDirection LayoutDirection [get, set]
  More...
 
new bool AutoFillBackground [get, set]
  More...
 
new string StyleSheet [get, set]
  More...
 
new QLocale Locale [get, set]
  More...
 
new string WindowFilePath [get, set]
  More...
 
new Qt.InputMethodHint InputMethodHints [get, set]
  More...
 
static new QMetaObject StaticMetaObject [get]
 
new ushort Painters [get, set]
 
new IQWidgetSignals Emit [get]
 
- Properties inherited from QtCore.QObject
virtual EventHandler
< QEventArgs< QChildEvent > > 
ChildEvent
  More...
 
virtual EventHandler
< QEventArgs< QEvent > > 
CustomEvent
  More...
 
virtual EventHandler
< QEventArgs< QEvent > > 
Event
  More...
 
virtual EventHandler
< QEventArgs< QTimerEvent > > 
TimerEvent
  More...
 
Slot< QObjectDestroyedObj
  More...
 
Slot Destroyed
  More...
 
QObject Parent [get, set]
  More...
 
System.Collections.Generic.List
< QObject
Children [get]
  More...
 
System.Collections.Generic.List
< QByteArray
DynamicPropertyNames [get]
  More...
 
bool IsWidgetType [get]
  More...
 
static uint RegisterUserData [get]
 
QObject Sender [get]
  More...
 
int SenderSignalIndex [get]
  More...
 
bool SignalsBlocked [get]
  More...
 
virtual System.IntPtr SmokeObject [get, set]
 
new string ObjectName [get, set]
  More...
 
static new QMetaObject StaticMetaObject [get]
  More...
 
static new QMetaObject StaticQtMetaObject [get]
 
new IQObjectSignals Emit [get]
 
- Properties inherited from QtCore.Qt
static string QAppName [get]
 
static double QInf [get]
 
static double QQNaN [get]
 
static double QSNaN [get]
 
static bool QSharedBuild [get]
 
static string QVersion [get]
  More...
 
static int Qrand [get]
  More...
 
- Properties inherited from QtGui.IQPaintDevice
System.Int32 ColorCount [get]
  More...
 
System.Int32 Depth [get]
  More...
 
System.Int32 DevType [get]
 
System.Int32 Height [get]
  More...
 
System.Int32 HeightMM [get]
  More...
 
System.Int32 LogicalDpiX [get]
  More...
 
System.Int32 LogicalDpiY [get]
  More...
 
System.Int32 NumColors [get]
  More...
 
QPaintEngine PaintEngine [get]
  More...
 
System.Boolean PaintingActive [get]
  More...
 
System.Int32 PhysicalDpiX [get]
  More...
 
System.Int32 PhysicalDpiY [get]
  More...
 
System.Int32 Width [get]
  More...
 
System.Int32 WidthMM [get]
  More...
 

Additional Inherited Members

- Public Types inherited from QtGui.QWidget
enum  RenderFlag { DrawChildren = 2, DrawWindowBackground = 1, IgnoreMask = 4 }
  More...
 
- Static Public Attributes inherited from QtCore.Qt
</para > *< para > Creating QM
files suitable for use with
this[SmokeMethod("qtTrId(const
char*, int)")] static strin 
QtTrId )(string id, int n=-1)
 
- Protected Attributes inherited from QtCore.QObject
object Q_EMIT = null
 
SmokeInvocation interceptor
 
readonly List< QEventHandler > eventFilters = new List<QEventHandler>()
 

Detailed Description

The QGLWidget class is a widget for rendering OpenGL graphics.

QGLWidget provides functionality for displaying OpenGL graphics integrated into a Qt application. It is very simple to use. You inherit from it and use the subclass like any other QWidget, except that you have the choice between using QPainter and standard OpenGL rendering commands.

QGLWidget provides three convenient virtual functions that you can reimplement in your subclass to perform the typical OpenGL tasks:

paintGL() - Renders the OpenGL scene. Gets called whenever the widget needs to be updated.

resizeGL() - Sets up the OpenGL viewport, projection, etc. Gets called whenever the widget has been resized (and also when it is shown for the first time because all newly created widgets get a resize event automatically).

initializeGL() - Sets up the OpenGL rendering context, defines display lists, etc. Gets called once before the first time resizeGL() or paintGL() is called.

Here is a rough outline of how a QGLWidget subclass might look:

class MyGLDrawer : public QGLWidget

{

Q_OBJECT // must include this if you use Qt signals/slots

public:

MyGLDrawer(QWidget *parent)

: QGLWidget(parent) {}

protected:

void initializeGL()

{

// Set up the rendering context, define display lists etc.:

...

glClearColor(0.0, 0.0, 0.0, 0.0);

glEnable(GL_DEPTH_TEST);

...

}

void resizeGL(int w, int h)

{

// setup viewport, projection etc.:

glViewport(0, 0, (GLint)w, (GLint)h);

...

glFrustum(...);

...

}

void paintGL()

{

// draw the scene:

...

glRotatef(...);

glMaterialfv(...);

glBegin(GL_QUADS);

glVertex3f(...);

glVertex3f(...);

...

glEnd();

...

}

};

If you need to trigger a repaint from places other than paintGL() (a typical example is when using timers to animate scenes), you should call the widget's updateGL() function.

Your widget's OpenGL rendering context is made current when paintGL(), resizeGL(), or initializeGL() is called. If you need to call the standard OpenGL API functions from other places (e.g. in your widget's constructor or in your own paint functions), you must call makeCurrent() first.

QGLWidget provides functions for requesting a new display format and you can also create widgets with customized rendering contexts.

You can also share OpenGL display lists between QGLWidget objects (see the documentation of the QGLWidget constructors for details).

Note that under Windows, the QGLContext belonging to a QGLWidget has to be recreated when the QGLWidget is reparented. This is necessary due to limitations on the Windows platform. This will most likely cause problems for users that have subclassed and installed their own QGLContext on a QGLWidget. It is possible to work around this issue by putting the QGLWidget inside a dummy widget and then reparenting the dummy widget, instead of the QGLWidget. This will side-step the issue altogether, and is what we recommend for users that need this kind of functionality.

On Mac OS X, when Qt is built with Cocoa support, a QGLWidget can't have any sibling widgets placed ontop of itself. This is due to limitations in the Cocoa API and is not supported by Apple.

Overlays

The QGLWidget creates a GL overlay context in addition to the normal context if overlays are supported by the underlying system.

If you want to use overlays, you specify it in the format. (Note: Overlay must be requested in the format passed to the QGLWidget constructor.) Your GL widget should also implement some or all of these virtual methods:

paintOverlayGL()

resizeOverlayGL()

initializeOverlayGL()

These methods work in the same way as the normal paintGL() etc. functions, except that they will be called when the overlay context is made current. You can explicitly make the overlay context current by using makeOverlayCurrent(), and you can access the overlay context directly (e.g. to ask for its transparent color) by calling overlayContext().

On X servers in which the default visual is in an overlay plane, non-GL Qt windows can also be used for overlays.

Painting Techniques

As described above, subclass QGLWidget to render pure 3D content in the following way:

Reimplement the QGLWidget::initializeGL() and QGLWidget::resizeGL() to set up the OpenGL state and provide a perspective transformation.

Reimplement QGLWidget::paintGL() to paint the 3D scene, calling only OpenGL functions to draw on the widget.

It is also possible to draw 2D graphics onto a QGLWidget subclass, it is necessary to reimplement QGLWidget::paintEvent() and do the following:

Construct a QPainter object.

Initialize it for use on the widget with the QPainter::begin() function.

Draw primitives using QPainter's member functions.

Call QPainter::end() to finish painting.

Overpainting 2D content on top of 3D content takes a little more effort. One approach to doing this is shown in the Overpainting example.

Threading

As of Qt version 4.8, support for doing threaded GL rendering has been improved. There are three scenarios that we currently support:

1. Buffer swapping in a thread.Swapping buffers in a double buffered context may be a synchronous, locking call that may be a costly operation in some GL implementations. Especially so on embedded devices. It's not optimal to have the CPU idling while the GPU is doing a buffer swap. In those cases it is possible to do the rendering in the main thread and do the actual buffer swap in a separate thread. This can be done with the following steps:

1. Call doneCurrent() in the main thread when the rendering is finished.

2. Notify the swapping thread that it can grab the context.

3. Make the rendering context current in the swapping thread with makeCurrent() and then call swapBuffers().

4. Call doneCurrent() in the swapping thread and notify the main thread that swapping is done.

Doing this will free up the main thread so that it can continue with, for example, handling UI events or network requests. Even if there is a context swap involved, it may be preferable compared to having the main thread wait while the GPU finishes the swap operation. Note that this is highly implementation dependent.

2. Texture uploading in a thread.Doing texture uploads in a thread may be very useful for applications handling large amounts of images that needs to be displayed, like for instance a photo gallery application. This is supported in Qt through the existing bindTexture() API. A simple way of doing this is to create two sharing QGLWidgets. One is made current in the main GUI thread, while the other is made current in the texture upload thread. The widget in the uploading thread is never shown, it is only used for sharing textures with the main thread. For each texture that is bound via bindTexture(), notify the main thread so that it can start using the texture.

3. Using QPainter to draw into a QGLWidget in a thread.In Qt 4.8, it is possible to draw into a QGLWidget using a QPainter in a separate thread. Note that this is also possible for QGLPixelBuffers and QGLFramebufferObjects. Since this is only supported in the GL 2 paint engine, OpenGL 2.0 or OpenGL ES 2.0 is required.

QGLWidgets can only be created in the main GUI thread. This means a call to doneCurrent() is necessary to release the GL context from the main thread, before the widget can be drawn into by another thread. Also, the main GUI thread will dispatch resize and paint events to a QGLWidget when the widget is resized, or parts of it becomes exposed or needs redrawing. It is therefore necessary to handle those events because the default implementations inside QGLWidget will try to make the QGLWidget's context current, which again will interfere with any threads rendering into the widget. Reimplement QGLWidget::paintEvent() and QGLWidget::resizeEvent() to notify the rendering thread that a resize or update is necessary, and be careful not to call the base class implementation. If you are rendering an animation, it might not be necessary to handle the paint event at all since the rendering thread is doing regular updates. Then it would be enough to reimplement QGLWidget::paintEvent() to do nothing.

As a general rule when doing threaded rendering: be aware that binding and releasing contexts in different threads have to be synchronized by the user. A GL rendering context can only be current in one thread at any time. If you try to open a QPainter on a QGLWidget and the widget's rendering context is current in another thread, it will fail.

Note that under X11 it is necessary to set the Qt::AA_X11InitThreads application attribute to make the X11 library and GLX calls thread safe, otherwise the above scenarios will fail.

In addition to this, rendering using raw GL calls in a separate thread is supported.

OpenGL is a trademark of Silicon Graphics, Inc. in the United States and other countries.

See also QGLPixelBuffer, Hello GL Example, 2D Painting Example, Overpainting Example, and Grabber Example.

Constructor & Destructor Documentation

QtOpenGL.QGLWidget.QGLWidget ( System.Type  dummy)
protected
QtOpenGL.QGLWidget.QGLWidget ( QGLContext  context,
QWidget  parent = null,
QGLWidget  shareWidget = null,
Qt.WindowType  f = 0 
)

Constructs an OpenGL widget with parent parent.

The context argument is a pointer to the QGLContext that you wish to be bound to this widget. This allows you to pass in your own QGLContext sub-classes.

The widget will be invalid if the system has no OpenGL support.

The parent and widget flag, f, arguments are passed to the QWidget constructor.

If shareWidget is a valid QGLWidget, this widget will share OpenGL display lists and texture objects with shareWidget. But if shareWidget and this widget have different formats, sharing might not be possible. You can check whether sharing is in effect by calling isSharing().

The initialization of OpenGL rendering state, etc. should be done by overriding the initializeGL() function, rather than in the constructor of your QGLWidget subclass.

See also QGLFormat::defaultFormat() and isValid().

Here is the call graph for this function:

QtOpenGL.QGLWidget.QGLWidget ( QGLFormat  format,
QWidget  parent = null,
QGLWidget  shareWidget = null,
Qt.WindowType  f = 0 
)

Constructs an OpenGL widget with parent parent.

The format argument specifies the desired rendering options. If the underlying OpenGL/Window system cannot satisfy all the features requested in format, the nearest subset of features will be used. After creation, the format() method will return the actual format obtained.

The widget will be invalid if the system has no OpenGL support.

The parent and widget flag, f, arguments are passed to the QWidget constructor.

If shareWidget is a valid QGLWidget, this widget will share OpenGL display lists and texture objects with shareWidget. But if shareWidget and this widget have different formats, sharing might not be possible. You can check whether sharing is in effect by calling isSharing().

The initialization of OpenGL rendering state, etc. should be done by overriding the initializeGL() function, rather than in the constructor of your QGLWidget subclass.

See also QGLFormat::defaultFormat() and isValid().

Here is the call graph for this function:

QtOpenGL.QGLWidget.QGLWidget ( QWidget  parent = null,
QGLWidget  shareWidget = null,
Qt.WindowType  f = 0 
)

Constructs an OpenGL widget with a parent widget.

The default format is used. The widget will be invalid if the system has no OpenGL support.

The parent and widget flag, f, arguments are passed to the QWidget constructor.

If shareWidget is a valid QGLWidget, this widget will share OpenGL display lists and texture objects with shareWidget. But if shareWidget and this widget have different formats, sharing might not be possible. You can check whether sharing is in effect by calling isSharing().

The initialization of OpenGL rendering state, etc. should be done by overriding the initializeGL() function, rather than in the constructor of your QGLWidget subclass.

See also QGLFormat::defaultFormat() and Textures Example.

Here is the call graph for this function:

Member Function Documentation

new uint QtOpenGL.QGLWidget.BindTexture ( QImage  image)

Calls QGLContext:::bindTexture(image, target, format) on the currently set context.

See also deleteTexture().

new uint QtOpenGL.QGLWidget.BindTexture ( QPixmap  pixmap)

Calls QGLContext:::bindTexture(pixmap, target, format) on the currently set context.

See also deleteTexture().

new uint QtOpenGL.QGLWidget.BindTexture ( QImage  image,
int  target 
)

Calls QGLContext:::bindTexture(image, target, format) on the currently set context.

See also deleteTexture().

new uint QtOpenGL.QGLWidget.BindTexture ( QPixmap  pixmap,
int  target 
)

Calls QGLContext:::bindTexture(pixmap, target, format) on the currently set context.

See also deleteTexture().

new uint QtOpenGL.QGLWidget.BindTexture ( QImage  image,
int  target,
int  format 
)

Calls QGLContext:::bindTexture(image, target, format) on the currently set context.

See also deleteTexture().

new uint QtOpenGL.QGLWidget.BindTexture ( QPixmap  pixmap,
int  target,
int  format 
)

Calls QGLContext:::bindTexture(pixmap, target, format) on the currently set context.

See also deleteTexture().

new uint QtOpenGL.QGLWidget.BindTexture ( QImage  image,
int  target,
int  format,
QGLContext.BindOption  options 
)

This is an overloaded function.

The binding options are a set of options used to decide how to bind the texture to the context.

This function was introduced in Qt 4.6.

new uint QtOpenGL.QGLWidget.BindTexture ( QPixmap  pixmap,
int  target,
int  format,
QGLContext.BindOption  options 
)

This is an overloaded function.

Generates and binds a 2D GL texture to the current context, based on pixmap. The generated texture id is returned and can be used in

The binding options are a set of options used to decide how to bind the texture to the context.

This function was introduced in Qt 4.6.

new uint QtOpenGL.QGLWidget.BindTexture ( string  fileName)

This is an overloaded function.

Calls QGLContext::bindTexture(fileName) on the currently set context.

See also deleteTexture().

static QImage QtOpenGL.QGLWidget.ConvertToGLFormat ( QImage  img)
static

Converts the image img into the unnamed format expected by OpenGL functions such as glTexImage2D(). The returned image is not usable as a QImage, but QImage::width(), QImage::height() and QImage::bits() may be used with OpenGL. The GL format used is GL_RGBA.

override void QtOpenGL.QGLWidget.CreateProxy ( )
virtual

Reimplemented from QtGui.QWidget.

Here is the caller graph for this function:

new void QtOpenGL.QGLWidget.DeleteTexture ( uint  tx_id)

Calls QGLContext::deleteTexture(id) on the currently set context.

See also bindTexture().

new void QtOpenGL.QGLWidget.Dispose ( )
new void QtOpenGL.QGLWidget.DoneCurrent ( )

Makes no GL context the current context. Normally, you do not need to call this function; QGLContext calls it as necessary. However, it may be useful in multithreaded environments.

new void QtOpenGL.QGLWidget.DrawTexture ( QRectF  target,
uint  textureId 
)

Calls the corresponding QGLContext::drawTexture() with target, textureId, and textureTarget for this widget's context.

This function was introduced in Qt 4.4.

new void QtOpenGL.QGLWidget.DrawTexture ( QPointF  point,
uint  textureId 
)

Calls the corresponding QGLContext::drawTexture() with point, textureId, and textureTarget for this widget's context.

This function was introduced in Qt 4.4.

new void QtOpenGL.QGLWidget.DrawTexture ( QRectF  target,
uint  textureId,
int  textureTarget 
)

Calls the corresponding QGLContext::drawTexture() with target, textureId, and textureTarget for this widget's context.

This function was introduced in Qt 4.4.

new void QtOpenGL.QGLWidget.DrawTexture ( QPointF  point,
uint  textureId,
int  textureTarget 
)

Calls the corresponding QGLContext::drawTexture() with point, textureId, and textureTarget for this widget's context.

This function was introduced in Qt 4.4.

new int QtOpenGL.QGLWidget.FontDisplayListBase ( QFont  fnt,
int  listBase = 2000 
)
protected

Returns the value of the first display list that is generated for the characters in the given font. listBase indicates the base value used when generating the display lists for the font. The default value is 2000.

Note: This function is not supported on OpenGL/ES systems.

virtual void QtOpenGL.QGLWidget.GlDraw ( )
protectedvirtual

Executes the virtual function paintGL().

The widget's rendering context will become the current context and initializeGL() will be called if it hasn't already been called.

virtual void QtOpenGL.QGLWidget.GlInit ( )
protectedvirtual

Initializes OpenGL for this widget's context. Calls the virtual function initializeGL().

new QImage QtOpenGL.QGLWidget.GrabFrameBuffer ( bool  withAlpha = false)

Returns an image of the frame buffer. If withAlpha is true the alpha channel is included.

Depending on your hardware, you can explicitly select which color buffer to grab with a glReadBuffer() call before calling this function.

virtual void QtOpenGL.QGLWidget.InitializeGL ( )
protectedvirtual

This virtual function is called once before the first call to paintGL() or resizeGL(), and then once whenever the widget has been assigned a new QGLContext. Reimplement it in a subclass.

This function should set up any required OpenGL context rendering flags, defining display lists, etc.

There is no need to call makeCurrent() because this has already been done when this function is called.

virtual void QtOpenGL.QGLWidget.InitializeOverlayGL ( )
protectedvirtual

This virtual function is used in the same manner as initializeGL() except that it operates on the widget's overlay context instead of the widget's main context. This means that initializeOverlayGL() is called once before the first call to paintOverlayGL() or resizeOverlayGL(). Reimplement it in a subclass.

This function should set up any required OpenGL context rendering flags, defining display lists, etc. for the overlay context.

There is no need to call makeOverlayCurrent() because this has already been done when this function is called.

new void QtOpenGL.QGLWidget.MakeCurrent ( )

Makes this widget the current widget for OpenGL operations, i.e. makes the widget's rendering context the current OpenGL rendering context.

new void QtOpenGL.QGLWidget.MakeOverlayCurrent ( )

Makes the overlay context of this widget current. Use this if you need to issue OpenGL commands to the overlay context outside of initializeOverlayGL(), resizeOverlayGL(), and paintOverlayGL().

Does nothing if this widget has no overlay.

See also makeCurrent().

override bool QtOpenGL.QGLWidget.OnEvent ( QEvent  e)
virtual

Reimplemented from QObject::event().

Reimplemented from QtCore.QObject.

override void QtOpenGL.QGLWidget.OnPaintEvent ( QPaintEvent event)
protectedvirtual

Reimplemented from QWidget::paintEvent().

Handles paint events passed in the event parameter. Will cause the virtual paintGL() function to be called.

The widget's rendering context will become the current context and initializeGL() will be called if it hasn't already been called.

Reimplemented from QtGui.QWidget.

override void QtOpenGL.QGLWidget.OnResizeEvent ( QResizeEvent event)
protectedvirtual

Reimplemented from QWidget::resizeEvent().

Handles resize events that are passed in the event parameter. Calls the virtual function resizeGL().

Reimplemented from QtGui.QWidget.

virtual void QtOpenGL.QGLWidget.PaintGL ( )
protectedvirtual

This virtual function is called whenever the widget needs to be painted. Reimplement it in a subclass.

There is no need to call makeCurrent() because this has already been done when this function is called.

virtual void QtOpenGL.QGLWidget.PaintOverlayGL ( )
protectedvirtual

This virtual function is used in the same manner as paintGL() except that it operates on the widget's overlay context instead of the widget's main context. This means that paintOverlayGL() is called whenever the widget's overlay needs to be painted. Reimplement it in a subclass.

There is no need to call makeOverlayCurrent() because this has already been done when this function is called.

new void QtOpenGL.QGLWidget.QglClearColor ( QColor  c)

Convenience function for specifying the clearing color to OpenGL. Calls glClearColor (in RGBA mode) or glClearIndex (in color-index mode) with the color c. Applies to this widgets GL context.

See also qglColor(), QGLContext::currentContext(), and QColor.

new void QtOpenGL.QGLWidget.QglColor ( QColor  c)

Convenience function for specifying a drawing color to OpenGL. Calls glColor4 (in RGBA mode) or glIndex (in color-index mode) with the color c. Applies to this widgets GL context.

Note: This function is not supported on OpenGL/ES 2.0 systems.

See also qglClearColor(), QGLContext::currentContext(), and QColor.

new QPixmap QtOpenGL.QGLWidget.RenderPixmap ( int  w = 0,
int  h = 0,
bool  useContext = false 
)

Renders the current scene on a pixmap and returns the pixmap.

You can use this method on both visible and invisible QGLWidget objects.

This method will create a pixmap and a temporary QGLContext to render on the pixmap. It will then call initializeGL(), resizeGL(), and paintGL() on this context. Finally, the widget's original GL context is restored.

The size of the pixmap will be w pixels wide and h pixels high unless one of these parameters is 0 (the default), in which case the pixmap will have the same size as the widget.

If useContext is true, this method will try to be more efficient by using the existing GL context to render the pixmap. The default is false. Only use true if you understand the risks. Note that under Windows a temporary context has to be created and usage of the useContext parameter is not supported.

Overlays are not rendered onto the pixmap.

If the GL rendering context and the desktop have different bit depths, the result will most likely look surprising.

Note that the creation of display lists, modifications of the view frustum etc. should be done from within initializeGL(). If this is not done, the temporary QGLContext will not be initialized properly, and the rendered pixmap may be incomplete/corrupted.

new void QtOpenGL.QGLWidget.RenderText ( int  x,
int  y,
string  str 
)

Renders the string str into the GL context of this widget.

x and y are specified in window coordinates, with the origin in the upper left-hand corner of the window. If font is not specified, the currently set application font will be used to render the string. To change the color of the rendered text you can use the glColor() call (or the qglColor() convenience function), just before the renderText() call.

The listBase parameter is obsolete and will be removed in a future version of Qt.

Note: This function clears the stencil buffer.

Note: This function is not supported on OpenGL/ES systems.

Note: This function temporarily disables depth-testing when the text is drawn.

Note: This function can only be used inside a QPainter::beginNativePainting()/QPainter::endNativePainting() block if the default OpenGL paint engine is QPaintEngine::OpenGL. To make QPaintEngine::OpenGL the default GL engine, call QGL::setPreferredPaintEngine(QPaintEngine::OpenGL) before the QApplication constructor.

Overpaint with QPainter::drawText() instead.

new void QtOpenGL.QGLWidget.RenderText ( int  x,
int  y,
string  str,
QFont  fnt,
int  listBase = 2000 
)

Renders the string str into the GL context of this widget.

x and y are specified in window coordinates, with the origin in the upper left-hand corner of the window. If font is not specified, the currently set application font will be used to render the string. To change the color of the rendered text you can use the glColor() call (or the qglColor() convenience function), just before the renderText() call.

The listBase parameter is obsolete and will be removed in a future version of Qt.

Note: This function clears the stencil buffer.

Note: This function is not supported on OpenGL/ES systems.

Note: This function temporarily disables depth-testing when the text is drawn.

Note: This function can only be used inside a QPainter::beginNativePainting()/QPainter::endNativePainting() block if the default OpenGL paint engine is QPaintEngine::OpenGL. To make QPaintEngine::OpenGL the default GL engine, call QGL::setPreferredPaintEngine(QPaintEngine::OpenGL) before the QApplication constructor.

Overpaint with QPainter::drawText() instead.

new void QtOpenGL.QGLWidget.RenderText ( double  x,
double  y,
double  z,
string  str 
)

This is an overloaded function.

x, y and z are specified in scene or object coordinates relative to the currently set projection and model matrices. This can be useful if you want to annotate models with text labels and have the labels move with the model as it is rotated etc.

Note: This function is not supported on OpenGL/ES systems.

Note: If depth testing is enabled before this function is called, then the drawn text will be depth-tested against the models that have already been drawn in the scene. Use glDisable(GL_DEPTH_TEST) before calling this function to annotate the models without depth-testing the text.

Overpaint with QPainter::drawText() instead.

new void QtOpenGL.QGLWidget.RenderText ( double  x,
double  y,
double  z,
string  str,
QFont  fnt,
int  listBase = 2000 
)

This is an overloaded function.

x, y and z are specified in scene or object coordinates relative to the currently set projection and model matrices. This can be useful if you want to annotate models with text labels and have the labels move with the model as it is rotated etc.

Note: This function is not supported on OpenGL/ES systems.

Note: If depth testing is enabled before this function is called, then the drawn text will be depth-tested against the models that have already been drawn in the scene. Use glDisable(GL_DEPTH_TEST) before calling this function to annotate the models without depth-testing the text.

Overpaint with QPainter::drawText() instead.

virtual void QtOpenGL.QGLWidget.ResizeGL ( int  w,
int  h 
)
protectedvirtual

This virtual function is called whenever the widget has been resized. The new size is passed in width and height. Reimplement it in a subclass.

There is no need to call makeCurrent() because this has already been done when this function is called.

virtual void QtOpenGL.QGLWidget.ResizeOverlayGL ( int  w,
int  h 
)
protectedvirtual

This virtual function is used in the same manner as paintGL() except that it operates on the widget's overlay context instead of the widget's main context. This means that resizeOverlayGL() is called whenever the widget has been resized. The new size is passed in width and height. Reimplement it in a subclass.

There is no need to call makeOverlayCurrent() because this has already been done when this function is called.

new void QtOpenGL.QGLWidget.SetContext ( QGLContext  context,
QGLContext  shareContext = null,
bool  deleteOldContext = true 
)
new void QtOpenGL.QGLWidget.SetMouseTracking ( bool  enable)

If enable is true then mouse tracking is enabled; otherwise it is disabled.

new void QtOpenGL.QGLWidget.SwapBuffers ( )

Swaps the screen contents with an off-screen buffer. This only works if the widget's format specifies double buffer mode.

Normally, there is no need to explicitly call this function because it is done automatically after each widget repaint, i.e. each time after paintGL() has been executed.

See also doubleBuffer(), setAutoBufferSwap(), and QGLFormat::setDoubleBuffer().

static string QtOpenGL.QGLWidget.Tr ( string  s,
string  c = null 
)
static
static string QtOpenGL.QGLWidget.Tr ( string  s,
string  c,
int  n 
)
static
static string QtOpenGL.QGLWidget.TrUtf8 ( string  s,
string  c = null 
)
static
static string QtOpenGL.QGLWidget.TrUtf8 ( string  s,
string  c,
int  n 
)
static
virtual void QtOpenGL.QGLWidget.UpdateGL ( )
virtual

Updates the widget by calling glDraw().

virtual void QtOpenGL.QGLWidget.UpdateOverlayGL ( )
virtual

Updates the widget's overlay (if any). Will cause the virtual function paintOverlayGL() to be executed.

The widget's rendering context will become the current context and initializeGL() will be called if it hasn't already been called.

Property Documentation

bool QtOpenGL.QGLWidget.AutoBufferSwap
getset

Returns true if the widget is doing automatic GL buffer swapping; otherwise returns false.

If on is true automatic GL buffer swapping is switched on; otherwise it is switched off.

If on is true and the widget is using a double-buffered format, the background and foreground GL buffers will automatically be swapped after each paintGL() call.

The buffer auto-swapping is on by default.

QGLColormap QtOpenGL.QGLWidget.Colormap
getset

Returns the colormap for this widget.

Usually it is only top-level widgets that can have different colormaps installed. Asking for the colormap of a child widget will return the colormap for the child's top-level widget.

If no colormap has been set for this widget, the QGLColormap returned will be empty.

Set the colormap for this widget to cmap. Usually it is only top-level widgets that can have colormaps installed.

QGLContext QtOpenGL.QGLWidget.Context
get

Returns the context of this widget.

It is possible that the context is not valid (see isValid()), for example, if the underlying hardware does not support the format attributes that were requested.

bool QtOpenGL.QGLWidget.DoubleBuffer
get

Returns true if the contained GL rendering context has double buffering; otherwise returns false.

See also QGLFormat::doubleBuffer().

new IQGLWidgetSignals QtOpenGL.QGLWidget.Emit
getprotected
QGLFormat QtOpenGL.QGLWidget.Format
getset

Returns the format of the contained GL rendering context.

Sets a new format for this widget.

If the underlying OpenGL/Window system cannot satisfy all the features requested in format, the nearest subset of features will be used. After creation, the format() method will return the actual rendering context format obtained.

The widget will be assigned a new QGLContext, and the initializeGL() function will be executed for this new context before the first resizeGL() or paintGL().

This method will try to keep display list and texture object sharing in effect with other QGLWidget objects, but changing the format might make sharing impossible. Use isSharing() to see if sharing is still in effect.

bool QtOpenGL.QGLWidget.IsSharing
get

Returns true if this widget's GL context is shared with another GL context, otherwise false is returned. Context sharing might not be possible if the widgets use different formats.

See also format().

bool QtOpenGL.QGLWidget.IsValid
get

Returns true if the widget has a valid GL rendering context; otherwise returns false. A widget will be invalid if the system has no OpenGL support.

QGLContext QtOpenGL.QGLWidget.OverlayContext
get

Returns the overlay context of this widget, or 0 if this widget has no overlay.

See also context().

override QPaintEngine QtOpenGL.QGLWidget.PaintEngine
get
new QMetaObject QtOpenGL.QGLWidget.StaticMetaObject
staticget