[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18517] branches/blender2.5/blender/source /blender: 2.5: Space Image ported back

Brecht Van Lommel brecht at blender.org
Thu Jan 15 05:38:19 CET 2009


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. @@




More information about the Bf-blender-cvs mailing list