MASK.H
[目次 | 型・クラス・構造体 | マクロ]
1|/***************************************************************************
2|* 1. <<< 描画用マスク (Mask) >>>
3|****************************************************************************/
4|
5|#ifndef __MASK_H
6|#define __MASK_H
7|
8|/*----------------------------------------------------------------------
9|[Module Property]
10|name = Mask
11|title = 描画用マスク
12|category = グラフィック
13|src = mask.c
14|depend =
15|prioity =
16|accord =
17|----------------------------------------------------------------------*/
18|
19|#ifndef USES_PRIORITY_HEADER
20|/*[START_OF_PRIORITY_HEADER]*/
21|#define USES_MASK
22|typedef int Mask_Color;
23|typedef struct _Mask_A Mask_A;
24|/*[END_OF_PRIORITY_HEADER]*/
25|#endif /* USES_PRIORITY_HEADER */
26|
27|
28|/**** コンポーネント・プロパティ ***/
29|/*#define MASK_EDIAN_NORMAL*/ /* 数値変数とフレームバッファのエディアンが同じ */
30|#define MASK_EDIAN_REVERSE /* 数値変数とフレームバッファのエディアンが逆 */
31|
32|
33|
34|
35|/*-------------------------------------------------------------------*/
36|/*2. <<< Interface Area ------------------------------------------- >>> */
37|/*-------------------------------------------------------------------*/
38|
39|/* 16 色マスク */
40|extern u_long Mask_colors16[16];
41|
42|/* ライン左端のピクセルマスク */
43|extern u_long Mask_leftEnd_for4bpp[8];
44|extern u_long Mask_leftEnd_for8bpp[4];
45|
46|/* ライン右端のピクセルマスク */
47|extern u_long Mask_rightEnd_for4bpp[8];
48|extern u_long Mask_rightEnd_for8bpp[4];
49|
50|/* bpp 変換テーブル */
51|extern u_long Mask_bpp1to4[0x100];
52|
53|/**********************************************************************
54|* 3. <<< [Mask_A] Paint 用 8x8 pixel マスク >>>
55|**********************************************************************/
56|struct _Mask_A {
57| u_long bpp4[8]; /* 描画用 (Big Edian 0x12345678 = 78 56 34 12) */
58| u_long bpp4Mask[8]; /* マスク用 */
59|};
60|void Mask_A_initBy1bpp_x2( Mask_A* x, unsigned char p1_1bpp[],
61| int p1_color, unsigned char p2_1bpp[], int p2_color );
62|void Mask_A_initByPlain( Mask_A* x, int color );
63|
64|
65|/*-------------------------------------------------------------------*/
66|/*4. <<< Mapping Area --------------------------------------------- >>> */
67|/*-------------------------------------------------------------------*/
68|
69|
70|/**********************************************************************
71|* 5. <<< [Mask_getColors256] 32bit分の256色べた塗りパターンを得る >>>
72|**********************************************************************/
73|#define Mask_getColors256( color ) \
74| ( (color) << 24 | (color) << 16 | (color) << 8 | (color) )
75|
76|
77|
78|#endif /* __MASK_H */
79|
80|