def fl_get_glcanvas_context(ptr_flobject): """fl_get_glcanvas_context(ptr_flobject) -> glxcontext Finds out GLXContext of a glcanvas flobject. Parameters ---------- ptr_flobject : pointer to xfdata.FL_OBJECT glcanvas flobject Returns ------- glxcontext : xfdata.GLXContext glxcontext class instance Examples -------- >>> glxcont = fl_get_glcanvas_context(pglcnvobj) Notes ----- Status: NA-UTest + Doc + NoDemo = Maybe """ _fl_get_glcanvas_context = library.cfuncproto( library.load_so_libformsgl(), "fl_get_glcanvas_context", xfdata.GLXContext, [cty.POINTER(xfdata.FL_OBJECT)], """GLXContext fl_get_glcanvas_context(FL_OBJECT * ob)""") library.check_if_flinitialized() library.verify_flobjectptr_type(ptr_flobject) library.keep_elem_refs(ptr_flobject) retval = _fl_get_glcanvas_context(ptr_flobject) return retval
def fl_activate_glcanvas(ptr_flobject): """fl_activate_glcanvas(ptr_flobject) Activates a glcanvas flobject before drawing into glcanvas flobject. OpenGL drawing routines always draw into the window the current context is bound to. For application with a single canvas, this is not a problem. In case of multiple canvases, the canvas driver takes care of setting the proper context before invoking the expose handler. In some cases, the application may want to draw into canvases actively. In this case, use this function for explicit drawing context switching. Parameters ---------- ptr_flobject : pointer to xfdata.FL_OBJECT glcanvas flobject Examples -------- >>> fl_activate_glcanvas(pglcnvobj) Notes ----- Status: NA-UTest + Doc + NoDemo = Maybe """ _fl_activate_glcanvas = library.cfuncproto( library.load_so_libformsgl(), "fl_activate_glcanvas", None, [cty.POINTER(xfdata.FL_OBJECT)], """void fl_activate_glcanvas(FL_OBJECT * ob)""") library.check_if_flinitialized() library.verify_flobjectptr_type(ptr_flobject) library.keep_elem_refs(ptr_flobject) _fl_activate_glcanvas(ptr_flobject)
def fl_get_glcanvas_xvisualinfo(ptr_flobject): """fl_get_glcanvas_xvisualinfo(ptr_flobject) -> ptr_xvisualinfo Finds out the XVisual information that is used to create the context of a glcanvas flobject. Parameters ---------- ptr_flobject : pointer to xfdata.FL_OBJECT glcanvas flobject Returns ------- ptr_xvisualinfo : pointer to xfdata.XVisualInfo XVisualInfo instance class Examples -------- >>> pxviscls = fl_get_glcanvas_xvisualinfo(pglcnvobj) Notes ----- Status: NA-UTest + Doc + NoDemo = Maybe """ _fl_get_glcanvas_xvisualinfo = library.cfuncproto( library.load_so_libformsgl(), "fl_get_glcanvas_xvisualinfo", cty.POINTER(xfdata.XVisualInfo), [cty.POINTER(xfdata.FL_OBJECT)], """XVisualInfo * fl_get_glcanvas_xvisualinfo(FL_OBJECT * ob)""") library.check_if_flinitialized() library.verify_flobjectptr_type(ptr_flobject) library.keep_elem_refs(ptr_flobject) retval = _fl_get_glcanvas_xvisualinfo(ptr_flobject) return retval
def fl_set_glcanvas_direct(ptr_flobject, yesno): """fl_set_glcanvas_direct(ptr_flobject, yesno) Changes the rendering context created by a glcanvas flobject. By default it uses direct rendering (i.e. by-passing the Xserver). Parameters ---------- ptr_flobject : pointer to xfdata.FL_OBJECT glcanvas flobject yesno : int flag to use direct or through-Xserver rendering. Values 0 (to use Xserver rendering) or 1 (to use direct rendering) Examples -------- >>> fl_set_glcanvas_direct(pglcnvobj, 0) Notes ----- Status: NA-UTest + Doc + NoDemo = Maybe """ _fl_set_glcanvas_direct = library.cfuncproto( library.load_so_libformsgl(), "fl_set_glcanvas_direct", None, [cty.POINTER(xfdata.FL_OBJECT), cty.c_int], """void fl_set_glcanvas_direct(FL_OBJECT * ob, int direct)""") library.check_if_flinitialized() library.verify_flobjectptr_type(ptr_flobject) i_yesno = library.convert_to_intc(yesno) library.keep_elem_refs(ptr_flobject, yesno, i_yesno) _fl_set_glcanvas_direct(ptr_flobject, i_yesno)
def fl_add_glcanvas(canvastype, xpos, ypos, width, height, label): """fl_add_glcanvas(canvastype, xpos, ypos, width, height, label) -> ptr_flobject Adds a glcanvas flobject to the form. Parameters ---------- canvastype : int type of glcanvas to be added. Values (from xfdata.py) - FL_NORMAL_CANVAS (normal canvas type), - FL_SCROLLED_CANVAS (not enabled) xpos : int horizontal position (upper-left corner) ypos : int vertical position (upper-left corner) width : int width in coord units height : int height in coord units label : str text label of glcanvas Returns ------- ptr_flobject : pointer to xfdata.FL_OBJECT glcanvas flobject added Examples -------- >>> pglcnvobj = fl_add_glcanvas(xfdata.FL_NORMAL_CANVAS, 14, 21, 654, 457, "My Gl Canvas") Notes ----- Status: NA-UTest + Doc + NoDemo = Maybe """ _fl_add_glcanvas = library.cfuncproto( library.load_so_libformsgl(), "fl_add_glcanvas", cty.POINTER(xfdata.FL_OBJECT), [cty.c_int, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.FL_Coord, xfdata.STRING], """FL_OBJECT * fl_add_glcanvas(int type, FL_Coord x, FL_Coord y, FL_Coord w, FL_Coord h, const char * label)""") library.check_if_flinitialized() library.checkfatal_allowed_value_in_list(canvastype, \ xfdata.CANVASTYPE_list) i_canvastype = library.convert_to_intc(canvastype) i_xpos = library.convert_to_FL_Coord(xpos) i_ypos = library.convert_to_FL_Coord(ypos) i_width = library.convert_to_FL_Coord(width) i_height = library.convert_to_FL_Coord(height) s_label = library.convert_to_bytestrc(label) library.keep_elem_refs(canvastype, xpos, ypos, width, height, label, \ i_canvastype, i_xpos, i_ypos, i_width, i_height, s_label) retval = _fl_add_glcanvas(i_canvastype, i_xpos, i_ypos, i_width, \ i_height, s_label) return retval
def fl_glwinopen(glconfig, ptr_glxcontext, width, height): """fl_glwinopen(glconfig, ptr_glxcontext, width, height) Opens a toplevel OpenGL window. Parameters ---------- glconfig : int GL configuration settings. See xfdata.py for values ptr_glxcontext : pointer to xfdata.GLXContext *todo* glxcontext class instance?? width : int width of GL window in coord units height : int height of GL window in coord units Returns ------- win : long_pos window id opened Examples -------- >>> *todo* Notes ----- Status: NA-UTest + NoDoc + NoDemo = KO """ _fl_glwinopen = library.cfuncproto( library.load_so_libformsgl(), "fl_glwinopen", xfdata.Window, [cty.POINTER(cty.c_int), cty.POINTER(xfdata.GLXContext), cty.c_int, cty.c_int], """Window fl_glwinopen(int * config, GLXContext * context, int w, int h""") library.check_if_flinitialized() ptr_glconfig = cty.cast(glconfig, cty.POINTER(cty.c_int)) # to be verified #pGLXContext = cty.cast(glxcontext, cty.POINTER(xfdata.GLXContext)) library.verify_otherclassptr_type(ptr_glxcontext, \ cty.POINTER(xfdata.GLXContext)) i_width = library.convert_to_intc(width) i_height = library.convert_to_intc(height) library.keep_elem_refs(glconfig, ptr_glxcontext, width, height, \ i_width, i_height, ptr_glconfig) retval = _fl_glwinopen(ptr_glconfig, ptr_glxcontext, i_width, i_height) return retval
def fl_get_glcanvas_attributes(ptr_flobject): """fl_get_glcanvas_attributes(ptr_flobject) -> glconfig Finds out the attributes of a glcanvas flobject. Parameters ---------- ptr_flobject : pointer to xfdata.FL_OBJECT glcanvas flobject Returns ------- glconfig : int glcanvas configuration settings. Attributes are, as defined in OpenGL glXChooseVisual() function, GLX_USE_GL, GLX_BUFFER_SIZE, GLX_LEVEL, GLX_RGBA, GLX_DOUBLEBUFFER, GLX_STEREO, GLX_AUX_BUFFERS, GLX_RED_SIZE, GLX_GREEN_SIZE, GLX_BLUE_SIZE, GLX_ALPHA_SIZE, GLX_DEPTH_SIZE, GLX_STENCIL_SIZE, GLX_ACCUM_RED_SIZE, GLX_ACCUM_GREEN_SIZE, GLX_ACCUM_BLUE_SIZE, GLX_ACCUM_ALPHA_SIZE. See xfdata.py for values. Examples -------- >>> attrb = fl_get_glcanvas_attributes(pglcnvobj) API_diversion ---------- API changed from XForms, upstream is fl_get_glcanvas_attributes(ptr_flobject, attributes) Notes ----- Status: NA-UTest + Doc + NoDemo = Maybe """ _fl_get_glcanvas_attributes = library.cfuncproto( library.load_so_libformsgl(), "fl_get_glcanvas_attributes", None, [cty.POINTER(xfdata.FL_OBJECT), cty.POINTER(cty.c_int)], """void fl_get_glcanvas_attributes(FL_OBJECT * ob, int * attributes)""") library.check_if_flinitialized() library.verify_flobjectptr_type(ptr_flobject) glconfig, ptr_glconfig = library.make_intc_and_pointer() library.keep_elem_refs(ptr_flobject, glconfig, ptr_glconfig) _fl_get_glcanvas_attributes(ptr_flobject, ptr_glconfig) return glconfig.value
def fl_set_glcanvas_attributes(ptr_flobject, glconfig): """fl_set_glcanvas_attributes(ptr_flobject, glconfig) Modifies the default configuration of a particular glcanvas flobject. You can change a glcanvas attribute on the fly even if the canvas is already visible and active. By default they are the following (from xfdata.py): GLX_RGBA, GLX_DEPTH_SIZE, 1, GLX_RED_SIZE, 1, GLX_GREEN_SIZE, 1, GLX_BLUE_SIZE, 1, GLX_DOUBLEBUFFER. Pairs is (variable-only) or (variable, value). Parameters ---------- ptr_flobject : pointer to xfdata.FL_OBJECT glcanvas flobject glconfig : list of int configuration settings to be set. Attributes are, as defined in OpenGL glXChooseVisual() function, GLX_USE_GL, GLX_BUFFER_SIZE, GLX_LEVEL, GLX_RGBA, GLX_DOUBLEBUFFER, GLX_STEREO, GLX_AUX_BUFFERS, GLX_RED_SIZE, GLX_GREEN_SIZE, GLX_BLUE_SIZE, GLX_ALPHA_SIZE, GLX_DEPTH_SIZE, GLX_STENCIL_SIZE, GLX_ACCUM_RED_SIZE, GLX_ACCUM_GREEN_SIZE, GLX_ACCUM_BLUE_SIZE, GLX_ACCUM_ALPHA_SIZE. See xfdata.py for values. Examples -------- >>> *todo* Notes ----- Status: NA-UTest + NoDoc + NoDemo = Maybe """ _fl_set_glcanvas_attributes = library.cfuncproto( library.load_so_libformsgl(), "fl_set_glcanvas_attributes", None, [cty.POINTER(xfdata.FL_OBJECT), cty.POINTER(cty.c_int)], """void fl_set_glcanvas_attributes(FL_OBJECT * ob, const int * config)""") library.check_if_flinitialized() # unsure library.verify_flobjectptr_type(ptr_flobject) #ptr_glconfig = cty.cast(glconfig, cty.POINTER(cty.c_int)) ptr_glconfig = library.convert_to_ptr_intc(glconfig) library.keep_elem_refs(ptr_flobject, glconfig, ptr_glconfig) _fl_set_glcanvas_attributes(ptr_flobject, ptr_glconfig)
def fl_set_glcanvas_defaults(glconfig): """fl_set_glcanvas_defaults(glconfig) Modifies the global default attributes for glcanvas, before the creation of glcanvases. By default they are the following (from xfdata.py): GLX_RGBA, GLX_DEPTH_SIZE, 1, GLX_RED_SIZE, 1, GLX_GREEN_SIZE, 1, GLX_BLUE_SIZE, 1, GLX_DOUBLEBUFFER. Pairs is (variable-only) or (variable, value). Parameters ---------- glconfig : list of int configuration settings, ending with -1. Attributes are, as defined in OpenGL glXChooseVisual() function, GLX_USE_GL, GLX_BUFFER_SIZE, GLX_LEVEL, GLX_RGBA, GLX_DOUBLEBUFFER, GLX_STEREO, GLX_AUX_BUFFERS, GLX_RED_SIZE, GLX_GREEN_SIZE, GLX_BLUE_SIZE, GLX_ALPHA_SIZE, GLX_DEPTH_SIZE, GLX_STENCIL_SIZE, GLX_ACCUM_RED_SIZE, GLX_ACCUM_GREEN_SIZE, GLX_ACCUM_BLUE_SIZE, GLX_ACCUM_ALPHA_SIZE. See xfdata.py for values. Examples -------- >>> fl_set_glcanvas_defaults([GLX_RGBA, GLX_DEPTH_SIZE, 2, GLX_RED_SIZE, 2, GLX_GREEN_SIZE, 2, GLX_BLUE_SIZE, 2]) Notes ----- Status: NA-UTest + NoDoc + NoDemo = Maybe """ _fl_set_glcanvas_defaults = library.cfuncproto( library.load_so_libformsgl(), "fl_set_glcanvas_defaults", None, [cty.POINTER(cty.c_int)], """void fl_set_glcanvas_defaults(const int * config)""") library.check_if_flinitialized() #ptr_glconfig = cty.cast(config, cty.POINTER(cty.c_int)) # to be verified ptr_glconfig = library.convert_to_ptr_intc(glconfig) library.keep_elem_refs(glconfig, ptr_glconfig) _fl_set_glcanvas_defaults(ptr_glconfig)
def fl_get_glcanvas_defaults(): """fl_get_glcanvas_defaults() -> glconfig Finds out the global defaults attributes for glcanvas. Returns ------- glconfig : array of int configuration settings, ending with -1. Attributes are, as defined in OpenGL glXChooseVisual() function, GLX_USE_GL, GLX_BUFFER_SIZE, GLX_LEVEL, GLX_RGBA, GLX_DOUBLEBUFFER, GLX_STEREO, GLX_AUX_BUFFERS, GLX_RED_SIZE, GLX_GREEN_SIZE, GLX_BLUE_SIZE, GLX_ALPHA_SIZE, GLX_DEPTH_SIZE, GLX_STENCIL_SIZE, GLX_ACCUM_RED_SIZE, GLX_ACCUM_GREEN_SIZE, GLX_ACCUM_BLUE_SIZE, GLX_ACCUM_ALPHA_SIZE. See xfdata.py for values. Examples -------- >>> cnfset = fl_get_glcanvas_defaults() API_diversion ---------- API changed from XForms, upstream is fl_get_glcanvas_defaults(config) Notes ----- Status: NA-UTest + Doc + NoDemo = Maybe """ _fl_get_glcanvas_defaults = library.cfuncproto( library.load_so_libformsgl(), "fl_get_glcanvas_defaults", None, [cty.POINTER(cty.c_int)], """void fl_get_glcanvas_defaults(int config[ ])""") library.check_if_flinitialized() # unsure i_glconfig, ptr_glconfig = library.make_intc_and_pointer() library.keep_elem_refs(i_glconfig, ptr_glconfig) _fl_get_glcanvas_defaults(ptr_glconfig) return i_glconfig.value