Custom Colors : standardizing a semi-transparent grey - page 2 - General Discussion and Assistance - CHDK Forum

Custom Colors : standardizing a semi-transparent grey

  • 106 Replies
  • 23726 Views
*

Offline philmoz

  • *****
  • 3332
    • Photos
Re: Custom Colors : standardizing a semi-transparent grey
« Reply #10 on: 20 / October / 2014, 22:30:08 »
Advertisements
Camera Features Table has two new columns:
BPLT : "Bitmap Palette", shows the palette number used in the port.
CCOL:  "Custom Colors", shows if  custom colors are loaded into the camera color palette.

For A3200 it's showing as Palette 16 with custom colors = NO; but platform_camera.h for this camera sets both CHDK_COLOR_BASE and CAM_LOAD_CUSTOM_COLORS?

Phil.
CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

*

Offline nafraf

  • *****
  • 1308
Re: Custom Colors : standardizing a semi-transparent grey
« Reply #11 on: 20 / October / 2014, 22:36:46 »
For A3200 it's showing as Palette 16 with custom colors = NO; but platform_camera.h for this camera sets both CHDK_COLOR_BASE and CAM_LOAD_CUSTOM_COLORS?
:-[ I think that I found the bug, parser expects #define CAM_LOAD_CUSTOM_COLORS 1, but A3200 has #define CAM_LOAD_CUSTOM_COLORS

EDIT: I modified my work copy and table is fine (custom colors = YES), but the bug still exists in the parser.
Thanks for reporting that.
« Last Edit: 20 / October / 2014, 22:45:48 by nafraf »

*

Offline philmoz

  • *****
  • 3332
    • Photos
Re: Custom Colors : standardizing a semi-transparent grey
« Reply #12 on: 21 / October / 2014, 17:43:11 »
The legibility of CHDK OSD values can be greatly improved if their background color is a semi-transparent grey. Recent CHDK ports use custom color palette code get twelve custom colors that are guaranteed to be "correct" in shooting and playback modes.  What I propose is adding a 13th standardized color  - semi-transparent grey - as part of the custom palette color mod. 

Note that this has already been done on the Powershot N and the SX200  (palette 13).  The SX200 takes this a step farther and defines COLOR_ALT_BG  and  COLOR_BG to use the semi-transparent grey.   I don't have that camera but I'll bet it looks great !

Adding this and making it standard will be a bit of work.  Making the background a standard color also means modifying this : http://chdk.wikia.com/wiki/Lua/Drawings#Colors

Am I missing anything here?

I'm not entirely convinced a semi transparent background for OSD elements would be more legible than a solid dark color - it might look more aesthetically pleasing though.

For the CHDK menus I'd argue against it - I tried this for a while on some of my cameras and in the end found it more of a distraction having the image behind showing through the menu.

Another area that might benefit from having semi transparent greys would be the script colors - this could  allow scripts to display a UI with some visibility of the image behind.

The problem with adding more custom colors is the risk of overwriting colors the Canon UI is using - palettes 13 and 16 are used by quite a few cameras.

I've got some ideas to clean up the current palette.h stuff - will post later once I've had time to try some if it out.

Phil.
CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

Re: Custom Colors : standardizing a semi-transparent grey
« Reply #13 on: 21 / October / 2014, 18:09:07 »
For the CHDK menus I'd argue against it - I tried this for a while on some of my cameras and in the end found it more of a distraction having the image behind showing through the menu.
100% agreed.  I was only thinking about OSD items in shooting (or maybe playback) mode where you might actually care about what's semi-hidden underneath the icon or text message so don't want an opaque background.  Canon does that using a black/white outline font and a fully transparent background.   Semitransparent grey background is probably the best we can do.

Quote
Another area that might benefit from having semi transparent greys would be the script colors - this could  allow scripts to display a UI with some visibility of the image behind.
Agreed again.  When I used it on the Powershot N  ( and then figured out where the semi-transparent grey was on the S100) I got to really like how that looked on my LCD when in shooting mode.

Quote
The problem with adding more custom colors is the risk of overwriting colors the Canon UI is using - palettes 13 and 16 are used by quite a few cameras.
Yup - been there, done that, got the T-shirt (it says SX50 Rainbow Colors Mess right on the front).

« Last Edit: 21 / October / 2014, 20:54:05 by waterwingz »
Ported :   A1200    SD940   G10    Powershot N    G16


*

Offline philmoz

  • *****
  • 3332
    • Photos
Re: Custom Colors : standardizing a semi-transparent grey
« Reply #14 on: 22 / October / 2014, 04:28:28 »
Some palette cleanup thoughts:

1. Delete COLOR_ALT_BG. in revision 3677

This is only used by the ALT help display, and the script title display. I think these should be changed to use the conf.menu_color and conf.menu_title_color values.

2. Rename COLOR_BG and COLOR_FG. in revision 3683

I think these are a source of confusion and inconsistency - what colors should they actually represent?
I suggest:
- replace all instance of COLOR_FG in the code with COLOR_WHITE
- rename COLOR_BG to COLOR_GREY_DK

Renaming COLOR_BG may initially result in some incorrect values (actual color not being dark grey); but these can be fixed over time.

3. Replace COLOR_SELECTED_FG and COLOR_SELECTED_BG. in revision 3679

These are only used for the menu 'cursor' highlight. I think they should simply default to COLOR_GREY_DK and COLOR_WHITE respectively (e.g. the inverse of the normal menu item colors).

4. Delete palette 3 and the G10 check in palette 2. in revision 3678

No longer used.

5. Rename COLOR_SPLASH_PINK to COLOR_RED_LT and COLOR_SPLAY_GREY to COLOR_GREY_LT. in revision 3684

For consistency in naming.

If there are no objections to these changes I'll implement them in the near future.

Phil.
« Last Edit: 24 / October / 2014, 06:36:45 by philmoz »
CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

Re: Custom Colors : standardizing a semi-transparent grey
« Reply #15 on: 22 / October / 2014, 09:19:17 »
If there are no objections to these changes I'll implement them in the near future.
Works for me - some nice cleanups!

What about collapsing all the #define COLOR_ICON_REC_*#define COLOR_ICON_PLY_*  where they are just using the custom palette or "standard" colors.   

For cameras without custom colors, the ones with explicit hex values for colored icons probably need to stay that way (that can be handled with #ifdefs obviously).

Can we move every camera that uses custom palettes into a common palette definintion / number ?

Is this a good time to add   #define COLOR_TRANS_GREY  ..   take the risk of adding to the custom palette and default to COLOR_GREY_LT if not defined there ?
« Last Edit: 22 / October / 2014, 09:24:10 by waterwingz »
Ported :   A1200    SD940   G10    Powershot N    G16

*

Offline msl

  • *****
  • 1276
  • A720 IS, SX220 HS 1.01a
    • CHDK-DE links
Re: Custom Colors : standardizing a semi-transparent grey
« Reply #16 on: 22 / October / 2014, 09:27:15 »
Sounds good.

By the way, in the beginning of the CHDK story the background color was defined as a dark semi-transparent color - see palette 1. I think a solid grey is better for the menu background.

I wonder why have we extra definitions for the histogram colors?

White, black, semi-transparent, transparent and 3 shades of grey, red, green, yellow & blue should be enough for all possibilities.

msl
CHDK-DE:  CHDK-DE links

Re: Custom Colors : standardizing a semi-transparent grey
« Reply #17 on: 22 / October / 2014, 09:34:13 »
Also ...

3. Replace COLOR_SELECTED_FG and COLOR_SELECTED_BG.
These are only used for the menu 'cursor' highlight. I think they should simply default to COLOR_GREY_DK and COLOR_WHITE respectively (e.g. the inverse of the normal menu item colors).
In palette 16 ( three of my ports ) the cursor is blue & yellow.  That;'s what was used for all the menu screen shots in the User Manual :


I happen to think it looks nice & distinctive but personal tastes will vary.  If we want to standardize on simply inverse of the normal menu line then I guess that's okay.
Ported :   A1200    SD940   G10    Powershot N    G16


*

Offline philmoz

  • *****
  • 3332
    • Photos
Re: Custom Colors : standardizing a semi-transparent grey
« Reply #18 on: 22 / October / 2014, 17:10:51 »
If there are no objections to these changes I'll implement them in the near future.
Works for me - some nice cleanups!

What about collapsing all the #define COLOR_ICON_REC_*#define COLOR_ICON_PLY_*  where they are just using the custom palette or "standard" colors.   

For cameras without custom colors, the ones with explicit hex values for colored icons probably need to stay that way (that can be handled with #ifdefs obviously).

Can we move every camera that uses custom palettes into a common palette definintion / number ?

Good ideas, worth checking out. I'll take a look at the code.

Another one I think can be removed is SCREEN_COLOR - I suggest replacing this with COLOR_BLACK in the code.

Quote
Is this a good time to add   #define COLOR_TRANS_GREY  ..   take the risk of adding to the custom palette and default to COLOR_GREY_LT if not defined there ?

Still not sure about this one. Globally adding it to all the cameras with custom colors risks overwriting a used Canon color. Adding it to only some cameras means adding another palette definition so might want to hold off until some of the cleanup is done.

Phil.
CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

*

Offline philmoz

  • *****
  • 3332
    • Photos
Re: Custom Colors : standardizing a semi-transparent grey
« Reply #19 on: 22 / October / 2014, 17:16:07 »
Sounds good.

By the way, in the beginning of the CHDK story the background color was defined as a dark semi-transparent color - see palette 1. I think a solid grey is better for the menu background.

I wonder why have we extra definitions for the histogram colors?

White, black, semi-transparent, transparent and 3 shades of grey, red, green, yellow & blue should be enough for all possibilities.

msl

The histogram has code to handle colors separately for record and playback modes - I think this is why it has special color definitions.
Although I might rename the histogram colors to make them more understandable (CYAN, MAGENTA and YELLOW, instead of BG, RB and RG).

Phil.
CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

 

Related Topics