#include <juce_OpenGL_win32.h>
Classes | |
struct | DummyComponent |
struct | Locker |
struct | MouseForwardingNSOpenGLViewClass |
Static Public Member Functions | |
static void | createAttribs (NSOpenGLPixelFormatAttribute *attribs, OpenGLVersion version, const OpenGLPixelFormat &pixFormat, bool shouldUseMultisampling) |
static void | deactivateCurrentContext () |
static void | deactivateCurrentContext () |
static void | deactivateCurrentContext () |
static void | deactivateCurrentContext () |
static void | deactivateCurrentContext () |
Public Attributes | |
Component & | component |
double | lastSwapTime = 0 |
int | minSwapTimeMs = 0 |
NSOpenGLContext * | renderContext = nil |
int | underrunCounter = 0 |
NSOpenGLView * | view = nil |
ReferenceCountedObjectPtr< ReferenceCountedObject > | viewAttachment |
Private Member Functions | |
void | attachedToWindow () |
void | clear () |
bool | createContext (EAGLRenderingAPI type, void *contextToShare) |
void | createGLBuffers () |
void | createNativeWindow (Component &component) |
void | deleteRenderContext () |
void | detachedFromWindow () |
void | dispatchDraw (jobject) |
void | freeGLBuffers () |
bool | initEGLDisplay () |
void | initialiseGLExtensions () |
void | releaseContext () |
void | releaseDC () |
int | wglChoosePixelFormatExtension (const OpenGLPixelFormat &pixelFormat) const |
Static Private Member Functions | |
static void | deleteFrameBuffer (GLuint &i) |
static void | deleteRenderBuffer (GLuint &i) |
static void | initialisePixelFormatDescriptor (PIXELFORMATDESCRIPTOR &pfd, const OpenGLPixelFormat &pixelFormat) |
Private Attributes | |
XVisualInfo * | bestVisual = {} |
Rectangle< int > | bounds |
GLuint | colorBufferHandle = 0 |
EAGLContext * | context = nil |
OpenGLContext * | context = {} |
EGLContext | context = {} |
void * | contextToShareWith |
HDC | dc |
GLuint | depthBufferHandle = 0 |
::Display * | display = {} |
DummyComponent | dummy |
std::unique_ptr< DummyComponent > | dummyComponent |
Window | embeddedWindow = {} |
GLuint | frameBufferHandle = 0 |
CAEAGLLayer * | glLayer = nil |
bool | hasInitialised = false |
OpenGLContext * | juceContext = nullptr |
Rectangle< int > | lastBounds |
GLuint | msaaBufferHandle = 0 |
GLuint | msaaColorHandle = 0 |
double | nativeScaleFactor = 1.0 |
std::unique_ptr< ComponentPeer > | nativeWindow |
bool | needToRebuildBuffers = false |
const OpenGLVersion | openGLversion |
HGLRC | renderContext |
GLXContext | renderContext = {} |
EGLSurface | surface |
GlobalRef | surfaceHolderCallback |
GlobalRef | surfaceView |
int | swapFrames = 0 |
const bool | useDepthBuffer |
const bool | useMSAA |
JuceGLView * | view = nil |
Static Private Attributes | |
static EGLConfig | config |
static EGLDisplay | display |
Friends | |
struct | AndroidGLCallbacks |
|
inline |
References juce::getAppContext(), and juce::getEnv().
|
inline |
References juce::getEnv().
|
inline |
References jassertfalse, and JUCE_AUTORELEASEPOOL.
|
inline |
References view.
|
inline |
References juce::OpenGLPixelFormat::accumulationBufferAlphaBits, juce::OpenGLPixelFormat::accumulationBufferBlueBits, juce::OpenGLPixelFormat::accumulationBufferGreenBits, juce::OpenGLPixelFormat::accumulationBufferRedBits, juce::OpenGLPixelFormat::alphaBits, bestVisual, juce::OpenGLPixelFormat::blueBits, component, juce::OpenGLPixelFormat::depthBufferBits, display, dummy, embeddedWindow, juce::Component::getLocalArea(), juce::Component::getLocalBounds(), juce::Component::getPeer(), juce::Component::getTopLevelComponent(), juce::OpenGLPixelFormat::greenBits, int(), jassert, juce::jmax(), juce::juce_LinuxAddRepaintListener(), juce::juce_LinuxScaledToPhysicalBounds(), juce::OpenGLPixelFormat::redBits, and juce::OpenGLPixelFormat::stencilBufferBits.
|
inline |
References bestVisual, component, display, dummy, embeddedWindow, juce::Component::getPeer(), and juce::juce_LinuxRemoveRepaintListener().
|
inline |
|
inline |
References renderContext, and view.
|
inline |
References createNativeWindow(), dc, deactivateCurrentContext(), deleteRenderContext(), dummyComponent, juce::Component::getTopLevelComponent(), initialiseGLExtensions(), initialisePixelFormatDescriptor(), makeActive(), nativeWindow, releaseDC(), renderContext, juce::Component::repaint(), and wglChoosePixelFormatExtension().
|
inline |
References deleteRenderContext(), and releaseDC().
|
inlineprivate |
References juce::CreateJavaInterface(), juce::LocalRef< JavaType >::get(), and juce::getEnv().
|
protectedinherited |
|
inlinestatic |
References juce::OpenGLPixelFormat::accumulationBufferAlphaBits, juce::OpenGLPixelFormat::accumulationBufferBlueBits, juce::OpenGLPixelFormat::accumulationBufferGreenBits, juce::OpenGLPixelFormat::accumulationBufferRedBits, juce::OpenGLPixelFormat::alphaBits, juce::OpenGLPixelFormat::blueBits, juce::OpenGLPixelFormat::depthBufferBits, juce::OpenGLPixelFormat::greenBits, juce::ignoreUnused(), juce::OpenGLPixelFormat::multisamplingLevel, juce::OpenGLContext::openGL3_2, juce::OpenGLPixelFormat::redBits, and juce::OpenGLPixelFormat::stencilBufferBits.
Referenced by NativeContext().
|
inlineprivate |
References jassert.
|
inlinenoexcept |
References getRawContext().
|
inlinenoexcept |
|
inlinenoexcept |
References getRawContext().
|
inlinenoexcept |
|
inlinenoexcept |
|
inlineprivate |
|
inlineprivate |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
References juce::ScopedXDisplay::display.
|
inlinestatic |
Referenced by NativeContext(), and shutdownOnRenderThread().
|
inlinestaticprivate |
|
inlinestaticprivate |
References JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR.
|
inlineprivate |
Referenced by NativeContext(), and ~NativeContext().
|
inlineprivate |
References juce::LocalRef< JavaType >::get(), and juce::getEnv().
|
inlineprivate |
|
inlineprivate |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
References renderContext.
|
inlinenoexcept |
|
inlinenoexcept |
References renderContext.
|
inlinenoexcept |
References renderContext.
|
inlinenoexcept |
Referenced by createdOk().
|
inline |
References isActive(), and jassert.
|
inlinenoexcept |
|
inline |
References renderContext.
|
inline |
References swapFrames.
|
inline |
|
inlineprivate |
References jassertfalse.
|
inlineprivate |
References JUCE_INIT_WGL_FUNCTION.
Referenced by NativeContext().
|
inline |
References context.
|
inline |
|
inline |
|
inline |
References juce::LocalRef< JavaType >::get(), juce::getEnv(), jassert, jassertfalse, and juce::Thread::sleep().
|
inline |
|
inlinestaticprivate |
References juce::OpenGLPixelFormat::accumulationBufferAlphaBits, juce::OpenGLPixelFormat::accumulationBufferBlueBits, juce::OpenGLPixelFormat::accumulationBufferGreenBits, juce::OpenGLPixelFormat::accumulationBufferRedBits, juce::OpenGLPixelFormat::alphaBits, juce::OpenGLPixelFormat::blueBits, juce::OpenGLPixelFormat::depthBufferBits, juce::OpenGLPixelFormat::greenBits, juce::OpenGLPixelFormat::redBits, juce::OpenGLPixelFormat::stencilBufferBits, and juce::zerostruct().
Referenced by NativeContext().
|
inlinenoexcept |
References renderContext.
|
inlinenoexcept |
References renderContext.
|
inlinenoexcept |
|
inlinenoexcept |
References display, and renderContext.
|
inlinenoexcept |
Referenced by getSwapInterval(), makeActive(), and setSwapInterval().
|
inlinenoexcept |
References dc, isActive(), and renderContext.
|
inlinenoexcept |
References context, jassert, renderContext, and view.
|
inlinenoexcept |
References juce::GL_FRAMEBUFFER.
|
inlinenoexcept |
References display, embeddedWindow, and renderContext.
|
inlinenoexcept |
Referenced by NativeContext().
|
inlineprivate |
|
inlineprivate |
References dc.
Referenced by NativeContext(), and ~NativeContext().
References isActive(), and jassert.
References minSwapTimeMs, and renderContext.
References display, juce::OpenGLHelpers::getExtensionFunction(), and swapFrames.
|
inline |
References context, and deactivateCurrentContext().
|
inline |
References deactivateCurrentContext().
|
inline |
|
inline |
|
inline |
References jassert.
|
inlineoverridevirtual |
Implements juce::SurfaceHolderCallback.
References juce::ignoreUnused().
|
overridevirtual |
Implements juce::SurfaceHolderCallback.
|
overridevirtual |
Implements juce::SurfaceHolderCallback.
|
inlinenoexcept |
References dc.
|
inline |
References context, juce::GL_RENDERBUFFER, and glResolveMultisampleFramebufferAPPLE().
|
inline |
|
inline |
References display, and embeddedWindow.
|
inlinenoexcept |
|
inline |
References context.
|
inline |
References bounds, component, display, embeddedWindow, juce::Component::getPeer(), int(), juce::jmax(), and juce::juce_LinuxScaledToPhysicalBounds().
References juce::Desktop::getDisplays(), juce::getEnv(), juce::Desktop::getInstance(), juce::Displays::getMainDisplay(), and juce::Displays::Display::scale.
Referenced by createNativeWindow().
|
inlineprivate |
References juce::OpenGLPixelFormat::accumulationBufferAlphaBits, juce::OpenGLPixelFormat::accumulationBufferBlueBits, juce::OpenGLPixelFormat::accumulationBufferGreenBits, juce::OpenGLPixelFormat::accumulationBufferRedBits, juce::OpenGLPixelFormat::alphaBits, juce::OpenGLPixelFormat::blueBits, juce::OpenGLPixelFormat::depthBufferBits, juce::OpenGLPixelFormat::greenBits, juce::OpenGLHelpers::isContextActive(), juce::OpenGLHelpers::isExtensionSupported(), jassert, JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR, juce::OpenGLPixelFormat::multisamplingLevel, juce::numElementsInArray(), juce::OpenGLPixelFormat::redBits, juce::OpenGLPixelFormat::stencilBufferBits, juce::WGL_ACCELERATION_ARB, juce::WGL_ACCUM_ALPHA_BITS_ARB, juce::WGL_ACCUM_BLUE_BITS_ARB, juce::WGL_ACCUM_GREEN_BITS_ARB, juce::WGL_ACCUM_RED_BITS_ARB, juce::WGL_ALPHA_BITS_ARB, juce::WGL_BLUE_BITS_ARB, juce::WGL_COLOR_BITS_ARB, juce::WGL_DEPTH_BITS_ARB, juce::WGL_DOUBLE_BUFFER_ARB, juce::WGL_DRAW_TO_WINDOW_ARB, juce::WGL_FULL_ACCELERATION_ARB, juce::WGL_GREEN_BITS_ARB, juce::WGL_PIXEL_TYPE_ARB, juce::WGL_RED_BITS_ARB, juce::WGL_SAMPLE_BUFFERS_ARB, juce::WGL_SAMPLES_ARB, juce::WGL_STENCIL_BITS_ARB, juce::WGL_SUPPORT_OPENGL_ARB, and juce::WGL_TYPE_RGBA_ARB.
Referenced by NativeContext().
|
friend |
|
private |
Referenced by initialiseOnRenderThread(), NativeContext(), and ~NativeContext().
Referenced by updateWindowPosition().
|
private |
Component & juce::OpenGLContext::NativeContext::component |
|
staticprivate |
|
private |
|
private |
|
private |
|
private |
Referenced by initialiseOnRenderThread().
|
private |
Referenced by makeActive(), NativeContext(), releaseDC(), and swapBuffers().
|
private |
|
private |
|
staticprivate |
|
private |
Referenced by NativeContext(), and ~NativeContext().
|
private |
Referenced by NativeContext().
|
private |
Referenced by makeActive(), NativeContext(), swapBuffers(), updateWindowPosition(), and ~NativeContext().
|
private |
|
private |
|
private |
|
private |
double juce::OpenGLContext::NativeContext::lastSwapTime = 0 |
Referenced by swapBuffers().
int juce::OpenGLContext::NativeContext::minSwapTimeMs = 0 |
Referenced by setSwapInterval(), and swapBuffers().
|
private |
|
private |
|
private |
Referenced by createNativeWindow(), and updateWindowPosition().
|
private |
Referenced by getWindowScaleFactor(), NativeContext(), and updateWindowPosition().
|
private |
|
private |
|
private |
NSOpenGLContext* juce::OpenGLContext::NativeContext::renderContext = nil |
|
private |
|
private |
|
private |
|
private |
|
private |
Referenced by getSwapInterval(), and setSwapInterval().
int juce::OpenGLContext::NativeContext::underrunCounter = 0 |
Referenced by swapBuffers().
|
private |
|
private |
|
private |
Referenced by makeActive(), NativeContext(), and ~NativeContext().
NSOpenGLView* juce::OpenGLContext::NativeContext::view = nil |
ReferenceCountedObjectPtr<ReferenceCountedObject> juce::OpenGLContext::NativeContext::viewAttachment |
Referenced by NativeContext().