Commit graph

5310 commits

Author SHA1 Message Date
Eric Wasylishen
ad562c0794 * Source/Functions.m:
* Headers/AppKit/NSGraphics.h: NSDrawNinePartImage implementation


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33745 72102866-910b-0410-8b05-ffd578937521
2011-08-16 02:58:12 +00:00
Eric Wasylishen
01c4a0be63 * Headers/Additions/GNUstepGUI/GSTheme.h: New GSThemeMargins struct.
Rename buttonBorderForCell:style:state: to buttonMarginsForCell:style:state:
and return the top/bottom/left/right margins instead of just two values.
(This is a theme API break.)
* Source/GSThemeDrawing.m: Implement buttonMarginsForCell:style:state:.
Also reduce the top and left margin of the default button by 1 pt, to
better reflect the button's appearance.
* Source/GSGuiPrivate.h: Add a GSRoundTowardsNegativeInfinity function
* Source/NSButtonCell.m (-drawImage:withFrame:inView:): Round the image
position down and to the right, as this seems to look the best.
* Source/NSButtonCell.m (-cellSize): Call new buttonMarginsForCell: method
* Source/NSButtonCell.m (-drawingRectForBounds:): Call new
buttonMarginsForCell: method


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33743 72102866-910b-0410-8b05-ffd578937521
2011-08-15 23:12:37 +00:00
Eric Wasylishen
6ec3f1a58b * Source/NSImage.m (GSResolutionOfImageRep): Specify behaviour when the
rep has a size of zero, or is a vector rep. Prevent division by 0.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33742 72102866-910b-0410-8b05-ffd578937521
2011-08-15 20:19:21 +00:00
Eric Wasylishen
e9367ed059 * Source/NSImage.m (-nativeDrawInRect:...): Deal with a zero rep size
* Source/NSCustomImageRep.m:
- Don't retain the delegate (matching OS X)
- Remove unnecessary flip checks from -drawAtPoint: and -drawInRect:
  to match the code in NSImageRep
- Fix a mistake when setting the ctm scale factor


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33741 72102866-910b-0410-8b05-ffd578937521
2011-08-15 20:11:11 +00:00
Fred Kiefer
4e05c96c6f * 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
Fred Kiefer
9d79d0c978 * Source/NSMenu.m (+initialize): Don't create the default menu
zone as we never use it and a change in base made this an
  expensive operation.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33694 72102866-910b-0410-8b05-ffd578937521
2011-08-04 08:52:42 +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
Eric Wasylishen
48f0fd951c * Source/NSScreen.m (-userSpaceScaleFactor): Use the DPI
from the display server instead of ignoring it and assuming 72.

The X11 server was changed to always return 72 for now, so there
is no change in behaviour on X.

On Windows we do use the system DPI/scale factor now.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33659 72102866-910b-0410-8b05-ffd578937521
2011-07-30 20:44:06 +00:00
Fred Kiefer
d2011237e8 * Source/NSAnimation.m (NSViewAnimation -dealloc): Use DESTROY
instead of RELEASE as _viewAnimationDesc to prevent segmentation
        fault in super call.
        * Source/NSWindow.m (-setFrame:display:animate:): Use
        NSViewAnimation instead of local blocking code.
        * Source/NSWindow.m (-animationResizeTime:): Use abs() in all
        * directions.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33624 72102866-910b-0410-8b05-ffd578937521
2011-07-24 18:53:07 +00:00
Fred Kiefer
c100baf6b4 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
Eric Wasylishen
119056ab5f * Source/GSToolTips.m (-_timedOut:): Guard against nil tooltip string
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33599 72102866-910b-0410-8b05-ffd578937521
2011-07-21 07:12:07 +00:00
Eric Wasylishen
a15066d183 * Source/NSButtonCell.m (-title): Return @"" instead of nil
* Source/NSButtonCell.m (-alternateTitle): Return @"" instead of nil
* Source/NSButtonCell.m (-attributedAlternateTitle): Use
[self alternateTitle] instead of accessing _altContents directly to guard
against _altContents being nil
* Source/NSButtonCell.m (-attributedTitle): Don't return nil. Use
[self title] instead of accessing _contents directly to guard against
_contents being nil
* Source/NSButtonCell.m (-keyEquivalent): Return @"" instead of nil
* Source/NSButtonCell.m (-encodeWithCoder):
For keyEquivelant and alternateTitle, now that the methods never return
nil, instead of checking if they return nil to decide whether to encode them,
check if the string length is > 0.
* Source/NSToolbarItem.m (-label): Return @"" instead of nil.
* Source/NSCell.m (-stringValue): Return @"" instead of nil
* Source/NSCell.m (-attributedStringValue): Don't return nil. Use
[self stringValue] instead of accessing _contents directly to guard against
_contents being nil.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33598 72102866-910b-0410-8b05-ffd578937521
2011-07-21 06:31:34 +00:00
Eric Wasylishen
d919131abb * Source/NSTextView.m (-view:stringForToolTip:point:userData:):
Ensure this returns an NSString, even if NSToolTipAttributeName
is set to something else (it calls -description on the value).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33597 72102866-910b-0410-8b05-ffd578937521
2011-07-21 04:56:02 +00:00
Eric Wasylishen
c1e194da9f * Source/GSGhostscriptImageRep.m: Search for gs by enumerating directories
in PATH rather than calling 'which'. Also search for gswin32c.exe for
Windows.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33587 72102866-910b-0410-8b05-ffd578937521
2011-07-19 21:51:25 +00:00
Eric Wasylishen
97e9d3bda8 * Source/NSImage.m: Implement
-[NSImage drawInRect:fromRect:operation:fraction:respectFlipped:hints:


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33571 72102866-910b-0410-8b05-ffd578937521
2011-07-16 02:09:06 +00:00
Eric Wasylishen
4e36d04d40 * Source/NSImage.m (-nativeDrawInRect:...): Fix two bugs
demonstrated in GSTest:
- drawing an image in a flipped view with -drawInRect:... wasn't
  working, and
- drawing a vector rep in a dest rect larger than the point
  size of the rep was resulting in blurry output.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33570 72102866-910b-0410-8b05-ffd578937521
2011-07-16 01:23:40 +00:00
Eric Wasylishen
390b3290f3 * Source/NSColorPanel.m: Remove code for generating a dynamic
magnifying glass cursor; it flickers on X11.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33565 72102866-910b-0410-8b05-ffd578937521
2011-07-15 19:55:38 +00:00
Richard Frith-MacDonald
4e44c1f5b2 remove obsolete include
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33561 72102866-910b-0410-8b05-ffd578937521
2011-07-15 13:51:22 +00:00
Eric Wasylishen
bfb415ee79 * Source/NSOutlineView.m: Allow collapsing or expanding multiple
rows at a time using the arrow keys


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33552 72102866-910b-0410-8b05-ffd578937521
2011-07-15 05:39:10 +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
Eric Wasylishen
3958406375 * Source/NSColorPanel.m: Make a magnifying glass cursor when using
the magnifying glass color picker. back/x11 isn't displaying
the cursor at the moment.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33543 72102866-910b-0410-8b05-ffd578937521
2011-07-13 23:10:51 +00:00
Germán Arias
a8c841bd33 Character Panel in Spanish
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33542 72102866-910b-0410-8b05-ffd578937521
2011-07-13 18:51:59 +00:00
Eric Wasylishen
bef9ca8b85 * Source/GSImageMagickImageRep.m: Don't call DestroyImage on a
NULL image


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33541 72102866-910b-0410-8b05-ffd578937521
2011-07-13 03:34:38 +00:00
Eric Wasylishen
237476cb79 * Source/GSImageMagickImageRep.m: Log warnings from ImageMagick
instead of giving up.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33540 72102866-910b-0410-8b05-ffd578937521
2011-07-13 02:46:12 +00:00
Eric Wasylishen
22bfbcc946 * Source/GSGuiPrivate.h: New rounding rounding function
GSRoundTowardsInfinity which is simply floor(x+0.5)
* Source/NSBrowser.m:
* Source/NSSliderCell.m:
* Source/NSButtonCell.m:
* Source/NSClipView.m:
* Source/NSOutlineView.m:
* Source/NSRulerView.m:
Switch rint[f] to GSRoundTowardsInfinity


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33539 72102866-910b-0410-8b05-ffd578937521
2011-07-12 21:12:22 +00:00
Eric Wasylishen
0024ee69e2 * Source/GSGhostscriptImageRep.m: Only invoke 'which' once.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33529 72102866-910b-0410-8b05-ffd578937521
2011-07-11 18:46:05 +00:00
Eric Wasylishen
31f3fffb8f * Source/GSGhostscriptImageRep.m: Change to NSLog, only log
a warning the first time invoking ghostscript throws an exception,
and log a message if it returns a nonzero exit status.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33527 72102866-910b-0410-8b05-ffd578937521
2011-07-11 18:16:45 +00:00
Eric Wasylishen
f13998e491 * Source/GSGhostscriptImageRep.m: Add NSWarnLog to execption
handlers to print a message when finding or invoking Ghostscript
fails.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33524 72102866-910b-0410-8b05-ffd578937521
2011-07-11 16:09:35 +00:00
Fred Kiefer
f13ac2cd84 * Source/NSImage.m (-nativeDrawInRect:...): Compute the rep size
after the nil test.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33513 72102866-910b-0410-8b05-ffd578937521
2011-07-11 09:41:47 +00:00
Fred Kiefer
727e1993f0 Unbind key bindings.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33511 72102866-910b-0410-8b05-ffd578937521
2011-07-11 08:40:31 +00:00
Eric Wasylishen
7005abd617 * Source/NSColorPanel.m (-_magnify:): Preliminary implementation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33510 72102866-910b-0410-8b05-ffd578937521
2011-07-11 06:25:29 +00:00
Eric Wasylishen
56bf8c17be * Source/NSMenuView.m (-_trackWithEvent:): Fix for the bug where
the highlighted menu item can be offset from the mouse pointer
location when menu windows are moved by the window manager. See
detailed comment in the code for more info.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33508 72102866-910b-0410-8b05-ffd578937521
2011-07-11 02:58:36 +00:00
Eric Wasylishen
74e522c0c2 * Source/GSGhostscriptImageRep.m: Remove hardcoded path to gs
executable. First try GSGhostscriptExecutablePath default, then
try running "$SHELL -c which gs" to get the path.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33505 72102866-910b-0410-8b05-ffd578937521
2011-07-10 22:41:35 +00:00
Fred Kiefer
34266c025a 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
Eric Wasylishen
e5bd93c5d8 * 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
Eric Wasylishen
88be063a41 * 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
Fred Kiefer
a71f6baac8 * 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
Eric Wasylishen
845ed11c17 * Source/GSCharacterPanel.m: Double click inserts character into
main window


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33474 72102866-910b-0410-8b05-ffd578937521
2011-07-07 07:14:49 +00:00
Eric Wasylishen
1c87001866 * Source/GSCharacterPanel.m (-characterForRow:): Fix off-by-1 error
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33473 72102866-910b-0410-8b05-ffd578937521
2011-07-07 06:48:31 +00:00
Eric Wasylishen
896c6d73a3 Add a new character picker panel. It's accessible
via a button in the font panel.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33470 72102866-910b-0410-8b05-ffd578937521
2011-07-06 18:39:49 +00:00
Eric Wasylishen
7a47a5e929 * Source/GSDisplayServer.m:
* Headers/Additions/GNUstepGUI/GSDisplayServer.h: Add a new API for taking
screenshots: -contentsOfScreen:inRect:


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33442 72102866-910b-0410-8b05-ffd578937521
2011-07-03 23:43:07 +00:00
Eric Wasylishen
de89388c7f * Source/NSTextView.m: Use respectFraction: YES when deciding whether
to do a word selection upon a right click


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33441 72102866-910b-0410-8b05-ffd578937521
2011-07-03 20:53:44 +00:00
Eric Wasylishen
1bc738ec3e * Source/NSMenuView.m: Allow any mouse up (left/right/other)
to choose a menu item.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33435 72102866-910b-0410-8b05-ffd578937521
2011-07-03 06:47:41 +00:00
Eric Wasylishen
04342f72c6 * Source/NSTextView.m (-_updateState:): Invalidate cursor rects
so the cursor rects over links, for example, are updated when
text is edited.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33434 72102866-910b-0410-8b05-ffd578937521
2011-07-03 04:45:29 +00:00
Riccardo Mottola
394d42736a Add support for for link attributes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33433 72102866-910b-0410-8b05-ffd578937521
2011-07-02 22:15:17 +00:00
Riccardo Mottola
b7f57fe859 Circular sliders never return the maximum value, tested on Apple
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33432 72102866-910b-0410-8b05-ffd578937521
2011-07-02 22:01:23 +00:00
Gregory John Casamento
f69ffcb8e3 Changes to encode and decode sortDescriptors into the gorm file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33430 72102866-910b-0410-8b05-ffd578937521
2011-07-02 19:41:38 +00:00
Riccardo Mottola
d4955c013e tix tick marks in circular sliders
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33429 72102866-910b-0410-8b05-ffd578937521
2011-07-02 19:04:11 +00:00
Eric Wasylishen
8a9f26ceff * Source/NSOutlineView.m: Implement left arrow key moving selection
to parent node when the current item is collapsed.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33428 72102866-910b-0410-8b05-ffd578937521
2011-07-02 17:40:58 +00:00
David Chisnall
002f6635b4 Small GC fixups. Make sure that we're actually using GC-tracked memory when we think that we are.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33416 72102866-910b-0410-8b05-ffd578937521
2011-06-29 15:41:14 +00:00