diff options
Diffstat (limited to 'include/drm/drm_rect.h')
| -rw-r--r-- | include/drm/drm_rect.h | 31 | 
1 files changed, 31 insertions, 0 deletions
diff --git a/include/drm/drm_rect.h b/include/drm/drm_rect.h index 6195820aa5c5..cd0106135b6a 100644 --- a/include/drm/drm_rect.h +++ b/include/drm/drm_rect.h @@ -70,6 +70,23 @@ struct drm_rect {  		(r)->y1 >> 16, (((r)->y1 & 0xffff) * 15625) >> 10  /** + * drm_rect_init - initialize the rectangle from x/y/w/h + * @r: rectangle + * @x: x coordinate + * @y: y coordinate + * @width: width + * @height: height + */ +static inline void drm_rect_init(struct drm_rect *r, int x, int y, +				 int width, int height) +{ +	r->x1 = x; +	r->y1 = y; +	r->x2 = x + width; +	r->y2 = y + height; +} + +/**   * drm_rect_adjust_size - adjust the size of the rectangle   * @r: rectangle to be adjusted   * @dw: horizontal adjustment @@ -107,6 +124,20 @@ static inline void drm_rect_translate(struct drm_rect *r, int dx, int dy)  }  /** + * drm_rect_translate_to - translate the rectangle to an absolute position + * @r: rectangle to be tranlated + * @x: horizontal position + * @y: vertical position + * + * Move rectangle @r to @x in the horizontal direction, + * and to @y in the vertical direction. + */ +static inline void drm_rect_translate_to(struct drm_rect *r, int x, int y) +{ +	drm_rect_translate(r, x - r->x1, y - r->y1); +} + +/**   * drm_rect_downscale - downscale a rectangle   * @r: rectangle to be downscaled   * @horz: horizontal downscale factor  |