[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [15196] branches/blender2.5/blender/source /blender:
Brecht Van Lommel
brechtvanlommel at pandora.be
Wed Jun 11 12:10:33 CEST 2008
Revision: 15196
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15196
Author: blendix
Date: 2008-06-11 12:10:31 +0200 (Wed, 11 Jun 2008)
Log Message:
-----------
2.5 Branch
==========
* Changed wmOperatorType, removing init/exit callbacks and adding cancel
callback, removed default storage in favor of properties. Defined return
values for exec/invoke/modal/cancel.
* Don't allocate operator on the stack, and removed operator copy for
handlers. Now it frees based on return values from callbacks, and just
keeps a wmOperator on the heap. Also it now registers after the operator
is fully finished, to get the correct final properties.
* Changed OP_get_* functions to return 1 if the property is found and 0
otherwise, gives more readable code in my opinion. Added OP_verify_*
functions to quickly check if the property is available and set if it's
not, that's common for exec/invoke.
* Removed WM_operatortypelist_append in favor of WM_operatortype_append
which takes a function pointer instead of a list, avoids macro's and
duplicating code.
* Fix a crash where the handler would still be used while it was freed by
the operator.
* Spacetypes now have operatortypes() and keymap() callbacks to abstract
them a bit more.
* Renamed C->curarea to C->area for consistency. Removed View3D/View2D/
SpaceIpo from bContext, seems bad to keep these.
* Set context variables like window/screen/area/region to NULL again when
leaving that context, instead of leaving the pointers there.
* Added if(G.f & G_DEBUG) for many of the prints, makes output a bit
cleaner and easier to debug.
* Fixed priority of the editors/interface module in scons, would otherwise
give link errors.
* Added start of generic view2d api.
* Added space_time with some basic drawing and a single operator to change
the frame.
Modified Paths:
--------------
branches/blender2.5/blender/source/blender/blenkernel/BKE_global.h
branches/blender2.5/blender/source/blender/blenkernel/BKE_screen.h
branches/blender2.5/blender/source/blender/blenkernel/intern/screen.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_area.h
branches/blender2.5/blender/source/blender/editors/include/ED_screen.h
branches/blender2.5/blender/source/blender/editors/interface/SConscript
branches/blender2.5/blender/source/blender/editors/screen/area.c
branches/blender2.5/blender/source/blender/editors/screen/screen_edit.c
branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c
branches/blender2.5/blender/source/blender/editors/screen/spacetypes.c
branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c
branches/blender2.5/blender/source/blender/makesdna/DNA_windowmanager_types.h
branches/blender2.5/blender/source/blender/windowmanager/WM_api.h
branches/blender2.5/blender/source/blender/windowmanager/intern/wm.c
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_gesture.c
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_subwindow.c
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_window.c
branches/blender2.5/blender/source/blender/windowmanager/wm.h
branches/blender2.5/blender/source/blender/windowmanager/wm_subwindow.h
Added Paths:
-----------
branches/blender2.5/blender/source/blender/editors/include/BIF_view2d.h
branches/blender2.5/blender/source/blender/editors/interface/view2d.c
branches/blender2.5/blender/source/blender/editors/space_time/
branches/blender2.5/blender/source/blender/editors/space_time/Makefile
branches/blender2.5/blender/source/blender/editors/space_time/SConscript
branches/blender2.5/blender/source/blender/editors/space_time/space_time.c
branches/blender2.5/blender/source/blender/editors/space_time/time_intern.h
branches/blender2.5/blender/source/blender/editors/space_time/time_ops.c
Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_global.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_global.h 2008-06-11 09:04:41 UTC (rev 15195)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_global.h 2008-06-11 10:10:31 UTC (rev 15196)
@@ -69,20 +69,9 @@
struct wmWindowManager *wm;
struct wmWindow *window;
struct bScreen *screen;
- struct ScrArea *curarea;
+ struct ScrArea *area;
struct ARegion *region;
- /* fast spacedata lookups */
- struct View3D *vd;
- struct View2D *v2d;
- struct SpaceIpo *sipo;
- struct SpaceButs *buts;
- struct SpaceImage *sima;
- struct SpaceOops *soops;
- struct SpaceSound *ssound;
- struct SpaceAction *saction;
- struct SpaceNla *snla;
-
/* data context */
struct Scene *scene;
struct Object *obact;
@@ -90,11 +79,10 @@
/* edit data context */
struct EditMesh *editMesh;
- struct ListBase edbo; /* Armature Editmode bones */
+ struct ListBase edbo; /* Armature Editmode bones */
} bContext;
-
typedef struct Global {
/* active pointers */
Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_screen.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_screen.h 2008-06-11 09:04:41 UTC (rev 15195)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_screen.h 2008-06-11 10:10:31 UTC (rev 15196)
@@ -8,11 +8,7 @@
* 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
-<<<<<<< .mine
- * of the License, or (at your option) any later version.
-=======
* of the License, or (at your option) any later version.
->>>>>>> .r13159
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -40,6 +36,8 @@
struct bScreen;
struct ARegion;
struct wmNotifier;
+struct wmWindowManager;
+struct ListBase;
/* spacetype has everything stored to get an editor working, it gets initialized via
spacetypes_init() in editors/area/spacetypes.c */
@@ -52,14 +50,25 @@
int spaceid; /* unique space identifier */
int iconid; /* icon lookup for menus */
- struct SpaceLink *(*new)(void); /* calls init too */
- void (*free)(struct SpaceLink *sl); /* not free sl itself */
+ /* calls init too */
+ struct SpaceLink *(*new)(void);
+ /* not free spacelink itself */
+ void (*free)(struct SpaceLink *);
- void (*init)(struct ScrArea *); /* init is to cope with internal contextual changes, adds handlers, sets screarea regions */
- void (*refresh)(struct bContext *, struct ScrArea *); /* refresh is for external bContext changes */
+ /* init is to cope with internal contextual changes, adds handlers,
+ * sets screarea regions */
+ void (*init)(struct wmWindowManager *, struct ScrArea *);
+ /* refresh is for external bContext changes */
+ void (*refresh)(struct bContext *, struct ScrArea *);
- struct SpaceLink *(*duplicate)(struct SpaceLink *sl); /* after a spacedata copy, an init should result in exact same situation */
-
+ /* after a spacedata copy, an init should result in exact same situation */
+ struct SpaceLink *(*duplicate)(struct SpaceLink *);
+
+ /* register operator types on startup */
+ void (*operatortypes)(void);
+ /* add default items to keymap */
+ void (*keymap)(struct wmWindowManager *);
+
/* read and write... */
} SpaceType;
@@ -80,6 +89,7 @@
void free_screen(struct bScreen *sc);
struct SpaceType *BKE_spacetype_from_id(int spaceid);
+const struct ListBase *BKE_spacetypes_list(void);
void BKE_spacetype_register(struct SpaceType *st);
void BKE_spacedata_freelist(ListBase *lb);
void BKE_spacedata_copylist(ListBase *lb1, ListBase *lb2);
Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/screen.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/screen.c 2008-06-11 09:04:41 UTC (rev 15195)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/screen.c 2008-06-11 10:10:31 UTC (rev 15196)
@@ -51,6 +51,11 @@
return NULL;
}
+const ListBase *BKE_spacetypes_list()
+{
+ return &spacetypes;
+}
+
void BKE_spacetype_register(SpaceType *st)
{
BLI_addtail(&spacetypes, st);
Modified: branches/blender2.5/blender/source/blender/editors/Makefile
===================================================================
--- branches/blender2.5/blender/source/blender/editors/Makefile 2008-06-11 09:04:41 UTC (rev 15195)
+++ branches/blender2.5/blender/source/blender/editors/Makefile 2008-06-11 10:10:31 UTC (rev 15196)
@@ -29,6 +29,6 @@
# Bounces make to subdirectories.
SOURCEDIR = source/blender/editors
-DIRS = datafiles screen space_view3d interface
+DIRS = datafiles screen space_time space_view3d interface
include nan_subdirs.mk
Modified: branches/blender2.5/blender/source/blender/editors/SConscript
===================================================================
--- branches/blender2.5/blender/source/blender/editors/SConscript 2008-06-11 09:04:41 UTC (rev 15195)
+++ branches/blender2.5/blender/source/blender/editors/SConscript 2008-06-11 10:10:31 UTC (rev 15196)
@@ -6,6 +6,7 @@
'interface/SConscript',
'mesh/SConscript',
'object/SConscript',
+ 'space_time/SConscript',
'space_view3d/SConscript',
'transform/SConscript',
'screen/SConscript'])
Added: branches/blender2.5/blender/source/blender/editors/include/BIF_view2d.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/BIF_view2d.h (rev 0)
+++ branches/blender2.5/blender/source/blender/editors/include/BIF_view2d.h 2008-06-11 10:10:31 UTC (rev 15196)
@@ -0,0 +1,63 @@
+/**
+ * $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 BIF_VIEW2D_H
+#define BIF_VIEW2D_H
+
+/* start of a generic 2d view with should allow drawing grids,
+ * panning, zooming, scrolling, .. */
+
+#define V2D_UNIT_SECONDS 0
+#define V2D_UNIT_FRAMES 1
+
+#define V2D_GRID_CLAMP 0
+#define V2D_GRID_NOCLAMP 1
+
+#define V2D_IS_CLIPPED 12000
+
+#define V2D_HORIZONTAL_LINES 1
+#define V2D_VERTICAL_LINES 2
+#define V2D_HORIZONTAL_AXIS 4
+#define V2D_VERTICAL_AXIS 8
+
+struct View2D;
+struct bContext;
+
+void BIF_view2d_ortho(const struct bContext *C, struct View2D *v2d);
+
+/* grid drawing */
+void BIF_view2d_calc_grid(const struct bContext *C, struct View2D *v2d, int unit, int type, int winx, int winy);
+void BIF_view2d_draw_grid(const struct bContext *C, struct View2D *v2d, int flag);
+
+/* coordinate conversion */
+void BIF_view2d_region_to_view(struct View2D *v2d, short x, short y, float *viewx, float *viewy);
+void BIF_view2d_view_to_region(struct View2D *v2d, float x, float y, short *regionx, short *regiony);
+void BIF_view2d_to_region_no_clip(struct View2D *v2d, float x, float y, short *regionx, short *region_y);
+
+#endif /* BIF_VIEW2D_H */
+
Modified: branches/blender2.5/blender/source/blender/editors/include/ED_area.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_area.h 2008-06-11 09:04:41 UTC (rev 15195)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_area.h 2008-06-11 10:10:31 UTC (rev 15196)
@@ -25,20 +25,15 @@
*
* ***** END GPL LICENSE BLOCK *****
*/
+
#ifndef ED_AREA_H
#define ED_AREA_H
/* the pluginnable API for export to editors */
-
/* calls for registering default spaces */
+void ED_spacetype_time(void);
void ED_spacetype_view3d(void);
-/* calls for registering operator types */
-void ED_operatortypes_screen(void);
-
-
#endif /* ED_AREA_H */
-
-
Modified: branches/blender2.5/blender/source/blender/editors/include/ED_screen.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_screen.h 2008-06-11 09:04:41 UTC (rev 15195)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_screen.h 2008-06-11 10:10:31 UTC (rev 15196)
@@ -44,6 +44,7 @@
/* spaces */
void ED_spacetypes_init(void);
+void ED_spacetypes_keymap(struct wmWindowManager *wm);
/* areas */
void ED_area_initialize(struct wmWindowManager *wm, struct wmWindow *win, struct ScrArea *sa);
@@ -57,7 +58,8 @@
bScreen *ED_screen_duplicate(struct wmWindow *win, bScreen *sc);
void ED_screen_set_subwinactive(struct wmWindow *win);
-void ed_screen_keymap(struct wmWindowManager *wm);
+void ED_operatortypes_screen(void);
+void ED_keymap_screen(struct wmWindowManager *wm);
/* operators; context poll callbacks */
int ED_operator_screenactive(bContext *C);
Modified: branches/blender2.5/blender/source/blender/editors/interface/SConscript
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/SConscript 2008-06-11 09:04:41 UTC (rev 15195)
+++ branches/blender2.5/blender/source/blender/editors/interface/SConscript 2008-06-11 10:10:31 UTC (rev 15196)
@@ -4,6 +4,6 @@
sources = env.Glob('*.c')
incs = '../include ../../blenlib ../../blenkernel ../../makesdna ../../imbuf'
-incs += ' #/intern/guardedalloc'
+incs += ' ../../windowmanager #/intern/guardedalloc'
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list