blender.git
12 years agoPort of part of the Interface code to 2.50.
Brecht Van Lommel [Tue, 11 Nov 2008 18:31:32 +0000 (18:31 +0000)]
Port of part of the Interface code to 2.50.

This is based on the current trunk version, so these files should not need
merges. There's two things (clipboard and intptr_t) that are missing in 2.50
and commented out with XXX 2.48, these can be enabled again once trunk is
merged into this branch.

Further this is not all interface code, there are many parts commented out:
* interface.c: nearly all button types, missing: links, chartab, keyevent.
* interface_draw.c: almost all code, with some small exceptions.
* interface_ops.c: this replaces ui_do_but and uiDoBlocks with two operators,
  making it non-blocking.
* interface_regions: this is a part of interface.c, split off, contains code to
  create regions for tooltips, menus, pupmenu (that one is crashing currently),
  color chooser, basically regions with buttons which is fairly independent of
  core interface code.
* interface_panel.c and interface_icons.c: not ported over, so no panels and
  icons yet. Panels should probably become (free floating) regions?
* text.c: (formerly language.c) for drawing text and translation. this works
  but is using bad globals still and could be cleaned up.

Header Files:
* ED_datafiles.h now has declarations for datatoc_ files, so those extern
  declarations can be #included instead of repeated.
* The user interface code is in UI_interface.h and other UI_* files.

Core:
* The API for creating blocks, buttons, etc is nearly the same still. Blocks
  are now created per region instead of per area.
* The code was made non-blocking, which means that any changes and redraws
  should be possible while editing a button. That means though that we need
  some sort of persistence even though the blender model is to recreate buttons
  for each redraw. So when a new block is created, some matching happens to
  find out which buttons correspond to buttons in the previously created block,
  and for activated buttons some data is then copied over to the new button.
* Added UI_init/UI_init_userdef/UI_exit functions that should initialize code
  in this module, instead of multiple function calls in the windowmanager.
* Removed most static/globals from interface.c.
* Removed UIafterfunc_ I don't think it's needed anymore, and not sure how it
  would integrate here?
* Currently only full window redraws are used, this should become per region
  and maybe per button later.

Operators:
* Events are currently handled through two operators: button activate and menu
  handle. Operators may not be the best way to implement this, since there are
  currently some issues with events being missed, but they can become a special
  handler type instead, this should not be a big change.
* The button activate operator runs as long as a button is active, and will
  handle all interaction with that button until the button is not activated
  anymore. This means clicking, text editing, number dragging, opening menu
  blocks, etc.
* Since this operator has to be non-blocking, the ui_do_but code needed to made
  non-blocking. That means variables that were previously on the stack, now
  need to be stored away in a struct such that they can be accessed again when
  the operator receives more events.
* Additionally the place in the ui_do_but code indicated the state, now that
  needs to be set explicit in order to handle the right events in the right
  state. So an activated button can be in one of these states: init, highlight,
  wait_flash, wait_release, wait_key_event, num_editing, text_editing,
  text_selecting, block_open, exit.
* For each button type an ui_apply_but_* function has also been separated out
  from ui_do_but. This makes it possible to continuously apply the button as
  text is being typed for example, and there is an option in the code to enable
  this. Since the code non-blocking and can deal with the button being deleted
  even, it should be safe to do this.
* When editing text, dragging numbers, etc, the actual data (but->poin) is not
  being edited, since that would mean data is being edited without correct
  updates happening, while some other part of blender may be accessing that
  data in the meantime. So data values, strings, vectors are written to a
  temporary location and only flush in the apply function.

Regions:
* Menus, color chooser, tooltips etc all create screen level regions. Such menu
  blocks give a handle to the button that creates it, which will contain the
  results of the menu block once a MESSAGE event is received from that menu
  block.
* For this type of menu block the coordinates used to be in window space. They
  are still created that way and ui_positionblock still works with window
  coordinates, but after that the block and buttons are brought back to region
  coordinates since these are now contained in a region.
* The flush/overdraw frontbuffer drawing code was removed, the windowmanager
  should have enough information with these screen level regions to have full
  control over what gets drawn when and to then do correct compositing.

Testing:
* The header in the time space currently has some buttons to test the UI code.

12 years ago* Compile fix for RNA + makefiles.
Brecht Van Lommel [Tue, 11 Nov 2008 18:28:00 +0000 (18:28 +0000)]
* Compile fix for RNA + makefiles.
* Fix for bug in collection string lookup function.

12 years agoVarious changes made in the process of working on the UI code:
Brecht Van Lommel [Tue, 11 Nov 2008 15:18:21 +0000 (15:18 +0000)]
Various changes made in the process of working on the UI code:

* Added functions to generate Timer events. There was some unfinished code to
  create one timer per window, this replaces that with a way to let operators
  or other handlers add/remove their own timers as needed. This is currently
  delivered as an event with the timer handle, perhaps this should be a notifier
  instead? Also includes some fixes in ghost for timer events that were not
  delivered in time, due to passing negative timeout.
* Added a Message event, which is a generic event that can be added by any
  operator. This is used in the UI code to communicate the results of opened
  blocks. Again, this may be better as a notifier.
* These two events should not be blocked as they are intended for a specific
  operator or handler, so there were exceptions added for this, which is one
  of the reasons they might work better as notifiers, but currently these
  things can't listen to notifier yet.
* Added an option to events to indicate if the customdata should be freed or
  not.

* Added a free() callback for area regions, and added a free function for
  area regions in blenkernel since it was already there for screens and areas.
* Added ED_screen/area/region_exit functions to clean up things like operators
  and handlers when they are closed.
* Added screen level regions, these will draw over areas boundaries, with the
  last created region on top. These are useful for tooltips, menus, etc, and
  are not saved to file. It's using the same ARegion struct as areas to avoid
  code duplication, but perhaps that should be renamed then. Note that redraws
  currently go correct, because only full window redraws are used, for partial
  redraws without any frontbuffer drawing, the window manager needs to get
  support for compositing subwindows.

* Minor changes in the subwindow code to retrieve the matrix, and moved
  setlinestyle to glutil.c.
* Reversed argument order in WM_event_add/remove_keymap_handler to be consistent
  with modal_handler.

* Operators can now block events but not necessarily cancel/finish.
* Modal operators are now stored in a list in the window/area/region they were
  created in. This means for example that when a transform operator is invoked
  from a region but registers a handler at the window level (since mouse motion
  across areas should work), it will still get removed when the region is closed
  while the operator is running.

12 years ago* RNA: utility function to retrieve strings. It will use a fixed
Brecht Van Lommel [Tue, 11 Nov 2008 15:03:26 +0000 (15:03 +0000)]
* RNA: utility function to retrieve strings. It will use a fixed
  size buffer if it's big enough, and otherwise allocate memory.
* Added BLI_dynstr_appendf() to construct strings easily in printf
  style, this should make it easier to construct menu strings for
  example.

12 years ago* fix for typo found by brecht
Nathan Letwory [Fri, 7 Nov 2008 19:48:12 +0000 (19:48 +0000)]
* fix for typo found by brecht

12 years ago=== SCons ===
Nathan Letwory [Fri, 7 Nov 2008 19:21:52 +0000 (19:21 +0000)]
=== SCons ===
* merge the recent scons changes from trunk, so this means that the same rules now apply:
  - scons-local available
  - platform default configs updated
  - check your user-config.py if you have made a full copy of default config

Note: BGE and blenderplayer still not working, but that is normal ;) (so turn them off!)

12 years agoRNA
Brecht Van Lommel [Fri, 7 Nov 2008 02:58:25 +0000 (02:58 +0000)]
RNA

* Added more error prints for wrong definitions, for cases that
  would laters cause problems compiling or crash at runtime, and
  also made messages more clear.
* Added some skeleton code for main/ID/mesh/vertex types for testing.
* Added support for automatic arrays as collections using SDNA.

* Changed how pointers to data work. Now they are always wrapped
  in a PointerRNA struct, which contains the data pointer and type,
  and also the data pointer and type of the ID datablock that this
  belongs to, since for example a vertex on it's own may not have
  enough information for some operations, it also needs the mesh.

* Added some code for defining dependencies with RNA, and looking up
  data with paths like: scenes[0].objects["Cube"].data.verts[7].co.
  Note sure either will end up being used, this is experimental.

http://wiki.blender.org/index.php/BlenderDev/Blender2.5/RNA

12 years agoRNA compile error and warning fixes for MSVC.
Brecht Van Lommel [Sat, 1 Nov 2008 00:23:08 +0000 (00:23 +0000)]
RNA compile error and warning fixes for MSVC.

12 years agoRNA / Data API
Brecht Van Lommel [Fri, 31 Oct 2008 23:50:02 +0000 (23:50 +0000)]
RNA / Data API

This is the first code for the Data API, also known as RNA system in the
2.5 Branch. It does not include a user interface, and only wraps some
Scene properties for testing. It is integrated with Scons and Makefiles,
and compiles a 'makesrna' program that generates an RNA.c file.

http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataAPI
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/RNA

The changes are quite local, basically adding a makesrna module which
works similar to the makesdna module. The one external change is in
moving genfile.c from blenloader to the makesdna module, so that it can
be reused by the RNA code. This also meant changing the DNA makefiles.
It seems to be doing dependencies correct still in my tests, but if
there is an issue with the DNA not being rebuilt this commit might be
the one causing it. Also it seems for scons the makesdna and makesrna
modules are compiling without warnings. Not a new issue but this should
be fixed.

The RNA code supports all types as defined in the Data API design, so
in that sense it is fairly complete and I hope that aspect will not
have to change much. Some obviously missing parts are context related
code, notify() functions for updates and user defined / ID properties.

12 years ago2.5 Branch: use themes for drawing the time space, and make
Brecht Van Lommel [Wed, 8 Oct 2008 18:07:56 +0000 (18:07 +0000)]
2.5 Branch: use themes for drawing the time space, and make
view2d grid code a bit nicer.

12 years agowhitespace commit
Nathan Letwory [Sun, 5 Oct 2008 22:44:47 +0000 (22:44 +0000)]
whitespace commit

12 years ago* use env.Clone() instead of deprecated env.Copy()
Nathan Letwory [Sun, 5 Oct 2008 21:36:36 +0000 (21:36 +0000)]
* use env.Clone() instead of deprecated env.Copy()

12 years ago* merge main SConstruct and some of the utility scripts for our scons build from...
Nathan Letwory [Sun, 5 Oct 2008 21:33:23 +0000 (21:33 +0000)]
* merge main SConstruct and some of the utility scripts for our scons build from trunk.
  Note: I'll be working on improving our scons build environment in this branch
  Note2: I'll be upgrading our scripts to work fully with scons 1.0 (and possibly later)

12 years ago2.5 Branch: added WM_report and WM_reportf functions for reporting
Brecht Van Lommel [Fri, 3 Oct 2008 18:03:30 +0000 (18:03 +0000)]
2.5 Branch: added WM_report and WM_reportf functions for reporting
information, warnings and errors.

13 years agopatch from skejoe for gcc 4.3 compatibility
Campbell Barton [Tue, 24 Jun 2008 14:51:02 +0000 (14:51 +0000)]
patch from skejoe for gcc 4.3 compatibility

13 years ago== Rip Area into new Window Operator ==
Andrea Weikert [Thu, 19 Jun 2008 19:09:21 +0000 (19:09 +0000)]
== Rip Area into new Window Operator ==
- operator that rips current area into new window
- implemented on the window level.
- sets C->area in current context if necessary
== fix ==
- small bugfix: missing return in WM_event_add_keymap_handler

13 years ago2.5 Branch: makefile update for last commit, patch provided by Diego, thanks!
Brecht Van Lommel [Wed, 11 Jun 2008 17:24:27 +0000 (17:24 +0000)]
2.5 Branch: makefile update for last commit, patch provided by Diego, thanks!

13 years ago* small fix for compiling with scons 0.98.x
Nathan Letwory [Wed, 11 Jun 2008 11:36:24 +0000 (11:36 +0000)]
* small fix for compiling with scons 0.98.x

13 years ago2.5 Branch
Brecht Van Lommel [Wed, 11 Jun 2008 10:10:31 +0000 (10:10 +0000)]
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.

13 years ago== join areas operator ==
Andrea Weikert [Mon, 21 Jan 2008 21:36:02 +0000 (21:36 +0000)]
== 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

13 years ago*remove superfluous glEnd(); - made func internal too.
Nathan Letwory [Sun, 20 Jan 2008 21:37:39 +0000 (21:37 +0000)]
*remove superfluous glEnd(); - made func internal too.

13 years ago* grow AZone size
Nathan Letwory [Sun, 20 Jan 2008 21:10:55 +0000 (21:10 +0000)]
* grow AZone size
* remove ^M's

13 years agoChanges to the "join area" operator.
Diego Borghetti [Sun, 20 Jan 2008 04:39:50 +0000 (04:39 +0000)]
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 ?

13 years agoMore change to the gesture manager.
Diego Borghetti [Sat, 19 Jan 2008 21:54:33 +0000 (21:54 +0000)]
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.

13 years agoNew "Gesture Manager" system.
Diego Borghetti [Sat, 19 Jan 2008 17:54:05 +0000 (17:54 +0000)]
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.

13 years ago* clean up ^M
Nathan Letwory [Thu, 17 Jan 2008 23:03:37 +0000 (23:03 +0000)]
* clean up ^M
* make default size of action zones smaller (still draw them, but that could be also made optional).

13 years agogame engine wasnt compiling
Campbell Barton [Thu, 17 Jan 2008 17:15:44 +0000 (17:15 +0000)]
game engine wasnt compiling

13 years agoFix uninitited list pointer when duplicate an area.
Diego Borghetti [Thu, 17 Jan 2008 16:22:37 +0000 (16:22 +0000)]
Fix uninitited list pointer when duplicate an area.

13 years ago* First working version of a new split tool for areas.
Nathan Letwory [Thu, 17 Jan 2008 13:50:54 +0000 (13:50 +0000)]
* 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)

13 years ago* don't copy azones- these are initiated runtime always.
Nathan Letwory [Thu, 17 Jan 2008 08:26:58 +0000 (08:26 +0000)]
* don't copy azones- these are initiated runtime always.

13 years ago* make sure we don't crash on window duplicate, or .B.blend read. There is still...
Nathan Letwory [Thu, 17 Jan 2008 08:21:21 +0000 (08:21 +0000)]
* 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.

13 years ago* Start ActionZone support for areas. This is bScreen level stuff to be able to do...
Nathan Letwory [Thu, 17 Jan 2008 05:33:54 +0000 (05:33 +0000)]
* 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.

13 years ago* rearrange screen level drawing code a bit in preparation for tests.
Nathan Letwory [Wed, 16 Jan 2008 19:49:34 +0000 (19:49 +0000)]
* rearrange screen level drawing code a bit in preparation for tests.

13 years ago* I gotta remember my mantra for real
Nathan Letwory [Tue, 15 Jan 2008 23:15:56 +0000 (23:15 +0000)]
* I gotta remember my mantra for real
   "first compile, then commit".

Of course, if compile fails, don't commit.

13 years ago* undutchification of printf's
Nathan Letwory [Tue, 15 Jan 2008 23:08:10 +0000 (23:08 +0000)]
* undutchification of printf's
* remove unnecessary printf's
* clean a bit, some doc strings

13 years agoOperators: Join Areas
Andrea Weikert [Tue, 15 Jan 2008 20:42:00 +0000 (20:42 +0000)]
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.

13 years ago* check for NULL. Could crash if passed parameters were NULL.
Nathan Letwory [Tue, 15 Jan 2008 19:28:57 +0000 (19:28 +0000)]
* check for NULL. Could crash if passed parameters were NULL.

13 years ago* add exit app with CTRLKEY+QKEY.
Nathan Letwory [Tue, 15 Jan 2008 18:54:38 +0000 (18:54 +0000)]
* add exit app with CTRLKEY+QKEY.

13 years ago* area split:
Nathan Letwory [Tue, 15 Jan 2008 14:40:43 +0000 (14:40 +0000)]
* area split:
- prevent a few more cases of Potential Crash.
- tweak moving stuff.

13 years agoMore "data types" for the Operator property system.
Diego Borghetti [Tue, 15 Jan 2008 04:49:09 +0000 (04:49 +0000)]
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.

13 years ago* fix for crash when mouse cursor changed areas. Not enough was tested, so sometimes...
Nathan Letwory [Mon, 14 Jan 2008 20:57:43 +0000 (20:57 +0000)]
* fix for crash when mouse cursor changed areas. Not enough was tested, so sometimes we got invalid edges.

13 years agoOperators: Split Area
Nathan Letwory [Mon, 14 Jan 2008 20:46:42 +0000 (20:46 +0000)]
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

13 years agoNew API to access Operator properties.
Diego Borghetti [Mon, 14 Jan 2008 19:44:20 +0000 (19:44 +0000)]
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.

13 years agoApplied a couple sculpt/multires fixes from trunk to blender2.5.
Nicholas Bishop [Sat, 12 Jan 2008 22:06:42 +0000 (22:06 +0000)]
Applied a couple sculpt/multires fixes from trunk to blender2.5.

13 years agoReverting changes made yesterday to Makefile... (Its really messed up,
Kent Mein [Fri, 11 Jan 2008 16:56:00 +0000 (16:56 +0000)]
Reverting changes made yesterday to Makefile... (Its really messed up,
Going to do it over again from scratch)

Kent

13 years agoThe python lib name should be 'bf_python' instead of 'blender_python'
Chris Want [Fri, 11 Jan 2008 16:48:07 +0000 (16:48 +0000)]
The python lib name should be 'bf_python' instead of 'blender_python'
when linking.

13 years agoFixed typo from merge yesterday.
Kent Mein [Fri, 11 Jan 2008 14:15:59 +0000 (14:15 +0000)]
Fixed typo from merge yesterday.

Kent

13 years agoCleaned up some things, more work to do here but its a little simpler now.
Kent Mein [Thu, 10 Jan 2008 19:53:57 +0000 (19:53 +0000)]
Cleaned up some things, more work to do here but its a little simpler now.

Kent

13 years agoChange vector structs from 3 to 4 so things are aligned for 64bit machines.
Kent Mein [Thu, 10 Jan 2008 19:22:58 +0000 (19:22 +0000)]
Change vector structs from 3 to 4 so things are aligned for 64bit machines.

Kent

13 years agoAdd more memory clearing on file read for WindowManager.
Ton Roosendaal [Thu, 10 Jan 2008 18:56:24 +0000 (18:56 +0000)]
Add more memory clearing on file read for WindowManager.

13 years agoTwo fixes in 2.5 branch:
Ton Roosendaal [Thu, 10 Jan 2008 18:13:34 +0000 (18:13 +0000)]
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. :)

13 years agoBlender 2.5 project: added first more complex handler + operator
Ton Roosendaal [Thu, 10 Jan 2008 17:38:17 +0000 (17:38 +0000)]
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.

13 years ago* fix linking order for bf_python
Nathan Letwory [Wed, 9 Jan 2008 23:07:34 +0000 (23:07 +0000)]
* fix linking order for bf_python

13 years agoupdate to cmake files
Andrea Weikert [Wed, 9 Jan 2008 18:48:04 +0000 (18:48 +0000)]
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

13 years agoLeave the game engine out by default (WITH_GAMEENGINE=OFF).
Chris Want [Wed, 9 Jan 2008 18:26:17 +0000 (18:26 +0000)]
Leave the game engine out by default (WITH_GAMEENGINE=OFF).

13 years ago* fix linking order for l00nix
Nathan Letwory [Tue, 8 Jan 2008 17:32:38 +0000 (17:32 +0000)]
* fix linking order for l00nix

13 years ago* apply patch #8020 by Thomas Knight (epat)
Nathan Letwory [Tue, 8 Jan 2008 16:56:00 +0000 (16:56 +0000)]
* apply patch #8020 by Thomas Knight (epat)
Just colours the last speech mark the same as the first when printing status messages about compiling files and so on. Old behaviour was to
colour it the same as the file name itself.

13 years agoCommented out a couple of verse functions that are in src
Kent Mein [Tue, 8 Jan 2008 16:17:26 +0000 (16:17 +0000)]
Commented out a couple of verse functions that are in src

Kent

13 years ago* tweak linking priorities - should help for GCC users
Nathan Letwory [Tue, 8 Jan 2008 09:47:44 +0000 (09:47 +0000)]
* tweak linking priorities - should help for GCC users
* some lib renaming

13 years ago* update scons-files to build with Ton's latest commits.
Nathan Letwory [Tue, 8 Jan 2008 05:57:27 +0000 (05:57 +0000)]
* update scons-files to build with Ton's latest commits.

13 years agoAdd missing Makefile for libpython.a
Diego Borghetti [Mon, 7 Jan 2008 19:34:38 +0000 (19:34 +0000)]
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.

13 years agoPatch to change license to GPL only, from GSR.
Chris Want [Mon, 7 Jan 2008 19:13:47 +0000 (19:13 +0000)]
Patch to change license to GPL only, from GSR.

13 years agoFix for makefile to enter interface dir
Ton Roosendaal [Mon, 7 Jan 2008 19:06:15 +0000 (19:06 +0000)]
Fix for makefile to enter interface dir

13 years agoNew linking order for the 2.5 editor/wm libs
Ton Roosendaal [Mon, 7 Jan 2008 18:35:06 +0000 (18:35 +0000)]
New linking order for the 2.5 editor/wm libs

13 years agoWhole lot of changes.... here a shortlist:
Ton Roosendaal [Mon, 7 Jan 2008 18:03:41 +0000 (18:03 +0000)]
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

13 years ago* GHOST win32: make sure window gets repositioned to 0,0 when setting state to fullsc...
Nathan Letwory [Sat, 5 Jan 2008 13:56:40 +0000 (13:56 +0000)]
* GHOST win32: make sure window gets repositioned to 0,0 when setting state to fullscreen (maximised, borderless) (Patch by Gladstone)

13 years ago* make sure blender2.5 still compiles when WITH_BF_VERSE=1
Nathan Letwory [Sat, 5 Jan 2008 13:55:30 +0000 (13:55 +0000)]
* make sure blender2.5 still compiles when WITH_BF_VERSE=1

13 years agoUse XInternAtom by default.
Diego Borghetti [Fri, 4 Jan 2008 23:17:08 +0000 (23:17 +0000)]
Use XInternAtom by default.

I don't know the name of the "SGI Fast" atom, but this is only request
when blender start so i don't think that this make some "big" difference.

So just use plain X11 calls (thanks GSR for the info).

13 years agoSupport for CMake
Chris Want [Thu, 3 Jan 2008 22:20:45 +0000 (22:20 +0000)]
Support for CMake

13 years agoAdd support for GHOST_kWindowState* to Linux.
Diego Borghetti [Thu, 3 Jan 2008 21:04:16 +0000 (21:04 +0000)]
Add support for GHOST_kWindowState* to Linux.

This add support for the different window state in Linux/X11.
Two think to take care:
1) m_post_*
2) motifFullScreen

1) This is only need if we want start a window in FullScreen or Maximized
state. The basic problem is that we can't set this property to a window
until it's really map, so i add a "post init" proccess for this two
special case (check the code for more info).

2) The Motif Hint isn't really a "FullScreen" mode, it's only a
"NO DECORATIONS" options, so if the window manager don't support WM-spec
this function only remove the border of the window, don't make it
FullScreen. A simple fix (hack) is check if the Window Manager support
WM-spec, in case that not, remove the decorations and move/resize the
window.

Test in different WM (gnome, kde, etc) and comment are welcome :)

13 years ago* make sure we have still a compiling GE with scons/mingw
Nathan Letwory [Wed, 2 Jan 2008 12:35:30 +0000 (12:35 +0000)]
* make sure we have still a compiling GE with scons/mingw
* assist ideasman also for scons/mingw with ffmpeg enabled

13 years ago* making sure removal of headers still has successful compile on win32
Nathan Letwory [Tue, 1 Jan 2008 22:10:39 +0000 (22:10 +0000)]
* making sure removal of headers still has successful compile on win32

13 years agoremoved some more header files, made the game engine compile with removed header...
Campbell Barton [Tue, 1 Jan 2008 19:20:49 +0000 (19:20 +0000)]
removed some more header files, made the game engine compile with removed header files, added includes to SConstruct files.

13 years agoSome notes for those who try to follow this :)
Ton Roosendaal [Tue, 1 Jan 2008 18:29:19 +0000 (18:29 +0000)]
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.

13 years agoremoved blenderdef.h, BIF_*, BDR_* and BSE_* header files (except for BIF_gl.h and...
Campbell Barton [Tue, 1 Jan 2008 18:16:10 +0000 (18:16 +0000)]
removed blenderdef.h, BIF_*, BDR_* and BSE_* header files (except for BIF_gl.h and BIF_glutil.h)

13 years agoMore work on restoring Blender;
Ton Roosendaal [Tue, 1 Jan 2008 15:53:38 +0000 (15:53 +0000)]
More work on restoring Blender;

- brining back subwindow management
- removing more bad level stuff

13 years ago* make sure desktop is redrawn when coming out of GHOST_kWindowStateFullScreen
Nathan Letwory [Tue, 1 Jan 2008 14:04:09 +0000 (14:04 +0000)]
* make sure desktop is redrawn when coming out of GHOST_kWindowStateFullScreen

13 years ago* silence more warnings
Nathan Letwory [Tue, 1 Jan 2008 11:14:25 +0000 (11:14 +0000)]
* silence more warnings

13 years ago* some cleanup of warnings
Nathan Letwory [Tue, 1 Jan 2008 10:45:48 +0000 (10:45 +0000)]
* some cleanup of warnings

13 years ago* kill a warning
Nathan Letwory [Tue, 1 Jan 2008 09:28:29 +0000 (09:28 +0000)]
* kill a warning

13 years ago* add fullscreen toggle operator (for testing fullscreen states in win32). hotkey...
Nathan Letwory [Tue, 1 Jan 2008 09:07:02 +0000 (09:07 +0000)]
* add fullscreen toggle operator (for testing fullscreen states in win32). hotkey is FKEY. Do test on other platforms, too.

13 years agoI got confused screenToClient with clientToScreen.
Diego Borghetti [Mon, 31 Dec 2007 14:28:10 +0000 (14:28 +0000)]
I got confused screenToClient with clientToScreen.

Sorry, i get the wrong value because a print the
wrong variable :/

13 years ago* fix include path (found by jensverwiebe)
Nathan Letwory [Mon, 31 Dec 2007 10:18:26 +0000 (10:18 +0000)]
* fix include path (found by jensverwiebe)

13 years agoFix bad argument order to XTranslateCoordinates.
Diego Borghetti [Mon, 31 Dec 2007 06:19:04 +0000 (06:19 +0000)]
Fix bad argument order to XTranslateCoordinates.

Take me a long time catch this :/ and i really don't know how this
work before, because clientToScreen always return bad values.

13 years ago* make sure decoration is there when toggling away from GHOST_kWindowStateFullScreen...
Nathan Letwory [Sun, 30 Dec 2007 23:58:59 +0000 (23:58 +0000)]
* make sure decoration is there when toggling away from GHOST_kWindowStateFullScreen to GHOST_kWindowStateNormal (win32)

13 years ago* also distinguish between maximised and fullscreen on GHOST win32.
Nathan Letwory [Sun, 30 Dec 2007 23:09:33 +0000 (23:09 +0000)]
* also distinguish between maximised and fullscreen on GHOST win32.
* clean up some warnings (unused vars).

13 years ago* revert my change to windowmanager move/size handling.
Nathan Letwory [Sun, 30 Dec 2007 22:52:00 +0000 (22:52 +0000)]
* revert my change to windowmanager move/size handling.
* made win32 ghost getClientBounds so that it returns area compatible with osx getClientBounds
  - if a window is non-fullscreen, substract decoration, since that'll be added by GHOST_WindowWin32()
* use SetWindowLongPtr/GetWindowLongPtr (instead of SetWindowLong) as it is compatible with 64bit windows.

13 years agoRemoved silly Global windowstate variable.
Ton Roosendaal [Sun, 30 Dec 2007 17:29:13 +0000 (17:29 +0000)]
Removed silly Global windowstate variable.

Result: windows open default with decoration (or as your default WM
defines).

Todo: platform maintainers re-implement a cogent way for giving
commandline options for defaults, and test how this can be stored even

13 years ago* request by kaito - we're debugging 2.5 now more than using it anyway... BF_DEBUG...
Nathan Letwory [Sun, 30 Dec 2007 17:17:02 +0000 (17:17 +0000)]
* request by kaito - we're debugging 2.5 now more than using it anyway... BF_DEBUG = 'true' set by default.

13 years ago* handle WM_MOVE on win32 in GHOST
Nathan Letwory [Sun, 30 Dec 2007 17:13:36 +0000 (17:13 +0000)]
* handle WM_MOVE on win32 in GHOST
* change window move/size handling so that getWindowBounds gets x,y for window and getClientBounds gets w,h

13 years agoWindowmanager, ghost side:
Ton Roosendaal [Sun, 30 Dec 2007 13:30:31 +0000 (13:30 +0000)]
Windowmanager, ghost side:

- Added GHOST_kEventWindowMove event, for sending event that the
  window has moved
- Fixed GHOST_GetClientBounds() for OSX (get window rect)

Todos:
- add same event for X11 and Windows
- solve why ghost doesn't call client event-proc while scaling window
  (at least, not in osx)

13 years ago* remove unneeded include (msvc barfs on it), now current tree builds with scons...
Nathan Letwory [Sun, 30 Dec 2007 00:22:39 +0000 (00:22 +0000)]
* remove unneeded include (msvc barfs on it), now current tree builds with scons/mingw, scons/msvc and scons/gcc (linux) (and afaik also cross-compiles on linux for windows, with thanks to Debolaz)

13 years ago* some additions and a removal in stubs.c (by elubie)
Nathan Letwory [Sat, 29 Dec 2007 20:47:39 +0000 (20:47 +0000)]
* some additions and a removal in stubs.c (by elubie)
* mingw config update to link properly with ffmpeg

13 years agoAccidentally removed a bit too many badlevel calls.
Ton Roosendaal [Sat, 29 Dec 2007 19:16:04 +0000 (19:16 +0000)]
Accidentally removed a bit too many badlevel calls.

13 years ago* fix include paths in SConscripts for GE.
Nathan Letwory [Sat, 29 Dec 2007 19:04:45 +0000 (19:04 +0000)]
* fix include paths in SConscripts for GE.

13 years agoBadlevel call amount reduced to 21!
Ton Roosendaal [Sat, 29 Dec 2007 18:44:31 +0000 (18:44 +0000)]
Badlevel call amount reduced to 21!
(worst was radio module)

13 years agoAdding stubs for audiostream
Martin Poirier [Sat, 29 Dec 2007 18:35:24 +0000 (18:35 +0000)]
Adding stubs for audiostream

13 years ago* add also SConscripts for editors.
Nathan Letwory [Sat, 29 Dec 2007 18:05:24 +0000 (18:05 +0000)]
* add also SConscripts for editors.

I totally forgot those. Anyway, now all compiles and links (scons/mingw)

13 years agoPorted over the bad-level cleanup from Chris for Sculpt.
Ton Roosendaal [Sat, 29 Dec 2007 17:07:55 +0000 (17:07 +0000)]
Ported over the bad-level cleanup from Chris for Sculpt.

13 years agoEh, comment should be on line above :)
Ton Roosendaal [Sat, 29 Dec 2007 16:43:45 +0000 (16:43 +0000)]
Eh, comment should be on line above :)