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|