gnustep / libs-gui

The GNUstep gui library is a library of graphical user interface classes written completely in the Objective-C language; the classes are based upon Apple's Cocoa framework (which came from the OpenStep specification). *** Larger patches require copyright assignment to FSF. please file bugs here. ***
http://www.gnustep.org
GNU General Public License v3.0
278 stars 102 forks source link

Improve Endianness support for BitmapRep #271

Closed rmottola closed 5 months ago

rmottola commented 5 months ago

Let's start with TIFF

rmottola commented 5 months ago

@fredkiefer First iteration done yesterday worked and fixes GWorkspace! So I committed and started a branch. Pull Request should make it easier to work together and track changes. Not done yet.

I didn't like stuffing NSBitmapFormat into uint16_t, so I created separate flags, this allows also some code simplification.

rmottola commented 5 months ago

@fredkiefer I do not find in the code where NSBitmapFormatSixteenBitBigEndian is actually set for TIFF, so how does it get the information about Endianness and interprets bits. I want to copy/move the logic in NSTiffGetInfo to keep the info consistent.

rmottola commented 5 months ago

@fredkiefer we discussed that three different methods needed to be updated in NSBitmapImageRep. But with the trick of having the logic in tiff.m and by setting the flags in fillTIFFInfo: usingCompression: factor:, are we covered in all cases or are still other places left?