First, check on the new files, which are listed below.
The new butspace.h is a local include, only to be used for the buttons
drawn in the buttonswindow.
- editbuts, animbuts, gamebuts, displaybuts, paintbuts, work now
- i quite completely reorganized it, it's now nicely telling you what
context it is in
- sorting error in panel align fixed (tabs were flipping)
- align works correctly automatic when you click around in Blender
- editsca.c renamed to buttons_logic.h
- button names are truncated from the right for allmost all buttons
(except text buttons and number buttons)
- while dragging panels, you cannot move them outside window anymore
And of course fixed loads of little bugs I encountered while testing
it all. This is a version I really need good test & feedback for.
Next step: restoring material/lamp/texture/world
- automatic pulldown opening can now be controlled ( user setting?)
it has two thresholds:
- when no menu was opened before, it waits A milliseconds
- when (in the same block a menu was opened, it waits B millisec.
Currently A= 0.4 sec, B= 0.1 (or so)
- 3d window header; brought back old drawtype menu (test, compare!)
- another test: the old menubutton doesnt work anymore with hold-mouse
only, you can also use it as the other popups (old method still works)
- proposal; all buttons that pop up a block, get special drawtype (arrows)
- removed src/buttons.c and include/BIF_buttons.h
- added src/buttons.txt, which is the old buttons.c for review and adding
code to new panels structure
- changed internal events to match new buttonspace structure
- added tabs for new shading group of buttons
- removed loads of little warnings, -Wall now compiles src/ almost without
error (hint: setenv NAN_QUIET to see it all better)
Now I'm ready to do actual buttons -> panels conversion. I will do the raw
versions first, others then can cleanup
- changed meaning of F4-F10 keys (as compatible as possible, but we need
something!) check UI design doc for proposal
- made new call for switching direction of buttons in Y, for when pulldown
moves direction
- cleaned up all redundant manual switching code from headerbuttons.c
startup
- made nexted pulldowns easier to enter with diagonal mousemovement.
coded a heuristic like:
- while mouse moves in good x direction
- while mouse motion x is bigger than y motion
- while distance to center block diminishes
- only for 1 second
Works nice, but i left debug prints commented in for those who'd like
to tweak it.
without moving for 0.25 second. Also works for sublevels in pulldowns.
- removed hacks from mainloop, which caused setting the main window and
active subwindow for each event (including mousemove).
WARN: test for all OS's that no events get lost, and active window focus
is OK. For OSX it works nicely
- reduced load for uibuttons with 50%....
this is part 1 of the UI makeover. It has:
- menu system from Matt integrated
- buttons drawing from Matt
- generic button panel system implemented
- converted displaybuttons (not the rest yet)
- cleaned up a lot in drawing spaces itself, to make it aligned and pixel exact.
- cleaned loads of little compiler warnings, protos...
still a lot of work needed, will all be in next week i hope!
(warn: 2 new c files! butspace.c and buttons_scene.c)
- the plane has a material
- material has texture
- scene has a world
- default set 'draw faces' and 'draw edges'
that last one for the noobies, to prevent them complaining!
- added a note in interface.c about the new api doc
- forgot to commit blender.c, for setting the G.f from the file
(this will save faceselect and vertexpaint mode too)
* this apple method to do it generates unwanted events, so it could not
be used for the menu mouse-move trick. this is #ifdeffed
* we should re-evaluate if this mousemove should remain in blender...
there are better ways (scrolling contents of pup)
* plus: removed warnings from drawview.c
there)
* replaced with nice local (uiBlock) storage of what goes on in drawing.
it now only calls a glDrawBuffer() and glFinish() when it is actually
needed
Result: interface drawing in general is speedy again, especially for gfx
cards that dont allow frontbuffer drawing, and copy stuff to the frontbuf
with a glFinish() call.
Needs to be tested on all platforms... report to me when you see problems
like menus not drawing correctly, tooltips not drawing or not disappearing,
etc.
in NUM or NUMSLI buttons. It's the last but one argument...
i really have to put the interface.c API doc back!!! :-)
(get probably killed for the fact that i have it)
these calls were done without anything actually happening, for each
mouse move, and caused quite some slowdown at OSX.
Might help the other platforms as well. Check it by just moving your mouse
around, over window edges, buttons, etc. Especially Radiosity buttons
were horrible slow in a large window
Please be aware that the above calls cause a swapbuffer at OSX!
All modifications are behind compileflag INTERNATIONAL,
and affect these two directories; source/blender/src and
source/blender/ftfont.
Thanks to philipp, a new utf8towchar() function is added
to Shizu's work, which fixes the international support for
OSX. It also makes the iconv library obsolete. This means
all translation files (blender.mo) need to be 'recoded' to
UTF-8, and language support in the fileselect window and
the text editor is not possible. Iconv might be added in
the future to enable these features.
a short, so we cast to an int first, then to a short when a button that
modifies a short value is pressed. (Allieviates the bug where the
Unified Renderer button modifies the values of a bunch of other buttons).