* Source/GSXibLoading.m: Merge from trunk of new XIB fixes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/branches/gnustep_testplant_branch@35483 72102866-910b-0410-8b05-ffd578937521
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
last change.
* Source/NSWorkspace.m (-openURL:): Declare the URL pasteboard
type here.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@35110 72102866-910b-0410-8b05-ffd578937521
missing method to get separator coding correct.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@35023 72102866-910b-0410-8b05-ffd578937521
a typo. The "if (nil == _contents) { contents = @""; }" blocks were
dead code because the contents variable would later
be set to nil if _contents was nil. This was causing an exception
when starting editing an empty text field loaded from a xib.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@35011 72102866-910b-0410-8b05-ffd578937521
view:stringForToolTip:point:userData: method, make the point
relative to the view's coordinate system (tested on OS X) instead
of relative to the tracking rect (as before.)
* Source/GSToolTips.m (-_timedOut:): Fix a crash caused by
invalidating the timer and then using its userInfo object.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@35000 72102866-910b-0410-8b05-ffd578937521
(-initWithData:options:documentAttributes:error:): Set
NSCharacterEncodingDocumentAttribute in the documentAttributes dict
when reading plain text.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34987 72102866-910b-0410-8b05-ffd578937521
(-initWithData:options:documentAttributes:error:): Fixes for TextEdit.
If no type is provided, assume plain text. If no encoding is provided,
assume UTF-8 unless a UTF-16 BOM is detected.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34985 72102866-910b-0410-8b05-ffd578937521
[NSColor darkGrayColor]
* Source/NSToolbar.m (-initWithIdentifier:): Call
[self setShowsBaselineSeparator: YES] by default so the toolbar has
a bottom border.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34983 72102866-910b-0410-8b05-ffd578937521
* Source/externs.m: Additional binding names.
* Source/GSBindingHelpers.h,
* Source/NSKeyValueBinding.m: Additional helper methods.
* Source/NSObjectController.m: Use helper methods.
* Source/NSArrayController.m: Signal when the arranged objects
change.
* Source/NSTableColumn.m,
* Source/NSTableView.m: First attempt at support for content
binding.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34923 72102866-910b-0410-8b05-ffd578937521
* Source/GSNibLoading.m: Move -[coder setClassName: @"_NSCornerView"
forClass: [GSTableCornerView class]] call from
-[NSTableView initWithCoder:] to GSNibLoading, because corner views
can be encountered before hitting -[NSTableView initWithCoder:]
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34919 72102866-910b-0410-8b05-ffd578937521
most recent -draggingEntered: or -draggingUpdated: call returned
something other than NSDragOperationNone.
* Source/NSOutlineView.m (-draggingUpdated:): Save the drag operation
value returned from the data source in a static variable.
Previously it was fetched once and then discarded, so all drags were
being mistakenly permitted.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34910 72102866-910b-0410-8b05-ffd578937521
* Headers/AppKit/NSArrayController.h,
* Source/NSArrayController.m: Add some implementation to this class.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34904 72102866-910b-0410-8b05-ffd578937521
for bug 35702.
Don't use [_menuView imageAndTitleWidth] or
_titleWidth in calculating the size to put the title in. In other
words, -titleRectForBounds: will now return the available space
for the title, rather than the rect that the title text is
predicted to use up.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34885 72102866-910b-0410-8b05-ffd578937521
* Source/GSXibLoading.m: Add some classes which I found
are relevant to Xib loading: IBAccessibilityAttribute,
IBUserDefinedRuntimeAttributesPlaceholder.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34846 72102866-910b-0410-8b05-ffd578937521
inside cell bounds, to prevent drawing text outside of a
NSPopUpButtonCell which has a label that is too long to fit.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34838 72102866-910b-0410-8b05-ffd578937521
self and only call setDocument: if we have an actual window.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34825 72102866-910b-0410-8b05-ffd578937521
that method was removed from its superclass NSSavePanel.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34782 72102866-910b-0410-8b05-ffd578937521
sender of a pop up button's action when it is sent through one of the
menu items.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34781 72102866-910b-0410-8b05-ffd578937521
typo in Richard's change.
* Source/NSPasteboard.m (-pasteboard:provideDataForType:): Use
the file name directly instead of reading the file contents.
* Source/NSImageRep.m (+imageRepsWithContentsOfFile:,
+imageFileTypes):
Start working on filter service support for images.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34741 72102866-910b-0410-8b05-ffd578937521
have to small images to be split up into 9 tiles.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34688 72102866-910b-0410-8b05-ffd578937521
non-existing view. This was currupting the stack with gcc 4.6 on i386.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34686 72102866-910b-0410-8b05-ffd578937521
draw at 50% opacity if no bezel is set for cocoa compatibility.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34674 72102866-910b-0410-8b05-ffd578937521
popup button cell and its action, before checking for the item
action. This caused a problem due to NIB decoding changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34642 72102866-910b-0410-8b05-ffd578937521
whole ruler handling will need some deeper inspection.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34636 72102866-910b-0410-8b05-ffd578937521
which correctly rounded the scroll point to an integer point in
device-space. It seems the correct code was commented out in 2002,
perhaps as a performance optimisation?
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34614 72102866-910b-0410-8b05-ffd578937521
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
ASSIGNCOPY for the contents. This fixes memory leak of last commit.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34585 72102866-910b-0410-8b05-ffd578937521
* Source/NSImageView.m: Protect image drag with new ivar that
gets set via a new GNUstep extension method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34580 72102866-910b-0410-8b05-ffd578937521
Draw image with 50% opacity if the cell is disabled
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34548 72102866-910b-0410-8b05-ffd578937521
event on to the super implementation if we don't handle it.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34500 72102866-910b-0410-8b05-ffd578937521
RELEASE.
Patch by Philippe Roussel <p.o.roussel@free.fr>.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34492 72102866-910b-0410-8b05-ffd578937521
* Source/NSImage.m: Correct _clearFileTypeCaches notification
method to take a NSNotification* parameter.
* Soure/NSImage.m (themeDidActivate:): Move to a class method,
and move the GSThemeDidActivateNotification subscription
to +[NSImage initialize]. Now the +_themeDidActivate: updates
all images by looking at all the values in nameDict. This should
function exactly the same as before, but seems to be quite a bit
faster due to fewer notifications being sent (?)
* Source/NSImage.m (+imageNamed:): Remove redundant fetch from
nameDict pointed out by Fred
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34482 72102866-910b-0410-8b05-ffd578937521
move to private category. Also remove use of lock as it is
unnecessary
* Source/NSImage.m: (-themeDidActivate:): Extract method
_resetAndUseFromFile:. Don't reset _size if
flags.sizeWasExplicitlySet was true.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34481 72102866-910b-0410-8b05-ffd578937521
fix bug reported by Riccardo where OK button is disabled when
selecting directories after selecting a file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34480 72102866-910b-0410-8b05-ffd578937521
on theme activation/deactivation.
* Source/NSImage.m (+imageNamed:): Factor out code for finding
the path for a name to a separate method, +pathForImageNamed.
The code is unchanged otherwise, except for fixing the retrieval
of images from the theme bundle, which was broken.
* Source/NSImage.m (-setName:): Remove code for creating theme
proxy. Subscribe/unscribe to theme change notification when
the receiver is added/removed from the name dictionary.
* Source/NSImage.m (-themeDidActivate:): Method called in
response to a GSThemeDidActivateNotification on images with
a name set. It does a path lookup in the same way that
+imageNamed: would, and checks if the path has changed due
to the theme change. If it has, all reps are discarded and
the image at the new path is loaded. This avoids the need for
the theme proxy objects.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34474 72102866-910b-0410-8b05-ffd578937521
range exceptions when moving the cursor up in the first line and down
in the last line of a NSTextView, respectively.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34375 72102866-910b-0410-8b05-ffd578937521
variable, which was breaking printing of wrap-to-page mode in
TextEdit. TODO: Run the printing code through valgrind, there is
a lot of suspicious code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34373 72102866-910b-0410-8b05-ffd578937521
the minimum size is not greater than the current size and the maximum
size is not smaller than the current size.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34362 72102866-910b-0410-8b05-ffd578937521
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
Restore code to draw the background when the cell is highligted
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34337 72102866-910b-0410-8b05-ffd578937521
Set file icons on browser cells in the open/save panels.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34322 72102866-910b-0410-8b05-ffd578937521
When highlighted, use -image if -alternateImage is nil.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34321 72102866-910b-0410-8b05-ffd578937521
criteria for determining cell editability::
- the delegate (if present) must say YES
- and the cell itself must return YES for isEditable
- and the table column must return YES for isEditable
Previously you could edit cells that returned NO for
isEditable if the column they were in was editable.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34320 72102866-910b-0410-8b05-ffd578937521
"_tableView = nil" which was causing a problem with my xib file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34319 72102866-910b-0410-8b05-ffd578937521
implementation so these methods work without requiring the
cell to be an image cell.
* Source/NSBrowserCell.m (-drawInteriorWithFrame:inView:): Don't
draw background. Remove -(void) isOpaque { return YES; }. Also
pixel-align images and use modern -drawInRect: method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34317 72102866-910b-0410-8b05-ffd578937521
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
Move _finalWritePrintInfo: call to the end of _pickedButton:. This
fixes the save and preview buttons for me.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34294 72102866-910b-0410-8b05-ffd578937521
(-_scheduleTextCheckingInVisibleRectIfNeeded): Check for
nil before sending -rectValue to avoid crash
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34238 72102866-910b-0410-8b05-ffd578937521
index is given select the first item. This should fix bug #34923.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34228 72102866-910b-0410-8b05-ffd578937521
default line framgent padding from here ...
* Source/NSTextContainer.m (-initWithContainerSize:): ... to here.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34227 72102866-910b-0410-8b05-ffd578937521
* Source/NSToolbar.m:
* Source/GSToolbarCustomizationPalette.m:
* Source/GSToolbarView.m:
* Source/NSToolbarItem.m:
* Source/NSToolbarFrameworkPrivate.h:
* Headers/AppKit/NSToolbar.h: Implement -initWithCoder: for
NSToolbar. This required a bit more work that usual because
toolbars created with -initWithCoder can operate without a delegate.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34189 72102866-910b-0410-8b05-ffd578937521
change for the case where there are no representations for the
image.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34168 72102866-910b-0410-8b05-ffd578937521
([GSUserDefaultsHelper-valueForKey:]) Use a marker for values
being nil. This should fix bug #34790.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34167 72102866-910b-0410-8b05-ffd578937521
all other matching criteria fail, use the first image instead
of the last (arbitrary, but seems to match cocoa.)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34166 72102866-910b-0410-8b05-ffd578937521
as it is currently broken on the cairo backend.
* Source/NSApplication.m (-setApplicationIconImage:): Don't
use call -setScalesWhenResized:, because if it worked as it is
supposed to, it would scale all icon reps down to 48x48,
making large icon sizes useless.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34164 72102866-910b-0410-8b05-ffd578937521
NSImageScaleProportionallyUpOrDown.
This prevents icons with large sizes (e.g. 512x512 pixel) from
making the info panel really big.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34161 72102866-910b-0410-8b05-ffd578937521
* Headers/AppKit/NSCell.h: Move NSImageScaling constants to NSCell
* Source/NSImageCell.m:
* Source/NSCell.m: Refactor the image scaling logic to a private
method in NSCell, -_scaleImageWithSize:toFitInSize:scalingType:
which can be share by NSImageCell, NSButtonCell, and any other
cell classes that need it.
* Source/NSButtonCell.m:
* Headers/AppKit/NSButtonCell.h: Implement -imageScaling and
-setImageScaling methods.
* Source/GSThemeDrawing.m:
* Headers/Additions/GNUstepGUI/GSTheme.h: Remove the
-drawImage:inButtonCell:withFrame:position: API intended
to let themes substitute images right before drawing,
as IMHO it's the wrong place to hook in new images (by
the time this method was caleld, sizing/positionging
was already done).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34160 72102866-910b-0410-8b05-ffd578937521
to set the tool tips of an object. Should fix bug report #34783
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34155 72102866-910b-0410-8b05-ffd578937521
Don't use @"" when no null placeholder is defined.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34135 72102866-910b-0410-8b05-ffd578937521
HACK: PNG can not represent 72DPI exactly. If the pixels-per-meter value is
near 72DPI, assume it is exactly 72 DPI. Note that the same problem occurrs
at 144DPI, or 288DPI... so don't use PNG for resolution independent graphics.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34127 72102866-910b-0410-8b05-ffd578937521
the action on the menu item to -_popUpItemAction:.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34126 72102866-910b-0410-8b05-ffd578937521
the color changes. NSColorPanel is always "continuous" for now...
to support -isContinuous == NO, we need to augment the API between
the color panel and the pickers so they can send a message when
the mouse is released.
* Source/NSTextView.m: Change typing attributes in response to
colorChanged:
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34105 72102866-910b-0410-8b05-ffd578937521
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
of the control view that the value has changed.
Should fix bug #34492
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34099 72102866-910b-0410-8b05-ffd578937521
NSMenuItemCell to a new method in GSThemeDrawing.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34079 72102866-910b-0410-8b05-ffd578937521
by 0xE00 in NSCellFlags2. The previous location they were being
read/written from was giving bogus values such as 7.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34073 72102866-910b-0410-8b05-ffd578937521
Correct keyed encoding and decoding of flags. NIB files created
from GNUstep will need to be recreated.
Should fix bug #34498.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34008 72102866-910b-0410-8b05-ffd578937521
-initWithCoder:): Archive missing attributes in non-keyed
mode. This required updating the NSTextView version to 4.
Should fix bug #33884.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33962 72102866-910b-0410-8b05-ffd578937521
representation into the new cache. Use NSRectFillUsingOperation
instead of PScompositerect.
* Source/NSImage.m (-drawRepresentation:inRect:): Use DPS
operations instead of PS operations.
Should fix bug #34470
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33948 72102866-910b-0410-8b05-ffd578937521
The flag isDisplayedWhenStopped is stored negated.
Should fix bug #34487
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33947 72102866-910b-0410-8b05-ffd578937521
-setValue:forKey:): Add support for the bindings NSFontNameBinding
and NSFontSizeBinding.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33834 72102866-910b-0410-8b05-ffd578937521
locking focus on an image with no representations.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33827 72102866-910b-0410-8b05-ffd578937521
size (0, 0)
* Source/NSCachedImageRep.m: Throw an exception if you attempt to create a cached
image rep with a size of (0, 0).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33819 72102866-910b-0410-8b05-ffd578937521
server can't be contacted; otherwise the user may be spammed with a series
of popups if automatic spellchecking (underlining) is turned on, but
the current language isn't set.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33816 72102866-910b-0410-8b05-ffd578937521
* Source/NSFontPanel.m: Use NSApplication method to order front character palette
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33815 72102866-910b-0410-8b05-ffd578937521
bit by using
-[NSImage drawInRect:fromRect:operation:fraction:respectFlipped:hints:]
* Source/NSCell.m (-drawInteriorWithFrame:inView:): Switch from
-[NSImage compositeToPoint...] to
-[NSImage drawInRect:fromRect:operation:fraction:respectFlipped:hints:]
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33813 72102866-910b-0410-8b05-ffd578937521
in place of the _fileTypes ivar. Replace calls to _setupForTypes: with
-setAllowedFileTypes:.
* Headers/AppKit/NSOpenPanel.h: Remove now unused _fileTypes ivar
* Source/NSSavePanel.m: Treat directories whose names have extensions
in the _allowedFileTypes array as file packages.
Previously, we only relied on -[NSWorkspace isFilePackageAtPath:],
to determine if a director is a file package, which only considers the
info.plists of installed applications.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33810 72102866-910b-0410-8b05-ffd578937521
(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
* 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
because we now cache the entire representation and not the rep scaled
to the image's size.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33770 72102866-910b-0410-8b05-ffd578937521
on backends supporting GSdraw: (cairo). This means we don't have to
create a window for every call to draw an image, and gives me a 5-10x
speedup for image drawing.
* Source/NSCachedImageRep.m: Implement private method
-nativeDrawInRect:.. which is called by NSImageRep's
-drawInRect:fromRect:..., and efficiently draw the cached rep
using GSdraw:. Also make some changes so cached image reps can have a
DPI != 72.
* Headers/AppKit/NSCachedImageRep.h: New private init method that lets
you specify diferent pixel size and point size.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33765 72102866-910b-0410-8b05-ffd578937521
-drawInRect:fromRect:operation:fraction:respectFlipped:hints: method
* Source/NSImage.m:
* Source/NSImageRep.m: Refactor drawing code from NSImage to NSImageRep.
This should cause no functionlity change, but it lets NSImageRep
subclasses implement more efficient versions of -drawInRect:fromRect:...
that don't involve the (expensive) drawing of the image in a temporary
offscreen window and then drawing from there on to the destination surface.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33764 72102866-910b-0410-8b05-ffd578937521
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
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
* 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
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
* 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
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
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
* 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
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
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
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
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
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
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
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
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
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
* 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
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
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
* 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
* Headers/Additions/GNUstepGUI/GSGhostscriptImageRep.h:
* Source/GNUmakefile:
* Source/NSImageRep.m: New image rep which attempts to
invoke Ghostscript to rasterize PS/EPS/PDF images. It needs
some polishing but basically works.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33389 72102866-910b-0410-8b05-ffd578937521
same way as under Emacs and OS X. In particular, the action now
deletes the newline character when the insertion point is at the end
of a line.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33377 72102866-910b-0410-8b05-ffd578937521
to the empty range at the end of a document (i.e. {[string length], 0}).
This fixes the scrolling when you repeatedly hit RETURN in TextEdit to
create new pages (in wrap to page mode).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33351 72102866-910b-0410-8b05-ffd578937521
-setAlternateImage:, -setImagePosition:): Update the control to
reflect the changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33350 72102866-910b-0410-8b05-ffd578937521
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
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
* Source/NSImageCell.m: Add support for NSImageScaleProportionallyUpOrDown
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33309 72102866-910b-0410-8b05-ffd578937521