include/SDL_rect.h
changeset 5154 fb424691cfc7
parent 3697 f7b03b6838cb
child 5156 307ccc9c135e
     1.1 --- a/include/SDL_rect.h	Wed Feb 02 14:34:24 2011 -0800
     1.2 +++ b/include/SDL_rect.h	Wed Feb 02 14:34:54 2011 -0800
     1.3 @@ -70,6 +70,25 @@
     1.4  } SDL_Rect;
     1.5  
     1.6  /**
     1.7 + *  \brief A structure used to track dirty rectangles
     1.8 + *  
     1.9 + *  \sa SDL_AddDirtyRect
    1.10 + *  \sa SDL_ClearDirtyRects
    1.11 + *  \sa SDL_FreeDirtyRects
    1.12 + */
    1.13 +typedef struct SDL_DirtyRect
    1.14 +{
    1.15 +    SDL_Rect rect;
    1.16 +    struct SDL_DirtyRect *next;
    1.17 +} SDL_DirtyRect;
    1.18 +
    1.19 +typedef struct SDL_DirtyRectList
    1.20 +{
    1.21 +    SDL_DirtyRect *list;
    1.22 +    SDL_DirtyRect *free;
    1.23 +} SDL_DirtyRectList;
    1.24 +
    1.25 +/**
    1.26   *  \brief Returns true if the rectangle has no area.
    1.27   */
    1.28  #define SDL_RectEmpty(X)    (((X)->w <= 0) || ((X)->h <= 0))
    1.29 @@ -124,6 +143,22 @@
    1.30                                                            int *Y1, int *X2,
    1.31                                                            int *Y2);
    1.32  
    1.33 +/**
    1.34 + *  \brief Add a rectangle to a dirty rectangle list
    1.35 + */
    1.36 +extern DECLSPEC void SDLCALL SDL_AddDirtyRect(SDL_DirtyRectList * list, const SDL_Rect * rect);
    1.37 +
    1.38 +/**
    1.39 + *  \brief Remove all rectangles associated with a dirty rectangle list
    1.40 + */
    1.41 +extern DECLSPEC void SDLCALL SDL_ClearDirtyRects(SDL_DirtyRectList * list);
    1.42 +
    1.43 +/**
    1.44 + *  \brief Free memory associated with a dirty rectangle list
    1.45 + */
    1.46 +extern DECLSPEC void SDLCALL SDL_FreeDirtyRects(SDL_DirtyRectList * list);
    1.47 +
    1.48 +
    1.49  /* Ends C function definitions when using C++ */
    1.50  #ifdef __cplusplus
    1.51  /* *INDENT-OFF* */