Commit: cee80b3317c5d1262593d105a566b4972ebb723b
Author: Antonio Vazquez
Date:   Thu Nov 30 19:11:45 2017 +0100
Branches: greasepencil-object
https://developer.blender.org/rBcee80b3317c5d1262593d105a566b4972ebb723b

New function to get frame range selected

===================================================================

M       source/blender/blenkernel/BKE_gpencil.h
M       source/blender/blenkernel/intern/gpencil.c

===================================================================

diff --git a/source/blender/blenkernel/BKE_gpencil.h 
b/source/blender/blenkernel/BKE_gpencil.h
index 5b4ed72c82d..5ea2c92b5b5 100644
--- a/source/blender/blenkernel/BKE_gpencil.h
+++ b/source/blender/blenkernel/BKE_gpencil.h
@@ -215,4 +215,6 @@ bool BKE_gp_smooth_stroke(struct bGPDstroke *gps, int i, 
float inf, bool affect_
 bool BKE_gp_smooth_stroke_strength(struct bGPDstroke *gps, int i, float inf);
 bool BKE_gp_smooth_stroke_thickness(struct bGPDstroke *gps, int i, float inf);
 
+void BKE_gp_get_range_selected(struct bGPDlayer *gpl, int *r_initframe, int 
*r_endframe);
+
 #endif /*  __BKE_GPENCIL_H__ */
diff --git a/source/blender/blenkernel/intern/gpencil.c 
b/source/blender/blenkernel/intern/gpencil.c
index bd0ab3c0231..977fcf61147 100644
--- a/source/blender/blenkernel/intern/gpencil.c
+++ b/source/blender/blenkernel/intern/gpencil.c
@@ -2462,3 +2462,28 @@ bool BKE_gp_smooth_stroke_thickness(bGPDstroke *gps, int 
i, float inf)
 
        return true;
 }
+
+/**
+* Get range of selected frames in layer.
+* Always the active frame is considered as selected, so if no more selected 
the range
+* will be equal to the current active frame.
+* \param gpl              Layer
+* \param r_initframe      Number of first selected frame
+* \param r_endframe       Number of last selected frame
+*/
+void BKE_gp_get_range_selected(bGPDlayer *gpl, int *r_initframe, int 
*r_endframe)
+{
+       *r_initframe = gpl->actframe->framenum;
+       *r_endframe = gpl->actframe->framenum;
+
+       for (bGPDframe *gpf = gpl->frames.first; gpf; gpf = gpf->next) {
+               if (gpf->flag & GP_FRAME_SELECT) {
+                       if (gpf->framenum < *r_initframe) {
+                               *r_initframe = gpf->framenum;
+                       }
+                       if (gpf->framenum > *r_endframe) {
+                               *r_endframe = gpf->framenum;
+                       }
+               }
+       }
+}
\ No newline at end of file

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to