Bug 549181 - [GTK] Improve accuracy of Color.get[Red|Blue|Green] methods
Summary: [GTK] Improve accuracy of Color.get[Red|Blue|Green] methods
Status: VERIFIED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 4.13   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 4.13 M3   Edit
Assignee: Eric Williams CLA
QA Contact:
URL:
Whiteboard: RHT
Keywords: triaged
Depends on:
Blocks: 549101
  Show dependency tree
 
Reported: 2019-07-11 09:48 EDT by Eric Williams CLA
Modified: 2019-08-20 10:20 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Eric Williams CLA 2019-07-11 09:48:06 EDT
As discussed in bug 549101, the Color.getRed(), getBlue(), and getGreen() methods need to be adjusted for better accuracy.
Comment 1 Eclipse Genie CLA 2019-07-11 10:29:44 EDT
New Gerrit change created: https://git.eclipse.org/r/145929
Comment 2 Alexandr Miloslavskiy CLA 2019-07-11 11:24:26 EDT
Surprisingly, this actually changes some colors for every theme I tried!
I ran 'Bug548286_DumpSystemColors' on Ubuntu 18.10

Adwaita
  ARGB:FFA2A2A1 -> ARGB:FFA2A2A2 // COLOR_WIDGET_NORMAL_SHADOW
  ARGB:FF7BBBFF -> ARGB:FF7BBCFF // COLOR_TITLE_BACKGROUND_GRADIENT
Adwaita-dark
  ARGB:FF394E55 -> ARGB:FF3A4E55 // COLOR_WIDGET_HIGHLIGHT_SHADOW
  ARGB:FF0077F5 -> ARGB:FF0078F6 // COLOR_TITLE_BACKGROUND_GRADIENT
  ARGB:FF394E55 -> ARGB:FF3A4E55 // COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT
Ambiance, Radiance
  ARGB:FFA9A8A8 -> ARGB:FFA9A9A8 // COLOR_WIDGET_NORMAL_SHADOW
  ARGB:FFFFB294 -> ARGB:FFFFB394 // COLOR_TITLE_BACKGROUND_GRADIENT
  ARGB:FF95908B -> ARGB:FF95918C // COLOR_TITLE_INACTIVE_FOREGROUND
Clearlooks-Phenix
  ARGB:FFA5A5A4 -> ARGB:FFA6A5A5 // COLOR_WIDGET_NORMAL_SHADOW
  ARGB:FFEAF1F8 -> ARGB:FFEBF2F9 // COLOR_TITLE_BACKGROUND_GRADIENT
  ARGB:FFA8A5A1 -> ARGB:FFA9A5A2 // COLOR_TITLE_INACTIVE_FOREGROUND
HighContrast
  ARGB:FFB2B2B2 -> ARGB:FFB3B3B3 // COLOR_WIDGET_NORMAL_SHADOW
Yaru
  ARGB:FFABACAC -> ARGB:FFACACAD // COLOR_WIDGET_NORMAL_SHADOW
Yaru-dark
  ARGB:FF444444 -> ARGB:FF454545 // COLOR_WIDGET_HIGHLIGHT_SHADOW
  ARGB:FF444444 -> ARGB:FF454545 // COLOR_TITLE_INAC

I then used 'ControlExample' page 'Color', took screenshot, and verified actual pixel colors.
I verified 'Adwaita' and 'Adwaita-dark' and *new* colors are correct.
Comment 3 Eric Williams CLA 2019-07-11 11:37:17 EDT
(In reply to Alexandr Miloslavskiy from comment #2)
> Surprisingly, this actually changes some colors for every theme I tried!
> I ran 'Bug548286_DumpSystemColors' on Ubuntu 18.10
> 
> Adwaita
>   ARGB:FFA2A2A1 -> ARGB:FFA2A2A2 // COLOR_WIDGET_NORMAL_SHADOW
>   ARGB:FF7BBBFF -> ARGB:FF7BBCFF // COLOR_TITLE_BACKGROUND_GRADIENT
> Adwaita-dark
>   ARGB:FF394E55 -> ARGB:FF3A4E55 // COLOR_WIDGET_HIGHLIGHT_SHADOW
>   ARGB:FF0077F5 -> ARGB:FF0078F6 // COLOR_TITLE_BACKGROUND_GRADIENT
>   ARGB:FF394E55 -> ARGB:FF3A4E55 // COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT
> Ambiance, Radiance
>   ARGB:FFA9A8A8 -> ARGB:FFA9A9A8 // COLOR_WIDGET_NORMAL_SHADOW
>   ARGB:FFFFB294 -> ARGB:FFFFB394 // COLOR_TITLE_BACKGROUND_GRADIENT
>   ARGB:FF95908B -> ARGB:FF95918C // COLOR_TITLE_INACTIVE_FOREGROUND
> Clearlooks-Phenix
>   ARGB:FFA5A5A4 -> ARGB:FFA6A5A5 // COLOR_WIDGET_NORMAL_SHADOW
>   ARGB:FFEAF1F8 -> ARGB:FFEBF2F9 // COLOR_TITLE_BACKGROUND_GRADIENT
>   ARGB:FFA8A5A1 -> ARGB:FFA9A5A2 // COLOR_TITLE_INACTIVE_FOREGROUND
> HighContrast
>   ARGB:FFB2B2B2 -> ARGB:FFB3B3B3 // COLOR_WIDGET_NORMAL_SHADOW
> Yaru
>   ARGB:FFABACAC -> ARGB:FFACACAD // COLOR_WIDGET_NORMAL_SHADOW
> Yaru-dark
>   ARGB:FF444444 -> ARGB:FF454545 // COLOR_WIDGET_HIGHLIGHT_SHADOW
>   ARGB:FF444444 -> ARGB:FF454545 // COLOR_TITLE_INAC
> 
> I then used 'ControlExample' page 'Color', took screenshot, and verified
> actual pixel colors.
> I verified 'Adwaita' and 'Adwaita-dark' and *new* colors are correct.

Two birds with one stone. :)

When I ported SWT to use the GdkRGBA colors I just copied the methodology used for GdkColor (which used short instead of double IIRC). That was a bit naive at the time, but hey at least it's fixed now.
Comment 5 Eric Williams CLA 2019-07-12 08:36:48 EDT
(In reply to Eclipse Genie from comment #4)
> Gerrit change https://git.eclipse.org/r/145929 was merged to [master].
> Commit:
> http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/
> ?id=3664fc622ec2286949d8d5ef118a5da835d2e792

In master now.
Comment 6 Eric Williams CLA 2019-08-20 10:20:02 EDT
Verified in I20190820-0600.