Commit graph

54 commits

Author SHA1 Message Date
fredkiefer
323e837d9a Rewrote NSBezierPath to allow subclasses.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33942 72102866-910b-0410-8b05-ffd578937521
2011-10-04 13:32:50 +00:00
theraven
00f5e41f60 Change direct references to the isa pointer to calls to object_getClass(). In
discussion with Steve Naroff (before he left Apple) it was decided that the isa
pointer should be regarded as an implementation detail and not part of the
language, so direct references to it are deprecated (on OS X).  This gives the
runtime a bit more freedom to do secret isa-swizzling tricks.

I've had these changes sitting in my copy for ages - no idea why they weren't
committed.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33111 72102866-910b-0410-8b05-ffd578937521
2011-05-25 11:19:09 +00:00
fredkiefer
3cdc68a09b Replace #include -> #import
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32451 72102866-910b-0410-8b05-ffd578937521
2011-03-04 11:33:22 +00:00
nicola
b854f2da8a Explicitly encode/decode enumerated types as 'int' which is what all
the existing archives use (even if it is incorrect as in many cases
the types are actually 'unsigned int')


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31785 72102866-910b-0410-8b05-ffd578937521
2010-12-27 11:57:04 +00:00
fredkiefer
9768ee6425 Next bit of #include -> #import replacement.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30029 72102866-910b-0410-8b05-ffd578937521
2010-03-24 09:18:14 +00:00
rfm
43a948acf5 Use standard -zone method
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29824 72102866-910b-0410-8b05-ffd578937521
2010-03-03 17:33:29 +00:00
fredkiefer
a67707b682 Fix up teh includes to compile again after latest changes to base. Still
plenty of warnings and the result isn't working at least on 64 bit
machines :-(


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29685 72102866-910b-0410-8b05-ffd578937521
2010-02-20 10:40:44 +00:00
ericwa
b3d818cf84 Cairo backend:
-DPSsetflat: and -DPScurrentflat should not have been transforming
the flatness value with the current transformation matrix.
The effect of this could be seen in the Apple BezierPathLab example;
zooming in on the circle caused it to look more and more like a
polygon.

Also set NSBezierPath default flatness to 0.6 to match OS X
(it was 1.0, which made circles look a bit rough)


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29145 72102866-910b-0410-8b05-ffd578937521
2009-12-20 18:47:26 +00:00
fredkiefer
e442b9c770 * Source/NSBezierPath.m (-appendBezierPathWithRoundedRect:xRadius:yRadius:):
Small rearangment of code.
Patch by Fred Morcos <fred.morcos@gmail.com>


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28254 72102866-910b-0410-8b05-ffd578937521
2009-04-27 13:12:25 +00:00
fredkiefer
19dd864f83 * Headers/AppKit/NSBezierPath.h,
* Source/NSBezierPath.m
* (+bezierPathWithRoundedRect:xRadius:yRadius:, -appendBezierPathWithRoundedRect:xRadius:yRadius:):
New 10.5 methods.
Patch by Fred Morcos <fred.morcos@gmail.com>


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28247 72102866-910b-0410-8b05-ffd578937521
2009-04-25 12:38:15 +00:00
fredkiefer
63cd68caae Return a winding count of 0 when the bezier path is empty.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27086 72102866-910b-0410-8b05-ffd578937521
2008-11-17 22:19:30 +00:00
rfm
c6f931eaf9 Fix some codee which was not 64bit clean.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26816 72102866-910b-0410-8b05-ffd578937521
2008-08-21 08:42:20 +00:00
fedor
ce41d782c1 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
fredkiefer
b47545ccc9 Use fill instead of stroke to draw the glyphs.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26440 72102866-910b-0410-8b05-ffd578937521
2008-04-08 07:57:11 +00:00
fredkiefer
afa40306f2 Implement basic appendBezierPathWithPackedGlyphs: handling to forward to
the backend.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26435 72102866-910b-0410-8b05-ffd578937521
2008-04-07 13:45:41 +00:00
fredkiefer
e82473deaa Patch for bezier path encoding.
Add support for new dragging methods in table view.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@25660 72102866-910b-0410-8b05-ffd578937521
2007-12-02 20:43:32 +00:00
fredkiefer
e25cceb710 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
rfm
1aaaaffc37 Add some pointless initialisations to satisfy compiler warnings.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@23130 72102866-910b-0410-8b05-ffd578937521
2006-07-05 07:09:43 +00:00
CaS
6988bf34c2 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
fedor
db3c52eab8 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
alexm
8b0730a303 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
alexm
4ca1291c9c 2005-01-11 23:50 Alexander Malmberg <alexander@malmberg.org>
* Headers/AppKit/NSBezierPath.h (NSWindingRule)
 	(-containsPoint): Document.
	(-windingCountAtPoint:): New method.
	* Source/NSBezierPath.m: Remove some trailing whitespace.
	(PI): Correct rounding.
	(contribution, -contributionToContains:): Remove.
	(winding_line, winding_curve): New functions.
	(-windingCountAtPoint:): New method.
	(-containsPoint:): Use -windingCountAtPoint: instead of
	-contributionToContains:. Don't flatten the path.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@20538 72102866-910b-0410-8b05-ffd578937521
2005-01-11 22:53:08 +00:00
alexm
0a49837509 (-_recalculateBounds): Rewrite.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@19734 72102866-910b-0410-8b05-ffd578937521
2004-07-15 00:32:01 +00:00
FredKiefer
fca54ecd29 Some unrelated bug fixes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18672 72102866-910b-0410-8b05-ffd578937521
2004-02-25 23:27:46 +00:00
FredKiefer
a416725d07 New implementation of [NSBezierPath containsPoint].
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18220 72102866-910b-0410-8b05-ffd578937521
2003-11-28 22:20:19 +00:00
FredKiefer
5ddef4e470 Undid accidental last commit of this file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18104 72102866-910b-0410-8b05-ffd578937521
2003-11-22 16:17:11 +00:00
FredKiefer
f2b2969e20 Small graphics cleanups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18103 72102866-910b-0410-8b05-ffd578937521
2003-11-22 16:14:01 +00:00
FredKiefer
aea2927168 Removed new GCC 3.4 warnings from Alexander Malmbergs list.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@17601 72102866-910b-0410-8b05-ffd578937521
2003-09-01 18:17:52 +00:00
ayers
9732999fd8 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
CaS
1daac2502e More doc fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@17303 72102866-910b-0410-8b05-ffd578937521
2003-07-22 17:03:50 +00:00
fedor
fc402789db 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
alexm
55bf5b4943 Add [GSFontInfo -appendBezierPathWithGlyphs:count:toBezierPath:] and use it to implement NSBezierPath's glyph methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16903 72102866-910b-0410-8b05-ffd578937521
2003-06-11 13:36:59 +00:00
FredKiefer
8efae64f83 Moved code from [bezierPathWithOvalInRect:] and
[bezierPathWithRect:] to [appendBezierPathWithOvalInRect:] and
[appendBezierPathWithRect:] and implemented the former with a call
to the later.
Preliminary implemetation for [appendBezierPathWithGlyph:inFont:]
and [appendBezierPathWithGlyphs:count:inFont:].


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16615 72102866-910b-0410-8b05-ffd578937521
2003-05-02 19:00:43 +00:00
FredKiefer
f1e9e78f49 Corrected [GSBezierPath appendBezierPath:] to check the class of
the parameter and to keep the isFlat flag in sync.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15065 72102866-910b-0410-8b05-ffd578937521
2002-11-24 01:05:20 +00:00
FredKiefer
2aee934b43 Replaces [_doPath] with calls to [NSGraphicsContext
GSSendBezierPath:].
Added optimisation methods [appendBezierPath:] and
[transformUsingAffineTransform:] on GSBezierPath.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15038 72102866-910b-0410-8b05-ffd578937521
2002-11-21 20:28:42 +00:00
FredKiefer
8cd8376db5 Corrected includes to speed up compilation.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@14972 72102866-910b-0410-8b05-ffd578937521
2002-11-11 00:15:29 +00:00
FredKiefer
df40fbfea2 Handle seting of an empty dash in [setLineDash:count:phase:].
[_doPath] now always sends the dash pattern, even when empty.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@14699 72102866-910b-0410-8b05-ffd578937521
2002-10-10 09:47:48 +00:00
alexm
b5308e0b2c Handle curves correctly when appending a path. Fix numerical stability issue in appendBezierPathWithArcFromPoint:toPoint:radius:.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@14369 72102866-910b-0410-8b05-ffd578937521
2002-08-29 22:14:48 +00:00
FredKiefer
36b7aed5bf Implemented [appendBezierPathWithArcFromPoint:toPoint:radius:]
with code from Alexander Malmberg <alexander@malmberg.org>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@14363 72102866-910b-0410-8b05-ffd578937521
2002-08-28 22:02:42 +00:00
nico
3843d2a2b3 Autorelease the path returned by +bezierPath; indentation changes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@12708 72102866-910b-0410-8b05-ffd578937521
2002-02-23 21:56:48 +00:00
CaS
062a70fb30 Fix missed file for GIS api change
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@12374 72102866-910b-0410-8b05-ffd578937521
2002-02-01 18:19:04 +00:00
fedor
c51f4265da Markup for autogsdoc
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@11788 72102866-910b-0410-8b05-ffd578937521
2001-12-17 16:51:51 +00:00
nico
a00dc20735 When appending an arc to a bezier path, draw the line from the current
point to the arc start point - unless this is the first element of the path


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@10693 72102866-910b-0410-8b05-ffd578937521
2001-08-13 13:08:22 +00:00
FredKiefer
c0baa7afdb Added implementation for dashes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@9967 72102866-910b-0410-8b05-ffd578937521
2001-05-18 20:58:27 +00:00
FredKiefer
5d58b4955d [containsPoint:] corrected and simplified a bit, but this still
needs a complete rework.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@9464 72102866-910b-0410-8b05-ffd578937521
2001-03-21 00:09:29 +00:00
nico
fe734480f2 Fixed how angles are managed when drawing arcs: do it postscript-like
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@9308 72102866-910b-0410-8b05-ffd578937521
2001-03-07 13:09:22 +00:00
nico
d3b32aaf20 Fixes to appending an arc
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@9252 72102866-910b-0410-8b05-ffd578937521
2001-03-01 01:47:32 +00:00
FredKiefer
b4948d3901 Corrected some bugs. Opimized the concret subclass to use a GSIArray.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8731 72102866-910b-0410-8b05-ffd578937521
2001-01-21 22:32:35 +00:00
FredKiefer
0470d8cb1d Almost complete rewrite. The abstract class implements now most of
the methods leaving only 9 methods to the concrete class. (And
the hit test should also go into the abstract class) Simplified
and corrected most methods.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8718 72102866-910b-0410-8b05-ffd578937521
2001-01-20 17:41:22 +00:00
fedor
ceda7aa91c Merge 0.6.6 branch into main.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@7188 72102866-910b-0410-8b05-ffd578937521
2000-08-07 22:06:04 +00:00