DRAWSCR.H

[目次 | マクロ]

目次

マクロ一覧


   1|/***********************************************************************
   2|*  1. <<< 描画対象画面の抽象 (DrawScr) >>> 
   3|************************************************************************/
   4|
   5|#ifndef __DRAWSCR_H
   6|#define __DRAWSCR_H
   7|
   8|/*----------------------------------------------------------------------
   9|[Module Property]
  10|name = DrawScr
  11|title = 描画抽象画面
  12|category = グラフィック
  13|src =
  14|depend = Inf
  15|priority =
  16|accord =
  17|----------------------------------------------------------------------*/
  18|
  19|#ifndef USES_PRIORITY_HEADER
  20|/*[START_OF_PRIORITY_HEADER]*/
  21|
  22|#define  USES_DRAWSCR
  23|INF_TYPEDEF( _DrawScr, DrawScr );
  24|
  25|/*[END_OF_PRIORITY_HEADER]*/
  26|#endif /* USES_PRIORITY_HEADER */
  27|
  28|
  29|
  30|/*-------------------------------------------------------------------*/
  31|/*--- Interface Area ------------------------------------------------*/
  32|/*-------------------------------------------------------------------*/
  33|
  34|/************************************************************************
  35|*  2. <<< 描画画面(インターフェイス・クラス) [DrawScr] >>>
  36|*【補足】
  37|*・Screen, Screen98, DScreen クラスの共通のインターフェイスです。
  38|*・Draw クラスがこのインターフェイスを通して描画します。
  39|*************************************************************************/
  40|/* インターフェイス型定義 */
  41|INF_DECLARE_START( _DrawScr, DrawScr )
  42|INF_DECLARE_METHOD_0( int, getWidth, DrawScr )
  43|INF_DECLARE_METHOD_0( int, getHeight, DrawScr )
  44|INF_DECLARE_METHOD_2( int, getExAdr, DrawScr,int,int )
  45|INF_DECLARE_METHOD_3( void, getExVectors, DrawScr,int,unsigned*,unsigned* )
  46|INF_DECLARE_METHOD_1( void, clear, DrawScr,int )
  47|INF_DECLARE_METHOD_3( void, pset, DrawScr,int,int,int )
  48|INF_DECLARE_METHOD_2( void, exPset, DrawScr,int,int )
  49|INF_DECLARE_METHOD_3( void, psetXor, DrawScr,int,int,int )
  50|#ifdef USES_MASK
  51|INF_DECLARE_METHOD_5( void, psets, DrawScr,int,int,unsigned char*,int,int )
  52|#endif
  53|INF_DECLARE_METHOD_0( void, xorPaint, DrawScr )
  54|#ifdef USES_MASK
  55|INF_DECLARE_METHOD_4( void, flushTo2, DrawScr,DrawScr,Mask_A*,int,int )
  56|#ifdef USES_SCREEN
  57|INF_DECLARE_METHOD_4( void, flushFromScreen2, DrawScr,Screen*,Mask_A*,int,int )
  58|#endif
  59|#ifdef USES_DSCREEN
  60|INF_DECLARE_METHOD_4( void, flushFromDScreen2, DrawScr,DScreen*,Mask_A*,int,int )
  61|#endif
  62|#endif /* USES_MASK */
  63|INF_DECLARE_END();
  64|
  65|
  66|/*** 属性 ***/
  67|int   DrawScr_getWidth( DrawScr );
  68|int   DrawScr_getHeight( DrawScr );
  69|
  70|/*** 基本的な処理をする ***/
  71|void  DrawScr_clear( DrawScr, int color );
  72|void  DrawScr_pset( DrawScr , int x, int y, int color );
  73|#ifdef USES_MASK
  74|void  DrawScr_psets( DrawScr , int x, int y, unsigned char*, int,int );
  75|#endif
  76|void  DrawScr_psetXor( DrawScr, int x, int y, int color );
  77|void  DrawScr_xorPaint( DrawScr );
  78|int   DrawScr_getExAdr( DrawScr,int,int );
  79|void  DrawScr_getExVectors( DrawScr,int,unsigned*,unsigned* );
  80|
  81|/*** コピーする ***/
  82|void  DrawScr_flushTo( DrawScr, DrawScr target );
  83|#ifdef USES_MASK
  84|void  DrawScr_flushTo2( DrawScr, DrawScr target,
  85|  Mask_A* mask, int baseX, int baseY );
  86|#ifdef USES_SCREEN
  87|void  DrawScr_flushFromScreen( DrawScr, Screen* work );
  88|void  DrawScr_flushFromScreen2( DrawScr, Screen* work,
  89|  Mask_A* mask, int baseX, int baseY );
  90|#endif /* USES_SCREEN */
  91|#ifdef USES_DSCREEN
  92|void  DrawScr_flushFromDScreen( DrawScr, DScreen* work );
  93|void  DrawScr_flushFromDScreen2( DrawScr, DScreen* work,
  94|  Mask_A* mask, int baseX, int baseY );
  95|#endif /* USES_DSCREEN */
  96|#endif /* USES_MASK */
  97|
  98|
  99|/*-------------------------------------------------------------------*/
 100|/*--- Mapping Area --------------------------------------------------*/
 101|/*-------------------------------------------------------------------*/
 102|
 103|/************************************************************************
 104|*  3. <<< DrawScr クラスのインターフェイス・マッピング >>>
 105|*  4. <<< [DrawScr_getWidth()],[DrawScr_getHeight()] >>>
 106|*  5. <<< [DrawScr_clear()] >>>
 107|*  6. <<< [DrawScr_pset()],[DrawScr_psetXor()],[DrawScr_psets()] >>>
 108|*  7. <<< [DrawScr_xorPaint()] >>>
 109|*  8. <<< [DrawScr_flushTo()],[DrawScr_flushTo2()] >>>
 110|*  9. <<< [DrawScr_flushFromScreen()],[DrawScr_flushFromScreen2()] >>>
 111|*  10. <<< [DrawScr_flushFromDScreen()],[DrawScr_flushFromDScreen2()] >>>
 112|*************************************************************************/
 113|/* インターフェイス・マクロ定義 */
 114|#ifdef  NDEBUG
 115|#define  DrawScr_getWidth(t)  INF_MACRO_0( DrawScr, getWidth, int, DrawScr_getWidth, DrawScr,t )
 116|#define  DrawScr_getHeight(t) INF_MACRO_0( DrawScr, getHeight, int, DrawScr_getHeight, DrawScr,t )
 117|#define  DrawScr_getExAdr(t,a,b)     INF_MACRO_2( DrawScr, getExAdr, int, DrawScr_getExAdr, DrawScr,int,int,t,a,b )
 118|#define  DrawScr_getExVectors(t,a,b,c)  INF_MACRO_3( DrawScr, getExVectors, void, DrawScr_getExVectors, DrawScr,int,unsigned*,unsigned*,t,a,b,c )
 119|#define  DrawScr_clear(t,a)          INF_MACRO_1( DrawScr, clear, void, DrawScr_clear, DrawScr,int,t,a )
 120|#define  DrawScr_pset(t,a,b,c)       INF_MACRO_3( DrawScr, pset, void, DrawScr_pset, DrawScr,int,int,int,t,a,b,c )
 121|#define  DrawScr_exPset(t,a,b)       INF_MACRO_2( DrawScr, exPset, void, DrawScr_exPset, DrawScr,int,int,t,a,b )
 122|#define  DrawScr_psetXor(t,a,b,c)    INF_MACRO_3( DrawScr, psetXor, void, DrawScr_psetXor, DrawScr,int,int,int,t,a,b,c )
 123|#ifdef USES_MASK
 124|#define  DrawScr_psets(t,a,b,c,d,e)  INF_MACRO_5( DrawScr, psets, void, DrawScr_psets, DrawScr,int,int,unsigned char*,int,int,t,a,b,c,d,e )
 125|#endif
 126|#define  DrawScr_xorPaint(t)         INF_MACRO_0( DrawScr, xorPaint, void, DrawScr_xorPaint, DrawScr,t )
 127|#ifdef USES_MASK
 128|#define  DrawScr_flushTo2(t,a,b,c,d) INF_MACRO_4( DrawScr, flushTo2, void, DrawScr_flushTo2, DrawScr,DrawScr,int,int,int,t,a,b,c,d )
 129|#ifdef USES_SCREEN
 130|#define  DrawScr_flushFromScreen2(t,a,b,c,d)  INF_MACRO_4( DrawScr, flushFromScreen2, void, DrawScr_flushFromScreen2, DrawScr,Screen*,int,int,int,t,a,b,c,d )
 131|#endif
 132|#ifdef USES_DSCREEN
 133|#define  DrawScr_flushFromDScreen2(t,a,b,c,d)  INF_MACRO_4( DrawScr, flushFromDScreen2, void, DrawScr_flushFromDScreen2, DrawScr,DScreen*,int,int,int,t,a,b,c,d )
 134|#endif
 135|#endif /* USES_MASK */
 136|#endif  /* NDEBUG */
 137|
 138|#define  DrawScr_flushTo( this, to ) \
 139|  DrawScr_flushTo2( (this).obj, to, NULL,0,0 )
 140|#define  DrawScr_flushFromScreen( this, target ) \
 141|  DrawScr_flushFromScreen2( (this).obj, target, NULL,0,0 )
 142|#define  DrawScr_flushFromDScreen( this, target ) \
 143|  DrawScr_flushFromDScreen2( (this).obj, target, NULL,0,0 )
 144|
 145|#endif /* __DRAWSCR_H */
 146| 
 147|