23#include "RConfigure.h"
37 fDoubleBuffered(
kTRUE),
49 fSamples(GetDefaultSamples())
64 fDoubleBuffered(opt &
Rgl::kDoubleBuffer),
67 fDepthSize(opt &
Rgl::kDepth ? 32 : 0),
69 fDepthSize(opt &
Rgl::kDepth ? 16 : 0),
71 fAccumSize(opt &
Rgl::kAccum ? 8 : 0),
72 fStencilSize(opt &
Rgl::kStencil ? 8 : 0),
73 fSamples(opt &
Rgl::kMultiSample ? GetDefaultSamples() : 0)
98 return !(*
this == rhs);
254 Info(
"TGLFormat::GetDefaultSamples",
"Requested multi-sampling %d not available, using %d. Adjusting default.", req, *i);
265 std::set<Int_t> ns_set;
271#elif defined(R__HAS_COCOA)
278 if (GLXEW_ARB_multisample)
280 Display *dpy = (Display*)
gVirtualX->GetDisplay();
282 long mask = VisualScreenMask;
283 int numVisuals, use_gl, ms_ns;
284 XVisualInfo *vis = XGetVisualInfo(dpy, mask, &tmpl, &numVisuals);
285 for (
int i = 0; i < numVisuals; i++)
287 if (glXGetConfig(dpy, &vis[i], GLX_USE_GL, &use_gl) == 0)
289 glXGetConfig(dpy, &vis[i], GLX_SAMPLES_ARB, &ms_ns);
290 ns_set.insert(ms_ns);
300 for (std::set<Int_t>::iterator i = ns_set.begin(); i != ns_set.end(); ++i)
void Info(const char *location, const char *msgfmt,...)
Use this function for informational messages.
virtual Int_t GetValue(const char *name, Int_t dflt) const
Returns the integer value for a resource.
virtual void SetValue(const char *name, const char *value, EEnvLevel level=kEnvChange, const char *type=nullptr)
Set the value of a resource or create a new resource.