Axel Dörfler
8365d9ecd2
* A ServerFont is now always valid, bye-bye ServerFont::InitCheck().
...
* The FontFamily is no longer reference counting itself.
* SharedObject is now more useful and destructs itself when unused.
* Fixed FontStyle::GetHeight()/ServerFont::GetHeight() semantics.
* Simplified ServerFont constructors.
* Removed wrong function descriptions.
* FontStyleHeight is no longer used: the FontStyle is calculating the
base font height on construction - this reduces the resolution a bit,
but it's hopefully not causing any troubles (doesn't look like it,
at least).
* A FontStyle now removes itself from its family on destruction.
* More cleanup, removed unused stuff like FontStyleHeight.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14657 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-03 13:10:28 +00:00
Stephan Aßmus
26a2be8ba5
less overhead when byte count of string is already known
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 13:14:03 +00:00
Axel Dörfler
9b1ad6f45e
Fixed a bunch of bugs in the font sub-system:
...
* BFont::Face() was almost always wrong - also on the server side,
_TranslateStyleToFace() was broken.
* a clean font was not correctly initialized to be_plain_font
* BFont::GetFamilyAndStyle() did not work correctly if either family
or style was NULL - which is allowed, and shouldn't have let it abort
its task.
* FontServer::GetStyle() by ID did not work reliably under certain
circumstances (but those were not reached with the current server)
* BFont::SetFamilyAndStyle() did not work when family was NULL, and
it also never set fFace correctly.
* Introduced a FontFamily::GetStyleWithFace()
* Renamed some FontFamily/FontStyle methods from ie. GetID() to ID()
to match the style used everywhere else in BeOS.
* Removed AS_SET_FAMILY_NAME as its no longer in use.
* Lots of cleanup and simplification.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 23:21:36 +00:00
Axel Dörfler
5030d60fe8
Connected the painter stuff to the temporary font lock work-around.
...
This seem to enhance the stability of the app_server by a magnitude (at least I can
now run apps like Installer and Media without an instant crash).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-28 09:52:26 +00:00
Stephan Aßmus
c0a539ccec
Jerome is encoded in UTF8
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-20 09:37:40 +00:00
Jérôme Duval
f2fd129852
now uses delta escapement
...
improved GetBoundingBoxesAsString (just for fun, keep in mind we'll use AGGTextRenderer in the end :) )
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-30 14:53:42 +00:00
Jérôme Duval
29926b974b
completes previous commit
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-26 15:03:36 +00:00
Jérôme Duval
2f23ef90dd
added GetBoundingBoxesAsGlyph, GetBoundingBoxesAsString, GetBoundingBoxesAsStrings
...
real implementation with freetype still missing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-25 15:21:34 +00:00
Jérôme Duval
af86ce75a0
copyright update
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-24 15:08:32 +00:00
Jérôme Duval
2b1263bedf
reworked BFont::GetStringWidths and BFont::StringWidth
...
implemented BFont::GetEdges
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-24 14:50:41 +00:00
Jérôme Duval
599be43472
Implemented GetHasGlyphs support somehow (FT support is lacking)
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13766 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-19 15:22:55 +00:00
Stephan Aßmus
59345e264f
huge cleanup, support for SetSizeLimits, support for truncating strings, numerous decorator bug fixes, Layer does not draw when view color is B_TRANSPARENT_COLOR, cleaner dispatching of mouse events to the WinBorder in RootLayer, commented the char map selection in the font server, as it seems glyph lookup by unicode index works much better with the default map
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-03 19:50:30 +00:00
Stephan Aßmus
7220b138f2
fixed confusion of byteCount and charCount in ServerFont::StringWidth(), just in case anyone really uses it later. Added UTF8CountChars() to moreUTF8.h, but then I didn't need it...
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12750 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-20 23:51:33 +00:00
Stephan Aßmus
38c5a7b7fa
Implemented StringWidth in ServerFont, updated ServerApp to use it, and removed a -1 from TextView in the char location calculation, which I didn't understand and without which the cursor location and related stuff now finally work.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12744 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-20 17:36:55 +00:00
Stephan Aßmus
9bdb0522c1
Implemented BFont::GetEscapments() float version. It is pretty rough yet, but appears to handle UTF8 correctly. The optional escapement_delta is currently ignored. I didn't touch other functionality too much, until I know more about it.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-12 15:09:30 +00:00
Stephan Aßmus
a52667ee9c
added a comment about how it would be nice if ServerFont could be guaranteed to be valid (ie it doesn't crash if you call one of it's functions from outside code, I like it when a C++ class is an encapsulated object, maintaining a valid internal state, and whatever client code does, it should just never crash)
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12390 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-14 00:22:01 +00:00
Michael Lotz
7d5778defa
Added support for GetEscapements() too. Still unfinished. Maybe this should be moved elsewhere?
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 09:18:25 +00:00
Michael Lotz
ebf8af66c9
Added support for BFont::GetGlyphShapes. Not finished yet and untested, delivery method as to be changed.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 07:00:32 +00:00
Stephan Aßmus
d01b623805
some improvements to font handling, but Miniterminal still renders only black blocks
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 23:42:52 +00:00
Michael Lotz
6d495dfc26
FT_New_Face is a quite heavy function and shouldn't be called for every StringWidth, StringHeight and DrawString call. We now keep it open in FontStyle and destroy it there too.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 21:02:40 +00:00
DarkWyrm
c20b5aa705
Added a second SetFamilyAndStyle and made both versions return success or failure
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11261 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-05 20:10:24 +00:00
DarkWyrm
7605e77d21
Added GetFamilyAndStyle
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 13:40:11 +00:00
DarkWyrm
cef8b0ffcf
Style changes
...
API tweaks
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-21 13:11:46 +00:00
DarkWyrm
9a2b128aea
More API fixes and tweaks, mostly to get BFont::GetHeight working
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10805 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-17 20:05:36 +00:00
DarkWyrm
c1d0331e5b
Retooled the server-side font API to make it work better
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-17 02:04:21 +00:00
DarkWyrm
66133bb5d9
s/OpenBeOS/Haiku/
...
Style fixes for ServerBitmap and ServerCursor
Assignment operator for GraphicsBuffer
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-20 22:46:37 +00:00
DarkWyrm
871efa51a3
Added some direct-buffer acces functions to DisplayDriver
...
Slight ServerFont tweak
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-03 00:51:23 +00:00
DarkWyrm
5eaf1421a5
Tweaks for BPicture compliance
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-18 22:45:16 +00:00
DarkWyrm
b3d31bdb1a
Another LayerData-related crash fix
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4950 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-05 17:51:13 +00:00
Adi Oanca
bd26e2d2d1
* added '=' operator
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-15 18:58:49 +00:00
DarkWyrm
9381d29b6f
Massive reconfiguring to fix link problems with all things needing app_server so
...
urces
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3963 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-13 20:56:00 +00:00