def fl_set_button_mouse_buttons(ptr_flobject, buttons):
    """fl_set_button_mouse_buttons(ptr_flobject, buttons)

    Defines up to which mouse buttons the button flobject will react.

    Parameters
    ----------
        ptr_flobject : pointer to xfdata.FL_OBJECT
            button flobject
        buttons : int_pos
            value of mouse buttons to be set. Values bitwise 'OR' of the
            numbers 1 for the left mouse button, 2 for the middle, 4 for
            the right mouse button, 8 for moving the scroll wheel up
            "button" and 16 for scrolling down "button".

    Examples
    --------
        >>> fl_set_button_mouse_buttons(pbtnobj, 8|16)

    Notes
    -----
        Status: NA-UTest + Doc + Demo = OK

    """
    _fl_set_button_mouse_buttons = library.cfuncproto(
        library.load_so_libforms(), "fl_set_button_mouse_buttons",
        None, [cty.POINTER(xfdata.FL_OBJECT), cty.c_uint],
        """void fl_set_button_mouse_buttons(FL_OBJECT * ob,
           unsigned int buttons)""")
    library.check_if_flinitialized()
    library.verify_flobjectptr_type(ptr_flobject)
    ui_buttons = library.convert_to_uintc(buttons)
    library.keep_elem_refs(ptr_flobject, buttons, ui_buttons)
    _fl_set_button_mouse_buttons(ptr_flobject, ui_buttons)
def fl_set_positioner_mouse_buttons(ptr_flobject, mousebtns):
    """fl_set_positioner_mouse_buttons(ptr_flobject, mousebtns)

    Defines which mouse buttons the positioner flobject will react to.

    Parameters
    ----------
        ptr_flobject : pointer to xfdata.FL_OBJECT
            positioner flobject
        mousebtns : int_pos
            *todo*

    Example
    -------
        >>> *todo*

    Notes
    -----
        Status: NA-UTest + Doc + Demo = OK

    """
    _fl_set_positioner_mouse_buttons = library.cfuncproto(
        library.load_so_libforms(), "fl_set_positioner_mouse_buttons",
        None, [cty.POINTER(xfdata.FL_OBJECT), cty.c_uint],
        """void fl_set_positioner_mouse_buttons(FL_OBJECT * ob,
           unsigned int mount_buttons)""")
    library.check_if_flinitialized()
    library.verify_flobjectptr_type(ptr_flobject)
    ui_mousebtns = library.convert_to_uintc(mousebtns)
    library.keep_elem_refs(ptr_flobject, mousebtns, ui_mousebtns)
    _fl_set_positioner_ystep(ptr_flobject, ui_mousebtns)
def fl_set_canvas_attributes(ptr_flobject, mask, ptr_xsetwindowattributes):
    """fl_set_canvas_attributes(ptr_flobject, mask, ptr_xsetwindowattributes)

    Modifies attributes of a canvas flobject (e.g. visual, depth and
    colormap etc.). By default, upon canvas creation, all its window related
    attributes are inherited from its parent (i.e. the window of the form the
    canvas belongs to). You should not use this function to modify events.

    Parameters
    ----------
        ptr_flobject : pointer to xfdata.FL_OBJECT
            canvas flobject
        mask : int_pos
            mask num.
        ptr_xsetwindowattributes : pointer to xfdata.XSetWindowAttributes
            xfdata.XSetWindowAttributes class instance

    Examples
    --------
        >>> *todo*

    Notes
    -----
        Status: NA-UTest + Doc + NoDemo = Maybe

    """
    _fl_set_canvas_attributes = library.cfuncproto(
            library.load_so_libforms(), "fl_set_canvas_attributes",
            None, [cty.POINTER(xfdata.FL_OBJECT), cty.c_uint,
            cty.POINTER(xfdata.XSetWindowAttributes)],
            """void fl_set_canvas_attributes(FL_OBJECT * ob,
               unsigned int mask, XSetWindowAttributes * xswa)""")
    library.check_if_flinitialized()
    library.verify_flobjectptr_type(ptr_flobject)
    ui_mask = library.convert_to_uintc(mask)
    library.verify_otherclassptr_type(ptr_xsetwindowattributes, \
            cty.POINTER(xfdata.XSetWindowAttributes))
    library.keep_elem_refs(ptr_flobject, mask, ptr_xsetwindowattributes, \
            ui_mask)
    _fl_set_canvas_attributes(ptr_flobject, ui_mask, \
            ptr_xsetwindowattributes)