Commit Graph

67 Commits

Author SHA1 Message Date
Tom Musgrove
f2a8bb3498 this restores building on mingw with Collada support, also it restores cross compiling, thanks to Sergey Sharybin for the patch. Note that the icons for linux cross might not be committed here, if not i'll add them in another commit 2010-02-01 18:39:41 +00:00
Matt Ebb
792c4d602d Fixes for martin's background mode commit - now works fine here on OS X 2009-11-11 04:38:37 +00:00
Brecht Van Lommel
37e4a311b0 Math Lib
* Convert all code to use new functions.
* Branch maintainers may want to skip this commit, and run this
  conversion script instead, if they use a lot of math functions
  in new code:
  http://www.pasteall.org/9052/python
2009-11-10 20:43:45 +00:00
Joshua Leung
e76ce369bb Compiler warning fixes for mingw:
* There's an unresolved error in transform_conversions.c which I've flagged in this commit. I'm not quite sure what the exact intentions of that code were (i.e. was the "void_pointer = 1" really intended)
2009-10-27 09:38:15 +00:00
Guillermo S. Romero
b4f235adc0 Shell script exit values should be non-negative.
Exact error with dash as sh "exit: 12: Illegal number: -1".
The rest are just changes to whitespace and polishing.
2009-09-25 01:59:43 +00:00
Campbell Barton
b94ed5d7e4 - cmake/make/scons didnt define INTERNATIONAL when buidling blenfont
- BLF_lang_init used confusing IFDEF's, unlikely this was well tested. Split this into 3 functions for Apple/Win32/Unix, Unix uses BLI_gethome_folder(), cant test others, ideally they should use BLI_gethome_folder too but needs testing.
Possibly each os cant be made to use BLI_gethome_folder and the separate func's can be removed (please test).

- units, hectometers were displayed wrong.
2009-09-24 07:03:18 +00:00
Brecht Van Lommel
3448f675cb Fix #19427, problem in blenfont not computing the width of text correct,
particularly text including spaces. This gave some problems with placing
the cursor and selection, and clipping text inside buttons.
2009-09-21 21:26:04 +00:00
Campbell Barton
ba5df38d66 use static functions where possible for some local functions. 2009-09-14 16:52:06 +00:00
Campbell Barton
0a3694cd6e white space commit. (2 spaces -> tab).
Was annoying to use a different editor for cmake only.
theeth says this should be ok with gsoc and merges from branches.
2009-09-06 01:51:23 +00:00
Nathan Letwory
9216efcba2 == SCons ==
* bring back 'player' libtype, after investigation with ideasman.
  scons/mingw works nicely, for some reason msvc fails to link still, will look further into it.
2009-09-05 01:58:02 +00:00
Diego Borghetti
1772a0a62f Add unsigned char buffer to BLF_draw_buffer and update makefiles for lzo and lzma.
I rename the original makefile of lzo (Makefile.bak) and a new one.
Also four new option for user-def.mk:
	WITH_LZO, default true
	WITH_LZMA, default true
	NAN_LZO, default extern/lzo
	NAN_LZMA, default extern/lzma

It's easy add support for system libs (using lzo and lzma from OS) but I don't
know if it have much sense.

Note that I can't test the "unsigned char" buffer because the OGL animation
is not working (right ?), but is the same code that for float also the new
Makefile work fine here (Linux), but maybe need some tweak on other OS.
2009-08-20 18:34:14 +00:00
Diego Borghetti
7d812822bd Stamp info back only for float buffer. (next commit add unsigned char).
A couple of new functions:
	BLF_width_and_height	- Merge of BLF_width and BLF_height in one call to avoid freetype2 stuff.
	BLF_buffer		- Set the buffer, size and number of channel.
	BLF_buffer_col		- Set the text color (the alpha is not used right now).
	BLF_draw_buffer		- Draw the text in the current buffer.

Also tweak a little the boundbox and draw function to avoid access the freetype2 and use the cache info.
By default the font size is 12, the UI still need work to allow change the font and size.
2009-08-18 19:26:53 +00:00
Brecht Van Lommel
314b14301f 2.5: warning fixes
Directories intern/ and source/blender/ now compile warning
free again here with scons/gcc.
2009-08-15 16:36:25 +00:00
Campbell Barton
9236f92dab - remove UNSET becuase it only works with newer versions of cmake,
- changed the SDL and Freetype vars to match CMake's names
- removed unneeded freetype, SDL and ftgl includes
2009-08-15 13:30:28 +00:00
Campbell Barton
eef09b9cba cmake changes
- set python to 3.1 on linux (dont use FindPackage for now)
- remove duplicate settings (disable cache for copied settings, was quite confusing)
- added an option WITH_INSTALL, when disabled scripts and language files wont be copied to the target dir (better for quick builds)
- remove .svn (was still CVS), and pyc/pyc files after copy
- copy the 'io' as well as 'ui'
2009-08-14 17:16:16 +00:00
Diego Borghetti
d5f51f5019 Cleanup a little to add "draw to buffer" (and bring back stamp). 2009-08-06 20:51:41 +00:00
Diego Borghetti
74b3681532 Remove bitmap mode from blenfont, only draw with textures.
As Joe point on a previous mail, glBitmap don't work nice
on all cards and also some of the things that we can do
with texture are hard (or need that blender check the font mode)
to implement.
2009-08-06 20:06:02 +00:00
Campbell Barton
2a727083c9 fix for warnings and implicit declarations
also fixed smoke comparing a float's mem-location rather then its value.
2009-07-31 01:40:15 +00:00
Diego Borghetti
4ba8397ab0 Forget add the bearing X, a little better now (hinting). 2009-07-28 21:06:23 +00:00
Diego Borghetti
4ad9dd7c8e Bitmap mode is back.
The option of Texture or Bitmap font is working again, yes it's really
uuuuugly right now, but it work.

On the next commit I go to put this at the same level that texture font.

Change this from User Preferences -> Language -> Textued Fonts, save
the preferences and run blender again.
2009-07-28 20:02:09 +00:00
Brecht Van Lommel
3116062a82 2.5: Couple of small fun features
* Text window font size now supports full range 8-32, instead of
  just 12 and 15. I added BLF_fixed_width to get the character
  width of a fixed size font.

* Buttons do undo push on change again.

* Animated/Keyframe/Driver colors are now themable, with blend
  value to blend with original color. Set this to 0.5 now to
  give colors less constrast.
* Fix tooltip popping up with RMB menu open, and missing redraw.

* Autokeyframe now works for buttons.

* Driver expressions can be edited in place in a button now.
  (still some refresh issues).
* Also made python driver default for the Add Driver function
  in the RMB button. This way you don't have to open a Graph
  editor if you just want to type an expression. Also, the
  default expression then is the current value.

* Tooltips now show some extra info, not sure what is good to
  have, but currently I added:
  * Shortcut key for operator buttons.
  * Python struct & property name for RNA buttons.
  * Expression for driven values.
  * Value for text/search/pointer buttons.
2009-07-12 02:06:15 +00:00
Diego Borghetti
b80b581bc0 Allow the user set which style to use for the kerning value.
This are freetype2 options:
 Unfitted - Scaled but un-grid-fitted kerning distances
 Default - Scaled and grid-fitted kerning distances

We always use Unfitted, but the "Default" style give better result here,
so please test and if nobody complain we can set this style as the default.
2009-07-10 22:16:25 +00:00
Diego Borghetti
ad59d04c77 Yes!! a nice font again!!
Matt, I found the problem in one of my previous commit, so I revert
all my changes and now the font look good again.

Also remove all the options (kerning, overlap and user kerning), I want
to make this a little better.
2009-07-10 20:18:19 +00:00
Ton Roosendaal
5a0896e1a3 2.5
Cleanup of scroller drawing in 2D windows.

Before:
http://download.blender.org/institute/rt11.jpg
After:
http://download.blender.org/institute/rt12.jpg

Will add 'zoom' widget circles later, as mockupped here:
http://www.reynish.com/files/blender25/fcurve_scrollbar.png

Also note the scale values are inside scroller; drawing it
on top conflicts with current frame item and markers.

Currently scroller disappear entirely when view is total.

For Joshua:
To make sliders behave nicely, the boundbox (v2d->tot) has to
be refreshed on each change. I've added it in graph drawing
now, but it could be notifier based I guess... not sure what
the correct anim api call would be. Can discuss tomorrow!

On todo:
Layout config hints so people can make scroller positions swap.
2009-07-02 18:12:46 +00:00
Diego Borghetti
483e9479f7 New Style option: Overlap
If this option is enable, the blenfont check for overlap characters, like
one of my previous commit but now it's optional and disable by default.
(This fix the "Fi" or other case when the characters are too close)

Enable/disable from:
Outliner -> User Preferences -> Styles -> Panel Font -> Overlap

(also for other styles, Group Label, Widget, Widget Label)
2009-06-23 18:26:01 +00:00
Diego Borghetti
cb59bf722e Move shadow option (for text) from editor/interface to blenfont.
Two new function:
 BLF_shadow: set the level (for blur) and the shadow color.
 BLF_shadow_offset: set the x and y offset for shadow.
		 (this is the current position plus offset)

By default shadow is not enable in the font, so before draw the
text you need call BLF_enable(BLF_SHADOW), also remember disable
the option in the end.
2009-06-23 16:27:35 +00:00
Diego Borghetti
96003b5b73 Revert a small change to kerning, Matt please let me know if now it's fine (or like before). 2009-06-18 20:45:58 +00:00
Diego Borghetti
3a9396c47d Restore default value for font kerning.
The user value is 0 by default and the font kerning (the value
that come with the font) is enable, like always.

(the last was  disable by mistake in a previous commit)
2009-06-13 14:58:39 +00:00
Diego Borghetti
845e9a0e25 Made the kerning a float, this give a little more of tweak.
0.5 is the default value now, the range are from -5.0 to 5.0.
Note that we allow negative value, but the current draw code
always check for overlap characters.
2009-06-12 17:18:59 +00:00
Diego Borghetti
ec8b2593ec Smal tweak to allow the user set a kerning value.
This commit add two option to the blenfont library:

1) BLF_FONT_KERNING

 This enable the kerning information that come with the
font, by default this option is disable and still don't
have a UI for change.

2) BLF USER_KERNING
 This allow the user set a kerning value to by apply for
every character, by default this option is enable but all
the font have a kerning value of zero.

Ton I add this option to the style with a default value of 1.

Access from:
 Outliner -> User Preferences -> Style -> FontStyle -> Kerning
2009-06-11 21:43:59 +00:00
Ton Roosendaal
0cd511eee8 2.5
Text drawing in 3D window fixed, using BLF default font (yes, nice AA'ed
fonts too :)

Solved it by gathering all strings that needs to be drawn for an object,
and then draw in end of object drawing, in pixelspace. Also cleaned up
some of the code for projecting 3d coords, much nicer now (mat stored in
region-view3d)
2009-05-18 16:42:34 +00:00
Diego Borghetti
fc1036d206 Add support for attach a file with metrics information to the font.
Fonts like Type 1, have one file with the glyph image and another
file with metrics and kerning information, this try to search if the font
have this information and load (try open the same file but with the .afm
and .pfm extension).

Also add a function to load the same information from memory, just in case
that in some point we add a font like this.
2009-05-08 21:24:58 +00:00
Diego Borghetti
749a908331 Cleanup blendfont.
Now that we only work with Freetype2, I don't see any point to keep
wrapping the functions.

Also remove the reference code, it's something that we don't go to used.
2009-05-08 19:47:40 +00:00
Diego Borghetti
405cf80eb8 Big, big commit!!
1) Remove WITH_FREETYPE2 from code, so now blender always need freetype2
2) Remove the old bmfont
3) Remove ftfont and bFTGL library
4) Implement a new BLF_draw_default function for place that still need/use
   the old BMF api.

I try to update both, scons and cmake, but I only can test with make, so
hope all work fine.

MSVC is broken, but I don't have Windows, things to search and fix are
any reference to WITH_FREETYPE2, FTGL and BMFONT (take in care that
blenkernel also have a BKE_bmfont.h, this don't have anything to do with bmfont).
        Always have to link/include the freetype2 library
        Remove any reference to libbmfont
        Remove any reference to libftfont
        Remove any reference to libbftgl (or libbFTGL)
2009-05-05 23:10:32 +00:00
Diego Borghetti
efd1a69d6c Move texture draw to blf_util.c, now both font used it.
A little cleanup on the internal font, it's possible load the old
bmfont with: BLF_load_mem(name, NULL, 0) where name can be: helv,
helvb or scr.

Note that the internal font also support both draw, texture and bitmap,
by default always used texture.

Remove some old lang function that I left there and don't exist any more
because the locale are now in the RNA.

Small changes to Style's, so if we build without freetype2 by default
go back to the internal font, this is a little ugly (and have the old
problem of scale) but now blender always show text (need work a little
more there).
2009-04-23 21:57:41 +00:00
Campbell Barton
d00c3ef2d6 Small changes
- font->blur was uninitialized
- Use Ctrl+Alt+Shift+P to run scripts from the 3d view not Pkey. (still useful for testing)
2009-04-23 05:56:09 +00:00
Diego Borghetti
6a5a94a8fe Add clipping option for bitmap draw mode and remove the "test code" from
space_info.c
2009-04-22 20:54:27 +00:00
Ton Roosendaal
ad164a5261 2.5
Fixed & upgraded tooltips to new drawing system.
Also fixed small error in menu shadows. Rounding of shadow below
menu went wrong.
2009-04-15 14:43:54 +00:00
Ton Roosendaal
6124933781 2.5
Nicer implementation of blurred font draw, moved to blenfont
module. Set it with BLF_blur(value). Current kernels implemented
are 3 and 5 only. Blenfont module can extend this once.
2009-04-10 14:27:29 +00:00
Ton Roosendaal
d2cc19dcc6 2.5
More font style work;

- hooked up almost all ui buttons code to new font
  system, including text clipping
- panel headers scale now too to smaller fonts
- added further style hints, for shadow/emboss. Is all going to
  be in UI designer control!
- for fun; changed layout engine to spread vertical buttons in
  window width

Next: removal of all usage of old font system, using 'styles'.
Will also move font blurring to blenfont module.
2009-04-10 14:06:24 +00:00
Diego Borghetti
59190778a8 New Bitmap draw mode for Freetype2 fonts.
The library can load any font supported by the Freetype2 library or
used the internal bitmap font.

With both types it's possible draw the text as texture or bitmap,
and using texture it's possible rotate, scale and clipping text.

Still have things to fix/add, but I think it's ready to move-on
and start droping the old api, most of (if it's not all) the
editors/interface/text.c will be remove, but some things still
has to be define, like:

 * Where is store the fonts ? (default font, panel font, filesel font, etc)
   I mean, every space have own fonts ? or we keep it on the context ?
   It's not a really problem from the blenfont side, because every font
   have reference number, so it's load only the first time.

 * What we do about gettext ?
   Keep the old system that call gettext inside the blenfont or replace
   it for _() in the Blender source ?
   Also things like pupmen has to be take care, if we want translate the menu.

Ok, time to sleep, back tomorrow to start moving the things :)
2009-04-07 08:42:28 +00:00
Diego Borghetti
e430816cde Add back bitmap draw mode, right now only internal font, tomorrow
freetype2.
2009-04-06 04:12:31 +00:00
Diego Borghetti
879a7529fd Add clipping option to the internal font. 2009-04-02 20:01:37 +00:00
Diego Borghetti
4861ddf350 Small cleanup, all this options are now in the User Preferences, RNA. 2009-03-31 21:19:23 +00:00
Diego Borghetti
466628778c Add back the others font: helvb 8/10/12 and scr 12/14/15. 2009-03-30 19:48:18 +00:00
Diego Borghetti
5e4242dab0 Add back helv 12 font, the old BMF_MINIMAL is now BLF_INTERNAL_MINIMAL, but
don't found any place that really use it.
2009-03-30 16:49:21 +00:00
Daniel Genrich
b7886e27df MSVC 2008 compile fixes 2009-03-30 14:11:32 +00:00
Diego Borghetti
22fec544c8 Add blender internal font.
This is the old bmfont library but using textures.

I made small test in the space Info and work fine,
commit now to finish tomorrow from work.
2009-03-30 05:32:46 +00:00
Diego Borghetti
63b4879c9e And another commit to cleanup a little, this is the last,
next commit add internal font and we can go ahead and remove
ftfont and bmfont.
2009-03-02 21:02:39 +00:00
Diego Borghetti
acc8d06b77 Cleanup a little before add internal font (bmfont). 2009-03-02 05:20:48 +00:00