FLTK logo

STR #2411

FLTK matrix user chat room
(using Element browser app)   FLTK gitter user chat room   GitHub FLTK Project   FLTK News RSS Feed  
  FLTK Apps      FLTK Library      Forums      Links     Login 
 Home  |  Articles & FAQs  |  Bugs & Features  |  Documentation  |  Download  |  Screenshots  ]
 

Return to Bugs & Features | Post Text | Post File | SVN ⇄ GIT | Prev | Next ]

STR #2411

Application:FLTK Library
Status:5 - New
Priority:1 - Request for Enhancement, e.g. asking for a feature
Scope:3 - Applies to all machines and operating systems
Subsystem:Core Library
Summary:ICC Colour management policy
Version:1.4-feature
Created By:kub
Assigned To:Unassigned
Fix Version:Unassigned
Update Notification:

Receive EMails Don't Receive EMails

Trouble Report Files:

Post File ]

No files


Trouble Report Comments:

Post Text ]
Name/Time/Date Text  
 
#1 kub
01:29 Sep 02, 2010
FLTK on osX SL uses Generic RGB, which is not sRGB at all.

The situation for writers of colour managed applications is quite fuzzy
[1].

As a suggestion. FLTK might add an API to expose the used colour space.
On WIN32 and Linux it might return sRGB. On osX SL it can return the used
colour space. Thus interested applications can query what to colour
correct to.

/* provide a malloced ICC profile block and its size */
int fl_color_space( void  ** returned_profile_block,
                     size_t * returned_size );

The profile can on Linux be asked from the X11 server [2]. So
returning the first displays profile might be the right choice.

osX has surely functions to convert a CGColorSpaceRef to a ICC profile
data blob.

[1] http://oyranos-cms.blogspot.com/2010/09/cross-platform-toolkits-and-cm.html
[2] http://www.freedesktop.org/wiki/Specifications/icc_profiles_in_x_spec
 
 
#2 kub
01:59 Sep 02, 2010
The most accurate ICC profile from fl_color_space() would be only what is really set by FLTK. On osX it is the ICC equivalent of CGColorSpaceCreateDeviceRGB.  
 
#3 mike
12:54 Sep 02, 2010
IMHO we should start using sRGB explicitly for colors on OSX.

That said, since 10.6 Generic RGB *is* sRGB...
 
 
#4 kub
05:29 Sep 03, 2010
Generic RGB only through the API sRGB. In ColorSync utility
Generic RGB is the old gamma 1.8.
Mike, can you forward this to Apple?
 
 
#5 kub
05:37 Sep 03, 2010
generic RGB from ColorSync utility is not the same as
CGColorSpaceCreateDeviceRGB().

That add to the confusion to a missed CM policy.
So when FLTK sets an ICC profile to the system, that
would be welcome to be transparent.

With a ICC profile setter for fl_draw_image(), users would be allowed
to deploy as well wide gamut devices. Thats currently not possible
with FLTK widgets or at last not known how to.
 
 
#6 mike
08:42 Sep 03, 2010
There are two generic RGB color profiles - one is the "classic" generic RGB that is still around for compatibility.

The other is the Gamma 2.2 Generic RGB which is the one used by CoreGraphics for "device" RGB.

As for supporting wide-gamut color via FLTK, I'm personally -1 on the idea since a) only Mac OS X has support in its basic graphics interface (X11 is all device color and Windows GDI is sRGB) and b) it makes FLTK that much larger and less portable.

Better to focus on getting a single, standard colorspace working right for all applications (sRGB) and *maybe* look at alternate colorspace support in the future.
 
 
#7 kub
23:11 Sep 03, 2010
> Better to focus on getting a single, standard colorspace working right
> for all applications (sRGB) and *maybe* look at alternate colorspace
> support in the future.

Thats a good step toward a CM policy. Great. Some remaining questions:
How can a user programmatically see that wide gamut support is there or not?
Which widgets are going to be affected?

A function like the following could answer those questions in a upward compatible way:
int fl_color_space ( Fl_Widget * my_widget,
                     void     ** returned_profile_block,
                     size_t    * returned_size );
useful results:
* device RGB - return no profile (Win32, X11)
* sRGB       - return a ICC profile blob (osX SL), that can be static
* wide gamut - return in the future the actual set profile

Maybe its more beautiful to have a Fl_Widget::color_space( .. ) .
 
 
#8 matt
12:52 Nov 14, 2010
Not essential for the 1.3.0 release. Temporarily moved to 1.4 .  
     

Return to Bugs & Features | Post Text | Post File ]

 
 

Comments are owned by the poster. All other content is copyright 1998-2024 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.