view stitch/fillable.h @ 0:5242703e91d3 tip

Initial checkin for AIM92 aimR8.2 (last updated May 1997).
author tomwalters
date Fri, 20 May 2011 15:19:45 +0100
parents
children
line wrap: on
line source
/*
    fillable.h
    ==========

    fillable derived sources

*/

#define    SetFillableSource(    _source          , _filler, _name ) \
	   setFillableSource( &( _source )->parent, _filler, _name )
#define DeleteFillableSource(    _source                           ) \
	deleteFillableSource( &( _source )->parent                 )

/* derived Fillable sources */

#define NewRepeatingSource(             _data  , _segment ) \
	newRepeatingSource( (Pointer) ( _data ), _segment )


#define NewSegmentingSource( _source,               _block      ) \
	newSegmentingSource( _source, (ByteCount) ( _block    ) )


#define NewCallbackSource( _filler,             _state  , _callback, _close,         _name ) \
	newCallbackSource( _filler, (Pointer) ( _state ), _callback, _close,         _name )

#define NewExternalSource(                      _state  , _callback, _close,         _name ) \
	newExternalSource(          (Pointer) ( _state ), _callback, _close,         _name )

#define NewThroughSource(  _filler,             _state  , _callback, _close, _input, _name ) \
	newThroughSource(  _filler, (Pointer) ( _state ), _callback, _close, _input, _name )


#define NewProcessingSource(                    _state  , _callback, _close, _input, _name ) \
	newProcessingSource(        (Pointer) ( _state ), _callback, _close, _input, _name )

#define NewSimpleProcessingSource(                        _callback,         _input, _name ) \
	newSimpleProcessingSource(                        _callback,         _input, _name )


#define NewMultiplexedSource(                  _states  , _callback, _close, _channels, _input, _name ) \
	newMultiplexedSource(    (Pointer *) ( _states ), _callback, _close, _channels, _input, _name )


#define NewMergingSource(                       _state  , _callback, _close, _inputs, _name ) \
	newMergingSource(           (Pointer) ( _state ), _callback, _close, _inputs, _name )

#define SharingSource( _source1, _source2 ) \
	sharingSource( _source1, _source2 )

/* derived higher level filling sources */

extern Source         setFillableSource() ;
extern Pointer     deleteFillableSource() ;

extern Source       newSegmentingSource() ;

extern Source         setCallbackSource() ;
extern Source         newExternalSource() ;
extern Source          newThroughSource() ;

extern Source       newProcessingSource() ;
extern Source newSimpleProcessingSource() ;
extern Source      newMultiplexedSource() ;
extern Source          newMergingSource() ;

extern Source             sharingSource() ;