Changeset View
Changeset View
Standalone View
Standalone View
source/blender/imbuf/intern/rectop.c
| Show First 20 Lines • Show All 207 Lines • ▼ Show 20 Lines | default: | ||||
| dst[0] = src1[0]; | dst[0] = src1[0]; | ||||
| dst[1] = src1[1]; | dst[1] = src1[1]; | ||||
| dst[2] = src1[2]; | dst[2] = src1[2]; | ||||
| dst[3] = src1[3]; | dst[3] = src1[3]; | ||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| /** Crop */ | /* -------------------------------------------------------------------- */ | ||||
| /** \name Crop | |||||
| * \{ */ | |||||
| static void rect_crop_4bytes(void **buf_p, const int size_src[2], const rcti *crop) | static void rect_crop_4bytes(void **buf_p, const int size_src[2], const rcti *crop) | ||||
| { | { | ||||
| if (*buf_p == NULL) { | if (*buf_p == NULL) { | ||||
| return; | return; | ||||
| } | } | ||||
| const int size_dst[2] = { | const int size_dst[2] = { | ||||
| BLI_rcti_size_x(crop) + 1, | BLI_rcti_size_x(crop) + 1, | ||||
| ▲ Show 20 Lines • Show All 49 Lines • ▼ Show 20 Lines | void IMB_rect_crop(ImBuf *ibuf, const rcti *crop) | ||||
| rect_crop_4bytes((void **)&ibuf->zbuf, size_src, crop); | rect_crop_4bytes((void **)&ibuf->zbuf, size_src, crop); | ||||
| rect_crop_4bytes((void **)&ibuf->zbuf_float, size_src, crop); | rect_crop_4bytes((void **)&ibuf->zbuf_float, size_src, crop); | ||||
| rect_crop_16bytes((void **)&ibuf->rect_float, size_src, crop); | rect_crop_16bytes((void **)&ibuf->rect_float, size_src, crop); | ||||
| ibuf->x = size_dst[0]; | ibuf->x = size_dst[0]; | ||||
| ibuf->y = size_dst[1]; | ibuf->y = size_dst[1]; | ||||
| } | } | ||||
| /** Re-alloc buffers at a new size */ | /** | ||||
| * Re-alloc buffers at a new size. | |||||
| */ | |||||
| static void rect_realloc_4bytes(void **buf_p, const uint size[2]) | static void rect_realloc_4bytes(void **buf_p, const uint size[2]) | ||||
| { | { | ||||
| if (*buf_p == NULL) { | if (*buf_p == NULL) { | ||||
| return; | return; | ||||
| } | } | ||||
| MEM_freeN(*buf_p); | MEM_freeN(*buf_p); | ||||
| *buf_p = MEM_mallocN(sizeof(uint) * size[0] * size[1], __func__); | *buf_p = MEM_mallocN(sizeof(uint) * size[0] * size[1], __func__); | ||||
| } | } | ||||
| Show All 21 Lines | void IMB_rect_size_set(ImBuf *ibuf, const uint size[2]) | ||||
| rect_realloc_4bytes((void **)&ibuf->zbuf, size); | rect_realloc_4bytes((void **)&ibuf->zbuf, size); | ||||
| rect_realloc_4bytes((void **)&ibuf->zbuf_float, size); | rect_realloc_4bytes((void **)&ibuf->zbuf_float, size); | ||||
| rect_realloc_16bytes((void **)&ibuf->rect_float, size); | rect_realloc_16bytes((void **)&ibuf->rect_float, size); | ||||
| ibuf->x = size[0]; | ibuf->x = size[0]; | ||||
| ibuf->y = size[1]; | ibuf->y = size[1]; | ||||
| } | } | ||||
| /** \} */ | |||||
| /* clipping */ | /* clipping */ | ||||
| void IMB_rectclip(ImBuf *dbuf, | void IMB_rectclip(ImBuf *dbuf, | ||||
| const ImBuf *sbuf, | const ImBuf *sbuf, | ||||
| int *destx, | int *destx, | ||||
| int *desty, | int *desty, | ||||
| int *srcx, | int *srcx, | ||||
| int *srcy, | int *srcy, | ||||
| ▲ Show 20 Lines • Show All 925 Lines • Show Last 20 Lines | |||||