dwww Home | Manual pages | Find package

caca_dirty(3caca)                   libcaca                  caca_dirty(3caca)

NAME
       caca_dirty - libcaca dirty rectangle manipulation

SYNOPSIS
   Modules
       libcaca canvas transformation

   Functions
       __extern int caca_disable_dirty_rect (caca_canvas_t *)
           Disable dirty rectangles.
       __extern int caca_enable_dirty_rect (caca_canvas_t *)
           Enable dirty rectangles.
       __extern int caca_get_dirty_rect_count (caca_canvas_t *)
           Get the number of dirty rectangles in the canvas.
       __extern int caca_get_dirty_rect (caca_canvas_t *, int, int *, int *,
           int *, int *)
           Get a canvas's dirty rectangle.
       __extern int caca_add_dirty_rect (caca_canvas_t *, int, int, int, int)
           Add an area to the canvas's dirty rectangle list.
       __extern int caca_remove_dirty_rect (caca_canvas_t *, int, int, int,
           int)
           Remove an area from the dirty rectangle list.
       __extern int caca_clear_dirty_rect_list (caca_canvas_t *)
           Clear a canvas's dirty rectangle list.

Detailed Description
       These functions manipulate dirty rectangles for optimised blitting.

Function Documentation
   __extern int caca_disable_dirty_rect (caca_canvas_t * cv)
       Disable dirty rectangle handling for all libcaca graphic calls. This is
       handy when the calling application needs to do slow operations within a
       known area. Just call caca_add_dirty_rect() afterwards.

       This function is recursive. Dirty rectangles are only reenabled when
       caca_enable_dirty_rect() is called as many times.

       This function never fails.

       Parameters
           cv A libcaca canvas.

       Returns
           This function always returns 0.

   __extern int caca_enable_dirty_rect (caca_canvas_t * cv)
       This function can only be called after caca_disable_dirty_rect() was
       called.

       If an error occurs, -1 is returned and errno is set accordingly:

       • EINVAL Dirty rectangles were not disabled.

       Parameters
           cv A libcaca canvas.

       Returns
           0 in case of success, -1 if an error occurred.

   __extern int caca_get_dirty_rect_count (caca_canvas_t * cv)
       Get the number of dirty rectangles in a canvas. Dirty rectangles are
       areas that contain cells that have changed since the last reset.

       The dirty rectangles are used internally by display drivers to optimise
       rendering by avoiding to redraw the whole screen. Once the display
       driver has rendered the canvas, it resets the dirty rectangle list.

       Dirty rectangles are guaranteed not to overlap.

       This function never fails.

       Parameters
           cv A libcaca canvas.

       Returns
           The number of dirty rectangles in the given canvas.

   __extern int caca_get_dirty_rect (caca_canvas_t * cv, int r, int * x, int *
       y, int * width, int * height)
       Get the canvas's given dirty rectangle coordinates. The index must be
       within the dirty rectangle count. See caca_get_dirty_rect_count() for
       how to compute this count.

       If an error occurs, no coordinates are written in the pointer
       arguments, -1 is returned and errno is set accordingly:

       • EINVAL Specified rectangle index is out of bounds.

       Parameters
           cv A libcaca canvas.
           r The requested rectangle index.
           x A pointer to an integer where the leftmost edge of the dirty
           rectangle will be stored.
           y A pointer to an integer where the topmost edge of the dirty
           rectangle will be stored.
           width A pointer to an integer where the width of the dirty
           rectangle will be stored.
           height A pointer to an integer where the height of the dirty
           rectangle will be stored.

       Returns
           0 in case of success, -1 if an error occurred.

   __extern int caca_add_dirty_rect (caca_canvas_t * cv, int x, int y, int
       width, int height)
       Add an invalidating zone to the canvas's dirty rectangle list. For more
       information about the dirty rectangles, see caca_get_dirty_rect().

       This function may be useful to force refresh of a given zone of the
       canvas even if the dirty rectangle tracking indicates that it is
       unchanged. This may happen if the canvas contents were somewhat
       directly modified.

       If an error occurs, -1 is returned and errno is set accordingly:

       • EINVAL Specified rectangle coordinates are out of bounds.

       Parameters
           cv A libcaca canvas.
           x The leftmost edge of the additional dirty rectangle.
           y The topmost edge of the additional dirty rectangle.
           width The width of the additional dirty rectangle.
           height The height of the additional dirty rectangle.

       Returns
           0 in case of success, -1 if an error occurred.

       Referenced by caca_blit(), caca_clear_canvas(), caca_fill_box(),
       caca_flip(), caca_flop(), caca_free_frame(), caca_invert(),
       caca_put_attr(), caca_put_char(), caca_rotate_180(),
       caca_rotate_left(), caca_rotate_right(), caca_set_canvas_boundaries(),
       caca_set_frame(), caca_stretch_left(), and caca_stretch_right().

   __extern int caca_remove_dirty_rect (caca_canvas_t * cv, int x, int y, int
       width, int height)
       Mark a cell area in the canvas as not dirty. For more information about
       the dirty rectangles, see caca_get_dirty_rect().

       Values such that xmin > xmax or ymin > ymax indicate that the dirty
       rectangle is empty. They will be silently ignored.

       If an error occurs, -1 is returned and errno is set accordingly:

       • EINVAL Specified rectangle coordinates are out of bounds.

       Parameters
           cv A libcaca canvas.
           x The leftmost edge of the clean rectangle.
           y The topmost edge of the clean rectangle.
           width The width of the clean rectangle.
           height The height of the clean rectangle.

       Returns
           0 in case of success, -1 if an error occurred.

   __extern int caca_clear_dirty_rect_list (caca_canvas_t * cv)
       Empty the canvas's dirty rectangle list.

       This function never fails.

       Parameters
           cv A libcaca canvas.

       Returns
           This function always returns 0.

       Referenced by caca_refresh_display().

Author
       Generated automatically by Doxygen for libcaca from the source code.

Version 0.99.beta20             Tue Jul 12 2022              caca_dirty(3caca)

Generated by dwww version 1.15 on Wed Jun 26 18:06:18 CEST 2024.