Wolfgang Lux
37a215ae8d
Revert change to discard (but not handle) caught exception in typesetter
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@35332 72102866-910b-0410-8b05-ffd578937521
2012-07-31 08:21:17 +00:00
Christopher Armstrong
42162c4e22
2011-08-28 Christopher Armstrong <carmstrong@fastmail.com.au>
...
* Source/GSHorizontalTypesetter.m: Split declaration of struct
GSHorizontalTypesetter_glyph_cache_s and struct
GSHorizontalTypesetter_line_frag_s from their typedefs to compile
under clang.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33793 72102866-910b-0410-8b05-ffd578937521
2011-08-28 09:25:02 +00:00
Eric Wasylishen
5d897881e4
* Source/GSLayoutManager.m:
...
* Source/GSHorizontalTypesetter.m:
* Headers/Additions/GNUstepGUI/GSLayoutManager_internal.h:
* Headers/Additions/GNUstepGUI/GSLayoutManager.h: Store
glyph advances in the runs in GSLayoutManager. Extend the
NSGlyphStorage protocol to support a case where the glyph
generator provides the glyph advances.
I'm hoping to use this in the future to implement (optional)
glyph generators which are wrappers around HarfBuzz or the ICU
OpenType layout engine.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33684 72102866-910b-0410-8b05-ffd578937521
2011-08-02 23:34:06 +00:00
Fred Kiefer
86ff6abf69
Replace direct use of the isa pointer with a call to object_getClass()
...
to make David happy.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33545 72102866-910b-0410-8b05-ffd578937521
2011-07-14 07:17:24 +00:00
Fred Kiefer
6483053f29
Yet another bit of #include -> #import replacement. Replace includes of Foundation.h.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30034 72102866-910b-0410-8b05-ffd578937521
2010-03-25 09:11:50 +00:00
Fred Kiefer
c9d1292563
Small improvements to allow changing of the text container for a text
...
view.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29648 72102866-910b-0410-8b05-ffd578937521
2010-02-15 17:04:17 +00:00
Fred Kiefer
0777c0574e
Use default paragraph style in text layout when none is set.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28714 72102866-910b-0410-8b05-ffd578937521
2009-09-19 15:28:33 +00:00
Gregory John Casamento
8949deeb03
* Source/GSHorizontalTypesetter.m: Remove unlock and
...
log the exception, but don't rethrow it.
* Source/GSLayoutManager.m: return a zero length range in
-(NSRange)glyphRangeForCharacterRange:actualCharacterRange:
when charRange has a length and a location of 0.
Added by Gregory John Casamento <greg.casamento@gmail.com>
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28521 72102866-910b-0410-8b05-ffd578937521
2009-08-23 16:37:28 +00:00
Gregory John Casamento
e1afb724d2
* Source/GSHorizontalTypesetter.m: Use thread dictionary to hold
...
the instance of the typesetter for that thread.
* Source/NSStringDrawing.m: Add locks to methods to prevent modification
of static variables by separate threads from causing the application
to get glyph generation errors.
NOTE: These changes based on suggestions/ideas from Doug
Simons <doug@riverrock.org>.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28219 72102866-910b-0410-8b05-ffd578937521
2009-04-15 01:27:42 +00:00
Adam Fedor
7afdd32ac1
Revert library license version to 2 until applications can be converted
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26619 72102866-910b-0410-8b05-ffd578937521
2008-06-10 04:01:49 +00:00
Fred Kiefer
deca87da4a
Treat CJK characters as words.
...
Patch by Yen-Ju Chen <yjchenx@hotmail.com>.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26022 72102866-910b-0410-8b05-ffd578937521
2008-02-04 10:46:20 +00:00
Fred Kiefer
3dc7f6d74c
Set the text container to max size, when the text view is resizable.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@25863 72102866-910b-0410-8b05-ffd578937521
2008-01-04 21:02:29 +00:00
Fred Kiefer
193e31e678
Change all files to use GPL 3 and LGPL 3.
...
Prepare for next release.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@25536 72102866-910b-0410-8b05-ffd578937521
2007-10-29 21:16:17 +00:00
Fred Kiefer
4835a35c1c
Add new MacOSX methods. Code mostly by Nikolaus Schaller.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@25270 72102866-910b-0410-8b05-ffd578937521
2007-06-18 21:08:54 +00:00
Richard Frith-MacDonald
65b175b904
Tweaks to avoid new compiler warnings with gcc-4.1 and some 64bit issues.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@23126 72102866-910b-0410-8b05-ffd578937521
2006-07-04 21:31:49 +00:00
Richard Frith-Macdonald
7971a89c72
Coding style fixups
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@22019 72102866-910b-0410-8b05-ffd578937521
2005-11-16 11:34:25 +00:00
Adam Fedor
303dd1baf9
Update FSF Address.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@21259 72102866-910b-0410-8b05-ffd578937521
2005-05-26 02:52:46 +00:00
Alexander Malmberg
0958e055fa
2004-11-09 22:08 Alexander Malmberg <alexander@malmberg.org>
...
* Source/GSHorizontalTypesetter.m (-layoutLineNewParagraph:):
Implement NSLineBreakByClipping. Set outside_line_frag and dont_show
attributes for every glyph.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@20330 72102866-910b-0410-8b05-ffd578937521
2004-11-09 21:14:36 +00:00
Alexander Malmberg
7d98f0f270
2004-09-04 23:32 Alexander Malmberg <alexander@malmberg.org>
...
* Source/GSHorizontalTypesetter.m (-layoutLineNewParagraph:):
Pass the right glyph position to cells.
* Headers/AppKit/NSTextAttachment.h: Clarify documentation.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@19991 72102866-910b-0410-8b05-ffd578937521
2004-09-04 21:40:30 +00:00
Alexander Malmberg
c12bd68ed6
Optimize -advancementForGlyph: handling.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@19859 72102866-910b-0410-8b05-ffd578937521
2004-08-09 22:14:17 +00:00
David Ayers
b18f1c4ac4
Header reorganization - Please refer to ChangeLog
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@17408 72102866-910b-0410-8b05-ffd578937521
2003-07-31 23:52:10 +00:00
Fred Kiefer
3c46da992d
Changed element char_index of structure glyph_cache_t to unsigned.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@17006 72102866-910b-0410-8b05-ffd578937521
2003-06-23 15:51:27 +00:00
Alexander Malmberg
d332316918
Handle text containers with no area.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16929 72102866-910b-0410-8b05-ffd578937521
2003-06-15 15:18:54 +00:00
Adam Fedor
6be9174933
Include <> -> ""
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16917 72102866-910b-0410-8b05-ffd578937521
2003-06-13 15:01:12 +00:00
Alexander Malmberg
8a2e943bbd
Detect and handle gaps in the soft invalidated layout information.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16639 72102866-910b-0410-8b05-ffd578937521
2003-05-05 20:52:24 +00:00
Alexander Malmberg
bbdf75548a
Fix updating of glyph counts in some rare cases. Minor cleanups.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16408 72102866-910b-0410-8b05-ffd578937521
2003-04-10 00:08:26 +00:00
Alexander Malmberg
60c44310e2
Tweak glyph caching parameters to increase performance.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16330 72102866-910b-0410-8b05-ffd578937521
2003-04-02 13:28:29 +00:00
Alexander Malmberg
017c2515c7
Change type of a variable holding a character index to int (was char, would overflow and break things.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16117 72102866-910b-0410-8b05-ffd578937521
2003-03-03 15:20:02 +00:00
Alexander Malmberg
8712b50242
Make sure the extra line frag rect is always set when we reach the end.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16043 72102866-910b-0410-8b05-ffd578937521
2003-02-22 01:43:11 +00:00
Alexander Malmberg
5faf6f6f1e
Optimize reuse of soft-invalidated layout a bit in a common case.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16006 72102866-910b-0410-8b05-ffd578937521
2003-02-18 23:34:51 +00:00
Alexander Malmberg
f4a797f333
Use the soft-invalidated layout information to avoid rebuilding layout (when possible).
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16004 72102866-910b-0410-8b05-ffd578937521
2003-02-18 20:27:13 +00:00
Alexander Malmberg
e262df5bbd
(-layoutGlyphsInLayoutManager:inTextContainer:startingAtGlyphIndex:previousLineFragmentRect:nextGlyphIndex:numberOfLineFragments:): Determine the initial value for newParagraph correctly.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15992 72102866-910b-0410-8b05-ffd578937521
2003-02-18 00:35:18 +00:00
Alexander Malmberg
7e1801395c
Store the line frags array as an ivar instead of allocating and freeing it everytime -layoutLineNewParagraph: is called.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15977 72102866-910b-0410-8b05-ffd578937521
2003-02-16 16:54:45 +00:00
Alexander Malmberg
4dc81ab769
Implement extra line fragment handling.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15968 72102866-910b-0410-8b05-ffd578937521
2003-02-16 03:18:35 +00:00
Alexander Malmberg
6d1c78032a
Fix an edge case in tab handling. Also, if tabs occure and the paragraph style has no more tab stops, act as if there were tabs every 100 points.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15957 72102866-910b-0410-8b05-ffd578937521
2003-02-14 16:59:38 +00:00
Alexander Malmberg
77950b1e66
Implement basic handling of tabs.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15950 72102866-910b-0410-8b05-ffd578937521
2003-02-12 23:53:29 +00:00
Alexander Malmberg
39b3c70b7d
(-breakLineByWordWrappingBefore:): Return correct index when breaking at a control glyph.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15917 72102866-910b-0410-8b05-ffd578937521
2003-02-09 17:37:04 +00:00
Alexander Malmberg
8c9dff945f
Make the main typesetting method reentrant.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15913 72102866-910b-0410-8b05-ffd578937521
2003-02-09 13:53:35 +00:00
Alexander Malmberg
e06aff244d
Improve calculation of line height and baseline.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15907 72102866-910b-0410-8b05-ffd578937521
2003-02-08 21:56:33 +00:00
Alexander Malmberg
2169264f00
(-layoutLineNewParagraph:): Fix sign problem with descender.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15843 72102866-910b-0410-8b05-ffd578937521
2003-02-01 12:54:09 +00:00
Alexander Malmberg
4087e5c7f7
Remove debugging printf.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15826 72102866-910b-0410-8b05-ffd578937521
2003-01-31 21:11:13 +00:00
Alexander Malmberg
3ea5844deb
Implement text attachment handling.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15825 72102866-910b-0410-8b05-ffd578937521
2003-01-31 21:08:24 +00:00
Alexander Malmberg
1c5f6f4772
(-layoutLineNewParagraph:): Place baseline higher.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15758 72102866-910b-0410-8b05-ffd578937521
2003-01-29 15:04:46 +00:00
Alexander Malmberg
67626efae4
Set proper used rect for line frag rects.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15749 72102866-910b-0410-8b05-ffd578937521
2003-01-28 19:04:34 +00:00
Alexander Malmberg
f1255d750b
Try to make sure each container gets at least one line frag rect.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15747 72102866-910b-0410-8b05-ffd578937521
2003-01-28 17:00:15 +00:00
Alexander Malmberg
46f18bc1ff
Whitespace cleanups and comments.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15745 72102866-910b-0410-8b05-ffd578937521
2003-01-28 16:44:34 +00:00
Alexander Malmberg
9407b0bfca
Merge in text-system-branch.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15718 72102866-910b-0410-8b05-ffd578937521
2003-01-26 19:21:40 +00:00