~ubuntu-branches/ubuntu/trusty/vice/trusty

« back to all changes in this revision

Viewing changes to src/vdc/vdc-color.c

  • Committer: Package Import Robot
  • Author(s): Laszlo Boszormenyi (GCS)
  • Date: 2013-07-28 20:38:23 UTC
  • mfrom: (1.2.5)
  • mto: This revision was merged to the branch mainline in revision 27.
  • Revision ID: package-import@ubuntu.com-20130728203823-w495rps5wuykespp
Tags: upstream-2.4.dfsg
ImportĀ upstreamĀ versionĀ 2.4.dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
38
38
*/
39
39
 
40
40
/* base saturation of all colors except the grey tones */
41
 
#define VDC_SATURATION  150.0f
 
41
#define VDC_SATURATION   (128.0f)
42
42
 
43
43
/* phase shift of all colors */
44
44
 
45
 
#define VDC_PHASE       -4.5f
 
45
#define VDC_PHASE          0.0f
46
46
 
47
47
/* chroma angles in UV space */
48
48
 
49
 
#define ANGLE_RED        112.5f
50
 
#define ANGLE_GRN       -135.0f
51
49
#define ANGLE_BLU          0.0f
52
 
#define ANGLE_ORN        -45.0f /* negative orange (orange is at +135.0 degree) */
53
 
#define ANGLE_BRN        157.5f
 
50
#define ANGLE_RED        120.0f
 
51
#define ANGLE_GRN       -120.0f
 
52
#define ANGLE_YEL     ANGLE_BLU // neg
 
53
#define ANGLE_BRN        150.0f
 
54
#define ANGLE_CYN     ANGLE_RED // neg
 
55
#define ANGLE_PUR     ANGLE_GRN // neg
 
56
#define ANGLE_BLK          0.0f
54
57
 
55
58
/* luminances */
56
 
#define VDC_LUMA_0      (128.0f*0.0f)
57
 
#define VDC_LUMA_1      (128.0f/3.0f)
58
 
#define VDC_LUMA_2      (128.0f/1.5f)
59
 
#define VDC_LUMA_3      (128.0f*1.0f)
 
59
#define LUMA(r,g,b)     (0.2989f * (r) + 0.5866f * (g) + 0.1145f * (b))
 
60
 
 
61
#define VDC_LUMA_0      LUMA(  0.0f,   0.0f,   0.0f)
 
62
#define VDC_LUMA_1      LUMA( 85.0f,  85.0f,  85.0f)
 
63
#define VDC_LUMA_2      LUMA(  0.0f,   0.0f, 170.0f)
 
64
#define VDC_LUMA_3      LUMA( 85.0f,  85.0f, 255.0f)
 
65
#define VDC_LUMA_4      LUMA(  0.0f, 170.0f,   0.0f)
 
66
#define VDC_LUMA_5      LUMA( 85.0f, 255.0f,  85.0f)
 
67
#define VDC_LUMA_6      LUMA(  0.0f, 170.0f, 170.0f)
 
68
#define VDC_LUMA_7      LUMA( 85.0f, 255.0f, 255.0f)
 
69
#define VDC_LUMA_8      LUMA(170.0f,   0.0f,   0.0f)
 
70
#define VDC_LUMA_9      LUMA(255.0f,  85.0f,  85.0f)
 
71
#define VDC_LUMA_10     LUMA(170.0f,   0.0f, 170.0f)
 
72
#define VDC_LUMA_11     LUMA(255.0f,  85.0f, 255.0f)
 
73
#define VDC_LUMA_12     LUMA(170.0f,  85.0f,   0.0f)
 
74
#define VDC_LUMA_13     LUMA(255.0f, 255.0f,  85.0f)
 
75
#define VDC_LUMA_14     LUMA(170.0f, 170.0f, 170.0f)
 
76
#define VDC_LUMA_15     LUMA(255.0f, 255.0f, 255.0f)
60
77
 
61
78
/* the VDC palette converted to yuv space */
62
79
 
63
80
static video_cbm_color_t vdc_colors[VDC_NUM_COLORS]=
64
 
{
65
 
    { VDC_LUMA_0, ANGLE_BRN, -0, "Black"       }, /* 000000 */
66
 
    { VDC_LUMA_1, ANGLE_BRN,  0, "Medium Gray" }, /* 555555 */
67
 
    { VDC_LUMA_2, ANGLE_BLU,  1, "Blue"        }, /* 0000AA */
68
 
    { VDC_LUMA_3, ANGLE_BLU,  1, "Light Blue"  }, /* 5555FF */
69
 
    { VDC_LUMA_2, ANGLE_GRN,  1, "Green"       }, /* 00AA00 */
70
 
    { VDC_LUMA_3, ANGLE_GRN,  1, "Light Green" }, /* 55FF55 */
71
 
    { VDC_LUMA_2, ANGLE_RED, -1, "Cyan"        }, /* 00AAAA */
72
 
    { VDC_LUMA_3, ANGLE_RED, -1, "Light Cyan"  }, /* 55FFFF */
73
 
    { VDC_LUMA_2, ANGLE_RED,  1, "Red"         }, /* AA0000 */
74
 
    { VDC_LUMA_3, ANGLE_RED,  1, "Light Red"   }, /* FF5555 */
75
 
    { VDC_LUMA_2, ANGLE_GRN, -1, "Purple"      }, /* AA00AA */
76
 
    { VDC_LUMA_3, ANGLE_GRN, -1, "Light Purple"}, /* FF55FF */
77
 
    { VDC_LUMA_2, ANGLE_BRN,  1, "Brown"       }, /* AA5500 */
78
 
    { VDC_LUMA_3, ANGLE_BRN,  1, "Yellow"      }, /* FFFF55 */
79
 
    { VDC_LUMA_2, ANGLE_BRN, -0, "Light Gray"  }, /* AAAAAA */
80
 
    { VDC_LUMA_3, ANGLE_BRN,  0, "White"       }, /* FFFFFF */
 
81
{                                                  /*  r g b        y      u      v     sat  hue */
 
82
    { VDC_LUMA_0,  ANGLE_BLK, -0, "Black"       }, /* 000000 ->   0.0%   0.0%   0.0%   0.0%      */
 
83
    { VDC_LUMA_1,  ANGLE_BLK,  0, "Medium Gray" }, /* 555555 ->  33.3%   0.0%   0.0%   0.0%      */
 
84
    { VDC_LUMA_2,  ANGLE_BLU,  1, "Blue"        }, /* 0000AA ->   7.6%  29.1%  -6.7%  66.7%  240 */
 
85
    { VDC_LUMA_3,  ANGLE_BLU,  1, "Light Blue"  }, /* 5555FF ->  40.9%  29.1%  -6.7%  66.7%      */
 
86
    { VDC_LUMA_4,  ANGLE_GRN,  1, "Green"       }, /* 00AA00 ->  39.1% -19.3% -34.3%  66.7%  120 */
 
87
    { VDC_LUMA_5,  ANGLE_GRN,  1, "Light Green" }, /* 55FF55 ->  72.5% -19.3% -34.3%  66.7%      */
 
88
    { VDC_LUMA_6,  ANGLE_CYN, -1, "Cyan"        }, /* 00AAAA ->  46.7%   9.8% -41.0%  66.7%  180 */
 
89
    { VDC_LUMA_7,  ANGLE_CYN, -1, "Light Cyan"  }, /* 55FFFF ->  80.1%   9.8% -41.0%  66.7%      */
 
90
    { VDC_LUMA_8,  ANGLE_RED,  1, "Red"         }, /* AA0000 ->  19.9%  -9.8%  41.0%  66.7%    0 */
 
91
    { VDC_LUMA_9,  ANGLE_RED,  1, "Light Red"   }, /* FF5555 ->  53.3%  -9.8%  41.0%  66.7%      */
 
92
    { VDC_LUMA_10, ANGLE_PUR, -1, "Purple"      }, /* AA00AA ->  27.5%  19.3%  34.3%  66.7%  -60 */
 
93
    { VDC_LUMA_11, ANGLE_PUR, -1, "Light Purple"}, /* FF55FF ->  60.9%  19.3%  34.3%  66.7%      */
 
94
    { VDC_LUMA_12, ANGLE_BRN,  1, "Brown"       }, /* AA5500 ->  39.5% -19.4%  23.8%  66.7%   30 */
 
95
    { VDC_LUMA_13, ANGLE_YEL, -1, "Yellow"      }, /* FFFF55 ->  92.4% -29.1%   6.7%  66.7%   60 */
 
96
    { VDC_LUMA_14, ANGLE_BLK, -0, "Light Gray"  }, /* AAAAAA ->  66.7%   0.0%   0.0%   0.0%      */
 
97
    { VDC_LUMA_15, ANGLE_BLK,  0, "White"       }, /* FFFFFF -> 100.0%   0.0%   0.0%   0.0%      */
81
98
};
82
99
 
83
100
static video_cbm_palette_t vdc_palette =
91
108
int vdc_color_update_palette(struct video_canvas_s *canvas)
92
109
{
93
110
    video_color_palette_internal(canvas, &vdc_palette);
94
 
    return video_color_update_palette(canvas);
 
111
    return 0;
95
112
}
96
113