Commit Graph

22 Commits

Author SHA1 Message Date
Abdelrazak Younes
00edcc582f This commit is a big rework of the FontLoader/FontMetrics interaction. Only Qt4 for now, I would be grateful is somebody steps up for qt3 and gtk.
Basically, I replaced all methods in the font_metrics namespace by a proper virtual interface FontMetrics. The FontLoader is _the_ container for FontMetrics.

This patch should also bring some optimizations in a number of place in the code. This is because we do not need any more to search for the LyXFont at each font_metrics call. In effect, the speed advantage is not as sensible and this is a bit deceiving considering that this was my primary motivation behind the patch. But I like the patch anyway as it cleans up the relation and interfacing between fonts, metrics and frontends.

* frontends/FontMetrics.h: new virtual interface. Renamed from font_metrics.h

* qt4/GuiFontMetrics: corresponding qt4 implememtation. Renamed from qfont_metrics.C. The smallCaps particular case treatment has been transfered here as well as the width cache for MacOSX and Windows.

* qt4/QLPainter.C: the smallCapsText has been reworked to return the width of the drawn text.C

all other files: replace font_metric helper function call with corresponding FontMetrics method calls.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15265 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-07 16:15:06 +00:00
Lars Gullik Bjønnes
c46b7d8955 Merge the unicode branch into trunk.
- src/support/unicode.[Ch]: new files with functions for converting
  to and fro ucs4, ucs2 and utf8.
- src/support/docstring.h: specialization of basic_string that
  holds a uint32_t internally.
- Several functions changed to use char_type instead of char or unsigned char.
- Qt3 and Qt4 sends ucs2 on to core
- Gtk sends ucs4 on to core
- Read and write utf-8 .lyx files.
- font_metrics and painter updated to handle ucs4 chars as input.
- Quite a bit of ugly compability code, conversion string->docstring, etc.
- Have fun...


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14661 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-13 22:54:59 +00:00
Abdelrazak Younes
d8ae51dbe1 This is the merging of the GUI API cleanup branch that was developed in svn+ssh://svn.lyx.org/lyx/lyx-devel/branches/personal/younes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14152 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-20 08:39:16 +00:00
Lars Gullik Bjønnes
3b9338a3a8 Whitespace cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13565 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-05 23:56:29 +00:00
Jean-Marc Lasgouttes
4b7512f767 fix drawing of buttons (bug 2328)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13381 a592a061-630c-0410-9148-cb99ea01b6c8
2006-03-15 15:32:32 +00:00
Alfredo Braunstein
a2cd656e25 CoordBranch merge
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9325 a592a061-630c-0410-9148-cb99ea01b6c8
2004-11-30 01:59:49 +00:00
Alfredo Braunstein
db2c1d5917 the 'fitCursor fix'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8624 a592a061-630c-0410-9148-cb99ea01b6c8
2004-04-07 20:20:15 +00:00
Lars Gullik Bjønnes
44cd0fc9a1 The std::string mammoth path.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7862 a592a061-630c-0410-9148-cb99ea01b6c8
2003-10-06 15:43:21 +00:00
Angus Leeming
2e7ac7ca77 Rename EnumLColor as LColor_color.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7788 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-18 11:48:11 +00:00
Angus Leeming
a6ccea4f21 The EnumLColor patch, free of macros.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7759 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-15 15:20:22 +00:00
Angus Leeming
d6cb58ab66 Remove WorkArea.C (empty).
Rearrange #includes in alphabetical and directory order.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7672 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-05 10:55:42 +00:00
Angus Leeming
0be0fcfd59 If I ever see another licence blurb again, it'll be too soon...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7598 a592a061-630c-0410-9148-cb99ea01b6c8
2003-08-23 00:17:00 +00:00
Lars Gullik Bjønnes
99d1627a47 dont use pragma impementation and interface anymore
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6138 a592a061-630c-0410-9148-cb99ea01b6c8
2003-02-13 16:53:15 +00:00
Lars Gullik Bjønnes
13349032cb ws changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5758 a592a061-630c-0410-9148-cb99ea01b6c8
2002-12-01 22:59:25 +00:00
John Levon
b2e770a640 fix indexlist frame
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5258 a592a061-630c-0410-9148-cb99ea01b6c8
2002-09-11 03:02:02 +00:00
Angus Leeming
1eb8155fa0 This file is part of LyX, the document processor.
Licence details can be found in the file COPYING.

and thank God for sed.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5211 a592a061-630c-0410-9148-cb99ea01b6c8
2002-09-05 15:14:23 +00:00
Angus Leeming
6fac1dc980 Really dull and boring header shit
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5210 a592a061-630c-0410-9148-cb99ea01b6c8
2002-09-05 14:10:50 +00:00
John Levon
0a8631ad44 A couple of minor bug fixes and cleanups
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4574 a592a061-630c-0410-9148-cb99ea01b6c8
2002-07-09 16:23:20 +00:00
John Levon
0db59752e2 Painter and scrollbar API patches
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4386 a592a061-630c-0410-9148-cb99ea01b6c8
2002-06-12 15:01:32 +00:00
John Levon
ae11d20ade Remove enter/leaveView since core has no right to know when
that happens, and rename wa->height to workHeight() for consistency


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4373 a592a061-630c-0410-9148-cb99ea01b6c8
2002-06-12 00:51:45 +00:00
John Levon
2dabaa33de font_metrics part 1
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4203 a592a061-630c-0410-9148-cb99ea01b6c8
2002-05-24 14:34:32 +00:00
John Levon
06f9f0ea08 OK I'll try guii1 again ...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4186 a592a061-630c-0410-9148-cb99ea01b6c8
2002-05-23 09:21:32 +00:00