Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2014-01-13 21:59:58 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-01-13 21:59:58 +0400
commitc48c62a8314c51608e7b34ac0df474ce3fca0b02 (patch)
tree9d7e11b5fd56937d98d02bc5f1e19ba15380950f /source
parent800e2283aa986c5cc57e833ef80569cf26d0de2f (diff)
Code Cleanup: replace checks for ima->source with BKE_image_is_animated
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenkernel/BKE_image.h1
-rw-r--r--source/blender/blenkernel/intern/image.c14
-rw-r--r--source/blender/blenkernel/intern/packedFile.c2
-rw-r--r--source/blender/blenkernel/intern/texture.c4
-rw-r--r--source/blender/editors/space_image/image_buttons.c4
-rw-r--r--source/blender/gpu/intern/gpu_draw.c2
-rw-r--r--source/blender/makesrna/intern/rna_image_api.c2
-rw-r--r--source/blender/modifiers/intern/MOD_util.c3
-rw-r--r--source/blender/nodes/composite/node_composite_tree.c2
-rw-r--r--source/blender/render/intern/source/render_texture.c4
10 files changed, 24 insertions, 14 deletions
diff --git a/source/blender/blenkernel/BKE_image.h b/source/blender/blenkernel/BKE_image.h
index b5171f8e0c2..3504f8c93a8 100644
--- a/source/blender/blenkernel/BKE_image.h
+++ b/source/blender/blenkernel/BKE_image.h
@@ -236,6 +236,7 @@ float *BKE_image_get_float_pixels_for_frame(struct Image *image, int frame);
/* Guess offset for the first frame in the sequence */
int BKE_image_sequence_guess_offset(struct Image *image);
+bool BKE_image_is_animated(struct Image *image);
bool BKE_image_is_dirty(struct Image *image);
void BKE_image_file_format_set(struct Image *image, int ftype);
bool BKE_image_has_loaded_ibuf(struct Image *image);
diff --git a/source/blender/blenkernel/intern/image.c b/source/blender/blenkernel/intern/image.c
index c0362e3aaf3..3ccc95635a3 100644
--- a/source/blender/blenkernel/intern/image.c
+++ b/source/blender/blenkernel/intern/image.c
@@ -1010,7 +1010,7 @@ void BKE_image_all_free_anim_ibufs(int cfra)
Image *ima;
for (ima = G.main->image.first; ima; ima = ima->id.next)
- if (ELEM(ima->source, IMA_SRC_SEQUENCE, IMA_SRC_MOVIE))
+ if (BKE_image_is_animated(ima))
BKE_image_free_anim_ibufs(ima, cfra);
}
@@ -2254,7 +2254,7 @@ static void image_tag_frame_recalc(Image *ima, ImageUser *iuser, void *customdat
{
Image *changed_image = customdata;
- if (ima == changed_image && ELEM(ima->source, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE)) {
+ if (ima == changed_image && BKE_image_is_animated(ima)) {
iuser->flag |= IMA_NEED_FRAME_RECALC;
}
}
@@ -3552,6 +3552,16 @@ int BKE_image_sequence_guess_offset(Image *image)
return atoi(num);
}
+/**
+ * Checks the image buffer changes (not keyframed values)
+ *
+ * to see if we need to call #BKE_image_user_check_frame_calc
+ */
+bool BKE_image_is_animated(Image *image)
+{
+ return ELEM(image->source, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE);
+}
+
bool BKE_image_is_dirty(Image *image)
{
bool is_dirty = false;
diff --git a/source/blender/blenkernel/intern/packedFile.c b/source/blender/blenkernel/intern/packedFile.c
index 5c2789a2c1c..b120ec0d1f1 100644
--- a/source/blender/blenkernel/intern/packedFile.c
+++ b/source/blender/blenkernel/intern/packedFile.c
@@ -245,7 +245,7 @@ void packAll(Main *bmain, ReportList *reports)
ima->packedfile = newPackedFile(reports, ima->name, ID_BLEND_PATH(bmain, &ima->id));
tot ++;
}
- else if (ELEM(ima->source, IMA_SRC_SEQUENCE, IMA_SRC_MOVIE)) {
+ else if (BKE_image_is_animated(ima)) {
BKE_reportf(reports, RPT_WARNING, "Image '%s' skipped, movies and image sequences not supported",
ima->id.name + 2);
}
diff --git a/source/blender/blenkernel/intern/texture.c b/source/blender/blenkernel/intern/texture.c
index ccbccac85cf..542069d9b87 100644
--- a/source/blender/blenkernel/intern/texture.c
+++ b/source/blender/blenkernel/intern/texture.c
@@ -1422,9 +1422,7 @@ void BKE_free_oceantex(struct OceanTex *ot)
/* ------------------------------------------------------------------------- */
bool BKE_texture_dependsOnTime(const struct Tex *texture)
{
- if (texture->ima &&
- ELEM(texture->ima->source, IMA_SRC_SEQUENCE, IMA_SRC_MOVIE))
- {
+ if (texture->ima && BKE_image_is_animated(texture->ima)) {
return 1;
}
else if (texture->adt) {
diff --git a/source/blender/editors/space_image/image_buttons.c b/source/blender/editors/space_image/image_buttons.c
index 3ff404d38a9..003476882f7 100644
--- a/source/blender/editors/space_image/image_buttons.c
+++ b/source/blender/editors/space_image/image_buttons.c
@@ -701,7 +701,7 @@ void uiTemplateImage(uiLayout *layout, bContext *C, PointerRNA *ptr, const char
col = uiLayoutColumn(split, FALSE);
/* XXX Why only display fields_per_frame only for video image types?
* And why allow fields for non-video image types at all??? */
- if (ELEM(ima->source, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE)) {
+ if (BKE_image_is_animated(ima)) {
uiLayout *subsplit = uiLayoutSplit(col, 0.0f, FALSE);
uiLayout *subcol = uiLayoutColumn(subsplit, FALSE);
uiItemR(subcol, &imaptr, "use_fields", 0, NULL, ICON_NONE);
@@ -717,7 +717,7 @@ void uiTemplateImage(uiLayout *layout, bContext *C, PointerRNA *ptr, const char
}
}
- if (ELEM(ima->source, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE)) {
+ if (BKE_image_is_animated(ima)) {
uiItemS(layout);
split = uiLayoutSplit(layout, 0.0f, FALSE);
diff --git a/source/blender/gpu/intern/gpu_draw.c b/source/blender/gpu/intern/gpu_draw.c
index 72547bf801e..f3f304b0e04 100644
--- a/source/blender/gpu/intern/gpu_draw.c
+++ b/source/blender/gpu/intern/gpu_draw.c
@@ -1298,7 +1298,7 @@ void GPU_free_images_anim(void)
if (G.main)
for (ima=G.main->image.first; ima; ima=ima->id.next)
- if (ELEM(ima->source, IMA_SRC_SEQUENCE, IMA_SRC_MOVIE))
+ if (BKE_image_is_animated(ima))
GPU_free_image(ima);
}
diff --git a/source/blender/makesrna/intern/rna_image_api.c b/source/blender/makesrna/intern/rna_image_api.c
index 71c0fa5584c..bcf75df31ed 100644
--- a/source/blender/makesrna/intern/rna_image_api.c
+++ b/source/blender/makesrna/intern/rna_image_api.c
@@ -166,7 +166,7 @@ static void rna_Image_unpack(Image *image, ReportList *reports, int method)
if (!image->packedfile) {
BKE_report(reports, RPT_ERROR, "Image not packed");
}
- else if (image->source == IMA_SRC_SEQUENCE || image->source == IMA_SRC_MOVIE) {
+ else if (BKE_image_is_animated(image)) {
BKE_report(reports, RPT_ERROR, "Unpacking movies or image sequences not supported");
return;
}
diff --git a/source/blender/modifiers/intern/MOD_util.c b/source/blender/modifiers/intern/MOD_util.c
index bde30fb23ae..e205cd6b12d 100644
--- a/source/blender/modifiers/intern/MOD_util.c
+++ b/source/blender/modifiers/intern/MOD_util.c
@@ -66,8 +66,9 @@ void modifier_init_texture(Scene *scene, Tex *tex)
if (!tex)
return;
- if (tex->ima && ELEM(tex->ima->source, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE))
+ if (tex->ima && BKE_image_is_animated(tex->ima)) {
BKE_image_user_frame_calc(&tex->iuser, scene->r.cfra, 0);
+ }
}
void get_texture_coords(MappingInfoModifierData *dmd, Object *ob,
diff --git a/source/blender/nodes/composite/node_composite_tree.c b/source/blender/nodes/composite/node_composite_tree.c
index 895d57c74f2..39a9f74dea4 100644
--- a/source/blender/nodes/composite/node_composite_tree.c
+++ b/source/blender/nodes/composite/node_composite_tree.c
@@ -366,7 +366,7 @@ int ntreeCompositTagAnimated(bNodeTree *ntree)
/* otherwise always tag these node types */
if (node->type == CMP_NODE_IMAGE) {
Image *ima = (Image *)node->id;
- if (ima && ELEM(ima->source, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE)) {
+ if (ima && BKE_image_is_animated(ima)) {
nodeUpdate(ntree, node);
tagged = 1;
}
diff --git a/source/blender/render/intern/source/render_texture.c b/source/blender/render/intern/source/render_texture.c
index 049d7e5a732..78b222549d9 100644
--- a/source/blender/render/intern/source/render_texture.c
+++ b/source/blender/render/intern/source/render_texture.c
@@ -98,7 +98,7 @@ extern struct Render R;
static void init_render_texture(Render *re, Tex *tex)
{
/* imap test */
- if (tex->ima && ELEM(tex->ima->source, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE)) {
+ if (tex->ima && BKE_image_is_animated(tex->ima)) {
BKE_image_user_frame_calc(&tex->iuser, re ? re->r.cfra : 0, re ? re->flag & R_SEC_FIELD:0);
}
@@ -3622,7 +3622,7 @@ Material *RE_init_sample_material(Material *orig_mat, Scene *scene)
}
/* update image sequences and movies */
- if (tex->ima && ELEM(tex->ima->source, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE)) {
+ if (tex->ima && BKE_image_is_animated(tex->ima)) {
BKE_image_user_check_frame_calc(&tex->iuser, (int)scene->r.cfra, 0);
}
}