2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
14 void vp8_blit_text(const char *msg
, unsigned char *address
, const int pitch
)
17 unsigned char *output_pos
= address
;
21 0x0, 0x5C00, 0x8020, 0xAFABEA, 0xD7EC0, 0x1111111, 0x1855740, 0x18000,
22 0x45C0, 0x74400, 0x51140, 0x23880, 0xC4000, 0x21080, 0x80000, 0x111110,
23 0xE9D72E, 0x87E40, 0x12AD732, 0xAAD62A, 0x4F94C4, 0x4D6B7, 0x456AA,
24 0x3E8423, 0xAAD6AA, 0xAAD6A2, 0x2800, 0x2A00, 0x8A880, 0x52940, 0x22A20,
25 0x15422, 0x6AD62E, 0x1E4A53E, 0xAAD6BF, 0x8C62E, 0xE8C63F, 0x118D6BF,
26 0x1094BF, 0xCAC62E, 0x1F2109F, 0x118FE31, 0xF8C628, 0x8A89F, 0x108421F,
27 0x1F1105F, 0x1F4105F, 0xE8C62E, 0x2294BF, 0x164C62E, 0x12694BF, 0x8AD6A2,
28 0x10FC21, 0x1F8421F, 0x744107, 0xF8220F, 0x1151151, 0x117041, 0x119D731,
29 0x47E0, 0x1041041, 0xFC400, 0x10440, 0x1084210, 0x820
33 while (msg
[colpos
] != 0)
35 char letter
= msg
[colpos
];
38 if (letter
<= 'Z' && letter
>= ' ')
39 letter_bitmap
= font
[letter
-' '];
40 else if (letter
<= 'z' && letter
>= 'a')
41 letter_bitmap
= font
[letter
-'a'+'A' - ' '];
43 letter_bitmap
= font
[0];
45 for (fontcol
= 6; fontcol
>= 0 ; fontcol
--)
46 for (fontrow
= 0; fontrow
< 5; fontrow
++)
47 output_pos
[fontrow
*pitch
+ fontcol
] =
48 ((letter_bitmap
>> (fontcol
* 5)) & (1 << fontrow
) ? 255 : 0);
55 static void plot (const int x
, const int y
, unsigned char *image
, const int pitch
)
57 image
[x
+y
*pitch
] ^= 255;
60 /* Bresenham line algorithm */
61 void vp8_blit_line(int x0
, int x1
, int y0
, int y1
, unsigned char *image
, const int pitch
)
63 int steep
= abs(y1
- y0
) > abs(x1
- x0
);
65 int error
, ystep
, y
, x
;
92 deltay
= abs(y1
- y0
);
104 for (x
= x0
; x
<= x1
; x
++)
106 plot(y
,x
, image
, pitch
);
108 error
= error
- deltay
;
112 error
= error
+ deltax
;
118 for (x
= x0
; x
<= x1
; x
++)
120 plot(x
,y
, image
, pitch
);
122 error
= error
- deltay
;
126 error
= error
+ deltax
;