Sergii Stoian
fcee2e2c63
* Headers/Additions/GNUstepGUI/GSLayoutManager.h,
...
Source/GSLayoutManager.m: new method -typingAttributes returns default typing
attributes of NSTextView.
* Source/NSLayoutManager.m: override GSLayoutManager's -typingAttributes - primitive
method - provides access to _typingAttributes ivar.
* Source/GSHorizontalTypesetter.m: use new GSLayoutManager's -typingAttributes method
to get paragraph style and font of new empty text container. Normally `curLayoutManager`
is a NSLayoutManager object so actually we get NSLayoutManager's _typingAttributes.
2019-12-10 19:23:04 +02:00
fredkiefer
d31ae5f49b
* Source/GSLayoutManager.m
...
(-glyphRangeForCharacterRange:actualCharacterRange:): Try to
handle attachments at the end of the file more graceful.
2018-01-14 18:17:05 +01:00
Fred Kiefer
a33b4c5073
* Source/GSLayoutManager.m (-usedRectForTextContainer:): Add extra
...
line rect when needed.
* Source/NSTextView.m (sizeToFit): Don't add extra line rect, as
it is now already included.
* Source/NSStringDrawing.m (cache_lookup): Remove hack for empty string.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@40346 72102866-910b-0410-8b05-ffd578937521
2017-02-17 19:44:25 +00:00
Fred Kiefer
2b401268fc
Don't try to get the advancement for GSAttachmentGlyph.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@40272 72102866-910b-0410-8b05-ffd578937521
2016-12-18 11:58:31 +00:00
Fred Kiefer
2572daeff4
* Source/GSLayoutManager.m (-advancementForGlyphAtIndex:):
...
Simplify this method and move it in the file.
* Source/NSLayoutManager.m: Use the pre-computed advancement
instead of calculating it every time.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@40167 72102866-910b-0410-8b05-ffd578937521
2016-10-23 20:13:37 +00:00
Fred Kiefer
d0d119d365
* Source/GSLayoutManager.m: Don't try to get the advancement for NSControlGlyph.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@40166 72102866-910b-0410-8b05-ffd578937521
2016-10-21 22:42:38 +00:00
David Chisnall
4850a9feac
Fix all current compiler warnings on FreeBSD/x86-64.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@36038 72102866-910b-0410-8b05-ffd578937521
2013-01-30 09:48:54 +00:00
Fred Kiefer
89fed0244c
* Headers/Additions/GNUstepGUI/GSLayoutManager_internal.h: Make
...
-_invalidateEverything visible.
* Source/GSLayoutManager.m
* (-invalidateGlyphsForCharacterRange:...): Call
-_invalidateEverything when the whole character range is
invalidated.
* Source/NSStringDrawing.m: Remove workarounds for full layout
* invalidation.
Move initialisation check into cache_lock().
Extract size match code in function.
Put #ifdef around all statistics code.
Use same LARGE_SIZE value as Apple does.
Make the methods taking options the main ones.
* Source/GSHorizontalTypesetter.m (-fullJustifyLine::,
-rightAlignLine::, -centerAlignLine::): Don't align when the
line
width is bigger than 1e7.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@35925 72102866-910b-0410-8b05-ffd578937521
2012-12-30 15:48:21 +00:00
Fred Kiefer
60fcb3622e
* Headers/AppKit/NSOpenGL.h,
...
* Source/NSOpenGLPixelFormat.m: NSOpenGLPixelFormat directly
* implements
initWithCoder so that it may marshall the pixel attributes prior
to
initWithAttributes:. Change the getValues:... method to take an
int argument instead of long. GLint is mapped to int on most
systems.
* Source/NSOpenGLContext.m: Use the format decoding to decode an
* OpenGL context.
Patch by Clint Smullen <daemonae>.
* Source/GSLayoutManager.m: Small cleanup in glyph code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@35923 72102866-910b-0410-8b05-ffd578937521
2012-12-26 19:19:50 +00:00
Wolfgang Lux
70fe303412
Prevent potential crashes due to invalid pointers left in text
...
containers and layout managers when their respective layout manager
and text storage are deallocated.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@35178 72102866-910b-0410-8b05-ffd578937521
2012-06-05 11:34:02 +00:00
Fred Kiefer
12bbf00d16
Removed a few compiler warnings found by gcc 4.6
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34344 72102866-910b-0410-8b05-ffd578937521
2011-12-22 09:16:04 +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
Richard Frith-MacDonald
e1fdfb3ee4
tidyup
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32410 72102866-910b-0410-8b05-ffd578937521
2011-02-28 14:24:57 +00:00
Riccardo Mottola
b2d830cbf4
Replace objc_malloc with malloc for structures.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32409 72102866-910b-0410-8b05-ffd578937521
2011-02-28 14:04:43 +00:00
Fred Kiefer
cdb08be089
Implement glyph attribute handling.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31730 72102866-910b-0410-8b05-ffd578937521
2010-12-13 21:26:15 +00:00
Fred Kiefer
d08b23d9b0
First batch of corrections based on David's static analysis.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31337 72102866-910b-0410-8b05-ffd578937521
2010-09-12 16:34:22 +00:00
Fred Kiefer
99e273a57d
few compiler warning fixes plus a lot of #import replacement.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30448 72102866-910b-0410-8b05-ffd578937521
2010-05-24 10:48:14 +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
26e2eb86ea
* Source/GSLayoutManager.m: do not return (0,0) when a zero length
...
range is passed into glyphRangeForCharacterRange:
actualCharacterRange:. Tests on Mac OS X indicate that this is
a valid case.
* Source/GSNibLoading.m: Fixed some memory leaks.
* Source/NSRulerMarker.m: Use the bounds of the containing view
instead of markersRect. I will revisit if the _markersRect method
needs to be corrected, but this code seems to correct problems
observed when dragging markers in and out of the rulerView.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27986 72102866-910b-0410-8b05-ffd578937521
2009-02-26 05:42:09 +00:00
Fred Kiefer
ae4c7503ac
Add some 10.5 methods for NSLayoutManager
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27480 72102866-910b-0410-8b05-ffd578937521
2008-12-31 16:29:44 +00:00
Richard Frith-MacDonald
bacf599365
Fix uninitialised variable
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27177 72102866-910b-0410-8b05-ffd578937521
2008-11-30 14:06:15 +00:00
Fred Kiefer
11bede28df
Protect all access to the glyph arrays.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26773 72102866-910b-0410-8b05-ffd578937521
2008-07-12 23:00:37 +00:00
Fred Kiefer
1f1fb3c153
Add some more protection against inconsistent state.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26771 72102866-910b-0410-8b05-ffd578937521
2008-07-12 21:10:08 +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
Gregory John Casamento
016798f3cb
Correct a crash on 64 bit systems.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26528 72102866-910b-0410-8b05-ffd578937521
2008-05-15 01:56:58 +00:00
Fred Kiefer
f59bbe5aa8
Extract glyph generation code into separate class.
...
Plus some additional cleanup.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26523 72102866-910b-0410-8b05-ffd578937521
2008-05-13 19:40:20 +00:00
Fred Kiefer
14176f6a78
New NSFont method for glyph generation.
...
Ligature and decompose handling in gsLayoutManager, moved here from the
art backend.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26430 72102866-910b-0410-8b05-ffd578937521
2008-04-04 22:01:44 +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
Richard Frith-MacDonald
03a4a96a40
Update includes ... closer MacOS-X compatibility.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@25635 72102866-910b-0410-8b05-ffd578937521
2007-11-29 20:28:03 +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
Matt Rice
ba8d729b8a
* Source/NSTextView_actions.m:
...
* Source/NSOpenPanel.m:
* Source/GSLayoutManager.m:
* Source/NSLayoutManager.m:
* Source/NSSavePanel.m:
* Source/NSTextView.m:
* Source/NSStringDrawing.m:
* Headers/Additions/GNUstepGUI/GSLayoutManager_internal.h:
* Headers/AppKit/NSTextView.h: Remove underscores from category names
as they can confuse the debugger.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@24032 72102866-910b-0410-8b05-ffd578937521
2006-11-06 10:19:20 +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
ad2419e484
2005-01-21 21:43 Alexander Malmberg <alexander@malmberg.org>
...
Various whitespace cleanups, comment type fixes, and changes
to avoid warnings from recent versions of gcc.
* Headers/Additions/GNUstepGUI/GSToolbar.h (-_toolbars): Declare.
* Source/NSWindow+Toolbar.m: Remove conflicting declaration of
[NSToolbar -_toolbars].
* Headers/Additions/GNUstepGUI/GSServicesManager.h,
Source/GSServicesMananger.m (-item2title:, -validateMenuItem:):
Adjust argument types.
* Headers/AppKit/NSMenu.h (-validateMenuItem:): Adjust argument
type.
* Source/NSTextView.m (-sizeToFit): Don't use size uninitialized
if neither resizable flags is set.
(-insertText:): Adjust argument type.
* Headers/AppKit/NSResponder.h, Source/NSResponder.m (-insertText:):
Adjust argument type. Document.
* Headers/AppKit/NSView.h: Change type of ivar _window to NSWindow *.
* Source/GSTitleView.m (-mouseDown:): Always initialize
startWindowOrigin.
* Source/NSApplication.m (-setApplicationIconImage:): Add casts
to avoid warnings.
* Source/NSCell.m (-cellSize): Add default: case.
* Source/NSPasteboard.m
([GSFiltered -pasteboard:provideDataForType:]): Detect and warn if we
can't find a filter that will get us the desired type.
* Source/NSProgressIndicator.m: Comment out unused variable 'images'.
* Source/NSBezierPath.m: Declare GSBezierPath fully before using it.
(-bezierPathByFlatteningPath, -bezierPathByReversingPath): Make sure
variables are always initialized.
* Source/NSMenuView.m,
* Source/NSPrintOperation.m,
* Source/NSSplitView.m,
* Source/NSTableHeaderView.m: Make sure variables are always
initialized.
* Source/NSBox.m,
* Source/NSImageview.m,
* Source/NSText.m,
* Source/NSTextStorage.m: Add missing includes.
* Source/GSKeyBindingTable.m,
* Source/GSLayoutManager.m,
* Source/NSBitmapImageRep+PNM.m,
* Source/NSBundleAdditions.m,
* Source/NSLayoutManager.m,
* Source/nsimage-tiff.h,
* Source/tiff.m,
* Headers/Additions/GNUstepGUI/GSDisplayServer.h,
* Source/GSDisplayServer.m: Change signedness of various variables.
* Source/NSPanel.m (-sendEvent:): Remove.
* Source/NSWindow.m (-becomesKeyOnlyIfNeeded): New method.
(-_sendEvent:becomesKeyOnlyIfNeeded:): Remove. Move code ...
(-sendEvent:): ... here. Use -becomesKeyOnlyIfNeeded instead
of the argument.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@20590 72102866-910b-0410-8b05-ffd578937521
2005-01-21 20:39:18 +00:00
Alexander Malmberg
36f5227473
Fix calculation of used rect.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@19861 72102866-910b-0410-8b05-ffd578937521
2004-08-10 00:08:42 +00:00
Alexander Malmberg
77a10cb02f
Optimize -usedRectForTextContainer:.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@19857 72102866-910b-0410-8b05-ffd578937521
2004-08-09 19:50:01 +00:00
Alexander Malmberg
bc3d8f4913
Optimize -usedRectForTextContainer:.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@19856 72102866-910b-0410-8b05-ffd578937521
2004-08-09 19:49:24 +00:00
Alexander Malmberg
cfe33cfa9e
(-_generateGlyphsForRun:at:): Use a properly typed function pointer for characterIsMember.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@19290 72102866-910b-0410-8b05-ffd578937521
2004-05-12 13:55:46 +00:00
Fred Kiefer
3480b30e56
Added missing method [isValidGlyphIndex:].
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@17749 72102866-910b-0410-8b05-ffd578937521
2003-09-29 21:25:46 +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
7caced9d58
(_glyphDumpRuns,
...
helpers::generateRunsToCharacter:,
helpers::generateGlyphsUpToCharacter:,
helpers::generateGlyphsUpToGlyph:,
helpers::glyphForCharacter:index:positions::, getGlyphs:range:,
characterRangeForGlyphRange:actualGlyphRange:,
glyphRangeForCharacterRange:actualCharacterRange:,
invalidateGlyphsForCharacterRange:changeInLength:actualCharacterRange:,
insertTextContainer:atIndex:):
Removed compiler warning about signed/unsigned comparision.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@17041 72102866-910b-0410-8b05-ffd578937521
2003-06-26 23:25:34 +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
c6beeb60ec
Make sure the text storage doesn't have unprocessed editing when using it.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16378 72102866-910b-0410-8b05-ffd578937521
2003-04-06 13:12:34 +00:00
Alexander Malmberg
74704f51e3
When steping forward at the end of the glyph runs, correctly handle the case where the current run is extended.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16345 72102866-910b-0410-8b05-ffd578937521
2003-04-03 18:31:25 +00:00
Alexander Malmberg
df47a8fe60
(-usedRectForTextContainer:): Don't add the extra line frag rect.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16118 72102866-910b-0410-8b05-ffd578937521
2003-03-03 18:32:55 +00:00
Alexander Malmberg
7c79dae556
Add and implement -typesetter and -setTypesetter:.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16115 72102866-910b-0410-8b05-ffd578937521
2003-03-03 13:57:53 +00:00