Commit Graph

9460 Commits

Author SHA1 Message Date
Andrea Weikert
161d60debf == join areas operator ==
- draw arrow in area that will removed and draw area that will be kept lighter (change from trunk: without arrow)
- not using notifications yet, but uses flag in ScrArea to determine draw type for area. (might be worth discussing)
- experimental: swapping of areas extended a bit, which allows user to choose area a bit more freely
2008-01-21 21:36:02 +00:00
Nathan Letwory
43f680bad8 *remove superfluous glEnd(); - made func internal too. 2008-01-20 21:37:39 +00:00
Nathan Letwory
107b0997e7 * grow AZone size
* remove ^M's
2008-01-20 21:10:55 +00:00
Diego Borghetti
a2074a1522 Changes to the "join area" operator.
This is a patch by Michael Fox (mfoxdogg) that make more
easy join two are, just RMB+Alt in the "origin" area,
drag the mouse to the "target" area and release the mouse.

Note that this is not a "final mouse-bind" for the join
operator, just an easy and simple option for test in 
this early stage of 2.5.

Other note: maybe it's a good idea add azones here ?
2008-01-20 04:39:50 +00:00
Diego Borghetti
0db1aed7e1 More change to the gesture manager.
After check this a little more I make some changes to the
API and now work on the following form:
	WM_gesture_init(C, type);

	while() {
		/* handler event, etc */
		/* if something change. */
		if(need_update) {
			/* update the gesture data and notify about it. */
			WM_gesture_update(C, data);
			WM_event_add_notifier (.. WM_NOTE_GESTURE_CHANGE ..);
		}
	}
	WM_gesture_end(C, type);

Another of the change is that now the gesture data is a link list
in the window struct, so we can have multiples "gestures" (but
of different type) at the same time.

Also take care that the "gesture data" is reusable, that mean that
only alloc it 1 time and use in all the place, that is
why don't support multiple gesture of the same type, but of course
that can be change.
2008-01-19 21:54:33 +00:00
Diego Borghetti
b80049a139 New "Gesture Manager" system.
This is a first implementation of the "gesture manager" system,
the idea is put the WM in a automatic draw mode so we can
implement different "Gesture types" to draw different class
of data (lasso, bound box, etc).

The gesture data is passed through the data field of the notifiers,
i think that we can change this to something like:
	WM_gesture_init(C, data); /* put the data in the context. */

	while() {
		/* send WM_NOTE_GESTURE_CHANGED to update screen */
	}

	/* send event and free the data in the context. */
	WM_gesture_end(C);

Also i add a new operator and event to test the gesture manager.
The new operator is the "border select" function, just press BKEY
in the window and LMB or ESCKEY to exit.
In the case of LMB you can see a print in the console about the
BORDERSELECT event.

All this still need a lot of work, comment are welcome.
2008-01-19 17:54:05 +00:00
Nathan Letwory
d7223cb3aa * clean up ^M
* make default size of action zones smaller (still draw them, but that could be also made optional).
2008-01-17 23:03:37 +00:00
Campbell Barton
4966e63f4f game engine wasnt compiling 2008-01-17 17:15:44 +00:00
Diego Borghetti
2dc143552f Fix uninitited list pointer when duplicate an area. 2008-01-17 16:22:37 +00:00
Nathan Letwory
d72af0a5a9 * First working version of a new split tool for areas.
- LMB+drag from lower left action zone. LMB release confirms
  - RMB or ESC cancel.

TODO:
  - subdiv (drag to center)
2008-01-17 13:50:54 +00:00
Nathan Letwory
e7539ef134 * don't copy azones- these are initiated runtime always. 2008-01-17 08:26:58 +00:00
Nathan Letwory
bd60122a2a * make sure we don't crash on window duplicate, or .B.blend read. There is still a bug with duplicate, but I'm working on it. 2008-01-17 08:21:21 +00:00
Nathan Letwory
0e476af66e * Start ActionZone support for areas. This is bScreen level stuff to be able to do funky stuff.
Right now 2 AZones are defined for each new ScrArea, and mouse over is now detected. Enter ugly triangle.
2008-01-17 05:33:54 +00:00
Nathan Letwory
7e14c5d119 * rearrange screen level drawing code a bit in preparation for tests. 2008-01-16 19:49:34 +00:00
Nathan Letwory
3eca7d1d06 * I gotta remember my mantra for real
"first compile, then commit".

Of course, if compile fails, don't commit.
2008-01-15 23:15:56 +00:00
Nathan Letwory
abc325092f * undutchification of printf's
* remove unnecessary printf's
* clean a bit, some doc strings
2008-01-15 23:08:10 +00:00
Andrea Weikert
da11a3f38e Operators: Join Areas
add split area to screen manager
- RMB+ALT down on area edge activates
- mouse move interactively to area that is to be removed
- LMB to confirm, ESC to cancel
TODO: 
- notifications for interactive drawing to mark area to remove

Some fixes
- uninitialized var warning.
- exit function of operators need to run before modal handler is removed if operator is used there.
- replaced MEM_mallocN with MEM_callocN to get rid of uninitialized mem for wmOperator.
- respect return value of wm_handler_operator_call() and break out of operator handling.
2008-01-15 20:42:00 +00:00
Nathan Letwory
9e9ebfc12c * check for NULL. Could crash if passed parameters were NULL. 2008-01-15 19:28:57 +00:00
Nathan Letwory
6ce20f2968 * add exit app with CTRLKEY+QKEY. 2008-01-15 18:54:38 +00:00
Nathan Letwory
3469906125 * area split:
- prevent a few more cases of Potential Crash.
- tweak moving stuff.
2008-01-15 14:40:43 +00:00
Diego Borghetti
5ed9571ea5 More "data types" for the Operator property system.
Now you can set/get: float, arrays (int and float) and string.

The only special function is OP_get_string, it is special
because return a pointer to the IDProperty data, so you can't
change/resize/free the string.

It's possible "fix" this with:
 1) Return a "const char"
 2) Return a duplicate string

All this new function are not in use yet, but i make a simple test
with the "move areas" operator (add a property of every type and then
print the result in the other size) and work fine, more test are welcome.

Other thing to check is the new OP_free_property function, because this
properties are only local to the operator, i choice free all this in the
"exit callback" of every operator (only move areas have property now), 
so comment about this are welcome too :)

Also add some notes to the WM_api.h file.
2008-01-15 04:49:09 +00:00
Nathan Letwory
8a7558a4fb * fix for crash when mouse cursor changed areas. Not enough was tested, so sometimes we got invalid edges. 2008-01-14 20:57:43 +00:00
Nathan Letwory
c89b96645e Operators: Split Area
This commit adds split area to the window/screen manager.
 - RMB down on area edge activates
 - mouse move interactively moves areas through new edge.
 - RMB up to confirm action
 - ESCKEY or LMB to cancel.

This still crashes in some situations, but I'm on it!
Also will start using new operator property system by bdiego
2008-01-14 20:46:42 +00:00
Diego Borghetti
2a0055401e New API to access Operator properties.
This is a simple API around IDProperty to store properties
in the Operator, it is really simple and this first commit
just add support for IDP_INT data type.

Take care that this "properties" are not save yet and you get
some "Error totblock" more with this.

I add some notes to the WM_api.h file, please check this,
comment and ideas are welcome.
2008-01-14 19:44:20 +00:00
Nicholas Bishop
49eb7a3eed Applied a couple sculpt/multires fixes from trunk to blender2.5. 2008-01-12 22:06:42 +00:00
Kent Mein
69f004f90d Reverting changes made yesterday to Makefile... (Its really messed up,
Going to do it over again from scratch)

Kent
2008-01-11 16:56:00 +00:00
Chris Want
6258c0979e The python lib name should be 'bf_python' instead of 'blender_python'
when linking.
2008-01-11 16:48:07 +00:00
Kent Mein
c562fdf095 Fixed typo from merge yesterday.
Kent
2008-01-11 14:15:59 +00:00
Kent Mein
6167882776 Cleaned up some things, more work to do here but its a little simpler now.
Kent
2008-01-10 19:53:57 +00:00
Kent Mein
ec4c6154fe Change vector structs from 3 to 4 so things are aligned for 64bit machines.
Kent
2008-01-10 19:22:58 +00:00
Ton Roosendaal
11ab3d7598 Add more memory clearing on file read for WindowManager. 2008-01-10 18:56:24 +00:00
Ton Roosendaal
42e2b4edde Two fixes in 2.5 branch:
- crash on start because of unitialized pointer
- Makefile had the python lib on weird location... I prefer all 
  blender/source/blender/ libs together on 1 place? The Make needs
  cleaning... it assumes publisher stuff. :)
2008-01-10 18:13:34 +00:00
Ton Roosendaal
43cf3af8c0 Blender 2.5 project: added first more complex handler + operator
- on mouse-over edge, you can drag area borders around.
- note it's a handerized system now, so it updates UI while you
  move mouse.

Feedback needed:

- read bottom part of the screen_edit.c file. It's the proposed
  method for adding tools and handlers. I think it's close, but
  might need some tweaks.
2008-01-10 17:38:17 +00:00
Nathan Letwory
b81b6be184 * fix linking order for bf_python 2008-01-09 23:07:34 +00:00
Andrea Weikert
ce975c1027 update to cmake files
- added python library
- small fix for ignored runtime library, needed for linking debug here
Note: still some problems linking with openexr in debug
2008-01-09 18:48:04 +00:00
Nathan Letwory
8269b89c15 * fix linking order for l00nix 2008-01-08 17:32:38 +00:00
Kent Mein
d0a23e2eb4 Commented out a couple of verse functions that are in src
Kent
2008-01-08 16:17:26 +00:00
Nathan Letwory
15da2232f7 * tweak linking priorities - should help for GCC users
* some lib renaming
2008-01-08 09:47:44 +00:00
Nathan Letwory
c344021b83 * update scons-files to build with Ton's latest commits. 2008-01-08 05:57:27 +00:00
Diego Borghetti
e58676f713 Add missing Makefile for libpython.a
The source/blender/Makefile don't have the "python" directory
set in the DIRS var, so it skip build the python library.
2008-01-07 19:34:38 +00:00
Chris Want
5e3cffc64a Patch to change license to GPL only, from GSR. 2008-01-07 19:13:47 +00:00
Ton Roosendaal
c4a2022fe1 Fix for makefile to enter interface dir 2008-01-07 19:06:15 +00:00
Ton Roosendaal
0729ba9646 New linking order for the 2.5 editor/wm libs 2008-01-07 18:35:06 +00:00
Ton Roosendaal
1363134dee Whole lot of changes.... here a shortlist:
- removed editors/area and put this all in screen
- added first python calls (note, a new c file for scriptlinks)
- added view3d editor callbacks (no drawing yet)
- added files in editors/interface

(Cmake and Scons has to be fixed, help welcome!)

- now areas/headers are being converted on file read
- note: previously saved 2.50 files will crash!!! (.B.blend)
- area regions are being drawn, first handler for cursor added (on edge)
- window duplicate and scale works correct for screen subdiv

Todos for me:

- need to fix things in syntax (function names) a bit still
- more operators for screen
- define how Context will work... still unresolved when it gets set
- docs!

Reviews of code structure is welcome!
There are also more todos now for others, but it can wait a couple of days
2008-01-07 18:03:41 +00:00
Nathan Letwory
30310a530a * make sure blender2.5 still compiles when WITH_BF_VERSE=1 2008-01-05 13:55:30 +00:00
Chris Want
a2b8986d1d Support for CMake 2008-01-03 22:20:45 +00:00
Nathan Letwory
c87785671c * make sure we have still a compiling GE with scons/mingw
* assist ideasman also for scons/mingw with ffmpeg enabled
2008-01-02 12:35:30 +00:00
Nathan Letwory
3c4f424fc8 * making sure removal of headers still has successful compile on win32 2008-01-01 22:10:39 +00:00
Campbell Barton
a42e548e81 removed some more header files, made the game engine compile with removed header files, added includes to SConstruct files. 2008-01-01 19:20:49 +00:00
Ton Roosendaal
372ee054c0 Some notes for those who try to follow this :)
- first work on getting area/screen handling back
- added structure for where to put stuff, is still under
  review, wait a bit for docs?

Campbell is working on removing every bad level include from
sources, so we can safely rebuild the src/ directory.
2008-01-01 18:29:19 +00:00