[Interest] QOpenGLWidget and text

Till Oliver Knoll till.oliver.knoll at gmail.com
Mon Apr 6 22:19:44 CEST 2015


> Am 06.04.2015 um 17:15 schrieb Matthew Woehlke <mw_triad at users.sourceforge.net>:
> 
>> On 2015-04-04 05:57, Till Oliver Knoll wrote:
>>> Am 03.04.2015 um 17:26 schrieb Matthew Woehlke:
>>>> On 2015-04-02 13:45, Till Oliver Knoll wrote:
>>>> ..... But what's next? A "drawButton"? "drawBitmap"? In a Widget?!
>>> 
>>> Yes. And why not?
>> 
>> Because the class name sais *Widget, and not *Painter or *WhateverItem.
>> 
>> A Widget's responsibility - much like the one of a View; we'll come to that in a second... - is to provide a /surface/ to draw onto, and to manage the underlying system resources (we'll deliberately skip over other functionality, such as layout management).
> 
> Please don't be overly pedantic. The point isn't whether the ability is
> particularly a member of QOpenGLWidget, but whether it is available *at
> all* (in a non-deprecated class, anyway) without the user having to
> concoct a complicated system for providing it.

Sorry, my bad then. I thought the whole discussion was /exactly/ about bringing back renderText() to the new class QOpenGLWidget.

You: "I am finding myself less than
convinced that the new class is an improvement... implicit context
sharing is nice, but the loss of convenience methods is really, really
painful."

So I concluded that you must have been talking about QOpenGLWidget (alone).

Off course I never argued against the usefulness of said renderText (and /yes/, I missed the overload which takes world coordinates ;)).

I was merely defending the position that QOpenGLWidget is not the place for it, and that it was hence a good decision to drop it there.

As for the question where to place it: anywhere but *Widget!

Heck, it'd consider any "drawWhatever" functionality "high-level", read: "does not belong into Qt core OpenGL functionality", but rather another module: something between QtGui and Qt3d (or in the later itself).

The "Qt core OpenGL" functionality should just provide a surface to draw raw OpenGL into, a GL context and some convenience methods to convert Qt data structures (e.g. QImage) into "GL compatible buffer data". QMatrix and friends is nice, too.

Cheers,
  Oliver


More information about the Interest mailing list