Revision: 18517 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18517 Author: blendix Date: 2009-01-15 05:38:18 +0100 (Thu, 15 Jan 2009)
Log Message: ----------- 2.5: Space Image ported back Organized as follows: uvedit/ uv editing related code uvedit_draw.c: drawing code uvedit_ops.c: operators, just a few done uvedit_unwrap_ops.c: will be operators for unwrapping uvedit_paramatrizer.c: lscm/abf/stretch/pack space_image/ space_image.c: registration and common getter/setters image_draw.c: drawing code, mostly functional image_panels.c: panels, all commented out image_render.c: render callbacks, non functional image_ops.c: operators, only view navigation done image_header.c: header, menus mostly done but missing buttons Notes: * Header menus consist only of Operator and RNA buttons, if they are not implemented they're displayed grayed out. Ideally the full header could work like this, but std_libbuttons looks problematic. * Started using view2d code more than the old code, but for now it still does own view2d management due to some very specific requirements that the image window has. The drawing code however is more clear hopefully, it only uses view2d, and there is no switching between 'p' and 'f' view2d's anymore, it is always 'f'. * In order to make uvedit operators more independent I move some image space settings to scene toolsettings, and the current image and its buffer is in the context. Especially sync selection and select mode belonged there anyway as this cannot work correct with different spaces having different settings anyway. * Image paint is not back yet, did not want to put that together with uvedit because there's really no code sharing.. perhaps vertex paint, image paint and sculpt would be good to have in one module to share brush code, partial redraw, etc better. Modified Paths: -------------- branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h branches/blender2.5/blender/source/blender/blenkernel/intern/context.c branches/blender2.5/blender/source/blender/editors/Makefile branches/blender2.5/blender/source/blender/editors/SConscript branches/blender2.5/blender/source/blender/editors/include/ED_armature.h branches/blender2.5/blender/source/blender/editors/include/ED_mesh.h branches/blender2.5/blender/source/blender/editors/include/ED_object.h branches/blender2.5/blender/source/blender/editors/include/ED_screen.h branches/blender2.5/blender/source/blender/editors/mesh/editface.c branches/blender2.5/blender/source/blender/editors/mesh/editmesh_lib.c branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c branches/blender2.5/blender/source/blender/editors/space_api/spacetypes.c branches/blender2.5/blender/source/blender/editors/space_image/Makefile branches/blender2.5/blender/source/blender/editors/space_image/SConscript branches/blender2.5/blender/source/blender/editors/space_image/image_intern.h branches/blender2.5/blender/source/blender/editors/space_image/space_image.c Added Paths: ----------- branches/blender2.5/blender/source/blender/editors/include/ED_uvedit.h branches/blender2.5/blender/source/blender/editors/space_image/image_draw.c branches/blender2.5/blender/source/blender/editors/space_image/image_header.c branches/blender2.5/blender/source/blender/editors/space_image/image_ops.c branches/blender2.5/blender/source/blender/editors/space_image/image_panels.c branches/blender2.5/blender/source/blender/editors/space_image/image_render.c branches/blender2.5/blender/source/blender/editors/uvedit/ branches/blender2.5/blender/source/blender/editors/uvedit/Makefile branches/blender2.5/blender/source/blender/editors/uvedit/SConscript branches/blender2.5/blender/source/blender/editors/uvedit/uvedit_draw.c branches/blender2.5/blender/source/blender/editors/uvedit/uvedit_intern.h branches/blender2.5/blender/source/blender/editors/uvedit/uvedit_ops.c branches/blender2.5/blender/source/blender/editors/uvedit/uvedit_parametrizer.c branches/blender2.5/blender/source/blender/editors/uvedit/uvedit_parametrizer.h branches/blender2.5/blender/source/blender/editors/uvedit/uvedit_unwrap_ops.c Removed Paths: ------------- branches/blender2.5/blender/source/blender/editors/space_image/image_header.c Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h =================================================================== --- branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h 2009-01-15 04:22:23 UTC (rev 18516) +++ branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h 2009-01-15 04:38:18 UTC (rev 18517) @@ -47,6 +47,8 @@ struct SpaceLink; struct StructRNA; struct ToolSettings; +struct Image; +struct ImBuf; struct wmWindow; struct wmWindowManager; @@ -149,6 +151,9 @@ struct Base *CTX_data_active_base(const bContext *C); struct Object *CTX_data_edit_object(const bContext *C); +struct Image *CTX_data_edit_image(const bContext *C); +struct ImBuf *CTX_data_edit_image_buffer(const bContext *C); + int CTX_data_selected_nodes(const bContext *C, ListBase *list); /* Data Evaluation Context */ Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/context.c =================================================================== --- branches/blender2.5/blender/source/blender/blenkernel/intern/context.c 2009-01-15 04:22:23 UTC (rev 18516) +++ branches/blender2.5/blender/source/blender/blenkernel/intern/context.c 2009-01-15 04:38:18 UTC (rev 18517) @@ -392,6 +392,16 @@ return ctx_data_pointer_get(C, CTX_data_edit_object); } +struct Image *CTX_data_edit_image(const bContext *C) +{ + return ctx_data_pointer_get(C, CTX_data_edit_image); +} + +struct ImBuf *CTX_data_edit_image_buffer(const bContext *C) +{ + return ctx_data_pointer_get(C, CTX_data_edit_image_buffer); +} + /* data evaluation */ float CTX_eval_frame(const bContext *C) Modified: branches/blender2.5/blender/source/blender/editors/Makefile =================================================================== --- branches/blender2.5/blender/source/blender/editors/Makefile 2009-01-15 04:22:23 UTC (rev 18516) +++ branches/blender2.5/blender/source/blender/editors/Makefile 2009-01-15 04:38:18 UTC (rev 18517) @@ -29,6 +29,6 @@ # Bounces make to subdirectories. SOURCEDIR = source/blender/editors -DIRS = armature mesh animation object sculpt datafiles transform screen curve gpencil physics preview space_outliner space_time space_view3d interface util space_api space_ipo space_image space_node space_buttons space_info space_file space_sound space_action space_nla space_script space_text space_sequencer +DIRS = armature mesh animation object sculpt datafiles transform screen curve gpencil physics preview uvedit space_outliner space_time space_view3d interface util space_api space_ipo space_image space_node space_buttons space_info space_file space_sound space_action space_nla space_script space_text space_sequencer include nan_subdirs.mk Modified: branches/blender2.5/blender/source/blender/editors/SConscript =================================================================== --- branches/blender2.5/blender/source/blender/editors/SConscript 2009-01-15 04:22:23 UTC (rev 18516) +++ branches/blender2.5/blender/source/blender/editors/SConscript 2009-01-15 04:38:18 UTC (rev 18517) @@ -31,4 +31,5 @@ 'space_sequencer/SConscript', 'transform/SConscript', 'screen/SConscript', - 'sculpt/SConscript']) + 'sculpt/SConscript', + 'uvedit/SConscript']) Modified: branches/blender2.5/blender/source/blender/editors/include/ED_armature.h =================================================================== --- branches/blender2.5/blender/source/blender/editors/include/ED_armature.h 2009-01-15 04:22:23 UTC (rev 18516) +++ branches/blender2.5/blender/source/blender/editors/include/ED_armature.h 2009-01-15 04:38:18 UTC (rev 18517) @@ -33,7 +33,9 @@ struct Base; struct Bone; struct bArmature; +struct bPoseChannel; struct ListBase; +struct View3D; typedef struct EditBone { Modified: branches/blender2.5/blender/source/blender/editors/include/ED_mesh.h =================================================================== --- branches/blender2.5/blender/source/blender/editors/include/ED_mesh.h 2009-01-15 04:22:23 UTC (rev 18516) +++ branches/blender2.5/blender/source/blender/editors/include/ED_mesh.h 2009-01-15 04:38:18 UTC (rev 18517) @@ -42,6 +42,11 @@ struct bDeformGroup; struct MDeformWeight; struct MDeformVert; +struct Scene; +struct MCol; +struct UvVertMap; +struct UvMapVert; +struct CustomData; // edge and face flag both #define EM_FGON 2 @@ -79,9 +84,9 @@ void ED_spacetypes_init(void); void ED_keymap_mesh(struct wmWindowManager *wm); -void make_editMesh(Scene *scene, Object *ob); -void load_editMesh(Scene *scene, Object *ob); -void remake_editMesh(Scene *scene, Object *ob); +void make_editMesh(struct Scene *scene, Object *ob); +void load_editMesh(struct Scene *scene, Object *ob); +void remake_editMesh(struct Scene *scene, Object *ob); void free_editMesh(struct EditMesh *em); void recalc_editnormals(struct EditMesh *em); @@ -100,8 +105,12 @@ /* editmesh_lib.c */ struct EditFace *EM_get_actFace(struct EditMesh *em, int sloppy); +void EM_set_actFace(struct EditMesh *em, struct EditFace *efa); +float EM_face_area(struct EditFace *efa); +void EM_add_data_layer(struct EditMesh *em, struct CustomData *data, int type); void EM_select_edge(struct EditEdge *eed, int sel); +void EM_select_face(struct EditFace *efa, int sel); void EM_select_face_fgon(struct EditMesh *em, struct EditFace *efa, int val); void EM_selectmode_flush(struct EditMesh *em); void EM_deselect_flush(struct EditMesh *em); @@ -114,6 +123,9 @@ void EM_editselection_normal(float *normal, struct EditSelection *ese); void EM_editselection_plane(float *plane, struct EditSelection *ese); +struct UvVertMap *EM_make_uv_vert_map(struct EditMesh *em, int selected, int do_face_idx_array, float *limit); +struct UvMapVert *EM_get_uv_map_vert(struct UvVertMap *vmap, unsigned int v); +void EM_free_uv_vert_map(struct UvVertMap *vmap); /* editmesh_mods.c */ extern unsigned int em_vertoffs, em_solidoffs, em_wireoffs; @@ -125,6 +137,9 @@ int EM_init_backbuf_border(struct ViewContext *vc, short xmin, short ymin, short xmax, short ymax); int EM_init_backbuf_circle(struct ViewContext *vc, short xs, short ys, short rads); +/* 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? */ #define WEIGHT_REPLACE 1 Modified: branches/blender2.5/blender/source/blender/editors/include/ED_object.h =================================================================== --- branches/blender2.5/blender/source/blender/editors/include/ED_object.h 2009-01-15 04:22:23 UTC (rev 18516) +++ branches/blender2.5/blender/source/blender/editors/include/ED_object.h 2009-01-15 04:38:18 UTC (rev 18517) @@ -35,6 +35,10 @@ struct Base; struct View3D; struct bConstraint; +struct KeyBlock; +struct Lattice; +struct Mesh; +struct Curve; void ED_operatortypes_object(void); void ED_keymap_object(struct wmWindowManager *wm); Modified: branches/blender2.5/blender/source/blender/editors/include/ED_screen.h =================================================================== --- branches/blender2.5/blender/source/blender/editors/include/ED_screen.h 2009-01-15 04:22:23 UTC (rev 18516) +++ branches/blender2.5/blender/source/blender/editors/include/ED_screen.h 2009-01-15 04:38:18 UTC (rev 18517) @@ -107,6 +107,7 @@ int ED_operator_object_active(struct bContext *C); int ED_operator_editmesh(struct bContext *C); int ED_operator_editcurve(struct bContext *C); +int ED_operator_uvedit(struct bContext *C); /* default keymaps, bitflags */ #define ED_KEYMAP_UI 1 Added: branches/blender2.5/blender/source/blender/editors/include/ED_uvedit.h =================================================================== --- branches/blender2.5/blender/source/blender/editors/include/ED_uvedit.h (rev 0) +++ branches/blender2.5/blender/source/blender/editors/include/ED_uvedit.h 2009-01-15 04:38:18 UTC (rev 18517) @@ -0,0 +1,45 @@ +/** + * $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_UVEDIT_H +#define ED_UVEDIT_H + +struct Scene; +struct Object; +struct Image; +struct wmWindowManager; + +/* uvedit_ops.c */ +void ED_operatortypes_uvedit(void); +void ED_keymap_uvedit(struct wmWindowManager *wm); + +void ED_uvedit_assign_image(struct Scene *scene, struct Object *obedit, struct Image *ima, struct Image *previma); +void ED_uvedit_set_tile(struct Scene *scene, struct Object *obedit, struct Image *ima, int curtile, int dotile); +int ED_uvedit_minmax(struct Scene *scene, struct Image *ima, struct Object *obedit, float *min, float *max); + +#endif /* ED_UVEDIT_H */ + Modified: branches/blender2.5/blender/source/blender/editors/mesh/editface.c =================================================================== --- branches/blender2.5/blender/source/blender/editors/mesh/editface.c 2009-01-15 04:22:23 UTC (rev 18516) +++ branches/blender2.5/blender/source/blender/editors/mesh/editface.c 2009-01-15 04:38:18 UTC (rev 18517) @@ -598,7 +598,7 @@ /* last_sel, use em->act_face otherwise get the last selected face in the editselections * at the moment, last_sel is mainly useful for gaking sure the space image dosnt flicker */ -MTFace *get_active_mtface(EditMesh *em, EditFace **act_efa, MCol **mcol, int sloppy) +MTFace *EM_get_active_mtface(EditMesh *em, EditFace **act_efa, MCol **mcol, int sloppy) { EditFace *efa = NULL; Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh_lib.c @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs