Commit graph

356 commits

Author SHA1 Message Date
ericwa
81b8b6a826 * Source/NSView.m (-setBounds:, -setBoundsOrigin:, -setBoundsSize:):
Revert a portion of r32955 which I committed last april but I now
see was a mistake, and I just discovered is breaking the  copy-on-scroll
behaviour of NSClipView - we end up always redrawing the entire visible
portion of the document view right now.

In r32955 I added [self setNeedsDisplay: YES] calls to these methods
even though these are documented explicitly as not marking the view for
needing display. Approved by Fred for commit during the code freeze.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34606 72102866-910b-0410-8b05-ffd578937521
2012-01-21 19:15:51 +00:00
ericwa
aaefd51968 Undo last change as it broke Graphos printing
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34353 72102866-910b-0410-8b05-ffd578937521
2011-12-23 21:22:41 +00:00
ericwa
e54e42c0ca * Source/NSView.m (-beginPageInRect:atPlacement:): Always translate
by the placement value. Previously, we would translate only if the
rect parameter was empty, which doesn't make sense to me.
This fixes the bug where the last page of a document printed from
Ink/TextEdit was incorrectly positioned at the bottom of the
printed page.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34352 72102866-910b-0410-8b05-ffd578937521
2011-12-23 20:33:19 +00:00
fredkiefer
ccf59ac3ca Replace some occurences of int with NSInteger
and unsigned with NSUInteger. This allows to recompile gui on 
64 bit systems after the change to NSNotFound in base.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34312 72102866-910b-0410-8b05-ffd578937521
2011-12-17 17:16:09 +00:00
ericwa
d3f2649460 * Source/NSView.m: centerScanRect patch from Sebastian Reitenbach.
Note that this makes the NSView autoresizing and rounding test pass,
but the new centerScanRect test I just added fail.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34104 72102866-910b-0410-8b05-ffd578937521
2011-11-01 17:45:21 +00:00
fredkiefer
cab517b510 Fix XIB loading bug reported by Julian Mayer as bug #34454.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33931 72102866-910b-0410-8b05-ffd578937521
2011-10-03 12:48:15 +00:00
ericwa
26e09cb5f2 * Source/NSView.m (_setNeedsDisplayInRect_real:): Enlarge
(if necessary) _invalidRect so it lies on integral device pixels.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33809 72102866-910b-0410-8b05-ffd578937521
2011-09-07 05:33:25 +00:00
fredkiefer
55d2d291af * Source/NSView.m (-setBoundsSize:): Adjust the origin as well.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33717 72102866-910b-0410-8b05-ffd578937521
2011-08-11 08:14:53 +00:00
fredkiefer
03508b6e82 Lots of minimal changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33613 72102866-910b-0410-8b05-ffd578937521
2011-07-23 13:43:33 +00:00
fredkiefer
b1ec69532d Declare variable at begin of method to allow compilation with older
compilers.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33493 72102866-910b-0410-8b05-ffd578937521
2011-07-08 22:52:35 +00:00
ericwa
2e6758ea70 * Source/NSView.m (-resizeWithOldSuperviewSize:): Factor out
autoresizing logic into a function. Add an extra code path to handle
when the flexible space is 0, which behaves like the old version
of the code (it divides the available space evenly).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33490 72102866-910b-0410-8b05-ffd578937521
2011-07-08 19:29:50 +00:00
ericwa
67cd120733 * Headers/AppKit/NSView.h:
* Source/NSView.m (-resizeWithOldSuperviewSize): Pixel-align
view frame when autoresizing.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33483 72102866-910b-0410-8b05-ffd578937521
2011-07-07 23:16:02 +00:00
fredkiefer
9c681fa416 * Source/NSView.m (-resizeWithOldSuperviewSize): Reimplement to
resize proportionally as Cocoa does.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33482 72102866-910b-0410-8b05-ffd578937521
2011-07-07 22:19:07 +00:00
fredkiefer
1a31d7e65a * Source/GSDragView.m (-init): Set the window background colour to clear.
* Headers/AppKit/NSAffineTransform.h,
* Headers/AppKit/NSView.h,
* Source/NSAffineTransform.m,
* Source/NSPrintOperation.m,
* Source/NSView.m: Use CGFlaot instead of float.
* Tests/gui/NSView/NSView_bounds_scale.m: New test file that currently fails.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33398 72102866-910b-0410-8b05-ffd578937521
2011-06-28 20:59:24 +00:00
fredkiefer
f45090d8d4 * Source/NSView.m (-_viewWillMoveToWindow:): Move the invalidation of
the coordinate transformations and the cursor rects before the
window test. Remove calls to coordinate invalidation from other places.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33347 72102866-910b-0410-8b05-ffd578937521
2011-06-19 10:04:24 +00:00
fredkiefer
b8f6fae91f * Source/NSView.m (-setBounds:, -setBoundsSize:): Rewrite of this
methods plus a few helpers. We pass now all the frame/bounds test cases.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33343 72102866-910b-0410-8b05-ffd578937521
2011-06-18 22:59:58 +00:00
ericwa
96843b7efa * Source/NSView.m (-scrollRectToVisible:): Work when the receiver
isn't partially visible in the clip view.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33297 72102866-910b-0410-8b05-ffd578937521
2011-06-14 02:27:35 +00:00
fredkiefer
79ee526fc5 * Source/NSView.m (-setSubviews:): New method.
Code by Banlu Kemiyatorn <object@gmail.com>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33068 72102866-910b-0410-8b05-ffd578937521
2011-05-19 08:19:13 +00:00
fredkiefer
73ae595130 Remove most uses of the method [NSView -removeSubview:].
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33047 72102866-910b-0410-8b05-ffd578937521
2011-05-15 14:42:08 +00:00
ericwa
a68c89afb8 011-05-07 Eric Wasylishen <ewasylishen@gmail.com>
* Source/NSView.m (-convertPoint:toView:): Correct this
	method; it was applying the transforms backwards :-(


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33001 72102866-910b-0410-8b05-ffd578937521
2011-05-07 21:30:25 +00:00
ericwa
13d635f673 * Source/NSView.m (-updateBoundsMatrix):
Fix a bug where updateBoundsMatrix would refuse to restore a
view's scale to its original value, after a modified bounds rect
had been set.
* Source/NSView.m (-setBounds:, -setBoundsOrigin:, -setBoundsSize:):
Call [self setNeedsDisplay: YES]; at the ends of these methods.
While the Cocoa docs explicitly say that calling these methods
won't mark the view as needing redisplay, this doesn't seem to
be true in practice.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32955 72102866-910b-0410-8b05-ffd578937521
2011-04-30 06:40:14 +00:00
ericwa
4e9b578bc5 * Source/NSView.m (-_rebuildCoordinates): Remove assumption that
the window content view's superview's transformation matrix is
the identity matrix.
* Source/NSView.m (-convertPoint..., convertRect..., convertSize...):
Rewrite these methods to remove the same assumption as above, and
also call -_matrixToWindow/-_matrixFromWindow rather than accessing
ivars directly.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32887 72102866-910b-0410-8b05-ffd578937521
2011-04-18 21:02:36 +00:00
fredkiefer
a823988b7a Release the key value binding as it will be
retained in the binding table.
Leak found by static code analyser.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32484 72102866-910b-0410-8b05-ffd578937521
2011-03-07 13:35:37 +00:00
fredkiefer
b3561409bb Add the 10.5 coordinate transformation methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31755 72102866-910b-0410-8b05-ffd578937521
2010-12-22 17:06:35 +00:00
jonathanosx
3a49e57a7d * Source/NSView.m: Added some basic santity checkts that the views
are in windows when converting rectangles.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31583 72102866-910b-0410-8b05-ffd578937521
2010-11-02 20:57:52 +00:00
fredkiefer
9663941b71 * Source/NSView.m (-_viewWillMoveToWindow:): When calling
[-releaseGState] make sure to keep the value of _allocate_gstate.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31409 72102866-910b-0410-8b05-ffd578937521
2010-09-24 18:35:18 +00:00
fredkiefer
33899b229d Fix bugs found by static code analysis.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31360 72102866-910b-0410-8b05-ffd578937521
2010-09-16 07:57:57 +00:00
fredkiefer
ce2180918a Check if the window and it's gstate exist before undefining the gstate.
Patch by Georg Fleischmann <G.Fleischmann@vhf.de>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31350 72102866-910b-0410-8b05-ffd578937521
2010-09-15 08:21:32 +00:00
qmathe
7c75329e42 Replaced _rFlags.flipped_view use with -isFlipped and deprecated
_rFlagsType.flipped_view.
Still needs some work to automatically invalidate coordinates when the 
flipping changes e.g. between two drawing sessions.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31233 72102866-910b-0410-8b05-ffd578937521
2010-09-03 08:21:52 +00:00
qmathe
0eee79f7b5 Fixed many drawing issues (many ones being related to the flipping).
See bug report #27782

In particular, fixed -[NSImage drawXXX] and -[NSImage composite/dissolveXXX] 
methods to work exactly as Cocoa when the Cairo backend is used.
Added a new draw operator (in addition to composite) to the backend. Cairo is 
the only backend that implements it for now.
Eliminated as many flipping checks as possible.

Warning: Untested with the winlib backend. 
You must update, recompile and install both Back and Gui.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30523 72102866-910b-0410-8b05-ffd578937521
2010-06-01 11:04:36 +00:00
fredkiefer
e64aca8bb2 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
theraven
3da9ac45b7 Lots of small tweaks to make -gui compile without warnings with clang.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30119 72102866-910b-0410-8b05-ffd578937521
2010-04-10 20:33:30 +00:00
dpsimons
b3bb898eba Fix problems with next key view chain
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30088 72102866-910b-0410-8b05-ffd578937521
2010-04-05 16:59:51 +00:00
theraven
14205ea54b Removed all uses of @defs() from -gui, so it now compiles cleanly with the non-fragile ABI. All ivars that must be accessed from other classes are now wrapped in PACKAGE_SCOPE. With clang, this expands to @package, with GCC it expands to @public.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30045 72102866-910b-0410-8b05-ffd578937521
2010-03-27 00:01:03 +00:00
rmottola
b06fb57e31 removed c99-isms
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30041 72102866-910b-0410-8b05-ffd578937521
2010-03-26 00:10:45 +00:00
fredkiefer
d2321f05c7 Change tag to NSInteger.
Patch by Anibal Rindisbacher <anibal784@gmail.com>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30026 72102866-910b-0410-8b05-ffd578937521
2010-03-23 21:26:24 +00:00
fredkiefer
60daf66eb6 Small keyed decoing improvements.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29963 72102866-910b-0410-8b05-ffd578937521
2010-03-15 12:55:12 +00:00
fredkiefer
bbf6f7bd5e Better debug output plus minor improvements.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29959 72102866-910b-0410-8b05-ffd578937521
2010-03-15 10:49:21 +00:00
fredkiefer
46bba406d0 Add two Cocoa debug helper methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29924 72102866-910b-0410-8b05-ffd578937521
2010-03-13 15:17:21 +00:00
dpsimons
6c2256cdd3 fix behavior of simple click within selected text; optimize setNeedsDisplayInRect: when called with empty rect
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29914 72102866-910b-0410-8b05-ffd578937521
2010-03-12 22:50:42 +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
dpsimons
129f0cd597 Remove subviews AFTER next/previous key views have been cleaned up, in case any subviews were in the view chain
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29529 72102866-910b-0410-8b05-ffd578937521
2010-02-09 22:05:25 +00:00
ericwa
471c112e9d * Source/NSView.m (-setHidden:): When hiding a view, we need to
call -setNeedsDisplay:YES on the superview, rather than self


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29417 72102866-910b-0410-8b05-ffd578937521
2010-01-27 08:31:19 +00:00
ericwa
384f64e87e * Source/NSView.m (-setHidden:): Fix un-hiding of hidden views, loaded
from nib's, with subviews. The subview coordinates just need to be
invalidated when the view is unhidden.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29416 72102866-910b-0410-8b05-ffd578937521
2010-01-27 07:40:54 +00:00
wlux
0840e3b3dc Fix bug where NSView's -dealloc could break the key view chain.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29081 72102866-910b-0410-8b05-ffd578937521
2009-11-29 14:25:54 +00:00
fredkiefer
c10bfc152d Two small changes that should make Emacs 23.1 usable with GNUstep.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28643 72102866-910b-0410-8b05-ffd578937521
2009-09-08 22:10:56 +00:00
rfm
f48b5d132e Small theme update, plus documentation fixes and tweaks to avoid warnings.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28538 72102866-910b-0410-8b05-ffd578937521
2009-08-25 07:46:37 +00:00
fredkiefer
1bcf5f9b59 * Source/NSView.m (-initWithFrame:, -initWithCoder:) Set
_post_frame_changes and _post_bounds_changes to YES by default.
  Patch by Quentin Mathe <qmathe@gmail.com>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28465 72102866-910b-0410-8b05-ffd578937521
2009-08-15 22:34:13 +00:00
fredkiefer
d1d98575e5 * Source/NSView.m (-_setNeedsDisplayInRect_real:) Set the window
views as needing display, even when the invalidated rectangle
didn't change.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28382 72102866-910b-0410-8b05-ffd578937521
2009-07-06 14:18:16 +00:00
gcasa
1d847dc588 * Source/NSSplitView.m: Set subviews to resize when loaded from
the nib. 
	* Source/NSView.m: Partial revert of previous change.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28201 72102866-910b-0410-8b05-ffd578937521
2009-04-10 19:00:20 +00:00