diff options
author | Joseph Eagar <joeedh@gmail.com> | 2009-10-23 03:22:05 +0400 |
---|---|---|
committer | Joseph Eagar <joeedh@gmail.com> | 2009-10-23 03:22:05 +0400 |
commit | 8f788c64db587e74079d812dbcea40c2bd4b91ff (patch) | |
tree | c767e8318a9e7aded16be6cab2042f3ea11e7912 /source/blender/editors/include | |
parent | 36bb566d4e6e06e08d782d610d60d755cbda2396 (diff) |
merge with trunk/2.5 at r23876
[[Split portion of a mixed commit.]]
Diffstat (limited to 'source/blender/editors/include')
27 files changed, 228 insertions, 173 deletions
diff --git a/source/blender/editors/include/BIF_glutil.h b/source/blender/editors/include/BIF_glutil.h index deee3e3c8b4..e394de613e4 100644 --- a/source/blender/editors/include/BIF_glutil.h +++ b/source/blender/editors/include/BIF_glutil.h @@ -197,6 +197,7 @@ void gla2DSetMap(gla2DDrawInfo *di, struct rctf *rect); /* use this for platform hacks. glPointSize is solved here */ void bglBegin(int mode); void bglEnd(void); +int bglPointHack(); void bglVertex3fv(float *vec); void bglVertex3f(float x, float y, float z); void bglVertex2fv(float *vec); diff --git a/source/blender/editors/include/ED_anim_api.h b/source/blender/editors/include/ED_anim_api.h index 799829a6e87..271827c2aba 100644 --- a/source/blender/editors/include/ED_anim_api.h +++ b/source/blender/editors/include/ED_anim_api.h @@ -34,7 +34,7 @@ struct ListBase; struct AnimData; struct bContext; -struct wmWindowManager; +struct wmKeyConfig; struct ScrArea; struct ARegion; struct View2D; @@ -42,11 +42,14 @@ struct View2D; struct Scene; struct Object; +struct bDopeSheet; + struct bActionGroup; struct FCurve; struct FModifier; struct uiBlock; +struct uiLayout; /* ************************************************ */ /* ANIMATION CHANNEL FILTERING */ @@ -119,6 +122,8 @@ typedef enum eAnim_ChannelType { ANIMTYPE_ANIMDATA, ANIMTYPE_SPECIALDATA, + ANIMTYPE_SUMMARY, + ANIMTYPE_SCENE, ANIMTYPE_OBJECT, ANIMTYPE_GROUP, @@ -137,6 +142,7 @@ typedef enum eAnim_ChannelType { ANIMTYPE_DSWOR, ANIMTYPE_DSPART, ANIMTYPE_DSMBALL, + ANIMTYPE_DSARM, ANIMTYPE_SHAPEKEY, // XXX probably can become depreceated??? @@ -157,6 +163,7 @@ typedef enum eAnim_KeyType { ALE_GPFRAME, /* Grease Pencil Frames */ ALE_NLASTRIP, /* NLA Strips */ + ALE_ALL, /* All channels summary */ ALE_SCE, /* Scene summary */ ALE_OB, /* Object summary */ ALE_ACT, /* Action summary */ @@ -180,6 +187,9 @@ typedef enum eAnimFilter_Flags { ANIMFILTER_ANIMDATA = (1<<9), /* only return the underlying AnimData blocks (not the tracks, etc.) data comes from */ ANIMFILTER_NLATRACKS = (1<<10), /* only include NLA-tracks */ ANIMFILTER_SELEDIT = (1<<11), /* link editability with selected status */ + + /* all filters - the power inside the bracket must be the last power for left-shifts + 1 */ + ANIMFILTER_ALLFILTERS = ((1<<12) - 1) } eAnimFilter_Flags; @@ -206,6 +216,7 @@ typedef enum eAnimFilter_Flags { #define FILTER_CUR_OBJD(cu) ((cu->flag & CU_DS_EXPAND)) #define FILTER_PART_OBJD(part) ((part->flag & PART_DS_EXPAND)) #define FILTER_MBALL_OBJD(mb) ((mb->flag2 & MB_DS_EXPAND)) +#define FILTER_ARM_OBJD(arm) ((arm->flag & ARM_DS_EXPAND)) /* 'Sub-object/Action' channels (flags stored in Action) */ #define SEL_ACTC(actc) ((actc->flag & ACT_SELECTED)) #define EXPANDED_ACTC(actc) ((actc->flag & ACT_COLLAPSED)==0) @@ -392,11 +403,14 @@ void ANIM_draw_cfra(const struct bContext *C, struct View2D *v2d, short flag); /* main call to draw preview range curtains */ void ANIM_draw_previewrange(const struct bContext *C, struct View2D *v2d); +/* ------------- Preview Range Drawing -------------- */ + +/* standard header buttons for Animation Editors */ +short ANIM_headerUI_standard_buttons(const struct bContext *C, struct bDopeSheet *ads, struct uiBlock *block, short xco, short yco); + /* ************************************************* */ /* F-MODIFIER TOOLS */ -struct uiLayout; - /* draw a given F-Modifier for some layout/UI-Block */ void ANIM_uiTemplate_fmodifier_draw(struct uiLayout *layout, struct ID *id, ListBase *modifiers, struct FModifier *fcm); @@ -479,11 +493,11 @@ void ANIM_pose_to_action_sync(struct Object *ob, struct ScrArea *sa); /* generic animation channels */ void ED_operatortypes_animchannels(void); -void ED_keymap_animchannels(struct wmWindowManager *wm); +void ED_keymap_animchannels(struct wmKeyConfig *keyconf); /* generic time editing */ void ED_operatortypes_anim(void); -void ED_keymap_anim(struct wmWindowManager *wm); +void ED_keymap_anim(struct wmKeyConfig *keyconf); /* ************************************************ */ diff --git a/source/blender/editors/include/ED_armature.h b/source/blender/editors/include/ED_armature.h index 8bdfe41ef80..6479030bcd1 100644 --- a/source/blender/editors/include/ED_armature.h +++ b/source/blender/editors/include/ED_armature.h @@ -35,7 +35,7 @@ struct Bone; struct bArmature; struct bPoseChannel; struct wmOperator; -struct wmWindowManager; +struct wmKeyConfig; struct ListBase; struct View3D; struct ViewContext; @@ -92,7 +92,7 @@ typedef struct EditBone /* armature_ops.c */ void ED_operatortypes_armature(void); -void ED_keymap_armature(struct wmWindowManager *wm); +void ED_keymap_armature(struct wmKeyConfig *keyconf); /* editarmature.c */ void ED_armature_from_edit(struct Object *obedit); diff --git a/source/blender/editors/include/ED_curve.h b/source/blender/editors/include/ED_curve.h index 4149c6a9cca..fea684971b2 100644 --- a/source/blender/editors/include/ED_curve.h +++ b/source/blender/editors/include/ED_curve.h @@ -36,11 +36,11 @@ struct Scene; struct Text; struct View3D; struct wmOperator; -struct wmWindowManager; +struct wmKeyConfig; /* curve_ops.c */ void ED_operatortypes_curve(void); -void ED_keymap_curve (struct wmWindowManager *wm); +void ED_keymap_curve (struct wmKeyConfig *keyconf); /* editcurve.c */ void undo_push_curve (struct bContext *C, char *name); diff --git a/source/blender/editors/include/ED_fileselect.h b/source/blender/editors/include/ED_fileselect.h index 57ab6a5f8f6..221b377dd25 100644 --- a/source/blender/editors/include/ED_fileselect.h +++ b/source/blender/editors/include/ED_fileselect.h @@ -51,21 +51,21 @@ typedef enum FileListColumns { typedef struct FileLayout { /* view settings - XXX - move into own struct */ - short prv_w; - short prv_h; - short tile_w; - short tile_h; - short tile_border_x; - short tile_border_y; - short prv_border_x; - short prv_border_y; - short rows; - short columns; - short width; - short height; - short flag; - short dirty; - short textheight; + int prv_w; + int prv_h; + int tile_w; + int tile_h; + int tile_border_x; + int tile_border_y; + int prv_border_x; + int prv_border_y; + int rows; + int columns; + int width; + int height; + int flag; + int dirty; + int textheight; float column_widths[MAX_FILE_COLUMN]; } FileLayout; @@ -84,7 +84,7 @@ FileLayout* ED_fileselect_get_layout(struct SpaceFile *sfile, struct ARegion *ar int ED_fileselect_layout_numfiles(FileLayout* layout, struct ARegion *ar); int ED_fileselect_layout_offset(FileLayout* layout, int x, int y); -void ED_fileselect_layout_tilepos(FileLayout* layout, int tile, short *x, short *y); +void ED_fileselect_layout_tilepos(FileLayout* layout, int tile, int *x, int *y); #endif /* ED_FILES_H */ diff --git a/source/blender/editors/include/ED_gpencil.h b/source/blender/editors/include/ED_gpencil.h index 388da9a2acc..ff95f8ce6eb 100644 --- a/source/blender/editors/include/ED_gpencil.h +++ b/source/blender/editors/include/ED_gpencil.h @@ -41,7 +41,7 @@ struct bGPDframe; struct PointerRNA; struct Panel; struct ImBuf; -struct wmWindowManager; +struct wmKeyConfig; /* ------------- Grease-Pencil Helpers ---------------- */ @@ -62,7 +62,7 @@ struct bGPdata *gpencil_data_get_active(struct bContext *C); /* ----------- Grease Pencil Operators ----------------- */ -void ED_keymap_gpencil(struct wmWindowManager *wm); +void ED_keymap_gpencil(struct wmKeyConfig *keyconf); void ED_operatortypes_gpencil(void); /* ------------ Grease-Pencil Drawing API ------------------ */ diff --git a/source/blender/editors/include/ED_image.h b/source/blender/editors/include/ED_image.h index 566105109b2..41a83a34ee4 100644 --- a/source/blender/editors/include/ED_image.h +++ b/source/blender/editors/include/ED_image.h @@ -38,7 +38,10 @@ struct uiBlock; struct Image *ED_space_image(struct SpaceImage *sima); void ED_space_image_set(struct bContext *C, struct SpaceImage *sima, struct Scene *scene, struct Object *obedit, struct Image *ima); -struct ImBuf *ED_space_image_buffer(struct SpaceImage *sima); +struct ImBuf *ED_space_image_acquire_buffer(struct SpaceImage *sima, void **lock_r); +void ED_space_image_release_buffer(struct SpaceImage *sima, void *lock); +int ED_space_image_has_buffer(struct SpaceImage *sima); + void ED_space_image_size(struct SpaceImage *sima, int *width, int *height); void ED_space_image_aspect(struct SpaceImage *sima, float *aspx, float *aspy); void ED_space_image_zoom(struct SpaceImage *sima, struct ARegion *ar, float *zoomx, float *zoomy); @@ -53,9 +56,6 @@ int ED_space_image_show_paint(struct SpaceImage *sima); int ED_space_image_show_uvedit(struct SpaceImage *sima, struct Object *obedit); int ED_space_image_show_uvshadow(struct SpaceImage *sima, struct Object *obedit); -void ED_image_uiblock_panel(const struct bContext *C, struct uiBlock *block, struct Image **ima_pp, - struct ImageUser *iuser, short redraw, short imagechanged); - /* image_render.c, export for screen_ops.c, render operator */ void ED_space_image_output(struct bContext *C); diff --git a/source/blender/editors/include/ED_keyframes_draw.h b/source/blender/editors/include/ED_keyframes_draw.h index 0969398f1e2..699502eb9eb 100644 --- a/source/blender/editors/include/ED_keyframes_draw.h +++ b/source/blender/editors/include/ED_keyframes_draw.h @@ -30,6 +30,7 @@ #ifndef ED_KEYFRAMES_DRAW_H #define ED_KEYFRAMES_DRAW_H +struct bAnimContext; struct AnimData; struct BezTriple; struct FCurve; @@ -109,6 +110,7 @@ void draw_agroup_channel(struct View2D *v2d, struct AnimData *adt, struct bActio void draw_action_channel(struct View2D *v2d, struct AnimData *adt, struct bAction *act, float ypos); void draw_object_channel(struct View2D *v2d, struct bDopeSheet *ads, struct Object *ob, float ypos); void draw_scene_channel(struct View2D *v2d, struct bDopeSheet *ads, struct Scene *sce, float ypos); +void draw_summary_channel(struct View2D *v2d, struct bAnimContext *ac, float ypos); void draw_gpl_channel(struct View2D *v2d, struct bDopeSheet *ads, struct bGPDlayer *gpl, float ypos); /* Keydata Generation */ @@ -117,7 +119,12 @@ void agroup_to_keylist(struct AnimData *adt, struct bActionGroup *agrp, struct D void action_to_keylist(struct AnimData *adt, struct bAction *act, struct DLRBT_Tree *keys, struct DLRBT_Tree *blocks); void ob_to_keylist(struct bDopeSheet *ads, struct Object *ob, struct DLRBT_Tree *keys, struct DLRBT_Tree *blocks); void scene_to_keylist(struct bDopeSheet *ads, struct Scene *sce, struct DLRBT_Tree *keys, struct DLRBT_Tree *blocks); +void summary_to_keylist(struct bAnimContext *ac, struct DLRBT_Tree *keys, struct DLRBT_Tree *blocks); void gpl_to_keylist(struct bDopeSheet *ads, struct bGPDlayer *gpl, struct DLRBT_Tree *keys, struct DLRBT_Tree *blocks); +/* Keyframe Finding */ +ActKeyColumn *cfra_find_actkeycolumn(ActKeyColumn *ak, float cframe); +ActKeyColumn *cfra_find_nearest_next_ak(ActKeyColumn *ak, float cframe, short next); + #endif /* ED_KEYFRAMES_DRAW_H */ diff --git a/source/blender/editors/include/ED_keyframes_edit.h b/source/blender/editors/include/ED_keyframes_edit.h index b2bf05ea5ea..57a6c5fc773 100644 --- a/source/blender/editors/include/ED_keyframes_edit.h +++ b/source/blender/editors/include/ED_keyframes_edit.h @@ -73,6 +73,7 @@ typedef enum eEditKeyframes_Snap { SNAP_KEYS_NEARSEC, SNAP_KEYS_NEARMARKER, SNAP_KEYS_HORIZONTAL, + SNAP_KEYS_VALUE, } eEditKeyframes_Snap; /* mirroring tools */ diff --git a/source/blender/editors/include/ED_keyframing.h b/source/blender/editors/include/ED_keyframing.h index 20c2301d2ac..802ceff1c07 100644 --- a/source/blender/editors/include/ED_keyframing.h +++ b/source/blender/editors/include/ED_keyframing.h @@ -97,26 +97,6 @@ short insert_keyframe(struct ID *id, struct bAction *act, const char group[], co */ short delete_keyframe(struct ID *id, struct bAction *act, const char group[], const char rna_path[], int array_index, float cfra, short flag); -/* -------- */ - -/* Main Keyframe Management operators: - * These handle keyframes management from various spaces. They only make use of - * Keying Sets. - */ -void ANIM_OT_insert_keyframe(struct wmOperatorType *ot); -void ANIM_OT_delete_keyframe(struct wmOperatorType *ot); - -/* Main Keyframe Management operators: - * These handle keyframes management from various spaces. They will handle the menus - * required for each space. - */ -void ANIM_OT_insert_keyframe_menu(struct wmOperatorType *ot); -void ANIM_OT_delete_keyframe_v3d(struct wmOperatorType *ot); - -/* Keyframe managment operators for UI buttons. */ -void ANIM_OT_insert_keyframe_button(struct wmOperatorType *ot); -void ANIM_OT_delete_keyframe_button(struct wmOperatorType *ot); - /* ************ Keying Sets ********************** */ /* temporary struct to gather data combos to keyframe @@ -142,7 +122,7 @@ enum { } eModifyKey_Modes; /* Keyframing Helper Call - use the provided Keying Set to Add/Remove Keyframes */ -int modify_keyframes(struct bContext *C, struct ListBase *dsources, struct bAction *act, struct KeyingSet *ks, short mode, float cfra); +int modify_keyframes(struct Scene *scene, struct ListBase *dsources, struct bAction *act, struct KeyingSet *ks, short mode, float cfra); /* -------- */ @@ -155,14 +135,17 @@ struct KeyingSet *ANIM_builtin_keyingset_get_named(struct KeyingSet *prevKS, cha /* Initialise builtin KeyingSets on startup */ void init_builtin_keyingsets(void); + /* -------- */ -/* KeyingSet managment operators for UI buttons. */ -void ANIM_OT_add_keyingset_button(struct wmOperatorType *ot); -void ANIM_OT_remove_keyingset_button(struct wmOperatorType *ot); +/* Get the active KeyingSet for the given scene */ +struct KeyingSet *ANIM_scene_get_active_keyingset(struct Scene *scene); /* ************ Drivers ********************** */ +/* Returns whether there is a driver in the copy/paste buffer to paste */ +short ANIM_driver_can_paste(void); + /* Main Driver Management API calls: * Add a new driver for the specified property on the given ID block */ @@ -171,11 +154,18 @@ short ANIM_add_driver (struct ID *id, const char rna_path[], int array_index, sh /* Main Driver Management API calls: * Remove the driver for the specified property on the given ID block (if available) */ -short ANIM_remove_driver (struct ID *id, const char rna_path[], int array_index, short flag); +short ANIM_remove_driver(struct ID *id, const char rna_path[], int array_index, short flag); -/* Driver management operators for UI buttons */ -void ANIM_OT_add_driver_button(struct wmOperatorType *ot); -void ANIM_OT_remove_driver_button(struct wmOperatorType *ot); +/* Main Driver Management API calls: + * Make a copy of the driver for the specified property on the given ID block + */ +short ANIM_copy_driver(struct ID *id, const char rna_path[], int array_index, short flag); + +/* Main Driver Management API calls: + * Add a new driver for the specified property on the given ID block or replace an existing one + * with the driver + driver-curve data from the buffer + */ +short ANIM_paste_driver(struct ID *id, const char rna_path[], int array_index, short flag); /* ************ Auto-Keyframing ********************** */ /* Notes: diff --git a/source/blender/editors/include/ED_markers.h b/source/blender/editors/include/ED_markers.h index 4b7a2954206..58ca85bb74c 100644 --- a/source/blender/editors/include/ED_markers.h +++ b/source/blender/editors/include/ED_markers.h @@ -28,7 +28,7 @@ #ifndef ED_MARKERS_H #define ED_MARKERS_H -struct wmWindowManager; +struct wmKeyConfig; struct bContext; struct TimeMarker; @@ -56,7 +56,7 @@ void ED_markers_make_cfra_list(ListBase *markers, ListBase *lb, short sel); /* called in screen_ops.c:ED_operatortypes_screen() */ void ED_operatortypes_marker(void); /* called in screen_ops.c:ED_keymap_screen() */ -void ED_marker_keymap(struct wmWindowManager *wm); +void ED_marker_keymap(struct wmKeyConfig *keyconf); #endif /* ED_MARKERS_H */ diff --git a/source/blender/editors/include/ED_mball.h b/source/blender/editors/include/ED_mball.h index 49c1d856a27..6708a73e088 100644 --- a/source/blender/editors/include/ED_mball.h +++ b/source/blender/editors/include/ED_mball.h @@ -28,10 +28,10 @@ struct bContext; struct Object; -struct wmWindowManager; +struct wmKeyConfig; void ED_operatortypes_metaball(void); -void ED_keymap_metaball(struct wmWindowManager *wm); +void ED_keymap_metaball(struct wmKeyConfig *keyconf); struct MetaElem *add_metaball_primitive(struct bContext *C, int type, int newname); diff --git a/source/blender/editors/include/ED_mesh.h b/source/blender/editors/include/ED_mesh.h index 5d034420cda..d4b695e1b7f 100644 --- a/source/blender/editors/include/ED_mesh.h +++ b/source/blender/editors/include/ED_mesh.h @@ -37,6 +37,8 @@ struct EditEdge; struct EditFace; struct bContext; struct wmWindowManager; +struct wmKeyConfig; +struct ReportList; struct EditSelection; struct ViewContext; struct bDeformGroup; @@ -55,6 +57,8 @@ struct BMEdge; struct BMFace; struct UvVertMap; struct UvMapVert; +struct Material; +struct Object; // edge and face flag both #define EM_FGON 2 @@ -70,7 +74,7 @@ struct UvMapVert; #define B_AUTOFGON 32 #define B_KNIFE 0x80 #define B_PERCENTSUBD 0x40 -#define B_MESH_X_MIRROR 0x100 +//#define B_MESH_X_MIRROR 0x100 // deprecated, use mesh #define B_JOINTRIA_UV 0x200 #define B_JOINTRIA_VCOL 0X400 #define B_JOINTRIA_SHARP 0X800 @@ -148,17 +152,18 @@ int *mesh_get_x_mirror_faces(struct Object *ob, struct BMEditMesh *em); /* mesh_ops.c */ void ED_operatortypes_mesh(void); -void ED_keymap_mesh(struct wmWindowManager *wm); +void ED_operatormacros_mesh(void); +void ED_keymap_mesh(struct wmKeyConfig *keyconf); /* editmesh.c */ void ED_spacetypes_init(void); -void ED_keymap_mesh(struct wmWindowManager *wm); +void ED_keymap_mesh(struct wmKeyConfig *keyconf); -struct EditMesh *make_editMesh(struct Scene *scene, Object *ob); -void load_editMesh(struct Scene *scene, Object *ob, struct EditMesh *em); -void remake_editMesh(struct Scene *scene, Object *ob); +struct EditMesh *make_editMesh(struct Scene *scene, struct Object *ob); +void load_editMesh(struct Scene *scene, struct Object *ob, struct EditMesh *em); +void remake_editMesh(struct Scene *scene, struct Object *ob); void free_editMesh(struct EditMesh *em); void recalc_editnormals(struct EditMesh *em); @@ -186,6 +191,7 @@ void EM_select_face(struct EditFace *efa, int sel); void EM_select_face_fgon(struct EditMesh *em, struct EditFace *efa, int val); void EM_select_swap(struct EditMesh *em); void EM_toggle_select_all(struct EditMesh *em); +void EM_select_all(struct EditMesh *em); void EM_selectmode_flush(struct EditMesh *em); void EM_deselect_flush(struct EditMesh *em); void EM_selectmode_set(struct EditMesh *em); @@ -216,6 +222,8 @@ int EM_init_backbuf_circle(struct ViewContext *vc, short xs, short ys, short r void EM_hide_mesh(struct EditMesh *em, int swap); void EM_reveal_mesh(struct EditMesh *em); +void EM_automerge(struct Scene *scene, struct Object *obedit, int update); + /* editface.c */ struct MTFace *EM_get_active_mtface(struct EditMesh *em, struct EditFace **act_efa, struct MCol **mcol, int sloppy); @@ -251,4 +259,25 @@ struct BMVert *EDBM_findnearestvert(struct ViewContext *vc, int *dist, short sel struct BMEdge *EDBM_findnearestedge(struct ViewContext *vc, int *dist); struct BMFace *EDBM_findnearestface(struct ViewContext *vc, int *dist); +/*needed by edge slide*/ +struct EditVert *editedge_getOtherVert(struct EditEdge *eed, struct EditVert *eve); +struct EditVert *editedge_getSharedVert(struct EditEdge *eed, struct EditEdge *eed2); +int editedge_containsVert(struct EditEdge *eed, struct EditVert *eve); +int editface_containsVert(struct EditFace *efa, struct EditVert *eve); +int editface_containsEdge(struct EditFace *efa, struct EditEdge *eed); +short sharesFace(struct EditMesh *em, struct EditEdge *e1, struct EditEdge *e2); + +/* mesh_data.c */ + +void ED_mesh_geometry_add(struct Mesh *mesh, struct ReportList *reports, int verts, int edges, int faces); +void ED_mesh_transform(struct Mesh *me, float *mat); +void ED_mesh_calc_normals(struct Mesh *me); +void ED_mesh_material_add(struct Mesh *me, struct Material *ma); +void ED_mesh_update(struct Mesh *mesh, struct bContext *C, int calc_edges); + +int ED_mesh_uv_texture_add(struct bContext *C, struct Scene *scene, struct Object *ob, struct Mesh *me); +int ED_mesh_uv_texture_remove(struct bContext *C, struct Object *ob, struct Mesh *me); +int ED_mesh_color_add(struct bContext *C, struct Scene *scene, struct Object *ob, struct Mesh *me); +int ED_mesh_color_remove(struct bContext *C, struct Object *ob, struct Mesh *me); + #endif /* ED_MESH_H */ diff --git a/source/blender/editors/include/ED_node.h b/source/blender/editors/include/ED_node.h index bf4632dc3da..667a4ecb144 100644 --- a/source/blender/editors/include/ED_node.h +++ b/source/blender/editors/include/ED_node.h @@ -31,10 +31,16 @@ struct Material; struct Scene; struct Tex; +struct bContext; +struct bNode; +struct ID; /* drawnode.c */ void ED_init_node_butfuncs(void); +/* node_draw.c */ +void ED_node_changed_update(struct ID *id, struct bNode *node); + /* node_edit.c */ void ED_node_shader_default(struct Material *ma); void ED_node_composit_default(struct Scene *sce); diff --git a/source/blender/editors/include/ED_object.h b/source/blender/editors/include/ED_object.h index 67dc6dada5f..8f74752ec8c 100644 --- a/source/blender/editors/include/ED_object.h +++ b/source/blender/editors/include/ED_object.h @@ -28,7 +28,8 @@ #ifndef ED_OBJECT_H #define ED_OBJECT_H -struct wmWindowManager; +struct wmKeyConfig; +struct wmKeyMap; struct Scene; struct Object; struct bContext; @@ -44,7 +45,11 @@ struct ModifierData; /* object_edit.c */ void ED_operatortypes_object(void); -void ED_keymap_object(struct wmWindowManager *wm); +void ED_operatormacros_object(void); +void ED_keymap_object(struct wmKeyConfig *keyconf); + +/* generic editmode keys like pet */ +void ED_object_generic_keymap(struct wmKeyConfig *keyconf, struct wmKeyMap *keymap, int do_pet); /* send your own notifier for select! */ void ED_base_object_select(struct Base *base, short mode); @@ -70,6 +75,7 @@ void ED_object_exit_editmode(struct bContext *C, int flag); void ED_object_enter_editmode(struct bContext *C, int flag); void ED_object_base_init_from_view(struct bContext *C, struct Base *base); +struct Object *ED_object_add_type(struct bContext *C, int type); void ED_object_single_users(struct Scene *scene, int full); @@ -88,6 +94,8 @@ void object_test_constraints(struct Object *ob); void ED_object_constraint_rename(struct Object *ob, struct bConstraint *con, char *oldname); void ED_object_constraint_set_active(struct Object *ob, struct bConstraint *con); +void ED_object_constraint_update(struct Object *ob); +void ED_object_constraint_dependency_update(struct Scene *scene, struct Object *ob); /* object_lattice.c */ void mouse_lattice(struct bContext *C, short mval[2], int extend); diff --git a/source/blender/editors/include/ED_particle.h b/source/blender/editors/include/ED_particle.h index 28807caa255..fcdaf8cb59d 100644 --- a/source/blender/editors/include/ED_particle.h +++ b/source/blender/editors/include/ED_particle.h @@ -36,8 +36,9 @@ struct ParticleEditSettings; struct ParticleSystem; struct RadialControl; struct rcti; -struct wmWindowManager; +struct wmKeyConfig; struct PTCacheEdit; +struct Scene; /* particle edit mode */ void PE_free_ptcache_edit(struct PTCacheEdit *edit); @@ -45,8 +46,10 @@ int PE_start_edit(struct PTCacheEdit *edit); /* access */ struct PTCacheEdit *PE_get_current(struct Scene *scene, struct Object *ob); +struct PTCacheEdit *PE_create_current(struct Scene *scene, struct Object *ob); +void PE_current_changed(struct Scene *scene, struct Object *ob); int PE_minmax(struct Scene *scene, float *min, float *max); -struct ParticleEditSettings *PE_settings(Scene *scene); +struct ParticleEditSettings *PE_settings(struct Scene *scene); /* update calls */ void PE_hide_keys_time(struct Scene *scene, struct PTCacheEdit *edit, float cfra); @@ -59,15 +62,11 @@ int PE_circle_select(struct bContext *C, int selecting, short *mval, float rad); int PE_lasso_select(struct bContext *C, short mcords[][2], short moves, short select); /* undo */ -void PE_undo_push(Scene *scene, char *str); -void PE_undo_step(Scene *scene, int step); -void PE_undo(Scene *scene); -void PE_redo(Scene *scene); -void PE_undo_menu(Scene *scene, Object *ob); - -/* operators */ -void ED_operatortypes_particle(void); -void ED_keymap_particle(struct wmWindowManager *wm); +void PE_undo_push(struct Scene *scene, char *str); +void PE_undo_step(struct Scene *scene, int step); +void PE_undo(struct Scene *scene); +void PE_redo(struct Scene *scene); +void PE_undo_menu(struct Scene *scene, struct Object *ob); #endif /* ED_PARTICLE_H */ diff --git a/source/blender/editors/include/ED_physics.h b/source/blender/editors/include/ED_physics.h index 6ab804230d0..df303d7c9f1 100644 --- a/source/blender/editors/include/ED_physics.h +++ b/source/blender/editors/include/ED_physics.h @@ -30,12 +30,11 @@ #ifndef ED_PHYSICS_H #define ED_PHYSICS_H -/* operators */ +struct wmKeyConfig; -void ED_operatortypes_boids(void); -void ED_operatortypes_pointcache(void); -void ED_operatortypes_fluid(void); -//void ED_keymap_pointcache(struct wmWindowManager *wm); +/* operators */ +void ED_operatortypes_physics(void); +void ED_keymap_physics(struct wmKeyConfig *keyconf); #endif /* ED_PHYSICS_H */ diff --git a/source/blender/editors/include/ED_previewrender.h b/source/blender/editors/include/ED_render.h index 7e0d71db7e1..13028dac1a2 100644 --- a/source/blender/editors/include/ED_previewrender.h +++ b/source/blender/editors/include/ED_render.h @@ -21,22 +21,29 @@ * ***** END GPL LICENSE BLOCK ***** */ -#ifndef ED_PREVIEWRENDER_H -#define ED_PREVIEWRENDER_H +#ifndef ED_RENDER_H +#define ED_RENDER_H #include "DNA_vec_types.h" -struct View3D; -struct SpaceButs; -struct RenderInfo; -struct Scene; -struct Image; -struct Render; struct bContext; struct ID; +struct Main; struct MTex; +struct Render; +struct RenderInfo; + +/* render_ops.c */ + +void ED_operatortypes_render(void); + +/* render_shading.c */ + +void ED_render_id_flush_update(struct Main *bmain, struct ID *id); + +/* render_preview.c */ -#define PREVIEW_RENDERSIZE 140 +#define _RENDERSIZE 140 /* stores rendered preview - is also used for icons */ typedef struct RenderInfo { @@ -57,22 +64,20 @@ typedef struct RenderInfo { /* Render the preview pr_method: -- PR_DRAW_RENDER: preview is rendered and drawn, as indicated by called context (buttons panel) -- PR_ICON_RENDER: the preview is not drawn and the function is not dynamic, - so no events are processed. Hopefully fast enough for at least 32x32 -- PR_DO_RENDER: preview is rendered, not drawn, but events are processed for afterqueue, - in use for node editor now. +- PR_BUTS_RENDER: preview is rendered for buttons window +- PR_ICON_RENDER: preview is rendered for icons. hopefully fast enough for at least 32x32 +- PR_NODE_RENDER: preview is rendered for node editor. */ -#define PR_DRAW_RENDER 0 +#define PR_BUTS_RENDER 0 #define PR_ICON_RENDER 1 -#define PR_DO_RENDER 2 +#define PR_NODE_RENDER 2 void ED_preview_init_dbase(void); void ED_preview_free_dbase(void); -void ED_preview_shader_job(const struct bContext *C, void *owner, struct ID *id, struct ID *parent, struct MTex *slot, int sizex, int sizey); -void ED_preview_iconrender(struct Scene *scene, struct ID *id, unsigned int *rect, int sizex, int sizey); +void ED_preview_shader_job(const struct bContext *C, void *owner, struct ID *id, struct ID *parent, struct MTex *slot, int sizex, int sizey, int method); +void ED_preview_icon_job(const struct bContext *C, void *owner, struct ID *id, unsigned int *rect, int sizex, int sizey); void ED_preview_draw(const struct bContext *C, void *idp, void *parentp, void *slot, rcti *rect); diff --git a/source/blender/editors/include/ED_screen.h b/source/blender/editors/include/ED_screen.h index 63b6a067389..18c86306e44 100644 --- a/source/blender/editors/include/ED_screen.h +++ b/source/blender/editors/include/ED_screen.h @@ -37,6 +37,7 @@ struct wmWindowManager; struct wmWindow; struct wmNotifier; struct wmEvent; +struct wmKeyConfig; struct bContext; struct SpaceType; struct Scene; @@ -63,7 +64,7 @@ void region_scissor_winrct(struct ARegion *ar, struct rcti *winrct); /* spaces */ void ED_spacetypes_init(void); -void ED_spacetypes_keymap(struct wmWindowManager *wm); +void ED_spacetypes_keymap(struct wmKeyConfig *keyconf); int ED_area_header_switchbutton(const struct bContext *C, struct uiBlock *block, int yco); int ED_area_header_standardbuttons(const struct bContext *C, struct uiBlock *block, int yco); void ED_area_overdraw(struct bContext *C); @@ -107,7 +108,7 @@ void ED_screen_new_window(struct bContext *C, struct rcti *position, int type); void ED_update_for_newframe(const struct bContext *C, int mute); void ED_operatortypes_screen(void); -void ED_keymap_screen(struct wmWindowManager *wm); +void ED_keymap_screen(struct wmKeyConfig *keyconf); /* operators; context poll callbacks */ int ED_operator_screenactive(struct bContext *C); diff --git a/source/blender/editors/include/ED_sculpt.h b/source/blender/editors/include/ED_sculpt.h index c6a8881a0c6..764efb4ef0c 100644 --- a/source/blender/editors/include/ED_sculpt.h +++ b/source/blender/editors/include/ED_sculpt.h @@ -29,14 +29,14 @@ #define ED_SCULPT_H struct bContext; -struct wmWindowManager; +struct wmKeyConfig; /* sculpt.c */ void ED_operatortypes_sculpt(void); -void ED_keymap_sculpt(struct wmWindowManager *wm); /* paint_ops.c */ void ED_operatortypes_paint(void); +void ED_keymap_paint(struct wmKeyConfig *keyconf); /* paint_image.c */ void undo_imagepaint_step(int step); diff --git a/source/blender/editors/include/ED_transform.h b/source/blender/editors/include/ED_transform.h index 984def760ae..e07cbff429a 100644 --- a/source/blender/editors/include/ED_transform.h +++ b/source/blender/editors/include/ED_transform.h @@ -41,8 +41,10 @@ struct Object; struct uiLayout; struct EnumPropertyItem; struct wmOperatorType; +struct wmKeyMap; +struct wmKeyConfig; -void transform_keymap_for_space(struct wmWindowManager *wm, struct ListBase *keymap, int spaceid); +void transform_keymap_for_space(struct wmKeyConfig *keyconf, struct wmKeyMap *keymap, int spaceid); void transform_operatortypes(void); /* ******************** Macros & Prototypes *********************** */ @@ -74,7 +76,8 @@ enum { TFM_BAKE_TIME, TFM_BEVEL, TFM_BWEIGHT, - TFM_ALIGN + TFM_ALIGN, + TFM_EDGE_SLIDE } TfmMode; /* TRANSFORM CONTEXTS */ @@ -109,10 +112,12 @@ int BIF_snappingSupported(struct Object *obedit); struct TransformOrientation; struct bContext; +struct ReportList; void BIF_clearTransformOrientation(struct bContext *C); void BIF_removeTransformOrientation(struct bContext *C, struct TransformOrientation *ts); -void BIF_manageTransformOrientation(struct bContext *C, int confirm, int set); +void BIF_removeTransformOrientationIndex(struct bContext *C, int index); +void BIF_createTransformOrientation(struct bContext *C, struct ReportList *reports, char *name, int use, int overwrite); int BIF_menuselectTransformOrientation(void); void BIF_selectTransformOrientation(struct bContext *C, struct TransformOrientation *ts); void BIF_selectTransformOrientationValue(struct bContext *C, int orientation); @@ -161,10 +166,10 @@ typedef enum SnapMode #define SNAP_MIN_DISTANCE 30 -int peelObjectsTransForm(struct TransInfo *t, struct ListBase *depth_peels, short mval[2]); -int peelObjectsContext(struct bContext *C, struct ListBase *depth_peels, short mval[2]); -int snapObjectsTransform(struct TransInfo *t, short mval[2], int *dist, float *loc, float *no, SnapMode mode); -int snapObjectsContext(struct bContext *C, short mval[2], int *dist, float *loc, float *no, SnapMode mode); +int peelObjectsTransForm(struct TransInfo *t, struct ListBase *depth_peels, float mval[2]); +int peelObjectsContext(struct bContext *C, struct ListBase *depth_peels, float mval[2]); +int snapObjectsTransform(struct TransInfo *t, float mval[2], int *dist, float *loc, float *no, SnapMode mode); +int snapObjectsContext(struct bContext *C, float mval[2], int *dist, float *loc, float *no, SnapMode mode); #endif diff --git a/source/blender/editors/include/ED_uvedit.h b/source/blender/editors/include/ED_uvedit.h index e75eb751a0b..bf9b95d49d8 100644 --- a/source/blender/editors/include/ED_uvedit.h +++ b/source/blender/editors/include/ED_uvedit.h @@ -34,11 +34,11 @@ struct Object; struct MTFace; struct EditFace; struct Image; -struct wmWindowManager; +struct wmKeyConfig; /* uvedit_ops.c */ void ED_operatortypes_uvedit(void); -void ED_keymap_uvedit(struct wmWindowManager *wm); +void ED_keymap_uvedit(struct wmKeyConfig *keyconf); void ED_uvedit_assign_image(struct Scene *scene, struct Object *obedit, struct Image *ima, struct Image *previma); void ED_uvedit_set_tile(struct bContext *C, struct Scene *scene, struct Object *obedit, struct Image *ima, int curtile, int dotile); diff --git a/source/blender/editors/include/ED_view3d.h b/source/blender/editors/include/ED_view3d.h index 07890d88c22..307dbd74872 100644 --- a/source/blender/editors/include/ED_view3d.h +++ b/source/blender/editors/include/ED_view3d.h @@ -88,8 +88,8 @@ void project_int_noclip(struct ARegion *ar, float *vec, int *adr); void project_float(struct ARegion *ar, float *vec, float *adr); void project_float_noclip(struct ARegion *ar, float *vec, float *adr); -void viewline(struct ARegion *ar, struct View3D *v3d, short mval[2], float ray_start[3], float ray_end[3]); -void viewray(struct ARegion *ar, struct View3D *v3d, short mval[2], float ray_start[3], float ray_normal[3]); +void viewline(struct ARegion *ar, struct View3D *v3d, float mval[2], float ray_start[3], float ray_end[3]); +void viewray(struct ARegion *ar, struct View3D *v3d, float mval[2], float ray_start[3], float ray_normal[3]); int get_view3d_viewplane(struct View3D *v3d, struct RegionView3D *rv3d, int winxi, int winyi, rctf *viewplane, float *clipsta, float *clipend, float *pixsize); int get_view3d_ortho(struct View3D *v3d, struct RegionView3D *rv3d); @@ -134,5 +134,7 @@ int lasso_inside_edge(short mcords[][2], short moves, int x0, int y0, int x1, in /* get 3d region from context, also if mouse is in header or toolbar */ struct RegionView3D *ED_view3d_context_rv3d(struct bContext *C); +void ED_view3d_init_mats_rv3d(struct Object *ob, struct RegionView3D *rv3d); + #endif /* ED_VIEW3D_H */ diff --git a/source/blender/editors/include/UI_icons.h b/source/blender/editors/include/UI_icons.h index f16fc9ebe05..e8c99a51bf8 100644 --- a/source/blender/editors/include/UI_icons.h +++ b/source/blender/editors/include/UI_icons.h @@ -33,7 +33,7 @@ DEF_ICON(ICON_BLENDER) DEF_ICON(ICON_QUESTION) DEF_ICON(ICON_ERROR) -DEF_ICON(ICON_BLANK1) // XXX this is used lots, it's not actually 'blank' +DEF_ICON(ICON_CANCEL) DEF_ICON(ICON_TRIA_RIGHT) DEF_ICON(ICON_TRIA_DOWN) DEF_ICON(ICON_TRIA_LEFT) @@ -66,9 +66,9 @@ DEF_ICON(ICON_VIEWZOOM) DEF_ICON(ICON_ZOOMIN) DEF_ICON(ICON_ZOOMOUT) DEF_ICON(ICON_PANEL_CLOSE) -DEF_ICON(ICON_BLANK009) +DEF_ICON(ICON_COPY_ID) //ICON_BLANK009 DEF_ICON(ICON_EYEDROPPER) -DEF_ICON(ICON_BLANK010) +DEF_ICON(ICON_LINK_AREA) //ICON_BLANK010 DEF_ICON(ICON_AUTO) DEF_ICON(ICON_CHECKBOX_DEHLT) DEF_ICON(ICON_CHECKBOX_HLT) @@ -83,11 +83,11 @@ DEF_ICON(ICON_DOTSUP) DEF_ICON(ICON_DOTSDOWN) DEF_ICON(ICON_LINK) DEF_ICON(ICON_INLINK) -DEF_ICON(ICON_BLANK012b) +DEF_ICON(ICON_PLUGIN) /* various ui */ DEF_ICON(ICON_HELP) -DEF_ICON(ICON_GHOSTDRAW) +DEF_ICON(ICON_GHOST_ENABLED) DEF_ICON(ICON_COLOR) DEF_ICON(ICON_LINKED) DEF_ICON(ICON_UNLINKED) @@ -102,16 +102,16 @@ DEF_ICON(ICON_BORDER_RECT) DEF_ICON(ICON_BORDER_LASSO) DEF_ICON(ICON_FREEZE) DEF_ICON(ICON_STYLUS_PRESSURE) -DEF_ICON(ICON_BLANK032) -DEF_ICON(ICON_BLANK033) -DEF_ICON(ICON_BLANK034) -DEF_ICON(ICON_BLANK035) -DEF_ICON(ICON_BLANK036) +DEF_ICON(ICON_GHOST_DISABLED) +DEF_ICON(ICON_NEW) +DEF_ICON(ICON_FILE_TICK) +DEF_ICON(ICON_QUIT) +DEF_ICON(ICON_URL) DEF_ICON(ICON_BLANK037) DEF_ICON(ICON_BLANK038) DEF_ICON(ICON_BLANK039) DEF_ICON(ICON_BLANK040) -DEF_ICON(ICON_BLANK040b) +DEF_ICON(ICON_BLANK1) // Not actually blank - this is used all over the place /* BUTTONS */ DEF_ICON(ICON_LAMP) @@ -127,7 +127,7 @@ DEF_ICON(ICON_SCRIPT) DEF_ICON(ICON_PARTICLES) DEF_ICON(ICON_PHYSICS) DEF_ICON(ICON_SPEAKER) -DEF_ICON(ICON_BLANK041) +DEF_ICON(ICON_TEXTURE_SHADED) //ICON_BLANK041 DEF_ICON(ICON_BLANK042) DEF_ICON(ICON_BLANK043) DEF_ICON(ICON_BLANK044) @@ -236,7 +236,7 @@ DEF_ICON(ICON_SURFACE_DATA) DEF_ICON(ICON_EMPTY_DATA) DEF_ICON(ICON_SETTINGS) DEF_ICON(ICON_RENDER_ANIMATION) -DEF_ICON(ICON_BLANK080E) +DEF_ICON(ICON_RENDER_STILL) DEF_ICON(ICON_BLANK080F) DEF_ICON(ICON_BOIDS) DEF_ICON(ICON_STRANDS) @@ -251,7 +251,7 @@ DEF_ICON(ICON_GROUP_UVS) DEF_ICON(ICON_BLANK089) DEF_ICON(ICON_BLANK090) DEF_ICON(ICON_RNA) -DEF_ICON(ICON_BLANK090b) +DEF_ICON(ICON_RNA_ADD) /* available */ DEF_ICON(ICON_BLANK092) @@ -665,9 +665,9 @@ DEF_ICON(ICON_STICKY_UVS_VERT) DEF_ICON(ICON_CLIPUV_DEHLT) DEF_ICON(ICON_CLIPUV_HLT) DEF_ICON(ICON_SNAP_PEEL_OBJECT) -DEF_ICON(ICON_BLANK221) DEF_ICON(ICON_GRID) DEF_ICON(ICON_GEARS) +DEF_ICON(ICON_BLANK221) DEF_ICON(ICON_BLANK224) DEF_ICON(ICON_BLANK225) DEF_ICON(ICON_BLANK226) @@ -685,12 +685,12 @@ DEF_ICON(ICON_BLANK230) DEF_ICON(ICON_BLANK231) DEF_ICON(ICON_BLANK232) DEF_ICON(ICON_BLANK233) -DEF_ICON(ICON_BLANK234) +DEF_ICON(ICON_RETOPO) DEF_ICON(ICON_UV_VERTEXSEL) DEF_ICON(ICON_UV_EDGESEL) DEF_ICON(ICON_UV_FACESEL) DEF_ICON(ICON_UV_ISLANDSEL) -DEF_ICON(ICON_BLANK239) +DEF_ICON(ICON_UV_SYNC_SELECT) DEF_ICON(ICON_BLANK240) DEF_ICON(ICON_BLANK241) DEF_ICON(ICON_BLANK242) @@ -801,8 +801,8 @@ DEF_ICON(ICON_BLANK303) DEF_ICON(ICON_BLANK304) DEF_ICON(ICON_BLANK305) DEF_ICON(ICON_BLANK306) -DEF_ICON(ICON_BLANK307) -DEF_ICON(ICON_BLANK308) +DEF_ICON(ICON_BACK) +DEF_ICON(ICON_FORWARD) DEF_ICON(ICON_BLANK309) DEF_ICON(ICON_BLANK310) DEF_ICON(ICON_BLANK311) diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h index 77c4e4d3475..bd8214db29b 100644 --- a/source/blender/editors/include/UI_interface.h +++ b/source/blender/editors/include/UI_interface.h @@ -147,6 +147,7 @@ typedef struct uiLayout uiLayout; #define UI_BUT_INACTIVE (1<<23) #define UI_BUT_LAST_ACTIVE (1<<24) #define UI_BUT_UNDO (1<<25) +#define UI_BUT_IMMEDIATE (1<<26) #define UI_PANEL_WIDTH 340 #define UI_COMPACT_PANEL_WIDTH 160 @@ -256,6 +257,7 @@ void uiPupMenuSaveOver(struct bContext *C, struct wmOperator *op, char *filename void uiPupMenuNotice(struct bContext *C, char *str, ...); void uiPupMenuError(struct bContext *C, char *str, ...); void uiPupMenuReports(struct bContext *C, struct ReportList *reports); +void uiPupMenuInvoke(struct bContext *C, const char *idname); /* popup registered menu */ /* Popup Blocks * @@ -418,13 +420,13 @@ typedef void (*uiIDPoinFunc)(struct bContext *C, struct ID *id, int event); uiBut *uiDefIDPoinBut(uiBlock *block, uiIDPoinFuncFP func, short blocktype, int retval, char *str, short x1, short y1, short x2, short y2, void *idpp, char *tip); -int uiDefIDPoinButs(uiBlock *block, struct Main *main, struct ID *parid, struct ID *id, int id_code, short *pin_p, int x, int y, uiIDPoinFunc func, int events); int uiIconFromID(struct ID *id); uiBut *uiDefPulldownBut(uiBlock *block, uiBlockCreateFunc func, void *arg, char *str, short x1, short y1, short x2, short y2, char *tip); uiBut *uiDefMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, char *str, short x1, short y1, short x2, short y2, char *tip); uiBut *uiDefIconTextMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, int icon, char *str, short x1, short y1, short x2, short y2, char *tip); +uiBut *uiDefIconMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, int icon, short x1, short y1, short x2, short y2, char *tip); uiBut *uiDefBlockBut(uiBlock *block, uiBlockCreateFunc func, void *func_arg1, char *str, short x1, short y1, short x2, short y2, char *tip); uiBut *uiDefBlockButN(uiBlock *block, uiBlockCreateFunc func, void *argN, char *str, short x1, short y1, short x2, short y2, char *tip); @@ -432,7 +434,7 @@ uiBut *uiDefBlockButN(uiBlock *block, uiBlockCreateFunc func, void *argN, char * uiBut *uiDefIconBlockBut(uiBlock *block, uiBlockCreateFunc func, void *arg, int retval, int icon, short x1, short y1, short x2, short y2, char *tip); uiBut *uiDefIconTextBlockBut(uiBlock *block, uiBlockCreateFunc func, void *arg, int icon, char *str, short x1, short y1, short x2, short y2, char *tip); -void uiDefKeyevtButS(uiBlock *block, int retval, char *str, short x1, short y1, short x2, short y2, short *spoin, char *tip); +uiBut *uiDefKeyevtButS(uiBlock *block, int retval, char *str, short x1, short y1, short x2, short y2, short *spoin, char *tip); uiBut *uiDefHotKeyevtButS(uiBlock *block, int retval, char *str, short x1, short y1, short x2, short y2, short *keypoin, short *modkeypoin, char *tip); uiBut *uiDefSearchBut(uiBlock *block, void *arg, int retval, int icon, int maxlen, short x1, short y1, short x2, short y2, char *tip); @@ -487,6 +489,7 @@ int uiSearchBoxhHeight(void); void uiBlockSetHandleFunc(uiBlock *block, uiBlockHandleFunc func, void *arg); void uiBlockSetButmFunc (uiBlock *block, uiMenuHandleFunc func, void *arg); void uiBlockSetFunc (uiBlock *block, uiButHandleFunc func, void *arg1, void *arg2); +void uiBlockSetNFunc (uiBlock *block, uiButHandleFunc func, void *argN, void *arg2); void uiButSetRenameFunc (uiBut *but, uiButHandleRenameFunc func, void *arg1); void uiButSetFunc (uiBut *but, uiButHandleFunc func, void *arg1, void *arg2); @@ -530,29 +533,6 @@ void UI_add_region_handlers(struct ListBase *handlers); void UI_add_area_handlers(struct ListBase *handlers); void UI_add_popup_handlers(struct bContext *C, struct ListBase *handlers, uiPopupBlockHandle *menu); -/* Legacy code - * Callbacks and utils to get 2.48 work */ - -void test_idbutton_cb(struct bContext *C, void *namev, void *arg2); -void test_scriptpoin_but(struct bContext *C, char *name, struct ID **idpp); -void test_actionpoin_but(struct bContext *C, char *name, struct ID **idpp); -void test_obpoin_but(struct bContext *C, char *name, struct ID **idpp); -void test_meshobpoin_but(struct bContext *C, char *name, struct ID **idpp); -void test_meshpoin_but(struct bContext *C, char *name, struct ID **idpp); -void test_matpoin_but(struct bContext *C, char *name, struct ID **idpp); -void test_scenepoin_but(struct bContext *C, char *name, struct ID **idpp); -void test_grouppoin_but(struct bContext *C, char *name, struct ID **idpp); -void test_texpoin_but(struct bContext *C, char *name, struct ID **idpp); -void test_imapoin_but(struct bContext *C, char *name, struct ID **idpp); -void autocomplete_bone(struct bContext *C, char *str, void *arg_v); -void autocomplete_vgroup(struct bContext *C, char *str, void *arg_v); - -struct rctf; -void curvemap_buttons(uiBlock *block, struct CurveMapping *cumap, char labeltype, short event, short redraw, struct rctf *rect); -void curvemap_layout(uiLayout *layout, struct CurveMapping *cumap, char labeltype, short event, short redraw, struct rctf *rect); -void colorband_buttons(uiBlock *block, struct ColorBand *coba, struct rctf *rect, int small); - - /* Module * * init and exit should be called before using this module. init_userdef must @@ -593,10 +573,12 @@ void UI_exit(void); #define UI_ITEM_R_SLIDER 4 #define UI_ITEM_R_TOGGLE 8 #define UI_ITEM_R_ICON_ONLY 16 +#define UI_ITEM_R_EVENT 32 +#define UI_ITEM_R_FULL_EVENT 64 uiLayout *uiBlockLayout(uiBlock *block, int dir, int type, int x, int y, int size, int em, struct uiStyle *style); void uiBlockSetCurLayout(uiBlock *block, uiLayout *layout); -void uiBlockLayoutResolve(const struct bContext *C, uiBlock *block, int *x, int *y); +void uiBlockLayoutResolve(uiBlock *block, int *x, int *y); uiBlock *uiLayoutGetBlock(uiLayout *layout); @@ -632,19 +614,24 @@ uiLayout *uiLayoutListBox(uiLayout *layout); uiLayout *uiLayoutFree(uiLayout *layout, int align); uiLayout *uiLayoutSplit(uiLayout *layout, float percentage); -uiBlock *uiLayoutFreeBlock(uiLayout *layout); +uiBlock *uiLayoutAbsoluteBlock(uiLayout *layout); /* templates */ void uiTemplateHeader(uiLayout *layout, struct bContext *C, int menus); void uiTemplateID(uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *propname, char *newop, char *openop, char *unlinkop); +void uiTemplateAnyID(uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *propname, + char *proptypename, char *text); +void uiTemplatePathBuilder(uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *propname, + struct PointerRNA *root_ptr, char *text); uiLayout *uiTemplateModifier(uiLayout *layout, struct PointerRNA *ptr); uiLayout *uiTemplateConstraint(uiLayout *layout, struct PointerRNA *ptr); void uiTemplatePreview(uiLayout *layout, struct ID *id, struct ID *parent, struct MTex *slot); -void uiTemplateColorRamp(uiLayout *layout, struct ColorBand *coba, int expand); -void uiTemplateCurveMapping(uiLayout *layout, struct CurveMapping *cumap, int type, int compact); +void uiTemplateColorRamp(uiLayout *layout, struct PointerRNA *ptr, char *propname, int expand); +void uiTemplateCurveMapping(uiLayout *layout, struct PointerRNA *ptr, char *propname, int type, int levels); void uiTemplateTriColorSet(uiLayout *layout, struct PointerRNA *ptr, char *propname); void uiTemplateLayers(uiLayout *layout, struct PointerRNA *ptr, char *propname); +void uiTemplateImage(uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *propname, struct PointerRNA *userptr, int compact); void uiTemplateImageLayers(uiLayout *layout, struct bContext *C, struct Image *ima, struct ImageUser *iuser); void uiTemplateRunningJobs(uiLayout *layout, struct bContext *C); void uiTemplateOperatorSearch(uiLayout *layout); @@ -691,6 +678,7 @@ void uiItemMenuEnumR(uiLayout *layout, char *name, int icon, struct PointerRNA * /* Helpers for Operators */ void uiAnimContextProperty(const struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA **prop, int *index); void uiFileBrowseContextProperty(const struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA **prop); +void uiIDContextProperty(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA **prop); /* Styled text draw */ void uiStyleFontSet(struct uiFontStyle *fs); diff --git a/source/blender/editors/include/UI_interface_icons.h b/source/blender/editors/include/UI_interface_icons.h index bf160b4ad68..afe6a2b9dcb 100644 --- a/source/blender/editors/include/UI_interface_icons.h +++ b/source/blender/editors/include/UI_interface_icons.h @@ -57,9 +57,9 @@ int UI_icon_get_height(int icon_id); void UI_icon_draw(float x, float y, int icon_id); void UI_icon_draw_preview(float x, float y, int icon_id, int nocreate); -void UI_icon_draw_aspect(float x, float y, int icon_id, float aspect); -void UI_icon_draw_aspect_blended(float x, float y, int icon_id, float aspect, int shade); -void UI_icon_draw_size_blended(float x, float y, int size, int icon_id, int shade); +void UI_icon_draw_aspect(float x, float y, int icon_id, float aspect, float alpha); +void UI_icon_draw_aspect_color(float x, float y, int icon_id, float aspect, float *rgb); +void UI_icon_draw_size(float x, float y, int size, int icon_id, float alpha); void UI_icons_free(); void UI_icons_free_drawinfo(void *drawinfo); diff --git a/source/blender/editors/include/UI_view2d.h b/source/blender/editors/include/UI_view2d.h index 38c4d82e6da..8fbff25589d 100644 --- a/source/blender/editors/include/UI_view2d.h +++ b/source/blender/editors/include/UI_view2d.h @@ -128,7 +128,7 @@ struct View2D; struct View2DGrid; struct View2DScrollers; -struct wmWindowManager; +struct wmKeyConfig; struct bScreen; struct ScrArea; struct ARegion; @@ -196,7 +196,7 @@ void UI_view2d_text_cache_draw(struct ARegion *ar); /* operators */ void ui_view2d_operatortypes(void); -void UI_view2d_keymap(struct wmWindowManager *wm); +void UI_view2d_keymap(struct wmKeyConfig *keyconf); #endif /* UI_VIEW2D_H */ |