From deebf4f8f0d79169a0e6c2a391670419b6492bfe Mon Sep 17 00:00:00 2001 From: Joseph Eagar Date: Wed, 16 Sep 2009 17:43:09 +0000 Subject: merge with 2.5/trunk at r23271 --- source/blender/editors/include/ED_anim_api.h | 6 ++-- source/blender/editors/include/ED_armature.h | 4 ++- source/blender/editors/include/ED_datafiles.h | 4 +-- source/blender/editors/include/ED_gpencil.h | 36 +++++++++---------- source/blender/editors/include/ED_keyframes_draw.h | 6 ++-- source/blender/editors/include/ED_keyframes_edit.h | 4 +-- source/blender/editors/include/ED_keyframing.h | 11 ++++-- source/blender/editors/include/ED_mball.h | 6 ++++ source/blender/editors/include/ED_mesh.h | 42 ++++++++++++++-------- source/blender/editors/include/ED_object.h | 7 ++-- source/blender/editors/include/ED_particle.h | 11 +++--- source/blender/editors/include/ED_screen.h | 4 +-- source/blender/editors/include/ED_screen_types.h | 2 +- source/blender/editors/include/ED_sound.h | 35 ++++++++++++++++++ source/blender/editors/include/UI_icons.h | 14 ++++---- source/blender/editors/include/UI_interface.h | 6 +++- 16 files changed, 130 insertions(+), 68 deletions(-) create mode 100644 source/blender/editors/include/ED_sound.h (limited to 'source/blender/editors/include') diff --git a/source/blender/editors/include/ED_anim_api.h b/source/blender/editors/include/ED_anim_api.h index 179f362b13f..799829a6e87 100644 --- a/source/blender/editors/include/ED_anim_api.h +++ b/source/blender/editors/include/ED_anim_api.h @@ -433,8 +433,10 @@ void ED_nla_postop_refresh(bAnimContext *ac); /* ------------- Utility macros ----------------------- */ -/* checks if the given BezTriple is selected */ -#define BEZSELECTED(bezt) ((bezt->f2 & SELECT) || (bezt->f1 & SELECT) || (bezt->f3 & SELECT)) +/* provide access to Keyframe Type info in BezTriple + * NOTE: this is so that we can change it from being stored in 'hide' + */ +#define BEZKEYTYPE(bezt) ((bezt)->hide) /* set/clear/toggle macro * - channel - channel with a 'flag' member that we're setting diff --git a/source/blender/editors/include/ED_armature.h b/source/blender/editors/include/ED_armature.h index 738cbf094cb..8bdfe41ef80 100644 --- a/source/blender/editors/include/ED_armature.h +++ b/source/blender/editors/include/ED_armature.h @@ -95,7 +95,7 @@ void ED_operatortypes_armature(void); void ED_keymap_armature(struct wmWindowManager *wm); /* editarmature.c */ -void ED_armature_from_edit(struct Scene *scene, struct Object *obedit); +void ED_armature_from_edit(struct Object *obedit); void ED_armature_to_edit(struct Object *ob); void ED_armature_edit_free(struct Object *ob); void ED_armature_edit_remake(struct Object *obedit); @@ -116,6 +116,8 @@ void transform_armature_mirror_update(struct Object *obedit); void clear_armature(struct Scene *scene, struct Object *ob, char mode); void docenter_armature (struct Scene *scene, struct View3D *v3d, struct Object *ob, int centermode); +void ED_armature_apply_transform(struct Object *ob, float mat[4][4]); + #define ARM_GROUPS_NAME 1 #define ARM_GROUPS_ENVELOPE 2 #define ARM_GROUPS_AUTO 3 diff --git a/source/blender/editors/include/ED_datafiles.h b/source/blender/editors/include/ED_datafiles.h index 5d24b93418b..993cbceae18 100644 --- a/source/blender/editors/include/ED_datafiles.h +++ b/source/blender/editors/include/ED_datafiles.h @@ -40,8 +40,8 @@ extern char datatoc_blenderbuttons[]; extern int datatoc_prvicons_size; extern char datatoc_prvicons[]; -extern int datatoc_splash_jpg_size; -extern char datatoc_splash_jpg[]; +extern int datatoc_splash_png_size; +extern char datatoc_splash_png[]; extern int datatoc_Bfont_size; extern char datatoc_Bfont[]; diff --git a/source/blender/editors/include/ED_gpencil.h b/source/blender/editors/include/ED_gpencil.h index ad8124c89d7..388da9a2acc 100644 --- a/source/blender/editors/include/ED_gpencil.h +++ b/source/blender/editors/include/ED_gpencil.h @@ -38,38 +38,32 @@ struct SpaceSeq; struct bGPdata; struct bGPDlayer; struct bGPDframe; -struct bGPdata; -struct uiBlock; +struct PointerRNA; +struct Panel; struct ImBuf; +struct wmWindowManager; +/* ------------- Grease-Pencil Helpers ---------------- */ -/* ------------- Grease-Pencil Helpers -------------- */ - -/* Temporary 'Stroke Point' data */ +/* Temporary 'Stroke Point' data + * + * Used as part of the 'stroke cache' used during drawing of new strokes + */ typedef struct tGPspoint { short x, y; /* x and y coordinates of cursor (in relative to area) */ float pressure; /* pressure of tablet at this point */ } tGPspoint; -/* ------------ Grease-Pencil Depreceated Stuff ------------------ */ +/* ----------- Grease Pencil Tools/Context ------------- */ -struct bGPdata *gpencil_data_getactive(struct ScrArea *sa); -short gpencil_data_setactive(struct ScrArea *sa, struct bGPdata *gpd); -struct ScrArea *gpencil_data_findowner(struct bGPdata *gpd); +struct bGPdata **gpencil_data_get_pointers(struct bContext *C, struct PointerRNA *ptr); +struct bGPdata *gpencil_data_get_active(struct bContext *C); -/* ------------ Grease-Pencil Editing API ------------------ */ +/* ----------- Grease Pencil Operators ----------------- */ -void gpencil_delete_actframe(struct bGPdata *gpd, int cfra); -void gpencil_delete_laststroke(struct bGPdata *gpd, int cfra); - -void gpencil_delete_operation(int cfra, short mode); -void gpencil_delete_menu(void); - -void gpencil_convert_operation(short mode); -void gpencil_convert_menu(void); - -short gpencil_do_paint(struct bContext *C); +void ED_keymap_gpencil(struct wmWindowManager *wm); +void ED_operatortypes_gpencil(void); /* ------------ Grease-Pencil Drawing API ------------------ */ /* drawgpencil.c */ @@ -79,5 +73,7 @@ void draw_gpencil_2dview(struct bContext *C, short onlyv2d); void draw_gpencil_3dview(struct bContext *C, short only3d); void draw_gpencil_oglrender(struct bContext *C); +void gpencil_panel_standard(const struct bContext *C, struct Panel *pa); + #endif /* ED_GPENCIL_H */ diff --git a/source/blender/editors/include/ED_keyframes_draw.h b/source/blender/editors/include/ED_keyframes_draw.h index e940aaed36e..0969398f1e2 100644 --- a/source/blender/editors/include/ED_keyframes_draw.h +++ b/source/blender/editors/include/ED_keyframes_draw.h @@ -56,8 +56,8 @@ typedef struct ActKeyColumn { char tree_col; /* DLRB_BLACK or DLRB_RED */ /* keyframe info */ - char sel; - short handle_type; + char key_type; /* eBezTripe_KeyframeType */ + short sel; float cfra; /* only while drawing - used to determine if long-keyframe needs to be drawn */ @@ -99,7 +99,7 @@ typedef enum eKeyframeShapeDrawOpts { } eKeyframeShapeDrawOpts; /* draw simple diamond-shape keyframe (with OpenGL) */ -void draw_keyframe_shape (float x, float y, float xscale, float hsize, short sel, short mode); +void draw_keyframe_shape(float x, float y, float xscale, float hsize, short sel, short key_type, short mode); /* ******************************* Methods ****************************** */ diff --git a/source/blender/editors/include/ED_keyframes_edit.h b/source/blender/editors/include/ED_keyframes_edit.h index 77e95dc77de..b2bf05ea5ea 100644 --- a/source/blender/editors/include/ED_keyframes_edit.h +++ b/source/blender/editors/include/ED_keyframes_edit.h @@ -40,8 +40,6 @@ struct Scene; /* --------- BezTriple Selection ------------- */ -#define BEZSELECTED(bezt) ((bezt->f2 & SELECT) || (bezt->f1 & SELECT) || (bezt->f3 & SELECT)) - #define BEZ_SEL(bezt) { (bezt)->f1 |= SELECT; (bezt)->f2 |= SELECT; (bezt)->f3 |= SELECT; } #define BEZ_DESEL(bezt) { (bezt)->f1 &= ~SELECT; (bezt)->f2 &= ~SELECT; (bezt)->f3 &= ~SELECT; } #define BEZ_INVSEL(bezt) { (bezt)->f1 ^= SELECT; (bezt)->f2 ^= SELECT; (bezt)->f3 ^= SELECT; } @@ -133,6 +131,7 @@ BeztEditFunc ANIM_editkeyframes_mirror(short mode); BeztEditFunc ANIM_editkeyframes_select(short mode); BeztEditFunc ANIM_editkeyframes_handles(short mode); BeztEditFunc ANIM_editkeyframes_ipo(short mode); +BeztEditFunc ANIM_editkeyframes_keytype(short mode); /* ----------- BezTriple Callback (Assorted Utilities) ---------- */ @@ -148,6 +147,7 @@ void duplicate_fcurve_keys(struct FCurve *fcu); void clean_fcurve(struct FCurve *fcu, float thresh); void smooth_fcurve(struct FCurve *fcu); +void sample_fcurve(struct FCurve *fcu); /* ----------- */ diff --git a/source/blender/editors/include/ED_keyframing.h b/source/blender/editors/include/ED_keyframing.h index 4bc24a0adeb..20c2301d2ac 100644 --- a/source/blender/editors/include/ED_keyframing.h +++ b/source/blender/editors/include/ED_keyframing.h @@ -65,13 +65,14 @@ struct FCurve *verify_fcurve(struct bAction *act, const char group[], const char * Use this when validation of necessary animation data isn't necessary as it already * exists, and there is a beztriple that can be directly copied into the array. */ -int insert_bezt_fcurve(struct FCurve *fcu, struct BezTriple *bezt); +int insert_bezt_fcurve(struct FCurve *fcu, struct BezTriple *bezt, short flag); /* Main Keyframing API call: * Use this when validation of necessary animation data isn't necessary as it * already exists. It will insert a keyframe using the current value being keyframed. + * Returns the index at which a keyframe was added (or -1 if failed) */ -void insert_vert_fcurve(struct FCurve *fcu, float x, float y, short flag); +int insert_vert_fcurve(struct FCurve *fcu, float x, float y, short flag); /* -------- */ @@ -154,6 +155,12 @@ 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); + /* ************ Drivers ********************** */ /* Main Driver Management API calls: diff --git a/source/blender/editors/include/ED_mball.h b/source/blender/editors/include/ED_mball.h index adb50867bf9..49c1d856a27 100644 --- a/source/blender/editors/include/ED_mball.h +++ b/source/blender/editors/include/ED_mball.h @@ -26,6 +26,10 @@ * ***** END GPL LICENSE BLOCK ***** */ +struct bContext; +struct Object; +struct wmWindowManager; + void ED_operatortypes_metaball(void); void ED_keymap_metaball(struct wmWindowManager *wm); @@ -37,3 +41,5 @@ void free_editMball(struct Object *obedit); void make_editMball(struct Object *obedit); void load_editMball(struct Object *obedit); +void undo_push_mball(struct bContext *C, char *name); + diff --git a/source/blender/editors/include/ED_mesh.h b/source/blender/editors/include/ED_mesh.h index 9dde4bfd83d..5d034420cda 100644 --- a/source/blender/editors/include/ED_mesh.h +++ b/source/blender/editors/include/ED_mesh.h @@ -82,7 +82,7 @@ struct UvMapVert; void EDBM_RecalcNormals(struct BMEditMesh *em); -void EDBM_MakeEditBMesh(struct Scene *scene, struct Object *ob); +void EDBM_MakeEditBMesh(struct ToolSettings *ts, struct Scene *scene, struct Object *ob); void EDBM_FreeEditBMesh(struct BMEditMesh *tm); void EDBM_LoadEditBMesh(struct Scene *scene, struct Object *ob); @@ -98,10 +98,13 @@ struct BMFace *EDBM_get_actFace(struct BMEditMesh *em, int sloppy); edges select/deselect faces and vertices, and in face select mode faces select/deselect edges and vertices.*/ void EDBM_selectmode_flush(struct BMEditMesh *em); + int EDBM_get_actSelection(struct BMEditMesh *em, struct BMEditSelection *ese); + /*exactly the same as EDBM_selectmode_flush, but you pass in the selectmode instead of using the current one*/ void EDBM_select_flush(struct BMEditMesh *em, int selectmode); +void EDBM_deselect_flush(struct BMEditMesh *em); void EDBM_selectmode_set(struct BMEditMesh *em); void EDBM_convertsel(struct BMEditMesh *em, short oldmode, short selectmode); @@ -216,25 +219,36 @@ void EM_reveal_mesh(struct EditMesh *em); /* editface.c */ struct MTFace *EM_get_active_mtface(struct EditMesh *em, struct EditFace **act_efa, struct MCol **mcol, int sloppy); -/* editdeform.c XXX rename functions? */ +/* object_vgroup.c */ #define WEIGHT_REPLACE 1 #define WEIGHT_ADD 2 #define WEIGHT_SUBTRACT 3 -void add_defgroup (Object *ob); -void create_dverts(struct ID *id); -float get_vert_defgroup (Object *ob, struct bDeformGroup *dg, int vertnum); -void remove_vert_defgroup (Object *ob, struct bDeformGroup *dg, int vertnum); -void remove_verts_defgroup (Object *obedit, int allverts); -void vertexgroup_select_by_name(Object *ob, char *name); -void add_vert_to_defgroup (Object *ob, struct bDeformGroup *dg, int vertnum, - float weight, int assignmode); +struct bDeformGroup *ED_vgroup_add(struct Object *ob); +struct bDeformGroup *ED_vgroup_add_name(struct Object *ob, char *name); +void ED_vgroup_select_by_name(struct Object *ob, char *name); +void ED_vgroup_data_create(struct ID *id); -struct bDeformGroup *add_defgroup_name (Object *ob, char *name); -struct MDeformWeight *verify_defweight (struct MDeformVert *dv, int defgroup); -struct MDeformWeight *get_defweight (struct MDeformVert *dv, int defgroup); +void ED_vgroup_vert_add(struct Object *ob, struct bDeformGroup *dg, int vertnum, float weight, int assignmode); +void ED_vgroup_vert_remove(struct Object *ob, struct bDeformGroup *dg, int vertnum); +float ED_vgroup_vert_weight(struct Object *ob, struct bDeformGroup *dg, int vertnum); +struct MDeformWeight *ED_vgroup_weight_verify(struct MDeformVert *dv, int defgroup); +struct MDeformWeight *ED_vgroup_weight_get(struct MDeformVert *dv, int defgroup); -#endif /* ED_MESH_H */ +/** + * findnearestvert + * + * dist (in/out): minimal distance to the nearest and at the end, actual distance + * sel: selection bias + * if SELECT, selected vertice are given a 5 pixel bias to make them farter than unselect verts + * if 0, unselected vertice are given the bias + * strict: if 1, the vertice corresponding to the sel parameter are ignored and not just biased + */ +struct BMVert *EDBM_findnearestvert(struct ViewContext *vc, int *dist, short sel, short strict); +struct BMEdge *EDBM_findnearestedge(struct ViewContext *vc, int *dist); +struct BMFace *EDBM_findnearestface(struct ViewContext *vc, int *dist); + +#endif /* ED_MESH_H */ diff --git a/source/blender/editors/include/ED_object.h b/source/blender/editors/include/ED_object.h index d31f85d08ea..67dc6dada5f 100644 --- a/source/blender/editors/include/ED_object.h +++ b/source/blender/editors/include/ED_object.h @@ -89,14 +89,11 @@ 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); -/* editlattice.c */ +/* object_lattice.c */ void mouse_lattice(struct bContext *C, short mval[2], int extend); void undo_push_lattice(struct bContext *C, char *name); -/* editmball.c */ -void undo_push_mball(struct bContext *C, char *name); - -/* editkey.c */ +/* object_shapekey.c */ void insert_shapekey(struct Scene *scene, struct Object *ob); void delete_key(struct Scene *scene, struct Object *ob); void key_to_mesh(struct KeyBlock *kb, struct Mesh *me); diff --git a/source/blender/editors/include/ED_particle.h b/source/blender/editors/include/ED_particle.h index 43cb5053f48..28807caa255 100644 --- a/source/blender/editors/include/ED_particle.h +++ b/source/blender/editors/include/ED_particle.h @@ -37,20 +37,19 @@ struct ParticleSystem; struct RadialControl; struct rcti; struct wmWindowManager; +struct PTCacheEdit; /* particle edit mode */ -void PE_change_act(void *ob_v, void *act_v); -void PE_change_act_psys(struct Scene *scene, struct Object *ob, struct ParticleSystem *psys); -int PE_can_edit(struct ParticleSystem *psys); +void PE_free_ptcache_edit(struct PTCacheEdit *edit); +int PE_start_edit(struct PTCacheEdit *edit); /* access */ -struct ParticleSystem *PE_get_current(struct Scene *scene, struct Object *ob); -short PE_get_current_num(struct Object *ob); +struct PTCacheEdit *PE_get_current(struct Scene *scene, struct Object *ob); int PE_minmax(struct Scene *scene, float *min, float *max); struct ParticleEditSettings *PE_settings(Scene *scene); /* update calls */ -void PE_hide_keys_time(struct Scene *scene, struct ParticleSystem *psys, float cfra); +void PE_hide_keys_time(struct Scene *scene, struct PTCacheEdit *edit, float cfra); void PE_update_object(struct Scene *scene, struct Object *ob, int useflag); /* selection tools */ diff --git a/source/blender/editors/include/ED_screen.h b/source/blender/editors/include/ED_screen.h index 22a3e737277..63b6a067389 100644 --- a/source/blender/editors/include/ED_screen.h +++ b/source/blender/editors/include/ED_screen.h @@ -58,6 +58,7 @@ void ED_region_panels_init(struct wmWindowManager *wm, struct ARegion *ar); void ED_region_panels(const struct bContext *C, struct ARegion *ar, int vertical, char *context, int contextnr); void ED_region_header_init(struct ARegion *ar); void ED_region_header(const struct bContext *C, struct ARegion *ar); +void ED_region_toggle_hidden(struct bContext *C, struct ARegion *ar); void region_scissor_winrct(struct ARegion *ar, struct rcti *winrct); /* spaces */ @@ -104,7 +105,6 @@ void ED_screen_new_window(struct bContext *C, struct rcti *position, int type); /* anim */ void ED_update_for_newframe(const struct bContext *C, int mute); -unsigned int ED_screen_view3d_layers(struct bScreen *screen); void ED_operatortypes_screen(void); void ED_keymap_screen(struct wmWindowManager *wm); @@ -150,7 +150,7 @@ int ED_operator_posemode(struct bContext *C); #define ED_KEYMAP_MARKERS 4 #define ED_KEYMAP_ANIMATION 8 #define ED_KEYMAP_FRAMES 16 - +#define ED_KEYMAP_GPENCIL 32 #endif /* ED_SCREEN_H */ diff --git a/source/blender/editors/include/ED_screen_types.h b/source/blender/editors/include/ED_screen_types.h index 72afe7704b4..dcdc9e417e4 100644 --- a/source/blender/editors/include/ED_screen_types.h +++ b/source/blender/editors/include/ED_screen_types.h @@ -59,7 +59,7 @@ typedef struct AZone { /* internal */ short do_draw; /* for draw */ - short x1, y1, x2, y2, x3, y3; + short x1, y1, x2, y2; /* for clip */ rcti rect; } AZone; diff --git a/source/blender/editors/include/ED_sound.h b/source/blender/editors/include/ED_sound.h new file mode 100644 index 00000000000..afb2752fa6b --- /dev/null +++ b/source/blender/editors/include/ED_sound.h @@ -0,0 +1,35 @@ +/** + * $Id$ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * The Original Code is Copyright (C) 2008 Blender Foundation. + * All rights reserved. + * + * + * Contributor(s): Blender Foundation + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#ifndef ED_SOUND_H +#define ED_SOUND_H + +void ED_operatortypes_sound(void); + +#endif /* ED_SOUND_H */ + diff --git a/source/blender/editors/include/UI_icons.h b/source/blender/editors/include/UI_icons.h index 010101a1a80..f16fc9ebe05 100644 --- a/source/blender/editors/include/UI_icons.h +++ b/source/blender/editors/include/UI_icons.h @@ -101,7 +101,7 @@ DEF_ICON(ICON_RENDER_REGION) DEF_ICON(ICON_BORDER_RECT) DEF_ICON(ICON_BORDER_LASSO) DEF_ICON(ICON_FREEZE) -DEF_ICON(ICON_BLANK031) +DEF_ICON(ICON_STYLUS_PRESSURE) DEF_ICON(ICON_BLANK032) DEF_ICON(ICON_BLANK033) DEF_ICON(ICON_BLANK034) @@ -241,7 +241,7 @@ DEF_ICON(ICON_BLANK080F) DEF_ICON(ICON_BOIDS) DEF_ICON(ICON_STRANDS) DEF_ICON(ICON_LIBRARY_DATA_INDIRECT) -DEF_ICON(ICON_BLANK082) +DEF_ICON(ICON_GREASEPENCIL) DEF_ICON(ICON_BLANK083) DEF_ICON(ICON_BLANK084) DEF_ICON(ICON_GROUP_BONE) @@ -538,7 +538,7 @@ DEF_ICON(ICON_MOD_CLOTH) DEF_ICON(ICON_MOD_EXPLODE) DEF_ICON(ICON_MOD_FLUIDSIM) DEF_ICON(ICON_MOD_MULTIRES) -DEF_ICON(ICON_BLANK157) +DEF_ICON(ICON_MOD_SMOKE) DEF_ICON(ICON_BLANK158) DEF_ICON(ICON_BLANK159) DEF_ICON(ICON_BLANK160) @@ -686,10 +686,10 @@ DEF_ICON(ICON_BLANK231) DEF_ICON(ICON_BLANK232) DEF_ICON(ICON_BLANK233) DEF_ICON(ICON_BLANK234) -DEF_ICON(ICON_BLANK235) -DEF_ICON(ICON_BLANK236) -DEF_ICON(ICON_BLANK237) -DEF_ICON(ICON_BLANK238) +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_BLANK240) DEF_ICON(ICON_BLANK241) diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h index 0cb6964b39e..77c4e4d3475 100644 --- a/source/blender/editors/include/UI_interface.h +++ b/source/blender/editors/include/UI_interface.h @@ -146,6 +146,7 @@ typedef struct uiLayout uiLayout; #define UI_BUT_DRIVEN (1<<22) #define UI_BUT_INACTIVE (1<<23) #define UI_BUT_LAST_ACTIVE (1<<24) +#define UI_BUT_UNDO (1<<25) #define UI_PANEL_WIDTH 340 #define UI_COMPACT_PANEL_WIDTH 160 @@ -419,6 +420,8 @@ uiBut *uiDefIDPoinBut(uiBlock *block, uiIDPoinFuncFP func, short blocktype, int 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); @@ -589,6 +592,7 @@ void UI_exit(void); #define UI_ITEM_R_EXPAND 2 #define UI_ITEM_R_SLIDER 4 #define UI_ITEM_R_TOGGLE 8 +#define UI_ITEM_R_ICON_ONLY 16 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); @@ -633,7 +637,7 @@ uiBlock *uiLayoutFreeBlock(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 *unlinkop); + char *newop, char *openop, char *unlinkop); 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); -- cgit v1.2.3