[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [17969] branches/blender2.5/blender/source : 2.5

Ton Roosendaal ton at blender.org
Sat Dec 20 13:36:15 CET 2008


Revision: 17969
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=17969
Author:   ton
Date:     2008-12-20 13:36:14 +0100 (Sat, 20 Dec 2008)

Log Message:
-----------
2.5

- Ported over view3d header buttons.
  Most of the options don't work :) but some do!
- Fixed makefiles for new animation module
- added icon definitions in resources to match current trunk.

Modified Paths:
--------------
    branches/blender2.5/blender/source/Makefile
    branches/blender2.5/blender/source/blender/editors/Makefile
    branches/blender2.5/blender/source/blender/editors/include/UI_resources.h
    branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_init_exit.c

Modified: branches/blender2.5/blender/source/Makefile
===================================================================
--- branches/blender2.5/blender/source/Makefile	2008-12-20 11:33:16 UTC (rev 17968)
+++ branches/blender2.5/blender/source/Makefile	2008-12-20 12:36:14 UTC (rev 17969)
@@ -251,6 +251,7 @@
 PULIB += $(OCGDIR)/blender/ed_time/libed_time.a
 PULIB += $(OCGDIR)/blender/ed_view3d/libed_view3d.a
 PULIB += $(OCGDIR)/blender/ed_interface/libed_interface.a
+PULIB += $(OCGDIR)/blender/ed_animation/libed_animation.a
 PULIB += $(OCGDIR)/blender/ed_util/libed_util.a
 PULIB += $(OCGDIR)/blender/ed_datafiles/libed_datafiles.a
 PULIB += $(OCGDIR)/blender/ed_screen/libed_screen.a

Modified: branches/blender2.5/blender/source/blender/editors/Makefile
===================================================================
--- branches/blender2.5/blender/source/blender/editors/Makefile	2008-12-20 11:33:16 UTC (rev 17968)
+++ branches/blender2.5/blender/source/blender/editors/Makefile	2008-12-20 12:36:14 UTC (rev 17969)
@@ -29,6 +29,6 @@
 # Bounces make to subdirectories.
 
 SOURCEDIR = source/blender/editors
-DIRS = datafiles screen 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 = animation datafiles screen 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/include/UI_resources.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/UI_resources.h	2008-12-20 11:33:16 UTC (rev 17968)
+++ branches/blender2.5/blender/source/blender/editors/include/UI_resources.h	2008-12-20 12:36:14 UTC (rev 17969)
@@ -84,11 +84,11 @@
 	ICON_SHORTDISPLAY,
 	ICON_TRIA_DOWN,
 	ICON_TRIA_RIGHT,
-	ICON_BLANK7,
-	ICON_BLANK8,
-	ICON_BLANK9,
-	ICON_BLANK10,
-
+	ICON_NDOF_TURN,
+	ICON_NDOF_FLY,
+	ICON_NDOF_TRANS,
+	ICON_NDOF_DOM,
+	
 	ICON_VIEW_AXIS_ALL,
 	ICON_VIEW_AXIS_NONE,
 	ICON_VIEW_AXIS_NONE2,
@@ -269,8 +269,8 @@
 	ICON_WINDOW_WINDOW,
 	ICON_PANEL_CLOSE,
 	ICON_PHYSICS,
-	ICON_BLANK36,
-	ICON_BLANK37,
+	ICON_LAYER_USED,
+	ICON_LAYER_ACTIVE,
 	ICON_BLANK38,
 	
 	ICON_BLENDER,
@@ -296,7 +296,7 @@
 	ICON_ARMATURE_DEHLT,
 	ICON_SNAP_GEAR,
 	ICON_SNAP_GEO,
-	ICON_BLANK41,
+	ICON_SNAP_NORMAL,
 	ICON_BLANK42,
 	
 	ICON_SMOOTHCURVE,

Modified: branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c	2008-12-20 11:33:16 UTC (rev 17968)
+++ branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c	2008-12-20 12:36:14 UTC (rev 17969)
@@ -17,7 +17,7 @@
  * 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.
+ * The Original Code is Copyright (C) 2004-2008 Blender Foundation.
  * All rights reserved.
  *
  * 
@@ -28,19 +28,39 @@
 
 #include <string.h>
 #include <stdio.h>
+#include <stdlib.h>
 
+#include "DNA_armature_types.h"
+#include "DNA_ID.h"
+#include "DNA_image_types.h"
+#include "DNA_meshdata_types.h"
+#include "DNA_mesh_types.h"
 #include "DNA_object_types.h"
 #include "DNA_space_types.h"
 #include "DNA_scene_types.h"
 #include "DNA_screen_types.h"
+#include "DNA_texture_types.h"
+#include "DNA_userdef_types.h" /* U.smooth_viewtx */
+#include "DNA_view3d_types.h"
 #include "DNA_windowmanager_types.h"
 
 #include "MEM_guardedalloc.h"
 
-#include "BLI_blenlib.h"
-
+#include "BKE_action.h"
 #include "BKE_context.h"
+#include "BKE_curve.h"
+#include "BKE_depsgraph.h"
+#include "BKE_displist.h"
+#include "BKE_effect.h"
+#include "BKE_global.h"
+#include "BKE_image.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
+#include "BKE_mesh.h"
+#include "BKE_modifier.h"
+#include "BKE_particle.h"
 #include "BKE_screen.h"
+#include "BKE_utildefines.h" /* for VECCOPY */
 
 #include "ED_screen.h"
 #include "ED_util.h"
@@ -52,78 +72,5928 @@
 #include "BIF_gl.h"
 #include "BIF_glutil.h"
 
+#include "BLI_arithb.h"
+#include "BLI_blenlib.h"
+#include "BLI_editVert.h"
+
 #include "UI_interface.h"
+#include "UI_interface_icons.h"
 #include "UI_resources.h"
 #include "UI_view2d.h"
 
+#include "BMF_Api.h"
+
 #include "view3d_intern.h"
 
 
-/* ************************ header area region *********************** */
+/* View3d->modeselect 
+ * This is a bit of a dodgy hack to enable a 'mode' menu with icons+labels
+ * rather than those buttons.
+ * I know the implementation's not good - it's an experiment to see if this
+ * approach would work well
+ *
+ * This can be cleaned when I make some new 'mode' icons.
+ */
 
-static void do_viewmenu(bContext *C, void *arg, int event)
+#define V3D_OBJECTMODE_SEL			ICON_OBJECT
+#define V3D_EDITMODE_SEL			ICON_EDITMODE_HLT
+#define V3D_SCULPTMODE_SEL			ICON_SCULPTMODE_HLT
+#define V3D_FACESELECT_SEL			ICON_FACESEL_HLT	/* this is not a mode anymore - just a switch */
+#define V3D_VERTEXPAINTMODE_SEL		ICON_VPAINT_HLT
+#define V3D_TEXTUREPAINTMODE_SEL	ICON_TPAINT_HLT
+#define V3D_WEIGHTPAINTMODE_SEL		ICON_WPAINT_HLT
+#define V3D_POSEMODE_SEL			ICON_POSE_HLT
+#define V3D_PARTICLEEDITMODE_SEL	ICON_ANIM
+
+#define TEST_EDITMESH	if(G.obedit==0) return; \
+						if( (v3d->lay & G.obedit->lay)==0 ) return;
+
+/* XXX port over */
+void handle_view3d_lock(void) {}
+void allqueue(int x, int y) {}
+void persptoetsen(int x) {}
+void fly(void) {}
+void editmesh_align_view_to_selected(void *x, int y) {}
+void play_anim(int x) {}
+void add_blockhandler(void *x, int y, int z) {}
+void toggle_blockhandler(void *x, int y, int z) {}
+void view3d_edit_clipping(void *x) {}
+void view3d_border_zoom(void) {}
+void selectlinks(void) {}
+void countall(void) {}
+void select_object_grouped() {}
+void borderselect() {}
+int BIF_snappingSupported() {return 1;}
+void BIF_undo_push() {}
+int retopo_mesh_paint_check() {return 0;}
+int object_data_is_libdata() {return 0;}
+
+/* view3d handler codes */
+#define VIEW3D_HANDLER_BACKGROUND	1
+#define VIEW3D_HANDLER_PROPERTIES	2
+#define VIEW3D_HANDLER_OBJECT		3
+#define VIEW3D_HANDLER_PREVIEW		4
+#define VIEW3D_HANDLER_MULTIRES         5
+#define VIEW3D_HANDLER_TRANSFORM	6
+#define VIEW3D_HANDLER_GREASEPENCIL 7
+
+/* end XXX ************* */
+
+static void do_view3d_buttons(bContext *C, void *arg, int event);
+
+#define B_SCENELOCK 101
+#define B_FULL		102
+#define B_HOME		103
+#define B_VIEWBUT	104
+#define B_PERSP		105
+#define B_VIEWRENDER	106
+#define B_STARTGAME	107
+#define B_MODESELECT 108
+#define B_AROUND	109
+#define B_SEL_VERT	110
+#define B_SEL_EDGE	111
+#define B_SEL_FACE	112
+#define B_SEL_PATH	113
+#define B_SEL_POINT	114
+#define B_SEL_END	115
+#define B_MAN_TRANS	116
+#define B_MAN_ROT	117
+#define B_MAN_SCALE	118
+#define B_NDOF		119	
+#define B_MAN_MODE	120
+#define B_VIEW_BUTSEDIT	121
+#define B_REDR		122
+#define B_NOP		123
+#define B_ACTCOPY	124
+#define B_ACTPASTE	125
+#define B_ACTPASTEFLIP 126
+
+#define B_LAY		201
+
+
+/* temp hack to get the region window */
+static ARegion *ed_regionwin(ScrArea *sa)
 {
+	ARegion *ar;
+	for(ar= sa->regionbase.first; ar; ar= ar->next)
+		if(ar->regiontype==RGN_TYPE_WINDOW)
+			return ar;
+	return NULL;
+}
+
+/* XXX; all this context stuff...  should become operator */
+void do_layer_buttons(bContext *C, short event)
+{
+	wmWindow *win= CTX_wm_window(C);
+	Scene *scene= CTX_data_scene(C);
+	ScrArea *sa= CTX_wm_area(C);
+	View3D *v3d= sa->spacedata.first;
+	static int oldlay= 1;
+	short shift, alt, ctrl;
 	
+	shift= win->eventstate->shift;
+	alt= win->eventstate->alt;
+	ctrl= win->eventstate->ctrl;
+	
+	if(v3d==0) return;
+	if(v3d->localview) return;
+	
+	if(event==-1 && ctrl) {
+		v3d->scenelock= !v3d->scenelock;
+		do_view3d_buttons(C, NULL, B_SCENELOCK);
+	} else if (event<0) {
+		if(v3d->lay== (1<<20)-1) {
+			if(event==-2 || shift) v3d->lay= oldlay;
+		}
+		else {
+			oldlay= v3d->lay;
+			v3d->lay= (1<<20)-1;
+		}
+		
+		if(v3d->scenelock) handle_view3d_lock();
+		
+		/* new layers might need unflushed events events */
+		DAG_scene_update_flags(scene, v3d->lay);	/* tags all that moves and flushes */
+	}
+	else {
+		if(alt) {
+			if(event<11) event+= 10;
+		}
+		if(shift) {
+			if(v3d->lay & (1<<event)) v3d->lay -= (1<<event);
+			else	v3d->lay += (1<<event);
+		}
+		do_view3d_buttons(C, NULL, event+B_LAY);
+	}
+	ED_area_tag_redraw(sa);
+	
+	if(sa->spacetype==SPACE_OOPS) allqueue(REDRAWVIEW3D, 1); /* 1==also do headwin */
+	if(v3d->drawtype == OB_SHADED) reshadeall_displist();
+	allqueue(REDRAWNLA, 0);	
 }
 
-static uiBlock *dummy_viewmenu(bContext *C, uiMenuBlockHandle *handle, void *arg_unused)
+static void do_view3d_view_camerasmenu(bContext *C, void *arg, int event)
 {
-	ScrArea *curarea= CTX_wm_area(C);
+	View3D *v3d;
+	Base *base;
+	int i=1;
+	
+	if (event == 1) {
+		/* Set Active Object as Active Camera */
+		/* XXX ugly hack alert */
+//		G.qual |= LR_CTRLKEY;
+		persptoetsen(PAD0);
+//		G.qual &= ~LR_CTRLKEY;
+	} else {
+		/* store settings of current view before allowing overwriting with camera view */
+		/* this is a copy of the code in toets.c */
+		if(v3d->persp != V3D_CAMOB) {
+			QUATCOPY(v3d->lviewquat, v3d->viewquat);
+			v3d->lview= v3d->view;
+			v3d->lpersp= v3d->persp;
+		}
+
+		for( base = FIRSTBASE; base; base = base->next ) {
+			if (base->object->type == OB_CAMERA) {
+				i++;
+				
+				if (event==i) {
+					
+					if (v3d->camera == base->object && v3d->persp==V3D_CAMOB)
+						return;
+					
+					if (U.smooth_viewtx) {	
+						/* move 3d view to camera view */
+						float orig_ofs[3], orig_lens = v3d->lens;
+						VECCOPY(orig_ofs, v3d->ofs);
+						
+						if (v3d->camera && v3d->persp==V3D_CAMOB)
+							view_settings_from_ob(v3d->camera, v3d->ofs, v3d->viewquat, &v3d->dist, &v3d->lens);
+						
+						v3d->camera = base->object;
+						handle_view3d_lock();
+						v3d->persp= V3D_CAMOB;
+						v3d->view= 0;
+						
+						smooth_view_to_camera(v3d);
+						
+						/* restore values */
+						VECCOPY(v3d->ofs, orig_ofs);
+						v3d->lens = orig_lens;
+					} else {
+						v3d->camera= base->object;
+						handle_view3d_lock();
+						v3d->persp= V3D_CAMOB;

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list