## Copyright (c) 2022, NVIDIA CORPORATION.  All rights reserved.
##
## NVIDIA CORPORATION and its licensors retain all intellectual property
## and proprietary rights in and to this software, related documentation
## and any modifications thereto.  Any use, reproduction, disclosure or
## distribution of this software and related documentation without an express
## license agreement from NVIDIA CORPORATION is strictly prohibited.
##
"""
omni.kit.widget.opengl
----------------------

omni.kit.widget.opengl module provides a way to draw with OpenGL in an omni.ui.Widget
"""

__all__  = ["OpenGLWidget", "OpenGLImageProvider", "OpenGLScene"]


from ._opengl_widget import *


class OpenGLScene:
    "Simple class for an OpenGLScene object for subclassing that sets up callbacks into the omni.ui object"

    def __init__(self, widget_or_provider):
        widget_or_provider.set_initialize_gl_fn(self.initialize_gl)
        widget_or_provider.set_draw_gl_fn(self.draw_gl)
    
    def initialize_gl(self, viewport_width: int, viewport_height: int, first_init: bool):
        pass

    def draw_gl(self, viewport_width: int, viewport_height: int):
        pass
