Merge with 2.5 -r 21619:21756.
[blender.git] / source / blender / editors / include / ED_armature.h
index 9c17e002cb029f8d5d6333298ac4161cd2de1b1d..8c19f2c3ecfca325142d6602ab902ac7bc09f9a2 100644 (file)
@@ -34,9 +34,13 @@ struct Base;
 struct Bone;
 struct bArmature;
 struct bPoseChannel;
+struct wmOperator;
 struct wmWindowManager;
 struct ListBase;
 struct View3D;
+struct ViewContext;
+struct RegionView3D;
+struct SK_Sketch;
 
 typedef struct EditBone
 {
@@ -98,9 +102,13 @@ void ED_armature_edit_remake(struct Object *obedit);
 int ED_do_pose_selectbuffer(struct Scene *scene, struct Base *base, unsigned int *buffer, 
                                                        short hits, short extend);
 void mouse_armature(struct bContext *C, short mval[2], int extend);
+int join_armature_exec(struct bContext *C, struct wmOperator *op);
 struct Bone *get_indexed_bone (struct Object *ob, int index);
 float ED_rollBoneToVector(EditBone *bone, float new_up_axis[3]);
 EditBone *ED_armature_bone_get_mirrored(struct ListBase *edbo, EditBone *ebo); // XXX this is needed for populating the context iterators
+void ED_armature_sync_selection(struct ListBase *edbo);
+
+void add_primitive_bone(struct Scene *scene, struct View3D *v3d, struct RegionView3D *rv3d);
 
 void transform_armature_mirror_update(struct Object *obedit);
 void clear_armature(struct Scene *scene, struct Object *ob, char mode);
@@ -108,7 +116,8 @@ void create_vgroups_from_armature(struct Scene *scene, struct Object *ob, struct
 void docenter_armature (struct Scene *scene, struct View3D *v3d, struct Object *ob, int centermode);
 
 void auto_align_armature(struct Scene *scene, struct View3D *v3d, short mode);
-void unique_editbone_name (ListBase *edbo, char *name);
+void unique_editbone_name(struct ListBase *ebones, char *name, EditBone *bone); /* if bone is already in list, pass it as param to ignore it */
+void ED_armature_bone_rename(struct bArmature *arm, char *oldnamep, char *newnamep);
 
 void undo_push_armature(struct bContext *C, char *name);
 
@@ -118,6 +127,29 @@ void ED_armature_enter_posemode(struct bContext *C, struct Base *base);
 int ED_pose_channel_in_IK_chain(struct Object *ob, struct bPoseChannel *pchan);
 void ED_pose_deselectall(struct Object *ob, int test, int doundo);
 
+/* sketch */
+
+int ED_operator_sketch_mode_active_stroke(struct bContext *C);
+int ED_operator_sketch_full_mode(struct bContext *C);
+int ED_operator_sketch_mode(const struct bContext *C);
+
+void ED_freeSketch(struct SK_Sketch *sketch);
+struct SK_Sketch* ED_createSketch();
+
+void BIF_convertSketch(struct bContext *C);
+void BIF_deleteSketch(struct bContext *C);
+void BIF_selectAllSketch(struct bContext *C, int mode); /* -1: deselect, 0: select, 1: toggle */
+
+void  BIF_makeListTemplates(const struct bContext *C);
+char *BIF_listTemplates(const struct bContext *C);
+int   BIF_currentTemplate(const struct bContext *C);
+void  BIF_freeTemplates(struct bContext *C);
+void  BIF_setTemplate(struct bContext *C, int index);
+int   BIF_nbJointsTemplate(const struct bContext *C);
+char * BIF_nameBoneTemplate(const struct bContext *C);
+
+void BDR_drawSketch(const struct bContext *vc);
+int BDR_drawSketchNames(struct ViewContext *vc);
 
 #endif /* ED_ARMATURE_H */