home *** CD-ROM | disk | FTP | other *** search
/ Phoenix Heaven Sunny 2 / APPARE2.BIN / oh_towns / tetujin / src.lzh / G_EFF.H < prev    next >
Text File  |  1994-12-26  |  3KB  |  87 lines

  1. /*
  2.         graphic effect lib
  3.            1994 2 7
  4.             H. TODA
  5. */
  6.  
  7.  
  8. /* ベーシックパラメータの構造体宣言 */
  9.  
  10. typedef struct
  11. {
  12.     unsigned int    mix ;        /* ミクシングレート0~256(通常256,それ以下は半透明) */
  13.     unsigned int    alphaSen ;    /* アルファセンサ 0:OFF 1:ON */
  14.     unsigned int    maskSen ;    /* マスクセンサ 0:OFF 1以上:ON */
  15.     unsigned int    colorMax ;    /* RGBデータの最大値  0~255 */
  16.     unsigned int    alphaMax ;    /* アルファデータの最大値 0~255 */
  17.     unsigned int    lupx ;        /* 左上X座標 */
  18.     unsigned int    lupy ;        /* 左上Y座標 */
  19.     unsigned int    rdwx ;        /* 右下X座標 */
  20.     unsigned int    rdwy ;        /* 右下Y座標 */
  21.     int    (*read1)() ; /* read領域読込関数 f( int x, int y, unsigned char *c ) */
  22.     int (*read2)() ; /* write領域読込関数f( int x, int y, unsigned char *c ) */
  23.     int    (*write)() ; /* write領域書込関数f( int x, int y, unsigned char *c ) */
  24.     int    (*mask)() ;  /* mask情報読取関数 f(int x, int y) >= マスクセンサ ならマスクON */
  25.                      /* ただし unsigned char c[4]={ R, G, B, alpha } */
  26.  
  27. }    BASICPARA ;
  28.  
  29.  
  30. /***** ファジィレガート *****/
  31.  
  32. g_fuzzyLegato( BASICPARA *para, int mode, int fuzzySen ) ;
  33. /*    mode ;        1:RGB処理 2:alpha処理 3:RGB & alpha処理 */
  34. /*    fuzzySen ;    ファジィセンサの感度 0~256 (推奨値224) */
  35. /*    maskは, alpha処理の時,無効 */
  36.  
  37.  
  38. /***** ビデオデジタイズ画スムーサ *****/
  39.  
  40. g_videoDigitizeSmoother( BASICPARA *para, int mode, int line ) ;
  41. /* mode   0:ノーマル 1:強 */
  42. /* line   0:奇数ラインを基準 1:偶数ラインを基準 */
  43.  
  44.  
  45. /***** 輝度データのヒストグラムを平均化する関数 *****/
  46.  
  47. g_histgramAverager( char *wk,
  48.             BASICPARA *para, int mode, int min, int max ) ;
  49. /* wk(ワークエリア)の大きさは (rdwx-lupx+1)*(rdwy-lupy+1)*2 バイト */
  50. /*
  51. mode   0:手動で輝度範囲を設定
  52.        (min,maxの値が有効)
  53.        1:自動で輝度範囲を設定
  54.        (min,maxの値は無効になり,エリア内の輝度最大最小値の間隔を採用)
  55. */
  56.  
  57.  
  58. /***** メディアン・フィルタ *****/
  59.  
  60. g_medianFilter( BASICPARA *para, int mode ) ;
  61. g_yMedianFilter( BASICPARA *para, int mode ) ;
  62. /* mode0 3×3  mode1 変則5poit */
  63.  
  64. /***** 色を再配置する関数 *****/
  65.  
  66. int extern g_replaceColors( int wkMax, char *wk, BASICPARA *para, int mode ) ;
  67. /* wkMax(ワークエリア)の大きさは (rdwx-lupx+1)*(rdwy-lupy+1)*2バイト以上必要 */
  68. /* mode   0:ヒストグラムを平均化して配置   1:単純配置 */
  69.  
  70.  
  71. /***** ソフトネス・フィルタ *****/
  72.  
  73. g_softnessFilter( BASICPARA *para, int rate ) ;
  74. g_ySoftnessFilter( BASICPARA *para, int rate ) ;
  75.  
  76. /***** ソフトネス・フィルタ等の補正フィルタ *****/
  77.  
  78. g_s_c_Filter( BASICPARA *para, int rate ) ;
  79. g_c_m_Filter( BASICPARA *para, int rate ) ;
  80. g_s_c_yFilter( BASICPARA *para, int rate ) ;
  81. g_c_m_yFilter( BASICPARA *para, int rate ) ;
  82.  
  83. /***** YUV変換&減階調 *****/
  84.  
  85. g_yuvConv( BASICPARA *para, int ydiv, int udiv, int vdiv, int mode ) ;
  86.  
  87.