diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-04-17 07:17:24 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-04-17 07:21:24 +0300 |
commit | e12c08e8d170b7ca40f204a5b0423c23a9fbc2c1 (patch) | |
tree | 8cf3453d12edb177a218ef8009357518ec6cab6a /source/blender/editors/space_image/image_edit.c | |
parent | b3dabc200a4b0399ec6b81f2ff2730d07b44fcaa (diff) |
ClangFormat: apply to source, most of intern
Apply clang format as proposed in T53211.
For details on usage and instructions for migrating branches
without conflicts, see:
https://wiki.blender.org/wiki/Tools/ClangFormat
Diffstat (limited to 'source/blender/editors/space_image/image_edit.c')
-rw-r--r-- | source/blender/editors/space_image/image_edit.c | 555 |
1 files changed, 279 insertions, 276 deletions
diff --git a/source/blender/editors/space_image/image_edit.c b/source/blender/editors/space_image/image_edit.c index c838c6a87fe..fc6546f0079 100644 --- a/source/blender/editors/space_image/image_edit.c +++ b/source/blender/editors/space_image/image_edit.c @@ -41,7 +41,7 @@ #include "DEG_depsgraph.h" -#include "ED_image.h" /* own include */ +#include "ED_image.h" /* own include */ #include "ED_mesh.h" #include "ED_screen.h" #include "ED_uvedit.h" @@ -54,276 +54,276 @@ /* note; image_panel_properties() uses pointer to sima->image directly */ Image *ED_space_image(SpaceImage *sima) { - return sima->image; + return sima->image; } void ED_space_image_set(Main *bmain, SpaceImage *sima, Object *obedit, Image *ima, bool automatic) { - /* Automatically pin image when manually assigned, otherwise it follows object. */ - if (!automatic && sima->image != ima && sima->mode == SI_MODE_UV) { - sima->pin = true; - } + /* Automatically pin image when manually assigned, otherwise it follows object. */ + if (!automatic && sima->image != ima && sima->mode == SI_MODE_UV) { + sima->pin = true; + } - /* change the space ima after because uvedit_face_visible_test uses the space ima - * to check if the face is displayed in UV-localview */ - sima->image = ima; + /* change the space ima after because uvedit_face_visible_test uses the space ima + * to check if the face is displayed in UV-localview */ + sima->image = ima; - if (ima == NULL || ima->type == IMA_TYPE_R_RESULT || ima->type == IMA_TYPE_COMPOSITE) { - if (sima->mode == SI_MODE_PAINT) { - sima->mode = SI_MODE_VIEW; - } - } + if (ima == NULL || ima->type == IMA_TYPE_R_RESULT || ima->type == IMA_TYPE_COMPOSITE) { + if (sima->mode == SI_MODE_PAINT) { + sima->mode = SI_MODE_VIEW; + } + } - if (sima->image) { - BKE_image_signal(bmain, sima->image, &sima->iuser, IMA_SIGNAL_USER_NEW_IMAGE); - } + if (sima->image) { + BKE_image_signal(bmain, sima->image, &sima->iuser, IMA_SIGNAL_USER_NEW_IMAGE); + } - id_us_ensure_real((ID *)sima->image); + id_us_ensure_real((ID *)sima->image); - if (obedit) { - WM_main_add_notifier(NC_GEOM | ND_DATA, obedit->data); - } + if (obedit) { + WM_main_add_notifier(NC_GEOM | ND_DATA, obedit->data); + } - WM_main_add_notifier(NC_SPACE | ND_SPACE_IMAGE, NULL); + WM_main_add_notifier(NC_SPACE | ND_SPACE_IMAGE, NULL); } void ED_space_image_auto_set(const bContext *C, SpaceImage *sima) { - if (sima->mode != SI_MODE_UV || sima->pin) { - return; - } - - /* Track image assigned to active face in edit mode. */ - Object *ob = CTX_data_active_object(C); - if (!(ob && (ob->mode & OB_MODE_EDIT) && ED_space_image_show_uvedit(sima, ob))) { - return; - } - - BMEditMesh *em = BKE_editmesh_from_object(ob); - BMesh *bm = em->bm; - BMFace *efa = BM_mesh_active_face_get(bm, true, false); - if (efa == NULL) { - return; - } - - Image *ima = NULL; - ED_object_get_active_image(ob, efa->mat_nr + 1, &ima, NULL, NULL, NULL); - - if (ima != sima->image) { - sima->image = ima; - - if (sima->image) { - Main *bmain = CTX_data_main(C); - BKE_image_signal(bmain, sima->image, &sima->iuser, IMA_SIGNAL_USER_NEW_IMAGE); - } - } + if (sima->mode != SI_MODE_UV || sima->pin) { + return; + } + + /* Track image assigned to active face in edit mode. */ + Object *ob = CTX_data_active_object(C); + if (!(ob && (ob->mode & OB_MODE_EDIT) && ED_space_image_show_uvedit(sima, ob))) { + return; + } + + BMEditMesh *em = BKE_editmesh_from_object(ob); + BMesh *bm = em->bm; + BMFace *efa = BM_mesh_active_face_get(bm, true, false); + if (efa == NULL) { + return; + } + + Image *ima = NULL; + ED_object_get_active_image(ob, efa->mat_nr + 1, &ima, NULL, NULL, NULL); + + if (ima != sima->image) { + sima->image = ima; + + if (sima->image) { + Main *bmain = CTX_data_main(C); + BKE_image_signal(bmain, sima->image, &sima->iuser, IMA_SIGNAL_USER_NEW_IMAGE); + } + } } Mask *ED_space_image_get_mask(SpaceImage *sima) { - return sima->mask_info.mask; + return sima->mask_info.mask; } void ED_space_image_set_mask(bContext *C, SpaceImage *sima, Mask *mask) { - sima->mask_info.mask = mask; + sima->mask_info.mask = mask; - /* weak, but same as image/space */ - id_us_ensure_real((ID *)sima->mask_info.mask); + /* weak, but same as image/space */ + id_us_ensure_real((ID *)sima->mask_info.mask); - if (C) { - WM_event_add_notifier(C, NC_MASK | NA_SELECTED, mask); - } + if (C) { + WM_event_add_notifier(C, NC_MASK | NA_SELECTED, mask); + } } ImBuf *ED_space_image_acquire_buffer(SpaceImage *sima, void **r_lock) { - ImBuf *ibuf; + ImBuf *ibuf; - if (sima && sima->image) { + if (sima && sima->image) { #if 0 - if (sima->image->type == IMA_TYPE_R_RESULT && BIF_show_render_spare()) - return BIF_render_spare_imbuf(); - else + if (sima->image->type == IMA_TYPE_R_RESULT && BIF_show_render_spare()) + return BIF_render_spare_imbuf(); + else #endif - ibuf = BKE_image_acquire_ibuf(sima->image, &sima->iuser, r_lock); - - if (ibuf) { - if (ibuf->rect || ibuf->rect_float) { - return ibuf; - } - BKE_image_release_ibuf(sima->image, ibuf, *r_lock); - *r_lock = NULL; - } - } - else { - *r_lock = NULL; - } - - return NULL; + ibuf = BKE_image_acquire_ibuf(sima->image, &sima->iuser, r_lock); + + if (ibuf) { + if (ibuf->rect || ibuf->rect_float) { + return ibuf; + } + BKE_image_release_ibuf(sima->image, ibuf, *r_lock); + *r_lock = NULL; + } + } + else { + *r_lock = NULL; + } + + return NULL; } void ED_space_image_release_buffer(SpaceImage *sima, ImBuf *ibuf, void *lock) { - if (sima && sima->image) { - BKE_image_release_ibuf(sima->image, ibuf, lock); - } + if (sima && sima->image) { + BKE_image_release_ibuf(sima->image, ibuf, lock); + } } bool ED_space_image_has_buffer(SpaceImage *sima) { - ImBuf *ibuf; - void *lock; - bool has_buffer; + ImBuf *ibuf; + void *lock; + bool has_buffer; - ibuf = ED_space_image_acquire_buffer(sima, &lock); - has_buffer = (ibuf != NULL); - ED_space_image_release_buffer(sima, ibuf, lock); + ibuf = ED_space_image_acquire_buffer(sima, &lock); + has_buffer = (ibuf != NULL); + ED_space_image_release_buffer(sima, ibuf, lock); - return has_buffer; + return has_buffer; } void ED_space_image_get_size(SpaceImage *sima, int *width, int *height) { - Scene *scene = sima->iuser.scene; - ImBuf *ibuf; - void *lock; - - ibuf = ED_space_image_acquire_buffer(sima, &lock); - - if (ibuf && ibuf->x > 0 && ibuf->y > 0) { - *width = ibuf->x; - *height = ibuf->y; - } - else if (sima->image && sima->image->type == IMA_TYPE_R_RESULT && scene) { - /* not very important, just nice */ - *width = (scene->r.xsch * scene->r.size) / 100; - *height = (scene->r.ysch * scene->r.size) / 100; - - if ((scene->r.mode & R_BORDER) && (scene->r.mode & R_CROP)) { - *width *= BLI_rctf_size_x(&scene->r.border); - *height *= BLI_rctf_size_y(&scene->r.border); - } - - } - /* I know a bit weak... but preview uses not actual image size */ - // XXX else if (image_preview_active(sima, width, height)); - else { - *width = IMG_SIZE_FALLBACK; - *height = IMG_SIZE_FALLBACK; - } - - ED_space_image_release_buffer(sima, ibuf, lock); + Scene *scene = sima->iuser.scene; + ImBuf *ibuf; + void *lock; + + ibuf = ED_space_image_acquire_buffer(sima, &lock); + + if (ibuf && ibuf->x > 0 && ibuf->y > 0) { + *width = ibuf->x; + *height = ibuf->y; + } + else if (sima->image && sima->image->type == IMA_TYPE_R_RESULT && scene) { + /* not very important, just nice */ + *width = (scene->r.xsch * scene->r.size) / 100; + *height = (scene->r.ysch * scene->r.size) / 100; + + if ((scene->r.mode & R_BORDER) && (scene->r.mode & R_CROP)) { + *width *= BLI_rctf_size_x(&scene->r.border); + *height *= BLI_rctf_size_y(&scene->r.border); + } + } + /* I know a bit weak... but preview uses not actual image size */ + // XXX else if (image_preview_active(sima, width, height)); + else { + *width = IMG_SIZE_FALLBACK; + *height = IMG_SIZE_FALLBACK; + } + + ED_space_image_release_buffer(sima, ibuf, lock); } void ED_space_image_get_size_fl(SpaceImage *sima, float size[2]) { - int size_i[2]; - ED_space_image_get_size(sima, &size_i[0], &size_i[1]); - size[0] = size_i[0]; - size[1] = size_i[1]; + int size_i[2]; + ED_space_image_get_size(sima, &size_i[0], &size_i[1]); + size[0] = size_i[0]; + size[1] = size_i[1]; } - void ED_space_image_get_aspect(SpaceImage *sima, float *aspx, float *aspy) { - Image *ima = sima->image; - if ((ima == NULL) || (ima->aspx == 0.0f || ima->aspy == 0.0f)) { - *aspx = *aspy = 1.0; - } - else { - BKE_image_get_aspect(ima, aspx, aspy); - } + Image *ima = sima->image; + if ((ima == NULL) || (ima->aspx == 0.0f || ima->aspy == 0.0f)) { + *aspx = *aspy = 1.0; + } + else { + BKE_image_get_aspect(ima, aspx, aspy); + } } void ED_space_image_get_zoom(SpaceImage *sima, ARegion *ar, float *zoomx, float *zoomy) { - int width, height; + int width, height; - ED_space_image_get_size(sima, &width, &height); + ED_space_image_get_size(sima, &width, &height); - *zoomx = (float)(BLI_rcti_size_x(&ar->winrct) + 1) / (float)(BLI_rctf_size_x(&ar->v2d.cur) * width); - *zoomy = (float)(BLI_rcti_size_y(&ar->winrct) + 1) / (float)(BLI_rctf_size_y(&ar->v2d.cur) * height); + *zoomx = (float)(BLI_rcti_size_x(&ar->winrct) + 1) / + (float)(BLI_rctf_size_x(&ar->v2d.cur) * width); + *zoomy = (float)(BLI_rcti_size_y(&ar->winrct) + 1) / + (float)(BLI_rctf_size_y(&ar->v2d.cur) * height); } void ED_space_image_get_uv_aspect(SpaceImage *sima, float *aspx, float *aspy) { - int w, h; - - ED_space_image_get_aspect(sima, aspx, aspy); - ED_space_image_get_size(sima, &w, &h); - - *aspx *= (float)w; - *aspy *= (float)h; - - if (*aspx < *aspy) { - *aspy = *aspy / *aspx; - *aspx = 1.0f; - } - else { - *aspx = *aspx / *aspy; - *aspy = 1.0f; - } + int w, h; + + ED_space_image_get_aspect(sima, aspx, aspy); + ED_space_image_get_size(sima, &w, &h); + + *aspx *= (float)w; + *aspy *= (float)h; + + if (*aspx < *aspy) { + *aspy = *aspy / *aspx; + *aspx = 1.0f; + } + else { + *aspx = *aspx / *aspy; + *aspy = 1.0f; + } } void ED_image_get_uv_aspect(Image *ima, ImageUser *iuser, float *aspx, float *aspy) { - if (ima) { - int w, h; - - BKE_image_get_aspect(ima, aspx, aspy); - BKE_image_get_size(ima, iuser, &w, &h); - - *aspx *= (float)w; - *aspy *= (float)h; - } - else { - *aspx = 1.0f; - *aspy = 1.0f; - } + if (ima) { + int w, h; + + BKE_image_get_aspect(ima, aspx, aspy); + BKE_image_get_size(ima, iuser, &w, &h); + + *aspx *= (float)w; + *aspy *= (float)h; + } + else { + *aspx = 1.0f; + *aspy = 1.0f; + } } /* takes event->mval */ void ED_image_mouse_pos(SpaceImage *sima, ARegion *ar, const int mval[2], float co[2]) { - int sx, sy, width, height; - float zoomx, zoomy; + int sx, sy, width, height; + float zoomx, zoomy; - ED_space_image_get_zoom(sima, ar, &zoomx, &zoomy); - ED_space_image_get_size(sima, &width, &height); + ED_space_image_get_zoom(sima, ar, &zoomx, &zoomy); + ED_space_image_get_size(sima, &width, &height); - UI_view2d_view_to_region(&ar->v2d, 0.0f, 0.0f, &sx, &sy); + UI_view2d_view_to_region(&ar->v2d, 0.0f, 0.0f, &sx, &sy); - co[0] = ((mval[0] - sx) / zoomx) / width; - co[1] = ((mval[1] - sy) / zoomy) / height; + co[0] = ((mval[0] - sx) / zoomx) / width; + co[1] = ((mval[1] - sy) / zoomy) / height; } void ED_image_point_pos(SpaceImage *sima, ARegion *ar, float x, float y, float *xr, float *yr) { - int sx, sy, width, height; - float zoomx, zoomy; + int sx, sy, width, height; + float zoomx, zoomy; - ED_space_image_get_zoom(sima, ar, &zoomx, &zoomy); - ED_space_image_get_size(sima, &width, &height); + ED_space_image_get_zoom(sima, ar, &zoomx, &zoomy); + ED_space_image_get_size(sima, &width, &height); - UI_view2d_view_to_region(&ar->v2d, 0.0f, 0.0f, &sx, &sy); + UI_view2d_view_to_region(&ar->v2d, 0.0f, 0.0f, &sx, &sy); - *xr = ((x - sx) / zoomx) / width; - *yr = ((y - sy) / zoomy) / height; + *xr = ((x - sx) / zoomx) / width; + *yr = ((y - sy) / zoomy) / height; } void ED_image_point_pos__reverse(SpaceImage *sima, ARegion *ar, const float co[2], float r_co[2]) { - float zoomx, zoomy; - int width, height; - int sx, sy; + float zoomx, zoomy; + int width, height; + int sx, sy; - UI_view2d_view_to_region(&ar->v2d, 0.0f, 0.0f, &sx, &sy); - ED_space_image_get_size(sima, &width, &height); - ED_space_image_get_zoom(sima, ar, &zoomx, &zoomy); + UI_view2d_view_to_region(&ar->v2d, 0.0f, 0.0f, &sx, &sy); + ED_space_image_get_size(sima, &width, &height); + ED_space_image_get_zoom(sima, ar, &zoomx, &zoomy); - r_co[0] = (co[0] * width * zoomx) + (float)sx; - r_co[1] = (co[1] * height * zoomy) + (float)sy; + r_co[0] = (co[0] * width * zoomx) + (float)sx; + r_co[1] = (co[1] * height * zoomy) + (float)sy; } /** @@ -332,141 +332,144 @@ void ED_image_point_pos__reverse(SpaceImage *sima, ARegion *ar, const float co[2 */ bool ED_image_slot_cycle(struct Image *image, int direction) { - const int cur = image->render_slot; - int i, slot; - - BLI_assert(ELEM(direction, -1, 1)); - - int num_slots = BLI_listbase_count(&image->renderslots); - for (i = 1; i < num_slots; i++) { - slot = (cur + ((direction == -1) ? -i : i)) % num_slots; - if (slot < 0) { - slot += num_slots; - } - - RenderSlot *render_slot = BKE_image_get_renderslot(image, slot); - if ((render_slot && render_slot->render) || slot == image->last_render_slot) { - image->render_slot = slot; - break; - } - } - - if (i == num_slots) { - image->render_slot = ((cur == 1) ? 0 : 1); - } - - return (cur != image->render_slot); + const int cur = image->render_slot; + int i, slot; + + BLI_assert(ELEM(direction, -1, 1)); + + int num_slots = BLI_listbase_count(&image->renderslots); + for (i = 1; i < num_slots; i++) { + slot = (cur + ((direction == -1) ? -i : i)) % num_slots; + if (slot < 0) { + slot += num_slots; + } + + RenderSlot *render_slot = BKE_image_get_renderslot(image, slot); + if ((render_slot && render_slot->render) || slot == image->last_render_slot) { + image->render_slot = slot; + break; + } + } + + if (i == num_slots) { + image->render_slot = ((cur == 1) ? 0 : 1); + } + + return (cur != image->render_slot); } -void ED_space_image_scopes_update(const struct bContext *C, struct SpaceImage *sima, struct ImBuf *ibuf, bool use_view_settings) +void ED_space_image_scopes_update(const struct bContext *C, + struct SpaceImage *sima, + struct ImBuf *ibuf, + bool use_view_settings) { - Scene *scene = CTX_data_scene(C); - Object *ob = CTX_data_active_object(C); - - /* scope update can be expensive, don't update during paint modes */ - if (sima->mode == SI_MODE_PAINT) { - return; - } - if (ob && ((ob->mode & (OB_MODE_TEXTURE_PAINT | OB_MODE_EDIT)) != 0)) { - return; - } - - /* We also don't update scopes of render result during render. */ - if (G.is_rendering) { - const Image *image = sima->image; - if (image != NULL && - (image->type == IMA_TYPE_R_RESULT || image->type == IMA_TYPE_COMPOSITE)) - { - return; - } - } - - scopes_update(&sima->scopes, ibuf, use_view_settings ? &scene->view_settings : NULL, &scene->display_settings); + Scene *scene = CTX_data_scene(C); + Object *ob = CTX_data_active_object(C); + + /* scope update can be expensive, don't update during paint modes */ + if (sima->mode == SI_MODE_PAINT) { + return; + } + if (ob && ((ob->mode & (OB_MODE_TEXTURE_PAINT | OB_MODE_EDIT)) != 0)) { + return; + } + + /* We also don't update scopes of render result during render. */ + if (G.is_rendering) { + const Image *image = sima->image; + if (image != NULL && (image->type == IMA_TYPE_R_RESULT || image->type == IMA_TYPE_COMPOSITE)) { + return; + } + } + + scopes_update(&sima->scopes, + ibuf, + use_view_settings ? &scene->view_settings : NULL, + &scene->display_settings); } bool ED_space_image_show_render(SpaceImage *sima) { - return (sima->image && ELEM(sima->image->type, IMA_TYPE_R_RESULT, IMA_TYPE_COMPOSITE)); + return (sima->image && ELEM(sima->image->type, IMA_TYPE_R_RESULT, IMA_TYPE_COMPOSITE)); } bool ED_space_image_show_paint(SpaceImage *sima) { - if (ED_space_image_show_render(sima)) { - return false; - } + if (ED_space_image_show_render(sima)) { + return false; + } - return (sima->mode == SI_MODE_PAINT); + return (sima->mode == SI_MODE_PAINT); } bool ED_space_image_show_uvedit(SpaceImage *sima, Object *obedit) { - if (sima) { - if (ED_space_image_show_render(sima)) { - return false; - } - if (sima->mode != SI_MODE_UV) { - return false; - } - } + if (sima) { + if (ED_space_image_show_render(sima)) { + return false; + } + if (sima->mode != SI_MODE_UV) { + return false; + } + } - if (obedit && obedit->type == OB_MESH) { - struct BMEditMesh *em = BKE_editmesh_from_object(obedit); - bool ret; + if (obedit && obedit->type == OB_MESH) { + struct BMEditMesh *em = BKE_editmesh_from_object(obedit); + bool ret; - ret = EDBM_uv_check(em); + ret = EDBM_uv_check(em); - return ret; - } + return ret; + } - return false; + return false; } /* matches clip function */ bool ED_space_image_check_show_maskedit(SpaceImage *sima, ViewLayer *view_layer) { - /* check editmode - this is reserved for UV editing */ - Object *ob = OBACT(view_layer); - if (ob && ob->mode & OB_MODE_EDIT && ED_space_image_show_uvedit(sima, ob)) { - return false; - } + /* check editmode - this is reserved for UV editing */ + Object *ob = OBACT(view_layer); + if (ob && ob->mode & OB_MODE_EDIT && ED_space_image_show_uvedit(sima, ob)) { + return false; + } - return (sima->mode == SI_MODE_MASK); + return (sima->mode == SI_MODE_MASK); } bool ED_space_image_maskedit_poll(bContext *C) { - SpaceImage *sima = CTX_wm_space_image(C); + SpaceImage *sima = CTX_wm_space_image(C); - if (sima) { - ViewLayer *view_layer = CTX_data_view_layer(C); - return ED_space_image_check_show_maskedit(sima, view_layer); - } + if (sima) { + ViewLayer *view_layer = CTX_data_view_layer(C); + return ED_space_image_check_show_maskedit(sima, view_layer); + } - return false; + return false; } bool ED_space_image_paint_curve(const bContext *C) { - SpaceImage *sima = CTX_wm_space_image(C); + SpaceImage *sima = CTX_wm_space_image(C); - if (sima && sima->mode == SI_MODE_PAINT) { - Brush *br = CTX_data_tool_settings(C)->imapaint.paint.brush; + if (sima && sima->mode == SI_MODE_PAINT) { + Brush *br = CTX_data_tool_settings(C)->imapaint.paint.brush; - if (br && (br->flag & BRUSH_CURVE)) { - return true; - } - } + if (br && (br->flag & BRUSH_CURVE)) { + return true; + } + } - return false; + return false; } - bool ED_space_image_maskedit_mask_poll(bContext *C) { - if (ED_space_image_maskedit_poll(C)) { - SpaceImage *sima = CTX_wm_space_image(C); - return sima->mask_info.mask != NULL; - } + if (ED_space_image_maskedit_poll(C)) { + SpaceImage *sima = CTX_wm_space_image(C); + return sima->mask_info.mask != NULL; + } - return false; + return false; } |