diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-01-11 08:34:15 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-01-11 08:34:15 +0400 |
commit | f68e9db583489d541d535791536ea20bc1ae1d76 (patch) | |
tree | 06c933c703688e927b7adf3995b74437e06400a4 /source/blender/blenlib | |
parent | a4d5ef8c7d6b8d1e73126b124aad3b4580370fa3 (diff) |
add padding for node view-all, view-home operators.
Diffstat (limited to 'source/blender/blenlib')
-rw-r--r-- | source/blender/blenlib/BLI_rect.h | 2 | ||||
-rw-r--r-- | source/blender/blenlib/intern/rct.c | 24 |
2 files changed, 26 insertions, 0 deletions
diff --git a/source/blender/blenlib/BLI_rect.h b/source/blender/blenlib/BLI_rect.h index f2e26093711..3c9363039b2 100644 --- a/source/blender/blenlib/BLI_rect.h +++ b/source/blender/blenlib/BLI_rect.h @@ -56,6 +56,8 @@ void BLI_rctf_translate(struct rctf *rect, float x, float y); void BLI_rcti_translate(struct rcti *rect, int x, int y); void BLI_rcti_resize(struct rcti *rect, int x, int y); void BLI_rctf_resize(struct rctf *rect, float x, float y); +void BLI_rcti_scale(rcti *rect, const float scale); +void BLI_rctf_scale(rctf *rect, const float scale); void BLI_rctf_interp(struct rctf *rect, const struct rctf *rect_a, const struct rctf *rect_b, const float fac); //void BLI_rcti_interp(struct rctf *rect, struct rctf *rect_a, struct rctf *rect_b, float fac); int BLI_rctf_clamp_pt_v(const struct rctf *rect, float xy[2]); diff --git a/source/blender/blenlib/intern/rct.c b/source/blender/blenlib/intern/rct.c index fb767f54e55..4bd7715ea7a 100644 --- a/source/blender/blenlib/intern/rct.c +++ b/source/blender/blenlib/intern/rct.c @@ -317,6 +317,30 @@ void BLI_rctf_resize(rctf *rect, float x, float y) rect->ymax = rect->ymin + y; } +void BLI_rcti_scale(rcti *rect, const float scale) +{ + const int cent_x = BLI_rcti_cent_x(rect); + const int cent_y = BLI_rcti_cent_y(rect); + const int size_x_half = BLI_rcti_size_x(rect) * (scale * 0.5f); + const int size_y_half = BLI_rcti_size_y(rect) * (scale * 0.5f); + rect->xmin = cent_x - size_x_half; + rect->ymin = cent_y - size_y_half; + rect->xmax = cent_x + size_x_half; + rect->ymax = cent_y + size_y_half; +} + +void BLI_rctf_scale(rctf *rect, const float scale) +{ + const float cent_x = BLI_rctf_cent_x(rect); + const float cent_y = BLI_rctf_cent_y(rect); + const float size_x_half = BLI_rctf_size_x(rect) * (scale * 0.5f); + const float size_y_half = BLI_rctf_size_y(rect) * (scale * 0.5f); + rect->xmin = cent_x - size_x_half; + rect->ymin = cent_y - size_y_half; + rect->xmax = cent_x + size_x_half; + rect->ymax = cent_y + size_y_half; +} + void BLI_rctf_interp(rctf *rect, const rctf *rect_a, const rctf *rect_b, const float fac) { const float ifac = 1.0f - fac; |