///
/// Ends painting. Any resources used while painting are released. You
/// don't normally need to call this since it is called by the
/// destructor.
///
/// Returns `true` if the painter is no longer active; otherwise returns `false.`
///
/// **See also:** [`begin()`]
/// [`is_active()`]
///
/// Restores the painter after manually issuing native painting commands. Lets
/// the painter restore any native state that it relies on before calling any
/// other painter commands.
///
/// **See also:** [`begin_native_painting()`]
Ends painting. Any resources used while painting are released. You
don't normally need to call this since it is called by the
destructor.

Returns `true` if the painter is no longer active; otherwise returns `false.`



Restores the painter after manually issuing native painting commands. Lets
the painter restore any native state that it relies on before calling any
other painter commands.


Ends painting . Any resources used while painting are released . You don ' t normally need to call this since it is called by the destructor . Returns ` true ` if the painter is no longer active ; otherwise returns ` false . ` Restores the painter after manually issuing native painting commands . Lets the painter restore any native state that it relies on before calling any other painter commands .
pub fn end(&self) -> bool {
        let (obj_data, funcs) = self.get_painter_obj_funcs();
        unsafe {
            let ret_val = ((*funcs).end)(obj_data);
            ret_val
        }
    }
pub fn end ( & self ) -> bool { let ( obj_data , funcs ) = self . get_painter_obj_funcs ( ) ; unsafe { let ret_val = ( ( * funcs ) . end ) ( obj_data ) ; ret_val } }
Ends painting.
Ends painting .
&self