diff options
author | Joshua Leung <aligorith@gmail.com> | 2015-12-13 11:03:13 +0300 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2015-12-13 11:03:13 +0300 |
commit | a1f87064c4c0cd9e8eafc19c599c4ad4ccdba49f (patch) | |
tree | d016e95050f10eda7bc44e1bdfa2f7c4fc0fc024 /source/blender/blenkernel/BKE_gpencil.h | |
parent | d9ee88d126ddb59b68d2561694b522a99e4923b6 (diff) |
Grease Pencil: Merge GPencil_Editing_Stage3 branch into master
This commit merges all the work done in the GPencil_Editing_Stage3 branch
as of ef2aecf2db981b5344e0d14e7f074f1742b0b2f7 into master. For more details
about the changes that this brings, see the WIP release notes:
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.77/GPencil
Diffstat (limited to 'source/blender/blenkernel/BKE_gpencil.h')
-rw-r--r-- | source/blender/blenkernel/BKE_gpencil.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/source/blender/blenkernel/BKE_gpencil.h b/source/blender/blenkernel/BKE_gpencil.h index 084c5527f21..99fc195ed57 100644 --- a/source/blender/blenkernel/BKE_gpencil.h +++ b/source/blender/blenkernel/BKE_gpencil.h @@ -47,6 +47,7 @@ void BKE_gpencil_free(struct bGPdata *gpd); void gpencil_stroke_sync_selection(struct bGPDstroke *gps); struct bGPDframe *gpencil_frame_addnew(struct bGPDlayer *gpl, int cframe); +struct bGPDframe *gpencil_frame_addcopy(struct bGPDlayer *gpl, int cframe); struct bGPDlayer *gpencil_layer_addnew(struct bGPdata *gpd, const char *name, int setactive); struct bGPdata *gpencil_data_addnew(const char name[]); @@ -56,9 +57,24 @@ struct bGPdata *gpencil_data_duplicate(struct bGPdata *gpd, bool internal_copy); void gpencil_frame_delete_laststroke(struct bGPDlayer *gpl, struct bGPDframe *gpf); + +/* How gpencil_layer_getframe() should behave when there + * is no existing GP-Frame on the frame requested. + */ +typedef enum eGP_GetFrame_Mode { + /* Use the preceeding gp-frame (i.e. don't add anything) */ + GP_GETFRAME_USE_PREV = 0, + + /* Add a new empty/blank frame */ + GP_GETFRAME_ADD_NEW = 1, + /* Make a copy of the active frame */ + GP_GETFRAME_ADD_COPY = 2 +} eGP_GetFrame_Mode; + +struct bGPDframe *gpencil_layer_getframe(struct bGPDlayer *gpl, int cframe, eGP_GetFrame_Mode addnew); struct bGPDframe *BKE_gpencil_layer_find_frame(struct bGPDlayer *gpl, int cframe); -struct bGPDframe *gpencil_layer_getframe(struct bGPDlayer *gpl, int cframe, short addnew); bool gpencil_layer_delframe(struct bGPDlayer *gpl, struct bGPDframe *gpf); + struct bGPDlayer *gpencil_layer_getactive(struct bGPdata *gpd); void gpencil_layer_setactive(struct bGPdata *gpd, struct bGPDlayer *active); void gpencil_layer_delete(struct bGPdata *gpd, struct bGPDlayer *gpl); |