Commit graph

48 commits

Author SHA1 Message Date
fredkiefer
02c8c21ee3 dded basic support for the controller classes from Cocoa.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@24218 72102866-910b-0410-8b05-ffd578937521
2006-12-19 18:35:16 +00:00
tracy454
fe851e6710 Change Log
Mon. 20-Nov-2006 Mark Tracy <tracy454 at concentric dot net>
Many changes related to bitmap images

1.  NSBitmapImateRep attribute global strings were not defined
    Fix: add definitions to externs.h, and declarations to NSBitmapImageRep.h
    Comment: Two strings defined in Cocoa were commented out: NSImageColorSyncData
      is proprietary to Apple, and NSImageEXIFData has no support elsewhere in
      GNUstep. I propose adding GSImageICCProfileData if and when color management
      is added to GNUstep.

2.  LZW compression in TIFF was disabled for lack of a test of its availability
    Fix: Implement NSTiffIsCodecConfigured(codec) in tiff.m
    Comment: As of libtiff-3.7.0, there is a function call in the API to test
      availability at runtime. For libtiff-3.6.0 (earlier?) there are macros
      #defined in tiffconf.h. The implementation check the library version at
      compile time, and uses one of the two methods. I have not tested the 
      second method for lack of an installation of an old libtiff.

3.  -canCompressUsing: relied on a static list of capabilities
    Fix: Use the new NSTiffIsCodecConfigured(codec) in NSBitmapImageRep.m
    Comment: The static list could be wrong, as it was on my system. Also
      eliminate the supports_lzw_compression flag.

4.  +getTIFFCompressionTypes:count: relied on a static list of compressors.
    Fix: Use the new NSTiffIsCodecConfigured(codec) in NSBitmapImageRep.m
    Comment: Compares GNUstep supported compressors against actual availability.
      Also change the private instance methods _localFromCompressionType and 
      _compressionTypeFromLocal to private class methods so that they can be used
      in -initWithTIFFImage:number: and -TIFFRepresentationUsingCompression:factor:
      and +getTIFFCompressionTypes:count: This is probably a clumsy implementation
      but it works.

5.  -setProperty:toValue: and -valueForProperty: were not implemented
    Fix: Add a new instance variable NSMutableDictionary * _properties to 
      NSBitmapImageRep.h and implemented accessors in NSBitmapImageRep.m. Patch
      -_initFromTIFFImage to set compression type and factor in _properties.
    Comment: This feature is used to pass options to and from JPEG, PNG, TIFF, and
      GIF in Cocoa, although the docs are kind of vague. In one case the Cocoa docs
      said the properties were set when reading a TIFF, but the implementation
      didn't; I chose to implement the docs. Cocoa does use properties when 
      exporting bitmaps, so I implemented that.

6.  Checked and updated NSBitmapImageFileType in NSBitmapImageRep.h
    Fix: confirmed the enumeration values against Cocoa, and added 
      NSJPEG2000FileType = 5
    Comment: JPEG-2000 is not implemented, just reserved a space for it.

7.  -representationUsingType:properties: was not implemented
    Fix: Implement export of TIFF, JPEG, GIF and PNG in NSBitmapImage.m
    Comment: See the change notes for JPEG, GIF, and PNG for more. BMP and JPEG-2000
      are not implemented; they just log a message to that effect. As apparently
      Cocoa does it this way, if you pass nil for properties, it falls back to 
      the internal _properties, and if that is empty, there are some safe defaults.

8.  +representationfOfImageRepsInArray:UsingType:properties: was not implemented
    Fix: Partially implement in NSBitmapImageRep.m
    Comment: I just stole the incomplete code from
      +TIFFRepresentationOfImageRepsInArray: since I have yet to find an explanation
      of how this really ought to work.

9.  JPEG export didn't handle alpha channel, properties or errors.
    Fix: Add -_JPEGRepresentationWithProperties:errorMessage: to
      NSBitmapImageRep+JPEG.h and greatly rework Nicolas Roard's code in
      NSBitmapImageRep+JPEG.m. Patch -_initBitmapFromJPEG:errorMessage to
      write properties.
    Comment: Major rewrite of Nicolas Roard's JPEG export code. 
    To do: Support for planar bitmaps and support for colorspaces other than
      RGB(A).

10. PNG export not implemented
    Fix: Add -_PNGRepresentationWithProperties: to
      NSBitmapImageRep+PNG.h and implement NSBitmapImageRep+PNG.m
    Comment: No support yet for planar bitmaps. Only supports 
      NS*WhiteColorSpace and NS*RGBColorSpace. Does support alpha. Support for
      reading and writing NSImageGamma is experimental. In keeping with Cocoa,
      the property NSImageGamma ranges from 0.0 to 1.0; representing the range
      of minimum supported gamma to maximum supported gamma, in this case 1.0
      to 2.5. This is in contrast to GNUstep where by convention the property
      would range from 0.0 to 255.0.
    To do: proper error message support

11. GIF export not implemented
    Fix: Add -_GIFRepresentationWithPropterties:errorMessage: to
      NSBitmapImageRep+GIF.h and implement in NSBitmapImageRep+GIF.m
    Comments: Supports only RGB(A) colorspaces, but ignores alpha. Supports
      planar or interleaved bitmaps. Supports properties NSImageRGBColorTable.

12. -_initBitmapFromGIF:errorMessage: did not support transparency
    Fix: Don't ignore control blocks in NSBitmapImageRep+GIF.m; check for
      transparency.
    Comment: If a transparent color is found, it adds an alpha channel to the 
      bitmap. Also, save the color table in properties.

13. -_initBitmapFromGIF:errorMessage: would show the last image in a 
      multi-image GIF file
    Fix: Break the parsing loop after the first image in NSBitmapImageRep+GIF.m
    Comment: Also check for frame duration, and set that property. There is not
      yet any support for animated GIF. This will require some additional 
      infrastructure, and I won't do it unless asked.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@24140 72102866-910b-0410-8b05-ffd578937521
2006-11-21 06:36:26 +00:00
gcasa
f2186c6cee Added NSDataLinkManager methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@21711 72102866-910b-0410-8b05-ffd578937521
2005-09-10 21:06: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
gcasa
4115a8ad49 Corrected misspelling of separator in toolbar code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18716 72102866-910b-0410-8b05-ffd578937521
2004-02-29 04:39:48 +00:00
CaS
4a58d9175b New pasteboard types
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18003 72102866-910b-0410-8b05-ffd578937521
2003-10-29 08:29:55 +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
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
FredKiefer
9310a019ef Added NSPatternColorSpace.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16540 72102866-910b-0410-8b05-ffd578937521
2003-04-25 22:51:55 +00:00
gcasa
88c7ec0245 Committing a fix for the "default" font issue. Also adding some of the things I have been working on for NSToolbar/NSToolbarItem.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15368 72102866-910b-0410-8b05-ffd578937521
2002-12-29 05:38:29 +00:00
FredKiefer
3125980631 Define NSHTMLPboardType.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@14410 72102866-910b-0410-8b05-ffd578937521
2002-09-06 23:36:28 +00:00
fedor
7fea2291bb Printing, cString fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@14407 72102866-910b-0410-8b05-ffd578937521
2002-09-06 19:31:00 +00:00
gcasa
81f25a9996 Adding a number of changes. The skeleton implementations of NSToolbar and
NSToolbarItem as well as a number of miscellaneous things I have had laying
around for a while.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@13997 72102866-910b-0410-8b05-ffd578937521
2002-06-30 05:14:21 +00:00
fedor
6f0771768b Remove old grpahics funcs, Update window's defs
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@13417 72102866-910b-0410-8b05-ffd578937521
2002-04-10 22:04:39 +00:00
gcasa
6fa43db4ec Adding NSOutlineView changes so far so that everyone can see the progress which has been made. GJC
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@12704 72102866-910b-0410-8b05-ffd578937521
2002-02-23 16:37:17 +00:00
FredKiefer
39790dbd33 Added notifications from NSTextStorage
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@11490 72102866-910b-0410-8b05-ffd578937521
2001-11-23 00:28:15 +00:00
fedor
611005755b Simple printint implementation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@11341 72102866-910b-0410-8b05-ffd578937521
2001-11-08 18:26:39 +00:00
fedor
cfb13cc185 Fix static linking
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@11167 72102866-910b-0410-8b05-ffd578937521
2001-10-17 03:53:55 +00:00
FredKiefer
c9f79f9592 Notification strings for NSDrawer.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@10619 72102866-910b-0410-8b05-ffd578937521
2001-08-01 00:04:31 +00:00
FredKiefer
0b37244713 Added some missing pasteboard types.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@9939 72102866-910b-0410-8b05-ffd578937521
2001-05-13 21:08:35 +00:00
FredKiefer
8186809048 Added notifiaction strings from NSComboBox.m
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@9543 72102866-910b-0410-8b05-ffd578937521
2001-04-09 21:27:19 +00:00
FredKiefer
df37ca2194 Added notifiaction string from NSColor.m
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8458 72102866-910b-0410-8b05-ffd578937521
2000-12-28 23:42:18 +00:00
nico
4822eefa52 Added NSOldSelectedCharacterRange
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8405 72102866-910b-0410-8b05-ffd578937521
2000-12-22 16:49:09 +00:00
richard
17628a5e4c colorspace support
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@6515 72102866-910b-0410-8b05-ffd578937521
2000-04-25 20:26:51 +00:00
nico
d5ffa1bf05 Added NSTableView notifications
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@6303 72102866-910b-0410-8b05-ffd578937521
2000-03-18 00:20:09 +00:00
nico
1d3e0e062a Added a NSForm private notifications
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@5763 72102866-910b-0410-8b05-ffd578937521
2000-01-13 23:14:11 +00:00
michael
f6a85c5407 Fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@5262 72102866-910b-0410-8b05-ffd578937521
1999-11-22 21:48:03 +00:00
michael
4c34e9caf4 Fixes galore.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@4866 72102866-910b-0410-8b05-ffd578937521
1999-09-10 23:12:48 +00:00
michael
6d69b992d2 Fixes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@4697 72102866-910b-0410-8b05-ffd578937521
1999-08-04 09:15:07 +00:00
michael
8dd3d1f27a Fixes galore.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@4653 72102866-910b-0410-8b05-ffd578937521
1999-07-26 07:02:26 +00:00
michael
d31f1bea6c Fixed NSTable, NSTab, and NSMenu.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@4652 72102866-910b-0410-8b05-ffd578937521
1999-07-26 06:44:26 +00:00
richard
2ecc33cce6 Modifications for text storage system
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@4594 72102866-910b-0410-8b05-ffd578937521
1999-07-15 05:52:55 +00:00
fedor
6e14f79d10 Fix up clipping
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@4246 72102866-910b-0410-8b05-ffd578937521
1999-05-13 13:51:57 +00:00
richard
04f15cc18c iUpdated for NSGraphicsContext
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3804 72102866-910b-0410-8b05-ffd578937521
1999-02-25 15:45:22 +00:00
richard
2d4a996dd2 Fixed typo
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3735 72102866-910b-0410-8b05-ffd578937521
1999-02-17 09:40:00 +00:00
richard
cf7a747a7d Corrected delegate setup
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3731 72102866-910b-0410-8b05-ffd578937521
1999-02-17 09:13:43 +00:00
richard
590157c9c4 Many many improvements
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3469 72102866-910b-0410-8b05-ffd578937521
1998-12-16 15:21:55 +00:00
fedor
c1e464992b Change backend initialization
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3428 72102866-910b-0410-8b05-ffd578937521
1998-12-10 19:53:41 +00:00
far
2d4079f2cf * move DPSOperators.h to XDPS.
* move GPS headers into a new backend.
	* define GSContext.h/GSContext.m as abstract super for all drawing
		destinations (eliminates the need for DPS, GPS, DGS at the root of
		the AppKit) add appropriate defintion to various classes.
	* NSMatrix.m add abstract backend code from xraw (eliminate backend).
	* NSSlider.m add abstract backend code from xraw (eliminate backend).
	* NSSliderCell.m add abstract backend code from xraw (eliminate backend).
	* NSSplitView.m add abstract backend code from xraw (eliminate backend).
		replace private divider highlight method with NSHighlightRect()
	* NSWindow.m add class method to create backend specific window view.
	* NSTextField.m add abstract backend code from xraw (eliminate backend).
	* NSForm.m add abstract backend code from xraw (eliminate backend).
	* NSFormCell.m add abstract backend code from xraw (eliminate backend).
	* NSColorWell.m add abstract backend code from xraw (eliminate backend).
	* NSButton.m add abstract backend code from xraw (eliminate backend).
	* NSControl.m add abstract backend code from xraw (eliminate backend).
	* NSBox.m add abstract backend code from xraw (eliminate backend).
	* NSBrowser.m add abstract backend code from xraw (eliminate backend).
	* NSBrowserCell.m add abstract backend code from xraw (eliminate backend).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3321 72102866-910b-0410-8b05-ffd578937521
1998-11-25 17:16:48 +00:00
fedor
5808de175b Preliminary drawing engine
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3222 72102866-910b-0410-8b05-ffd578937521
1998-11-16 20:32:48 +00:00
far
85583b8e23 * NSView.h added specific values and comments to resize constants enum.
* NSView.m implemented resizeWithOldSuperviewSize (needs work).
	* NSMatrix.m mousedown clarified description comment.
	* NSSavePanel.m integrated source from Daniel B�hringer into premliminary
		implementations provided by Scott Christley.
	* NSSavePanel.h integrated source from Daniel B�hringer into premliminary
		implementations provided by Scott Christley.
	* NSOpenPanel.m integrated source from Daniel B�hringer into premliminary
		implementations provided by Scott Christley.
	* NSOpenPanel.h integrated source from Daniel B�hringer into premliminary
		implementations provided by Scott Christley.
	* NSStringDrawing.h defined NSAttributedString portion of extension.
	* NSAttributedString.h created preliminary implementation of extension.
	* Appkit.h added includes for NSAttributedString and NSStringDrawing.
	* NSPasteboard.h added extern NSRTFDPboardType define.
	* externs.m defined NSRTFDPboardType.
	* NSText.h integrated source from Daniel B�hringer
	* NSTextView.m preliminary implementation from Daniel B�hringer
	* NSTextView.h preliminary implementation from Daniel B�hringer
	* NSSplitView.m in drawRect use NSRectFill()


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2934 72102866-910b-0410-8b05-ffd578937521
1998-08-19 09:00:26 +00:00
far
32acf03f3f * externs.m further defined the NSStringAdditions globals.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2916 72102866-910b-0410-8b05-ffd578937521
1998-08-12 03:57:08 +00:00
ovidiu
d3217ea5ac Several changes to support porting of an OPENSTEP application to GNUstep.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2689 72102866-910b-0410-8b05-ffd578937521
1998-01-09 22:28:14 +00:00
ovidiu
27721d4b06 NSSlider implemented. Optimizations in displaying and flushing mechanism. A bunch of memory allocation problems fixed.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2494 72102866-910b-0410-8b05-ffd578937521
1997-10-09 22:55:31 +00:00
scottc
424b73783b Convert to the GNUstep makefile package.
The config.h files should not be installed with the other
header files; it is only used for compilation, so the source
files should include it not the header files.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2439 72102866-910b-0410-8b05-ffd578937521
1997-09-23 22:43:24 +00:00
netcrep
74265dc7fb Numerous WIN32 and bug fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2380 72102866-910b-0410-8b05-ffd578937521
1997-08-16 23:47:24 +00:00
netcrep
f8fcd3088c Changed the name of NSView notifications
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2373 72102866-910b-0410-8b05-ffd578937521
1997-08-05 22:33:00 +00:00
netcrep
6384417302 Add WIN32 DLL support
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2367 72102866-910b-0410-8b05-ffd578937521
1997-08-04 20:42:56 +00:00