Commit Graph

587 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
e430816cde Add back bitmap draw mode, right now only internal font, tomorrow
freetype2.
2009-04-06 04:12:31 +00:00
879a7529fd Add clipping option to the internal font. 2009-04-02 20:01:37 +00:00
4861ddf350 Small cleanup, all this options are now in the User Preferences, RNA. 2009-03-31 21:19:23 +00:00
466628778c Add back the others font: helvb 8/10/12 and scr 12/14/15. 2009-03-30 19:48:18 +00:00
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
b7886e27df MSVC 2008 compile fixes 2009-03-30 14:11:32 +00:00
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
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
acc8d06b77 Cleanup a little before add internal font (bmfont). 2009-03-02 05:20:48 +00:00
6cc89b9d4e 2.5: Text Editor back.
There was very little structure in this code, using many globals
and duplicated code. Now it should be better structured. Most
things should work, the main parts that are not back yet are the
python plugins and markers. Notes:

* Blenfont is used for drawing the text, nicely anti-aliased.
* A monospace truetype font was added, since that is needed for
  the text editor. It's Bitstream Vera Sans Mono. This is the
  default gnome terminal font, but it doesn't fit entirely well
  with the other font I think, can be changed easily of course.

* Clipboard copy/cut/paste now always uses the system clipboard,
  the code for the own cut buffer was removed.
* The interface buttons should support copy/cut/paste again now
  as well.
* WM_clipboard_text_get/WM_clipboard_text_set were added to the
  windowmanager code.

* Find panel is now a kind of second header, instead of a panel.
  This needs especially a way to start editing the text field
  immediately on open still.

* Operators are independent of the actual space when possible,
  was a bit of puzzling but got it solved nice with notifiers,
  and some lazy init for syntax highlight in the drawing code.
* RNA was created for the text editor space and used for buttons.

* Operators:
    * New, Open, Reload, Save, Save As, Make Internal
    * Run Script, Refresh Pyconstraints
    * Copy, Cut, Paste
    * Convert Whitespace, Uncomment, Comment, Indent, Unindent
    * Line Break, Insert
    * Next Marker, Previous Marker, Clear All Markers, Mark All
    * Select Line, Select All
    * Jump, Move, Move Select, Delete, Toggle Overwrite
	* Scroll, Scroll Bar, Set Cursor, Line Number
    * Find and Replace, Find, Replace, Find Set Selected,
	  Replace Set Selected
    * To 3D Object
    * Resolve Conflict
2009-02-28 23:33:35 +00:00
a774ccb21d Small tweak to get cmake working again.
Kent
2009-02-20 17:20:20 +00:00
8145489a7d Add clipping text option to blenfont also add an enable/disable
function for aspect and rotation (and the new clipping).

Update source/Makefile to point to the new libed_sculpt_paint.
2009-02-20 05:42:44 +00:00
6bf9f383dc 4 new function, boundbox, width, height and rotation.
The rotation is through glRotatef and as you can see it's ugly,
the freetype2 allow apply a transformation (2x2 mat) to the glyph
before load, so I want to try using that.
Another thing to add is the 4x4 mat to get the scale and size from
there.. but I need commit this now to continue from my home.
2009-02-19 16:39:36 +00:00
1090b0c598 2.5
Several things in one commit; could not split this up easily,
one job invoked another, and so on. :)

- Added pulldowns for save/load .blend file in top bar.

- To enable "Save" without further popups (save over) 
  I've added a signaling function in window header to
  indicate a succesful save.

- On any undo push it now signals 'file changed'. This
  goes by notifiers nicely, but now registers only the
  undopushes, which is quite unreliable. "Changed" state
  shows in header as "Blender*" and for OSX with the
  standard close button black dot.

- Made screencast show a button in top bar indicating such,
  and allowing quit. No hotkey for quit yet... but ESC will
  keep casting now.

- Fixed new BLF_init(), which should be in WM_init() and not
  on any .B.blend read.

- Fixed CTRL+F3 "Save Screenshot", which was still using old
  fileselect code.
2009-02-18 13:29:54 +00:00
573e14c592 2.5: CMake update for blenfont module, also some flags for scons
to make it compatible with makefiles and ftfont module.
2009-02-17 20:16:09 +00:00
473d00943b And another scons fix, hope now work!! 2009-02-17 19:57:05 +00:00
8c8792bb12 2.5: fix to make blenfont module compile with scons. 2009-02-17 19:37:47 +00:00
bd33237830 Fix scons build for blenfont, patch by skejoe. 2009-02-17 19:09:14 +00:00
16a61743e1 Making the things compiled!!
I change the #if 0 with #if WITH_FREETYPE2, also fix a lot of typos, etc.
This is the basic but now it draw text!!, I am using the "User Preference"
space to test the library, nobody is working on that and the option are
in the outliner now so...

TODO-next: using the 4x4 mat, string size, bounding box, aspect and rotate.

Notes: I update the Makefile, missing some include and other things so
maybe scons, cmake and msvc also need update ?
2009-02-17 16:56:29 +00:00
a150242f8e Commit to continue tomorrow from work. 2009-02-12 05:02:42 +00:00
2c82163d5b commit to continue in my home.
Also I remove some of the #if 0.
2009-02-10 21:41:14 +00:00
b9063b27a9 Just commit so I can continue tomorrow from work.
All the code have #if 0 / #endif so nothing to worry about.
2009-02-09 07:15:22 +00:00
63ad011e97 'scons blenderlite' failed because blf expected freetype 2009-01-29 21:41:43 +00:00
004fa8c52b scons compiling fixes for new blenfont module 2009-01-29 09:57:28 +00:00
12616b7e24 Added CMake files needed for new blenfont module.
Note to bdiego: this module seems to depend on ftfont, which is only compiled with the INTERNATIONAL build setting, however it seems blenfont should work regardless of that setting.
2009-01-29 06:35:04 +00:00
6e08a165bb Moving Language code from interface/text.c to blenfont library.
I go to start commit the new code here and then replace one
by one bmfont and ftfont, this do nothing right now, but it's
more easy keep the files here to work from the studio and my home.

I only update the Makefile and SConscript (but JesterKing a double
check never is bad), so please check the msvc and cmake files.

The new library is libblenfont.a
2009-01-29 05:19:27 +00:00